R语言机器学习与临床预测模型72--相关性分析方法总结
R小盐准备介绍R语言机器学习与预测模型的学习笔记
你想要的R语言学习资料都在这里, 快来收藏关注【科研私家菜】
01 相关性分析
相关性分析用于评估两个或多个变量之间的关联。例如,如果我们想知道父亲和儿子的身高之间是否存在关系,可以计算相关系数来回答这个问题。
相关性分析解决以下两个问题:
判断两个或多个变量之间的统计学关联;
如果存在关联,进一步分析关联强度和方向
相关分析的方法有多种:包括皮尔逊(Pearson)相关(r),它测量两个变量(x和y)之间的线性相关性。它也称为参数相关性检验,因为它取决于数据的分布。仅当x和y来自正态分布时才可以使用它。y = f(x)的图称为线性回归**曲线。
- Kendall tau和Spearman rho,它们是基于等级的相关系数(非参数)。
最常用的方法是Pearson相关方法。
相关性方法:
Pearson相关系数(适用于定量数据,且数据满足正态分布)
Spearman相关系数(数据不满足正态分布时使用) Kendall's tau -b相关系数(有序定类变量)
针对一组数据,想要研究其中的相关关系,首先要做的是正态性检验,如果数据满足正态分布,使用Pearson相关系数,否则使用Spearman相关系数。
相关性的分析主要是看p值,如果p值小于0.05,则呈现显著性,说明两变量之间存在相关性。
02 Cochran's Q 检验
Cochran's Q 检验 用于三个字段以上的二分类定类数据的一致性检验,即相关程度分析。
Cochran's Q 检验主要是看p值,如果p值小于0.05,则呈现显著性,说明两变量之间存在相关性。
03 Kappa一致性检验
Kappa一致性检验 用于定类数据的相关性检验。
一般Kappa系数可用于衡量分类精度,或者投票等定类数。
方法包括:
简单Kappa:适用于两两纯定类数据(无序)
线性加权Kappa:适用于两两有序定类数据
平方加权Kappa:同线性加权,但加重了有序定类的级别差异
Flesis Kappa:适用于三组以上的定类数据
相关性看p值, <0.05,呈显著性,说明两变量之间存在相关性
Kappa 值的大小代表的相关性解释:
04 Kendall协调系数
肯德尔(Kendall)协调系数用于三组以上定类数据的相关性检验,与此类似的有Kappa系数一致性检验。这两者不同的是:Kappa系数与皮尔逊一样是比较两项之间的相关性;而Kendall系数用于判断总体(全部数据)的相关性,适用于数据是多列相关的等级资料,即可是k个评分者评(N)个对象,也可以是同一个人先后k次评N个对象。通过求得kandall和谐系数,可以较为客观地选择好的作品或好的评分者。
相关性看p值, <0.05,呈显著性,说明两变量之间存在相关性
Kendall值的大小代表的相关性解释与Kappa一致
Kendall系数一致性检验的结果显示,总体数据的显著性 值为0.745,水平上不呈现显著性,不能拒绝原假设,因此数据不能呈现一致性,同时模型的Kendall协调系数 值为0.049,因此相关性的程度为极低的一致性。 可见五位评委对景点的评分不具有一致性。
05 组内相关系数
组内相关系数衡量和评价观察者间信度和复测信度的信度系数指标。通常可以用于问卷调查中评价一个对象对多个样本在一段时间的重测信度,或者判断一批对象对多个样本的一致性检验(定量定类均可)
ICC类型:
Two-way random/mixed absolute agreement:考虑了系统误差(如测量不同评委是否会给予相同选手的相同的打分)
Two-way randomfmixed consistency:不考虑系统误差(如测量不同评委给予相同选手的打分是否高度相关)
One-way random absolute agreement:用于检验每一个选手的均值是否完全相等(如相同评委在不同次数是否会给予相同选手的相同的打分)
判断方法:
1.选择测量方式,其中单个测量的是基于原始数据,而平均测量是基于原始结果经过均值或者中位数等方式处理;
2.分析组内相关系数对应测量方式的方差分析(P值),方可进行组内相关系数;
3.若方差分析呈现显著性(P<0.05),分析组内相关系数的效应程度,一般认为信度系数低于0.4,表示信度较差,大于0.75表示信度良好,对于定量资料常常需要更高的ICC值;
针对单个测量的组内相关系数结果显示,显著性 值为 0,水平上呈现显著性,拒绝原假设,说明信度的一致性是可信的。且相关系数为 0.957,说明该数据的信度是很强。
针对平均测量的组内相关系数结果显示,显著性 值为 0,水平上呈现显著性,拒绝原假设,说明信度的一致性是可信的。且相关系数为 0.991,说明该数据的信度是很强。
06 R语言实现
# 导入R内自带的mtcars数据集
library(datasets)
data(mtcars)
# 将数据存储在变量my_data中
my_data <- mtcars
cor(my_data$mpg,my_data$wt,method="pearson",use="complete.obs")
[1] -0.8676594
cor.test(my_data$mpg,my_data$wt,method="pearson",use="complete.obs")
Pearson's product-moment correlation
data: my_data$mpg and my_data$wt
t = -9.559, df = 30, p-value = 1.294e-10
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
-0.9338264 -0.7440872
sample estimates:
cor
-0.8676594
x <- mtcars$wt
y <- mtcars$mpg
plot(x, y, main = "Main title",
xlab = "X axis title", ylab = "Y axis title",
pch = 19, frame = T)
# 添加回归线
abline(lm(y ~ x, data = mtcars), col = "red")
library(psych) #加载R包
corr.test(mtcars) #计算相关系数及其显著性
#另外我们也可以绘制相关系数图
data <- corr.test(mtcars)
r <- data$r
p <- data$p
corPlot(r,pval=p,numbers=TRUE,diag=FALSE,stars=TRUE)
关注R小盐,关注科研私家菜(VX_GZH: SciPrivate),有问题请联系R小盐。让我们一起来学习 R语言机器学习与临床预测模型