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

相关推荐
量化小c1 小时前
一行代码查 BTCUSDT 和 AAPL 最新价?QuantDash 统一多市场实时行情接口实战
后端·算法·github
机器人梦想家2 小时前
具身机器人视觉服务的异步回调与并发控制
数据库·算法·机器人
我命由我123453 小时前
人脸识别 - 人脸识别选帧
java·人工智能·python·算法·安全·java-ee·人脸识别
时针滴滴答啊3 小时前
最大子数组和
算法·leetcode·职场和发展
五月底_3 小时前
LIS算法
python·算法·最长子序列
学学酱快乐4 小时前
2026年PMP考试生命周期选择决策树精讲:从需求判断到混合型统一框架的应试全攻略
算法·决策树·机器学习·pmp新版考试大纲·pmp新题型·pmp培训哪家好·pmp培训机构推荐
傅科摆 _ py4 小时前
动态规划复习
算法·动态规划
Wang's Blog4 小时前
PostgreSQL笔记49:向量检索核心算法、索引调优与过滤策略深度解析
笔记·算法·postgresql
疯狂打码的少年5 小时前
【数据结构】交换类排序:冒泡与快速排序
数据结构·笔记·算法·排序算法
Nil2085 小时前
leetcode 108有序数组转换为二叉搜索树
数据结构·算法·leetcode