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

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

时间:2023-09-08 22:47:10浏览次数:48  
标签:Box 变量 判别分析 糖尿病 MANOVA 数据 HE

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

原文出处:拓端数据部落公众号

背景

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

本文帮助客户使用这些数据来说明多元线性模型的各种图形方法。正如我们将看到的那样,这些数据在几个方面都是奇特的,并且标准的MANOVA存在问题,因为某些假设被违反了。

设置

读取数据

   
str(Diabetes)

image.png

这些变量是:

  • relwt:相对体重,表示实际体重与人的身高相比的期望体重的比率
  • glufast:空腹血浆葡萄糖水平
  • glutest:测试血浆葡萄糖水平,测量葡萄糖不耐受的程度,
  • instest:测试中的血浆胰岛素,测量口服葡萄糖的胰岛素反应,
  • sspg:稳态血浆葡萄糖,测量胰岛素抵抗性
  • group:诊断组

数据的椭圆和方差齐性

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

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

   
covEllipses(Diabetes

image.png

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

image.png

这个发现是Reaven和Miller得出化学糖尿病和明显糖尿病反映不同疾病状态而不是逐渐加重的结论的部分原因。

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

   
scatter3d

下载 (3).png

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

Box's M检验

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

   
diab.boxm <- box

image.png

image.png

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

拟合MLM模型

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

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

   

Anova(diab.mlm)

image.png

在 QQ 图中检查残差

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

   
qplot(da.ml)

image.png

HE 图

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

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

   
hplot(diab.

image.png

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

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

image.png

典型判别分析

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

   
diab.an

image.png

典型判别图

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

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

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

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

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

  • 第一维与glufastglutest高度相关,而且组别按照Normal < Chemical < Overt的顺序排列。
  • 第二维将Diabetic组与其他两个组区分开来。这个维度与检测过程中的血浆胰岛素水平密切相关。这验证了我们在HE矩阵图中对所有响应变量的观察结果。
  • 规范化的得分数据椭圆的相对大小是方差异质性缺乏的另一个视觉指标。

规范化的HE图

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

image.png

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

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

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

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

image.png

递归分区决策树

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

   
diabart <- rpart(

image.png

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

   
rpart.plot(, box.pal

image.png

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

   
(class.pred <- table(predicted

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

image.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 Diabetologia16, 17-24.


Digitization-automation-future-pharma_1536x1536_200.jpg

最受欢迎的见解

1.R语言多元Logistic逻辑回归 应用案例

2.面板平滑转移回归(PSTR)分析案例实现

3.matlab中的偏最小二乘回归(PLSR)和主成分回归(PCR)

4.R语言泊松Poisson回归模型分析案例

5.R语言回归中的Hosmer-Lemeshow拟合优度检验

6.r语言中对LASSO回归,Ridge岭回归和Elastic Net模型实现

7.在R语言中实现Logistic逻辑回归

8.python用线性回归预测股票价格

9.R语言如何在生存分析与Cox回归中计算IDI,NRI指标

标签:Box,变量,判别分析,糖尿病,MANOVA,数据,HE
From: https://www.cnblogs.com/tecdat/p/17688671.html

相关文章

  • 【前端】CSS-flexbox弹性盒模型布局
    目录一、前言二、flexbox简介三、属性1、容器属性2、容器成员属性四、容器属性的作用1、flex-direction①、定义②、语句1)、属性值③、代码示例1)、flex-direction:row2)、flex-direction:row-reverse3)、flex-direction:column4)、flex-direction:column-reverse2、flex-wrap①、......
  • 记录下常用的boxShadow样式
    预览图代码1.box-shadow#0csscode====>box-shadow:rgba(149,157,165,0.2)0px8px24px;2.box-shadow#1csscode====>box-shadow:rgba(100,100,111,0.2)0px7px29px0px;3.box-shadow#2csscode====>box-shadow:rgba(0,0,0,0.15)1.95......
  • Oracle VM VirtualBox Ubuntu设置共享文件夹
    1、在windows系统中创建文件夹创建的这个文件夹最好选择在内存空间较大的磁盘中。否则会引起内存不足的困扰。在E盘中创建名为winshare的文件夹。2、设置共享文件夹打开OracleVMVirtualBox,点击设置。点击“共享文件夹”。点击加号。随后在共享文件夹路径中选择第一步......
  • ​MPDIoU: A Loss for Efficient and Accurate Bounding Box Regression
    ​MPDIoU:ALossforEfficientandAccurateBoundingBox RegressionMPDIoU:一个有效和准确的边界框损失回归函数摘要边界框回归(Boundingboxregression,BBR)广泛应用于目标检测和实例分割,是目标定位的重要步骤。然而,当预测框与边界框具有相同的纵横比,但宽度和高度值完......
  • Paddle图神经网络训练-PGLBox代码阅读笔记
    图存储部分paddle/fluid/framework/fleet/heter_psgraph_gpu_wrapper.hGPU图主入口graph_gpu_ps_table.hGPU图的主要存储结构,neighbor采样等都在这里完成gpu_graph_node.h节点,边,邻居等数据结构定义paddle/fluid/distributed/ps/table/common_graph_tabl......
  • 记VirtualBox+Ubuntu20.4网络配置(网络互通)
    场景原先使用桥接模式确实可以满足主机与虚拟机互通,且虚拟机可访问外网。但是不知是不是就我出现这问题——选择桥接模式,主机需要打开热点,而又由于未知原因在开热点的情况下,主机网络会有一定的影响(有时很卡)。故而,想着切换一下网络配置。工具版本VirtualBox7.0.8Ubuntu20.4......
  • WPF ComboBox SelectionChanged 重复执行的问题
    参考:WPFTabControlSelectionChanged重复执行的问题-一!雨-博客园(cnblogs.com)添加如下代码privatevoidComboBox_SelectionChanged(objectsender,SelectionChangedEventArgse){e.Handled=true;} 如果采用MVVM模式,在当前......
  • javascript: confirm alert box costomer style
     //JavaScriptDocument/*參考資源:https://developer.mozilla.org/en-US/docs/Web/API/Window/alerthttps://developer.mozilla.org/en-US/docs/Web/API/Window/confirmhttps://reactkungfu.com/2015/08/beautiful-confirm-window-with-react/https://www.jquery-az.co......
  • 学习笔记:在VirtualBox上安装最新版本的Ubuntu
    学习笔记:在VirtualBox上安装最新版本的Ubuntu1.安装Ubuntu虚拟机首先,我决定在我的笔记本电脑上安装Linux操作系统,以便更深入地了解Linux和学习一些Linux命令。我选择了在VirtualBox虚拟机中安装最新版本的Ubuntu。以下是我学习和执行这一任务的步骤:1.1下载并安装VirtualBox......
  • 基于jvm-sandbox实现一个简单功能的全链路压测agent
    目前我们已知chaosblade-exec-jvm是基于jvm-sandbox开发的混沌工程注入工具,我们可以基于jvm-sandbox创建一些其他的工具agent:流量回放agent、全链路压测agent等等接下来我会用完全的代码实现一个可以流量透传、mock挡板、影子表数据落地等功能的压测agent:MyAgentProject/|--age......