皮尔逊相关(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值即可判断显著性,无需手动实现检验。

相关推荐
aaaameliaaa7 小时前
字符函数和字符串函数
c语言·笔记·算法
城管不管8 小时前
ReAct、Plan-and-Execute、Reflection 三大智能 Agent 范式核心区别
java·人工智能·算法·spring·ai·动态规划
月疯9 小时前
二分法算法(水平等分图形面积)
算法
豆瓣鸡9 小时前
算法日记 - Day3
java·开发语言·算法
白白白小纯9 小时前
算法篇—反转链表
c语言·数据结构·算法·leetcode
Achou.Wang9 小时前
深入理解go语言-第5章 并发编程——Go的灵魂
大数据·算法·golang
The Chosen One98510 小时前
高进度算法模板速记(待完善)
java·前端·算法
土豆.exe12 小时前
Fastjson2 2.0.53 哈希碰撞 RCE:从原理到三种打法
算法·哈希算法
黄河123长江12 小时前
有限Abel群的结构()
算法
Jerry13 小时前
LeetCode 92. 反转链表 II
算法