R语言机器学习与临床预测模型82--对应分析

2022-08-23  本文已影响0人  科研私家菜

R小盐准备介绍R语言机器学习与预测模型的学习笔记

你想要的R语言学习资料都在这里, 快来收藏关注【科研私家菜】


01 什么是对应分析?

所谓对应分析就是把样本取值和变量取值联系起来,发现它们之间潜在关系的分析方法。此外,
还可以将两分类变量做成列联表,发现变量取值间的规律。通常的做法是将要分析的对象放在
二维表格中,行(列)表示具体的对象或类型,表格中的值表示发生的频率或反应重要性指标。
在表格较小的情况下,可以通过值的大小判断对应行和列对象间的相关性强弱。当表格很大时,就不能直观判断了,这时需要使用降维技术,将数据压缩在低维空间表示出来,这就是对应分析的基本思想。
对应分析主要应用在市场细分、产品定位等方面,它能够将几组看不出任何联系的数据,通
过视觉上可以接受的定位图展现出来。


列联表

在分析行列相关性之前,需要检验行列数据的独立性,如果是独立无关的,则不需要进行对应
分析了,只有通过独立性假设,对应分析才有意义。针对行列因素是否独立的问题,提出原假设H0和备择假设H1则有:
H0:行列因素是独立无关的
H1:行列因素不独立,是相关的
可构造卡方统计如下:


效果如下:


02 对应分析的R语言实现

R语言中MASS包中的corresp函数实现了从二维列联表进行对应分析的过程,并可从输出中得到行列得分,以便将因素关系绘制在低维图表中。

corresp(x, ...)

## S3 method for class 'matrix'
corresp(x, nf = 1, ...)

## S3 method for class 'factor'
corresp(x, y, ...)

## S3 method for class 'data.frame'
corresp(x, ...)

## S3 method for class 'xtabs'
corresp(x, ...)

## S3 method for class 'formula'
corresp(formula, data, ...)

03 对应分析的R语言示例

下面为某市老龄化研究数据,行因素表示自评健康状况,有很好、好、一般、差、很差、没回
答这六项分类,列因素表示生活自理能力,有完全自理、部分自理、不能自理这三项分类,行列因素构成的列联表:


vdata=read.csv("demolaolinhua2.csv",header=T,row.names = 1)
#2.加载MASS包,用corresp函数进行对应分析
library(MASS)


cp<-corresp(vdata,nf=2)
cp
## First canonical correlation(s): 0.29614629 0.08462696 
## 
##  Row scores:
##              [,1]        [,2]
## 很好   -0.8598235  0.90764251
## 好     -0.4243279  0.31560800
## 一般   -0.3176986  0.02177613
## 差      1.1427620 -1.80803262
## 很差    4.6633068  4.82861892
## 没回答  4.0033447  1.24147941
## 
##  Column scores:
##                [,1]       [,2]
## 完全自理 -0.5368034  0.2556804
## 部分自理  0.7824802 -2.2683088
## 不能自理  2.4804060  1.2965027
#3.绘制二维图表
rgx<-range(cp$rscore[,1],cp$cscore[,1])+c(-0.5,0.5)
rgy<-range(cp$rscore[,2],cp$cscore[,2])+c(-0.5,0.5)
plot(cp$rscore,pch=20,cex=5,col='red',xlim=rgx,ylim=rgy,xlab="Dimension 1",
     ylab="Dimension 2")
text(cp$rscore-0.2,rownames(cp$rscore))
points(cp$cscore,pch=20,cex=5,col='darkgreen')
text(cp$cscore-0.2,rownames(cp$cscore))
abline(v=0,h=0,lty=3)

对应分析二维表

结果解读:

结果显示,生活自理能力“完全自理”,与自评健康状况“很好”、 “好”、“一般”十分接近,说明生活可以完全自理的老人健康状况良好。而生活自理能力为“部分自理”,与自评健康状况“差”比较接近,说明生活可以部分自理的老人健康状况不是很好。此外,生活自理能力“不能自理”与自评健康状况“很差”、“没回答”距离较远,这不能说明生活不能自理的老人健康状况就很糟糕。


关注R小盐,关注科研私家菜(VX_GZH: SciPrivate),有问题请联系R小盐。让我们一起来学习 R语言机器学习与临床预测模型

上一篇下一篇

猜你喜欢

热点阅读