乐趣区

关于数据挖掘:R语言分析糖尿病数据多元线性模型MANOVA决策树典型判别分析HE图Boxs-M检验可视化

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

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

背景

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

本文帮忙客户应用这些数据来阐明多元线性模型的各种图形办法。正如咱们将看到的那样,这些数据在几个方面都是奇异的,并且规范的 MANOVA 存在问题,因为某些假如被违反了。

设置

读取数据

str(Diabetes)

这些变量是:

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

数据的椭圆和方差齐性

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

从这个后果中能够分明地看出,这里存在方差 - 协方差矩阵的异质性问题。失常组显示了最小的方差,而显著糖尿病组则显示了最大的方差。

covEllipses(Diabetes

在图表中的(a)和(b)面板中,从失常到化学再到显著仿佛存在间接的停顿。然而,在其余面板中并非如此,在那里化学糖尿病群体与正常人在一个方向上不同,而显著糖尿病群体在另一个方向上有所不同,并且其外部群体相关性与其余群体呈相同的符号。这在独自的散点图中更容易看到,例如以下示例。

这个发现是 Reaven 和 Miller 得出化学糖尿病和显著糖尿病反映不同疾病状态而不是逐步减轻的论断的局部起因。

另外,咱们留神到能够应用scatter3d`car` 包中的三维散点图更容易地看到组之间的差别。

scatter3d

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

Box’s M 测验

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

diab.boxm <- box

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

拟合 MLM 模型

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

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


Anova(diab.mlm)

在 QQ 图中查看残差

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

qplot(da.ml)

HE 图

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

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

hplot(diab.

对于 MLM 的办法会给出一个散点图矩阵,其中蕴含所有响应变量之间的 HE 图。从后果中能够看出,Diabetes 变量的模式与其余变量不同。

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

典型判别分析

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

diab.an

典型判断图

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

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

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

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

在这个图中能够看到:

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

规范化的 HE 图

应用标准判别分析的 HE 图能够概括展现出标准判别分析的后果。变量向量与标准结构图中的变量向量雷同。heplot(dabcn, fill=c(TRUE, FALSE), fil.apha=0.1, var.lwd=2)

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

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

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

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

递归分区决策树

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

diabart <- rpart(

应用 rpart.plot 包能够绘制分区树的丑陋图形。节点中的数字给出了每个组中分类的比例。

rpart.plot(, box.pal

这样做成果如何?咱们能够查看预测的组成员资格与理论后果之间的表格,并计算错误率。成果还不错!

(class.pred <- table(predicted

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

参考资料

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.


最受欢迎的见解

1.[](https://tecdat.cn/r%e8%af%ad%e8%a8%80%e7%bb%98%e5%88%b6%e7%94…)R 语言多元 Logistic 逻辑回归 利用案例

2.[](https://tecdat.cn/r%e8%af%ad%e8%a8%80%e7%94%9f%e5%ad%98%e5%88…)面板平滑转移回归 (PSTR) 剖析案例实现

3.[](https://tecdat.cn/r%e8%af%ad%e8%a8%80%e5%a6%82%e4%bd%95%e5%9c…)matlab 中的偏最小二乘回归(PLSR)和主成分回归(PCR)

4.[](https://tecdat.cn/r%e8%af%ad%e8%a8%80%e4%b8%ad%e4%bd%bf%e7%94…)R 语言泊松 Poisson 回归模型剖析案例

5.[](https://tecdat.cn/r%e8%af%ad%e8%a8%80%e7%94%9f%e5%ad%98%e5%88…)R 语言回归中的 Hosmer-Lemeshow 拟合优度测验

6.[](https://tecdat.cn/r%e8%af%ad%e8%a8%80ggplot2%e8%af%af%e5%b7%a…)r 语言中对 LASSO 回归,Ridge 岭回归和 Elastic Net 模型实现

7.[](https://tecdat.cn/r-%e8%af%ad%e8%a8%80%e7%bb%98%e5%88%b6%e5%8…)在 R 语言中实现 Logistic 逻辑回归

8.[](https://tecdat.cn/r%e8%af%ad%e8%a8%80%e5%a6%82%e4%bd%95%e6%89…)python 用线性回归预测股票价格

9.[](https://tecdat.cn/r%e8%af%ad%e8%a8%80%e4%b8%ad%e7%9a%84%e7%94…)R 语言如何在生存剖析与 Cox 回归中计算 IDI,NRI 指标

退出移动版