相关系数:皮尔逊与斯皮尔曼的比较

统计学中,相关系数是用来衡量两个变量之间关系的统计量。皮尔逊相关系数用于评估变量之间的线性关系,而斯皮尔曼相关系数则用于评估单调关系。本文将深入探讨这两种相关系数的计算方法、解释、优势和局限性,以便在数据分析中选择适当的相关系数。

相关系数的重要性

相关系数在机器学习和数据科学中扮演着“翻译器”的角色,帮助理解变量之间的“语言”——它们如何以及在何种方向上一起变化。以下是它们的重要性所在:

  • 发现模式:揭示特征之间的隐藏关系,例如影响房价的因素。
  • 选择最佳特征:为机器学习模型选择最相关的数据,提高模型效率。
  • 理解模型:观察模型如何解释数据并识别潜在问题。

斯皮尔曼相关系数的应用

斯皮尔曼相关系数,也称为斯皮尔曼秩相关系数,是一种统计工具,它不假设直线关系,而是评估一个变量随着另一个变量变化时的上升或下降趋势。这种变化称为单调关系,可以是稳定的共同增加或共同减少。即使数据没有形成完美的直线,斯皮尔曼相关也能揭示这种潜在趋势。

皮尔逊与斯皮尔曼相关系数的比较

以下是皮尔逊和斯皮尔曼相关系数的比较表:

方面 皮尔逊相关系数 斯皮尔曼相关系数
目的 衡量线性关系 衡量单调关系
假设 变量正态分布,线性关系 变量具有单调关系,对分布无假设
计算方法 基于协方差和标准差 基于排名数据和等级顺序
值的范围 -1到1 -1到1
解释 线性关系的强度和方向 单调关系的强度和方向
对异常值的敏感性 对异常值敏感 对异常值不太敏感
数据类型 适用于区间和比率数据 适用于序数变量和非正态分布数据
样本大小 对于小样本大小不是最有效的选择 适用于小样本,不需要正态分布假设
用途 评估线性关联,参数测试 评估单调关联,非参数测试

斯皮尔曼秩相关系数的例子

假设想要确定一组学生的学习时间和考试成绩之间的关系。有以下五个学生的数据:

学生 学习时间(小时) 考试成绩
A 10 75
B 8 60
C 12 85
D 6 55
E 9 70

首先,分别对学习时间和考试成绩进行排名:

学生 学习时间(小时) 学习时间排名 考试成绩 考试成绩排名
A 10 3 75 3
B 8 4 60 5
C 12 1 85 1
D 6 5 55 6
E 9 2 70 4

接下来,计算每对学生数据点排名之间的差异:

Di = Rank of Study Time - Rank of Exam Score
学生 Di
A 0
B -1
C 0
D -1
E -2

然后,对每个Di值进行平方:

学生 Di^2
A 0
B 1
C 0
D 1
E 4

所有Di^2的和为6。因此,学习时间和考试成绩之间的斯皮尔曼秩相关系数ρ为0.7,表明存在强烈的正相关。

确定黑樱桃树的周长和高度之间的关系(使用R中已经存在的数据集“trees”,可以通过输入数据集名称来访问,使用命令data()查看所有数据集列表)。

data <- trees head(data, 3)

使用ggplot2库创建散点图:

library(ggplot2) ggplot(data, aes(x = Girth, y = Height)) + geom_point() + geom_smooth(method = "lm", se = TRUE, color = 'red')

进行相关性假设检验(使用Shapiro测试检查变量是否符合正态分布):

shapiro.test(data$Girth) shapiro.test(data$Height)

计算相关性:

cor(data$Girth, data$Height, method = "pearson") cor(data$Girth, data$Height, method = "spearman")

测试相关性的显著性(皮尔逊):

Pear <- cor.test(data$Girth, data$Height, method = 'pearson') Pear Spear <- cor.test(data$Girth, data$Height, method = 'spearman') Spear
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485