斯皮尔曼相关(Spearman correlation)系数来衡量两个变量的关联强度和方向

基本含义:

斯皮尔曼相关系数(Spearman's rank correlation coefficient)是一种非参数统计方法,用于评估两个变量之间的单调关系

斯皮尔曼相关性分析与皮尔逊之间的差异:

(1)研究方向

皮尔逊相关是关于两个随机变量之间的线性关系强度的统计度量(statistical measure),而斯皮尔曼相关考察的是两者单调关系(monotonic relationship)的强度,通俗地说就是两者在变大或变小的趋势上多大程度上保持步调一致,哪怕没有保持比例关系。

(2)使用斯皮尔曼的场景

 能够适用皮尔逊相关的场合当然是优先使用皮尔逊相关,但是在有些场合,皮尔逊相关所需要的前提假设不能得到满足,这是就可以考虑使用斯皮尔曼相关,比如说以下一些情况下:

①如果你的数据展现的是非线性关系,或者不是正态分布的。

②如果数据中有明显的异常值(outliers)。与皮尔逊相关不同,斯皮尔曼相关对于异常值不太敏感,因为它基于排序位次进行计算,实际数值之间的差异大小对于计算结果没有直接影响

公式属性:

(1)计算公式

①斯皮尔曼系数ρ

②p-value相关性是否具有统计显著性

是统计假设检验中的一个关键指标,它用于衡量观察到的结果在原假设​ 为真的情况下出现的概率。

注:当我们使用 Python 的 scipy 库进行斯皮尔曼相关系数的计算时,p-value 是通过数值方法自动计算的。

(2)取值范围

①斯皮尔曼相关系数 ρ的取值范围在 -1 到 1 之间。

  • ρ=1:表示两个变量之间有完全的正单调关系。
  • ρ=−1:表示两个变量之间有完全的负单调关系。
  • ρ=0:表示两个变量之间没有单调关系。

②p-value

在统计检验中,我们通常会设定一个显著性水平 α(通常为 0.05)来判断是否拒绝原假设。

  • 如果 p-value<α:我们有足够的证据拒绝原假设,即认为 X 和 Y 之间的相关性是显著的。
  • 如果 p-value≥α:则我们无法拒绝原假设,认为没有足够证据说明 X 和 Y 之间有显著的相关性。

(3)具体解析

“di代表第i个样本在两个样本中的秩次差异”很多人无法理解到底是什么含义,下面我就用一个例子来给大家解释:

①第一步:对两个变量分别排序并赋予秩次

②第二步:计算秩次差异

 

③第三步:代入斯皮尔曼相关系数公式

计算得到的斯皮尔曼相关系数 ρ=−1,表示 X 和 Y 之间存在完全负的单调关系,即 X 增加时,Y 减少,且这种变化是严格的单调变化。

代码实现:

我们主要通过使用scipy库中的stats方法,它里面已经包装好了计算斯皮尔曼的方法,并返回斯皮尔曼系数spearman_corr以及p_value:

# Import necessary libraries
import pandas as pd
from scipy import stats

# Load the Excel file
file_path = '斯皮尔曼数据分析表.xlsx'
df = pd.read_excel(file_path)
# Display the first few rows of the data to understand its structure
df.head()

# Extract the 'X' and 'Y' columns from the dataframe
x = df['X']
y = df['Y']
# Calculate Spearman's rank correlation coefficient using scipy


spearman_corr, p_value = stats.spearmanr(x, y)
# Display the Spearman correlation coefficient and p-value
print(spearman_corr)
print(p_value)

结果:

①斯皮尔曼相关系数 ρ 的计算结果为-0.8999999999999998,这表明变量 XXX 和 YYY 之间存在强烈的负单调关系。当 XXX 增加时, YYY 通常会减少。

p-value = 0.037 < 0.05:这意味着我们有足够的证据拒绝原假设,即可以认为变量 X 和 Y 之间存在显著的相关性(负相关),而不是由于随机波动造成的。

③注意点

因为python代码实现的过程中是直接导入库函数进行计算的,所以内部的一些细节会有所差异:

  • 通过手算的结果是 ρ=−1 表示 X 和 Y 之间有完全的负单调关系
  • Python 计算得到的 ρ=−0.9可能是由于浮点数精度问题或秩次计算细节的差异。

资源获取:

通过网盘分享的文件:斯皮尔曼数据分析表.zip
链接: https://pan.baidu.com/s/1ULpMNeax9RPBqdoRKnT_EA?pwd=iibr 提取码: iibr
--来自百度网盘超级会员v5的分享

好啦,希望能够帮助到大家!

  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
斯皮尔曼相关系数(Spearman's rank correlation coefficient)是一种非参数的秩相关度量,用来衡量两个变量之间的相关性。它得名于英国统计学家Charles Spearman斯皮尔曼相关系数通常用希腊字母ρ(rho)表示,也被称为席尔曼相关系数(Spearman's rho)。 斯皮尔曼相关系数适用于度量两个变量之间的单调关系,而不受变量的分布形式和异常值的影响。它基于每个变量的秩次值(即排序后的位置)进行计算,而不是变量的实际值。 为了计算斯皮尔曼相关系数,首先需要将两个变量的观测值按照大小进行排序,然后用排序后的位置(秩次)代替实际值,最后计算两个变量秩次之间的皮尔逊相关系数衡量它们的相关性。 斯皮尔曼相关系数的取值范围是-1到1,其中-1表示完全的负相关,1表示完全的正相关,0表示没有相关性。当斯皮尔曼相关系数接近于-1或1时,表示变量之间的关系越强;当斯皮尔曼相关系数接近于0时,表示变量之间的关系越弱或没有关系。 总结起来,斯皮尔曼相关系数是一种用来衡量两个变量之间秩次关系的非参数相关性指标。它能够忽略变量的分布形式和异常值,并提供一个介于-1到1之间的数值来表示两个变量之间的相关程度。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [数学建模——相关系数(4)——斯皮尔曼相关系数(spearman)](https://blog.csdn.net/NoBuggie/article/details/102783973)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [斯皮尔曼相关(Spearman correlation)系数概述及其计算例](https://blog.csdn.net/chenxy_bwave/article/details/121427036)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

还不秃顶的计科生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值