什么是皮尔逊、斯佩尔曼和肯德尔相关性系数

代码实现:

import numpy as np
from scipy.stats import pearsonr, spearmanr,kendalltau
#什么是皮尔逊、斯佩尔曼和肯德尔相关性系数
# 生成示例数据
x = np.array([1, 2, 3, 4, 5])
y = np.array([5, 6, 7, 8, 7])

# 计算皮尔逊相关系数
pearson_coef, pearson_p = pearsonr(x, y)

# 输出皮尔逊相关系数和p值
print(f"Pearson correlation coefficient: {pearson_coef}, p-value: {pearson_p}")

# 计算斯皮尔曼相关系数
spearman_coef, spearman_p = spearmanr(x, y)

# 输出斯皮尔曼相关系数和p值
print(f"Spearman correlation coefficient: {spearman_coef}, p-value: {spearman_p}")

# 使用Kendall's tau进行相关性分析
kendall_tau_coef, kendalltau_p = kendalltau(x, y)

# 输出Kendall's tau相关系数
print(f"Kendall's tau correlation coefficient(相关系数): {kendall_tau_coef}, p-value: {kendalltau_p}")

输出:

E:\开发工具\pythonProject\studyLL\venv\Scripts\python.exe E:/开发工具/pythonProject/studyLL/pytorch07x/相关性分析02.py
Pearson correlation coefficient: 0.8320502943378438, p-value: 0.08050957329849849
Spearman correlation coefficient: 0.8207826816681233, p-value: 0.08858700531354381
Kendall's tau correlation coefficient(相关系数): 0.7378647873726218, p-value: 0.07697417298126674

Process finished with exit code 0

 (1) Pearson相关系数:要求数据具有连续性、正态分布性等特点,因此应对数据分布进行严格的验证,否则可能会出现相反的效果。
(2) Spearman相关系数 :对于不满足Pearson相关系数要求的连续型变量数据,可以使用Spearman相关系数,也可针对定序和定类变量的数据。
(3) Kendall相关系数 :Kendall相关系数数据条件与Spearman相同,常常使用定序数据相关性分析。

皮尔逊相关系数
考虑一个有两个特征的数据集:x和y。每个特征有n个值,所以x和y是n个元组。x的第一个值x1对应y的第一个值y1,x的第二个值x2对应的y第二个值y2,以此类推。那么,就有对对应的数值:(x1,y1),(x2,y2),以此类推。这些x-y对中的每一个都代表一个单一的观察。

皮尔逊相关系数是对两个特征之间的线性关系的衡量。它是 x 和 y 的协方差与它们的标准差的乘积的比率。它通常用字母  r表示,并称为皮尔逊的r 。我们可以用这个方程式来表示这个值的数学性质。

这里,i 的值为1,2,3...... 。 x和y  的平均值用mean(x)和mean(y)来表示。这个公式表明,如果较大的 x 值倾向于对应较大的 y 值,反之亦然,则  r为正。另一方面,如果较大的  x值大多与较小的  y值相关,反之亦然,则r  为负。

以下是关于皮尔逊相关系数:

皮尔逊相关系数可以在 -1<=r <=1 的范围内取任何实值。
最大值 r=1 对应于 x 和  y之间存在完美的正线性关系的情况。换句话说,较大的 x 值对应较大的y  值,反之亦然。
r>0的值表示 x 和y  之间的正相关。
r=0 的值对应于 x 和  y之间没有线性关系的情况。
r<0的值表示  x和 y 之间的负相关。
最小值  r=-1对应于  x和y  之间存在完美的负线性关系的情况。换句话说,较大的 x 值对应较小的 y 值,反之亦然。

非线性关系经常用斯皮尔曼等级相关性。

 

Spearman相关系数
两个特征之间的Spearman相关系数是它们的等级值之间的Pearson相关系数。它的计算方法与Pearson相关系数相同,但考虑到了它们的rank而不是它们的数值。它通常用希腊字母rho(ρ)表示,称为Spearman's rho。

假设有两个n元组, x 和y  ,其中 (x1,y1),(x2,y2),......, 是作为对应值的观察值对。我们可以用与Pearson系数相同的方法来计算Spearman相关系数 ρ。使用rank而不是 x 和 y 的实际值。

以下是关于Spearman相关系数的一些重要事实。

它可以在 -1<=ρ<=1的范围内取一个实数。
它的最大值 ρ=1对应于 x 和  y之间存在单调增长函数的情况。换句话说,更大的 x 值对应更大的y  值,反之亦然。
它的最小值 ρ=-1对应于  x和  y之间存在单调递减函数的情况。换句话说,较大的x值对应较小的 y 值,反之亦然。

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值