R语言分析糖尿病数据:多元线性模型、MANOVA、决策树、典型判别分析、HE图、Box's M检验可视化...

全文链接:https://tecdat.cn/?p=33609

Reaven和Miller(1979)研究了145名非肥胖成年人的葡萄糖耐量和胰岛素血液化学指标之间的关系。他们使用斯坦福线性加速器中心的PRIM9系统将数据可视化为3D,并发现了一个奇特的图案,看起来像是一个有两个翼的大斑点点击文末“阅读原文”获取完整代码数据)。

相关视频

背景

本文帮助客户使用这些数据来说明多元线性模型的各种图形方法。

设置

读取数据

str(Diabetes)

outside_default.png

这些变量是:

  • relwt:相对体重,表示实际体重与人的身高相比的期望体重的比率

  • glufast:空腹血浆葡萄糖水平

  • glutest:测试血浆葡萄糖水平,测量葡萄糖不耐受的程度,

  • instest:测试中的血浆胰岛素,测量口服葡萄糖的胰岛素反应,

  • sspg:稳态血浆葡萄糖,测量胰岛素抵抗性

  • group:诊断组

数据的椭圆和方差齐性

我们首先绘制数据集中三个变量的协方差椭圆。

从这个结果中可以清楚地看出,这里存在方差-协方差矩阵的异质性问题。正常组显示了最小的方差,而明显糖尿病组则显示了最大的方差。

covEllipses(Diabetes

outside_default.png

然而,在其他面板中并非如此,在那里化学糖尿病群体与正常人在一个方向上不同,而明显糖尿病群体在另一个方向上有所不同,并且其内部群体相关性与其他群体呈相反的符号。这在单独的散点图中更容易看到,例如以下示例。

outside_default.png

另外,我们注意到可以使用scatter3d``car包中的三维散点图更容易地看到组之间的差异。

scatter3d

outside_default.png

带有50%数据椭圆体的糖尿病数据的三维散点图


点击标题查阅往期内容

outside_default.png

数据分享|PYTHON用决策树分类预测糖尿病和可视化实例

outside_default.png

左右滑动查看更多

outside_default.png

01

outside_default.png

02

outside_default.png

03

outside_default.png

04

outside_default.png

Box's M检验

Box's M检验确认协方差矩阵存在显著的异质性。

diab.boxm <- box

outside_default.png

outside_default.png

对数行列式按照我们在协方差椭圆图中看到的数据椭圆体的大小进行排序。

拟合MLM模型

对组间均值差异拟合MANOVA模型。

MANOVA显示group对响应变量集合有高度显著影响。

Anova(diab.mlm)

outside_default.png

在 QQ 图中检查残差

MANOVA 的另一个假设是残差服从多元正态分布。可以通过卡方 QQ 图进行视觉评估。从下图可以看出,数据点与红色的等值线明显不同。有太多具有较大 D2 值的数据点。

qplot(da.ml)

outside_default.png

HE 图

HE 图显示了各均值之间的 H 椭圆以及误差的 E 椭圆。

默认情况下,将绘制前两个响应变量。结果显示出在 Normal 和 Chemical 变量上的均值排序较为明显。

hplot(diab.

outside_default.png

对于 MLM 的方法会给出一个散点图矩阵,其中包含所有响应变量之间的 HE 图。从结果中可以看出,Diabetes 变量的模式与其他变量不同。

pairs(diblm, fill=TRUE, fill.alpha=0.1)

outside_default.png

典型判别分析

典型判别分析将数据有效地投影到响应的线性组合空间,这个空间解释了组间方差相对于组内方差的最大比例。

diab.an

outside_default.png

典型判别图

plot(dib.an, fill=TRUE, fill.alpha=0.1)

通过一个对象的方法,将典型维度上的分数绘制出来,并在每个组上叠加 60% 的数据椭圆。组均值的位置显示了它们在典型维度上的表现。

响应变量与典型维度的关系通过矢量(类似于双标图)显示出来。每个矢量由其与典型维度的相关系数(结构系数)定义。

plot(diab.can, ellipse=TRUE, var.lwd=2)

outside_default.png 在这个图中可以看到:

  • 第一维与glufastglutest高度相关,而且组别按照Normal < Chemical < Overt的顺序排列。

  • 第二维将Diabetic组与其他两个组区分开来。这个维度与检测过程中的血浆胰岛素水平密切相关。这验证了我们在HE矩阵图中对所有响应变量的观察结果。

  • 规范化的得分数据椭圆的相对大小是方差异质性缺乏的另一个视觉指标。

规范化的HE图

使用规范判别分析的HE图可以概括展示出规范判别分析的结果。变量向量与规范结构图中的变量向量相同。plot(dbcn, fill=c(TRU=0.1, var.lwd=2)

outside_default.png

## 矢量比例因子设置为12.06

线性判别分析和二次判别分析

线性判别分析(LDA)与多元方差分析(MANOVA)类似,但重点是分类而不是测试均值之间的差异。此外,LDA允许指定组成员身份的先验概率,以使分类错误率与所关注人群中获得的结果可比较。二次判别分析允许组之间的协方差矩阵存在差异,并给出二次而不是线性的分类边界。

从LDA的角度来看,可视化结果的一个目标是通过LD1和LD2的得分来查看分类的边界。

outside_default.png

递归分区决策树

递归分区是一种创建决策树的方法,旨在对人群的成员进行分类。它使用预测因子的二分间隔将数据递归地分割成子群体。对于糖尿病数据,结果非常简单:当glutest < 420时,将正常组与两个临床组区分开来。对于后者,glufast < 117将个体分类为化学性糖尿病而不是明显性糖尿病。

diabart <- rpart(

outside_default.png

使用rpart.plot包可以绘制分区树的漂亮图形。节点中的数字给出了每个组中分类的比例。

rpart.plot(, box.pal

outside_default.png

这样做效果如何?我们可以查看预测的组成员资格与实际结果之间的表格,并计算错误率。效果还不错!

(class.pred <- table(predicted# 错误率
1 - sum(diag(class.pred))/sum(class.pred)
## [1] 0.013

outside_default.png

参考资料

Friendly, M. & Sigal, M. (2017) Visualizing Tests of Equality of Covariance Matrices. Submitted for publication.

Reaven, G. M. & Miller, R. G. (1979). An Attempt to Define the Nature of Chemical Diabetes Using a Multidimensional Analysis Diabetologia, 16, 17-24.


outside_default.png

点击文末“阅读原文”

获取全文完整代码数据资料。

本文选自《R语言分析糖尿病数据:多元线性模型、MANOVA、决策树、典型判别分析、HE图、Box's M检验》。

outside_default.png

outside_default.png

点击标题查阅往期内容

样条曲线、决策树、Adaboost、梯度提升(GBM)算法进行回归、分类和动态可视化

SAS分类决策树预测贷款申请评分剪枝和结果可视化

分类回归决策树交互式修剪和更美观地可视化分析细胞图像分割数据集

PYTHON用户流失数据挖掘:建立逻辑回归、XGBOOST、随机森林、决策树、支持向量机、朴素贝叶斯和KMEANS聚类用户画像

PYTHON集成机器学习:用ADABOOST、决策树、逻辑回归集成模型分类和回归和网格搜索超参数优化

Python对商店数据进行lstm和xgboost销售量时间序列建模预测分析

PYTHON集成机器学习:用ADABOOST、决策树、逻辑回归集成模型分类和回归和网格搜索超参数优化

R语言集成模型:提升树boosting、随机森林、约束最小二乘法加权平均模型融合分析时间序列数据

Python对商店数据进行lstm和xgboost销售量时间序列建模预测分析

R语言用主成分PCA、 逻辑回归、决策树、随机森林分析心脏病数据并高维可视化

R语言基于树的方法:决策树,随机森林,Bagging,增强树

R语言用逻辑回归、决策树和随机森林对信贷数据集进行分类预测

spss modeler用决策树神经网络预测ST的股票

R语言中使用线性模型、回归决策树自动组合特征因子水平

R语言中自编基尼系数的CART回归决策树的实现

R语言用rle,svm和rpart决策树进行时间序列预测

python在Scikit-learn中用决策树和随机森林预测NBA获胜者

python中使用scikit-learn和pandas决策树进行iris鸢尾花数据分类建模和交叉验证

R语言里的非线性模型:多项式回归、局部样条、平滑样条、 广义相加模型GAM分析

R语言用标准最小二乘OLS,广义相加模型GAM ,样条函数进行逻辑回归LOGISTIC分类

R语言ISLR工资数据进行多项式回归和样条回归分析

R语言中的多项式回归、局部回归、核平滑和平滑样条回归模型

R语言用泊松Poisson回归、GAM样条曲线模型预测骑自行车者的数量

R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测

R语言样条曲线、决策树、Adaboost、梯度提升(GBM)算法进行回归、分类和动态可视化

如何用R语言在机器学习中建立集成模型?

R语言ARMA-EGARCH模型、集成预测算法对SPX实际波动率进行预测

在python 深度学习Keras中计算神经网络集成模型

R语言ARIMA集成模型预测时间序列分析

R语言基于Bagging分类的逻辑回归(Logistic Regression)、决策树、森林分析心脏病患者

R语言基于树的方法:决策树,随机森林,Bagging,增强树

R语言基于Bootstrap的线性回归预测置信区间估计方法

R语言使用bootstrap和增量法计算广义线性模型(GLM)预测置信区间

R语言样条曲线、决策树、Adaboost、梯度提升(GBM)算法进行回归、分类和动态可视化

Python对商店数据进行lstm和xgboost销售量时间序列建模预测分析

R语言随机森林RandomForest、逻辑回归Logisitc预测心脏病数据和可视化分析

R语言用主成分PCA、 逻辑回归、决策树、随机森林分析心脏病数据并高维可视化

Matlab建立SVM,KNN和朴素贝叶斯模型分类绘制ROC曲线

matlab使用分位数随机森林(QRF)回归树检测异常值

outside_default.png

outside_default.png

outside_default.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/133327.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SQlite操作后如何正确退出

在 C 语言中&#xff0c;使用 SQLite 库进行数据库操作后&#xff0c;可以通过以下步骤来正常退出和关闭 SQLite 连接&#xff1a; 关闭数据库连接&#xff1a;在完成数据库操作后&#xff0c;使用 sqlite3_close() 函数来关闭 SQLite 连接。该函数接受一个指向 sqlite3 数据库…

一文详解TCP/IP协议栈的心跳、丢包重传、连接超时机制实例

1、问题概述 虽然软件底层模块在网络恢复后能自动重连上服务器&#xff0c;但会议因为网络问题已经退出&#xff0c;需要重新加入会议。因为客户特殊的网络运行环境&#xff0c;会频繁出现网络抖动不稳定的情况&#xff0c;客户要求必须要实现60秒内网络恢复后能依然保持在会议…

Unity中Shader的屏幕抓取 GrabPass

文章目录 前言一、抓取1、抓取指令2、在使用抓取的屏幕前&#xff0c;需要像使用属性一样定义一下,_GrabTexture这个名字是Unity定义好的 前言 Unity中Shader的屏幕抓取 GrabPass 一、抓取 1、抓取指令 屏幕的抓取需要使用一个Pass GrabPass{} GrabPass{“NAME”} 2、在使用…

752. 打开转盘锁

链接&#xff1a; 752. 打开转盘锁 题解&#xff1a; class Solution { public:int openLock(vector<string>& deadends, string target) {std::unordered_set<std::string> table(deadends.begin(), deadends.end());if (table.find("0000") ! t…

基础算法---区间合并

直接上题目,不废话! 题目 给定 n 个区间 [l,r]&#xff0c;要求合并所有有交集的区间。 注意如果在端点处相交&#xff0c;也算有交集。 输出合并完成后的区间个数。 例如&#xff1a;[1,3] 和 [2,6] 可以合并为一个区间 [1,6]。 输入格式 第一行包含整数 n。 接下来 n 行&am…

python-xpath语法-爬取彼岸图4k高清动漫壁纸

安装 pip install lxml导入 from lxml import etreexpath使用路径表达式提取html文档中的元素或元素集&#xff0c;然后元素通过沿路径path或步steps来选取数据 XPath常用语法格式 表达式描述div选取div元素的所有子元素/div选取根元素divul//li选取ul元素下的所有li子元素…

二蛋赠书二期:《Python机器学习项目实战》

文章目录 前言活动规则参与方式本期赠书《Python机器学习项目实战》作者介绍内容简介读者对象获奖名单 结语 前言 大家好&#xff01;我是二蛋&#xff0c;一个热爱技术、乐于分享的工程师。在过去的几年里&#xff0c;我一直通过各种渠道与大家分享技术知识和经验。我深知&am…

2327. 知道秘密的人数;1722. 执行交换操作后的最小汉明距离;2537. 统计好子数组的数目

2327. 知道秘密的人数 核心思想&#xff1a;动态规划&#xff0c;每天的人可以分为三种&#xff0c;可分享秘密的人&#xff0c;不可分享秘密的人&#xff0c;忘记秘密的人。定义f[i]为第i天可分享秘密的人&#xff0c;那么第(idelay ,iforget)天&#xff0c;会增加f[i]个可分…

C++算法进阶系列之倍增算法 ST 表

1. 引言 前文使用倍增算法实现了快速求幂的运算&#xff0c;本文继续讲解ST表&#xff0c;ST表即倍增表&#xff0c;本质就是动态规划表&#xff0c;记忆化了不同子问题域中的结果&#xff0c;用于实时查询。只是动态规划过程和传统的稍有点不一样&#xff0c;采用了倍增思想。…

h5开发网站-页面内容不够高时,如何定位footer始终位于页面的最底部

一、问题描述&#xff1a; 在使用h5开发页面时&#xff0c;会遇到这个情况&#xff1a;当整个页面高度不足以占满显示屏一屏&#xff0c;页脚不是在页面最底部&#xff0c;影响用户视觉。想让页脚始终在页面最底部&#xff0c;我们可能会想到用&#xff1a; 1.min-height来控…

初识Mybatis(二)动态SQL、缓存和逆向工程

动态SQL Mybatis框架的动态SQL技术是一种根据特定条件动态拼装SQL语句的功能&#xff0c;它存在的意义是为了解决拼接SQL语句字符串时的痛点问题。 &#xff08;比如多条件查询的设置&#xff0c;实现判空等&#xff09; 1、if 创建DynamicSQLMapper接口&#xff0c;DynamicSQL…

小程序中如何查看指定会员的付款记录

在小程序中&#xff0c;我们可以通过一些简单的步骤来查看指定会员的付款记录。下面是具体的操作流程&#xff1a; 1. 找到指定的会员卡。在管理员后台->会员管理处&#xff0c;找到需要查看付款记录的会员卡。也支持对会员卡按卡号、手机号和等级进行搜索。 2. 查看会员卡…

springboot3 + java虚拟线程初体验

java虚拟线程介绍 虚拟线程是 Java 19 的 预览特性&#xff0c;估计会在Java 21被纳入 JDK 的正式版本中&#xff0c;会在2023年9月发布&#xff0c;目前springboot 3 已经提供了对虚拟线程的支持。 虚拟线程和平台线程主要区别在于&#xff0c;虚拟线程在运行周期内不依赖操…

竞赛选题 基于机器视觉的火车票识别系统

文章目录 0 前言1 课题意义课题难点&#xff1a; 2 实现方法2.1 图像预处理2.2 字符分割2.3 字符识别部分实现代码 3 实现效果最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 基于机器视觉的火车票识别系统 该项目较为新颖&#xff0c;适合作为竞赛…

记录第一个启动代码的诞生

核使用R52&#xff0c;参考汇编模板&#xff0c;一步一步来实现。 首先是ld文件&#xff0c;这个没啥好说的&#xff0c;主要是关注给vector_table划一块地址、stack地址&#xff0c;如下&#xff1a; .text.intvec :{_vectors_start .;KEEP(*(.text.intvec))_vectors_end .;…

vscode 当中vue 全局自定义组件没有提示以及一些技巧

阅读技术文章可以查漏补缺&#xff0c;借鉴别人编码方式提高代码水平 阅读优秀项目 可以扩展业务处理能力 坚持每天阅读&#xff0c;每天学习新东西 积少成多&#xff0c;水到渠成 在写项目时候&#xff0c;我全局注册了组件&#xff0c;YhSwitch&#xff0c;但是在使用时候&am…

数值类型表示二——定点和浮点格式

目录 目录 定点小数与定点整数 定点小数原反补的转换 定点小数与定点整数的取值范围 位数扩展的区别 浮点数的格式 浮点数的规格化 规格化处理举例 例1&#xff1a; 例2&#xff1a; 特例&#xff1a; 知识点总结&#xff1a; 浮点数的IEEE754标准 移码的回顾&…

免费,开源,可批量的离线图片文字提取软件OCR

Umi-OCR 文字识别工具 免费&#xff0c;开源&#xff0c;可批量的离线OCR软件 适用于 Windows7 x64 及以上 免费&#xff1a;本项目所有代码开源&#xff0c;完全免费。方便&#xff1a;解压即用&#xff0c;离线运行&#xff0c;无需网络。批量&#xff1a;可批量导入处理图片…

企业可以自己建立大数据平台吗?有哪些好处?

随着企业的快速发展&#xff0c;企业累积了越来越多的数据&#xff0c;但管理巨量的大数据是一件非常难的事情&#xff0c;且很多数据没有充分发挥作用。因此不少企业在问&#xff0c;企业可以自己建立大数据平台吗&#xff1f;有哪些好处&#xff1f; 企业可以自己建立大数据…

sql存储引擎

-- 查询建表语句 --可以查看引擎 show create table account; -- 可以看到默认引擎 InnoDB ENGINEInnoDB -- 查看当前数据库支持得存储引擎 show engines ; # InnoDB 默认 存储引擎 # MyISAM sql早期默认 存储引擎 # MEMORY 存储在内存中 用来做临时表和缓存 存储引擎 …