斯皮尔曼(Spearman)\ 皮尔逊(Pearson)相关系数计算

斯皮尔曼(Spearman)相关

斯皮尔曼(Spearman)相关是衡量两个变量的依赖性的 非参数 指标。 它利用单调方程评价两个统计变量的相关性。 如果数据中没有重复值, 并且当两个变量完全单调相关时,斯皮尔曼相关系数则为+1或−1。
scipy.stats.spearmanr

scipy.stats.spearmanr(a, b=None, axis=0, nan_policy=‘propagate’)

from scipy import stats
stats.spearmanr([1,2,3,4,5], [5,6,7,8,7])
# (0.82078268166812329, 0.088587005313543798)

皮尔逊(Pearson)相关

Pearson相关系数(Pearson Correlation Coefficient)是用来衡量两个数据集合是否在一条线上面,它用来衡量定距变量间的线性关系。
scipy.stats.pearson

scipy.stats.pearsonr(x, y)

from scipy import stats
stats.pearsonr([1, 2, 3, 4, 5], [10, 9, 2.5, 6, 4])
# (-0.7426106572325057, 0.1505558088534455)

区别

1.连续数据,正态分布,线性关系,使用pearson相关系数(用spearman相关系数也可计算)
2.上述任一条件不满足,使用spearman相关系数
3.两个定序测量数据之间也用spearman相关系数

Spearman 和Pearson相关系数在算法上完全相同。
Pearson相关系数是用原来的数值计算积差相关系数, 而Spearman是用原来数值的秩次计算积差相关系数.

你可能感兴趣的:(机器学习)