当前位置: 首页 > news >正文

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

相关文章:

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

全文链接&#xff1a;https://tecdat.cn/?p33609 Reaven和Miller&#xff08;1979&#xff09;研究了145名非肥胖成年人的葡萄糖耐量和胰岛素血液化学指标之间的关系。他们使用斯坦福线性加速器中心的PRIM9系统将数据可视化为3D&#xff0c;并发现了一个奇特的图案&#xff0c…...

有效回文字符串(Valid palindrome)

题目描述 思路分析 代码实践 java: public class Solutation1 {//定义一个方法&#xff0c;判断是否是有效数字或者字母private static boolean isValid(char c) {//如果不是字母或者数字&#xff0c;那就返回一个flase//这里调用了Character类里面的方法return Character.i…...

9月9日,每日信息差

今天是2023年9月9日&#xff0c;以下是为您准备的12条信息差 第一、前晨汽车动力电池项目落地厦门&#xff0c;第二十届中国国际投资贸易洽谈会于2023年9月8日在福建省厦门市开幕。会上&#xff0c;前晨汽车科技有限公司与福建省厦门市集美区进行了前晨汽车动力电池项目签约&a…...

Java——》synchronized编译

推荐链接&#xff1a; 总结——》【Java】 总结——》【Mysql】 总结——》【Redis】 总结——》【Kafka】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 总结——》【Linux】 总结——》【MongoD…...

vue3使用el-form实现登录、注册功能,且进行表单验证(Element Plus中的el-form)

简介&#xff1a;Element Plus 中的 el-form 是一个表单组件&#xff0c;用于快速构建表单并进行数据校验。它提供了丰富的表单元素和验证规则&#xff0c;使表单开发变得更加简单和高效。可以搭配el-dialog实现当前页面的登录、注册页 &#xff0c;这两天在vue3中用到了表单登…...

12个微服务架构模式最佳实践

微服务架构是一种软件开发技术&#xff0c;它将大型应用程序分解为更小的、可管理的、独立的服务。每个服务负责特定的功能&#xff0c;并通过明确定义的 API 与其他服务进行通信。微服务架构有助于实现软件系统更好的可扩展性、可维护性和灵活性。 接下来&#xff0c;我们将介…...

快速搭建:对象存储平台MinIO

简介&#xff1a;MinIO 是一个高性能的对象存储服务器&#xff0c;兼容Amazon S3云存储服务。适用于大数据存储和用于构建私有云的场景。作为一个对象存储服务&#xff0c;它基于Apache License 开源协议&#xff0c;兼容Amazon S3云存储接口。适合存储非结构化数据&#xff0c…...

Nomad 系列-Nomad+Traefik+Tailscale 集成实现零信任安全

系列文章 Nomad 系列文章Traefik 系列文章Tailscale 系列文章 概述 终于到了令人启动的环节了&#xff1a;NomadTraefikTailscale 集成实现零信任安全。 在这里&#xff1a; Nomad 负责容器调度&#xff1b;&#xff08;容器编排工具&#xff09;Traefik 负责入口流量&…...

(二十一)大数据实战——Flume数据采集之复制和多路复用案例实战

前言 本节内容我们完成Flume数据采集的一个多路复用案例&#xff0c;使用三台服务器&#xff0c;一台服务器负责采集本地日志数据&#xff0c;通过使用Replicating ChannelSelector选择器&#xff0c;将采集到的数据分发到另外俩台服务器&#xff0c;一台服务器将数据存储到hd…...

VM安装RedHat7虚机ens33网络不显示IP问题解决

1、今天在VMware中安装RedHat7.4虚拟机&#xff0c;网络连接使用的是 NAT 连接方式&#xff0c;刚开始安装成功之后输入ifconfig 还能看到ens33自动分配的IP地址&#xff0c;但是当虚机关机重启后&#xff0c;再查看IP发现原来的ens33网络已经没有了&#xff0c;只变成了这两个…...

Leetcode 第 362 场周赛题解

Leetcode 第 362 场周赛题解 Leetcode 第 362 场周赛题解题目1&#xff1a;2848. 与车相交的点思路代码复杂度分析 题目2&#xff1a;2849. 判断能否在给定时间到达单元格思路代码复杂度分析 题目3&#xff1a;2850. 将石头分散到网格图的最少移动次数思路代码复杂度分析 题目4…...

蓝桥杯官网练习题(0的个数)

问题描述 给定一个正整数 n &#xff0c;请问 n 的十进制表示中末尾总共有几个 0 &#xff1f; 输入格式 输入一行包含一个正整数 n。 输出格式 输出一个整数&#xff0c;表示答案。 样例输入 20220000样例输出 4评测用例规模与约定 对于所有评测用例&#xff0c;1 &l…...

计算线段上距离线段外某一点最近的点

一、问题 已知 p 0 = ( x 0 , y 0 ) p_0=(x_0, y_0) p...

港联证券股票分析:经济拐点显现 积极提升仓位

港联证券指出&#xff0c;商场底部上升的方向不变&#xff0c;当时稳增加和活跃资本商场的活跃方针仍在持续落地&#xff0c;一起也看到了一些经济数据边沿企稳的迹象&#xff0c;跟着方针作用的进一步闪现&#xff0c;商场情绪有望持续好转&#xff0c;上市公司基本面也有望得…...

不同的图像质量评价指标(IQA)

一、NR-IQA 这是一种方法不是指标 “Non-Reference Image Quality Assessment”&#xff08;NR-IQA&#xff09;是一种图像质量评价&#xff08;Image Quality Assessment, IQA&#xff09;方法&#xff0c;通常用于评估图像的质量&#xff0c;而无需使用参考图像&#xff08;…...

linux命令-tar 命令

tar 命令 tar 命令一般用来打包文件 ,文件夹 , 方便传输使用. tar命令是在Linux和UNIX系统上用于创建、查看和提取tar归档文件的工具。它通常与gzip一起使用&#xff0c;以便在创建归档文件时进行压缩或解压缩。 -c: 创建归档文件 -x: 提取文件 -z: 告诉 tar 命令使用 gzip …...

selenium元素定位---ElementClickInterceptedException(元素点击交互异常)解决方法

1、异常原因 在编写ui自动化时&#xff0c;执行报错元素无法点击&#xff1a;ElementClickInterceptedException 具体报错&#xff1a;selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted: Element <span class"el-c…...

05_css选择器的使用

一、css选择器的类型 1、标签选择器 用法&#xff1a;直接写 写标签名&#xff1a;标签名{} 示例&#xff1a; <!-- <!DOCTYPE html --> <html><head><meta charset"utf-8"><title>标签选择器</title><style type"te…...

跨平台游戏引擎 Axmol-2.0.0 正式发布

下载 https://github.com/axmolengine/axmol/releases/tag/v2.0.0 更新日志 添加实验性的 WebAssembly 构建支持(WebGL 2.0)&#xff0c;由 nowasm 贡献 已知问题 WebGL context lost 尚未处理 部署在 github pages 的 demo 可快速预览&#xff0c;注意&#xff1a;由于 Git…...

面试总结归纳

面试总结 注&#xff1a;循序渐进&#xff0c;由点到面&#xff0c;从技术点的理解到项目中的使用&#xff0c; ​ 要让面试官知道&#xff0c;我所知道的要比面试官更多 一、Mybatis 为ORM半持久层框架&#xff0c;它封装了JDBC&#xff0c;开发时只需要关注sql语句就可以了…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

DAY 47

三、通道注意力 3.1 通道注意力的定义 # 新增&#xff1a;通道注意力模块&#xff08;SE模块&#xff09; class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

Nuxt.js 中的路由配置详解

Nuxt.js 通过其内置的路由系统简化了应用的路由配置&#xff0c;使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

【论文笔记】若干矿井粉尘检测算法概述

总的来说&#xff0c;传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度&#xff0c;通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

Linux云原生安全:零信任架构与机密计算

Linux云原生安全&#xff1a;零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言&#xff1a;云原生安全的范式革命 随着云原生技术的普及&#xff0c;安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测&#xff0c;到2025年&#xff0c;零信任架构将成为超…...

【配置 YOLOX 用于按目录分类的图片数据集】

现在的图标点选越来越多&#xff0c;如何一步解决&#xff0c;采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集&#xff08;每个目录代表一个类别&#xff0c;目录下是该类别的所有图片&#xff09;&#xff0c;你需要进行以下配置步骤&#x…...

LLM基础1_语言模型如何处理文本

基于GitHub项目&#xff1a;https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken&#xff1a;OpenAI开发的专业"分词器" torch&#xff1a;Facebook开发的强力计算引擎&#xff0c;相当于超级计算器 理解词嵌入&#xff1a;给词语画"…...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)

文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...

聊一聊接口测试的意义有哪些?

目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开&#xff0c;首…...

【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习

禁止商业或二改转载&#xff0c;仅供自学使用&#xff0c;侵权必究&#xff0c;如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...