皮尔逊相关(Pearson)和斯皮尔曼相关(Spearman)显著性检验


1. 皮尔逊相关(Pearson)显著性检验

检验方法:T检验(t-test)

  • 皮尔逊相关系数的显著性检验,通常用t检验。

  • 你用 scipy.stats.pearsonr 计算相关系数时,返回的p值就是t检验的结果。

  • 也可以手动用公式:

    t=rn−21−r2t = \frac{r \sqrt{n-2}}{\sqrt{1 - r^2}}t=1−r2 rn−2

    其中 ( r ) 为相关系数,( n ) 为样本量,自由度为 ( n-2 )。

结论:皮尔逊相关系数的显著性检验用t检验。


2. 斯皮尔曼相关(Spearman)显著性检验

检验方法:精确分布法或近似t检验

  • 斯皮尔曼相关系数的显著性检验,scipy.stats.spearmanr 直接返回p值,底层是用精确分布法或近似t检验(大样本时)。
  • 你只需看 spearmanr 返回的p值即可判断显著性。

结论 :斯皮尔曼相关系数的显著性检验直接用spearmanr的p值即可。


3. 总结表

相关系数类型 显著性检验方法 Python常用函数 p值含义
皮尔逊(Pearson) t检验 scipy.stats.pearsonr 相关性是否显著
斯皮尔曼(Spearman) 精确分布/近似t检验 scipy.stats.spearmanr 相关性是否显著

4. 代码举例

python 复制代码
from scipy.stats import pearsonr, spearmanr

# 皮尔逊
r, p_pearson = pearsonr(df['X'], df['Y'])
print('皮尔逊相关系数:', r, 'p值:', p_pearson)

# 斯皮尔曼
rho, p_spearman = spearmanr(df['X'], df['Y'])
print('斯皮尔曼相关系数:', rho, 'p值:', p_spearman)

结论

  • 皮尔逊相关系数用t检验(pearsonr的p值)。
  • 斯皮尔曼相关系数用精确分布法或近似t检验(spearmanr的p值)。

只需关注pearsonrspearmanr返回的p值即可判断显著性,无需手动实现检验。

相关推荐
通信小呆呆11 小时前
当算法有了“五感”:多模态数据融合如何向人体感官协同学习?
人工智能·学习·算法·机器学习·机器人
benben04411 小时前
强化学习之DQN算法族(基于gymnasium开发)
算法
何以解忧,唯有..12 小时前
Go语言循环语句详解:for、range与循环控制
开发语言·算法·golang
想吃火锅100513 小时前
【leetcode】88.合并两个有序数组js
算法
生成论实验室14 小时前
机器人:一个自主运动的系统
人工智能·算法·语言模型·机器人·自动驾驶·agi·安全架构
Qres82114 小时前
算法复键——树状数组
数据结构·算法
H1785350909614 小时前
SolidWorks第四部分_直接实体建模特征9_替换面原理
线性代数·算法·机器学习·3d建模·solidworks
不会就选b14 小时前
算法日常・每日刷题--<二分查找>3
算法
绿算技术15 小时前
Mooncake 与绿算ForinnBase GroundPool如何联手打破推理僵局?
科技·算法·架构