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

相关推荐
颜酱9 小时前
图结构完全解析:从基础概念到遍历实现
javascript·后端·算法
m0_736919109 小时前
C++代码风格检查工具
开发语言·c++·算法
yugi9878389 小时前
基于MATLAB强化学习的单智能体与多智能体路径规划算法
算法·matlab
DuHz10 小时前
超宽带脉冲无线电(Ultra Wideband Impulse Radio, UWB)简介
论文阅读·算法·汽车·信息与通信·信号处理
Polaris北极星少女10 小时前
TRSV优化2
算法
代码游侠11 小时前
C语言核心概念复习——网络协议与TCP/IP
linux·运维·服务器·网络·算法
2301_7634724611 小时前
C++20概念(Concepts)入门指南
开发语言·c++·算法
abluckyboy12 小时前
Java 实现求 n 的 n^n 次方的最后一位数字
java·python·算法
园小异12 小时前
2026年技术面试完全指南:从算法到系统设计的实战突破
算法·面试·职场和发展
m0_7066532312 小时前
分布式系统安全通信
开发语言·c++·算法