当前位置: 首页 > news >正文

数据分析中的相关性分析是什么?如何解释两个变量之间的相关性?

相关性分析及如何解释变量间的相关性


一、什么是相关性分析

相关性分析是衡量两个变量之间线性或单调关系强度和方向的统计方法。它回答的核心问题是:当一个变量变化时,另一个变量是否也按某种规律变化?

核心原则:相关性 ≠ 因果性。两个变量相关不代表一个导致了另一个。


二、主要相关系数

1. Pearson 相关系数

衡量两个连续变量之间的线性关系

r = Σ((xᵢ - x̄)(yᵢ - ȳ)) / √(Σ(xᵢ - x̄)² × Σ(yᵢ - ȳ)²)
取值范围含义
r = 1完全正线性相关
0 < r < 1正线性相关,越接近 1 越强
r = 0无线性相关
-1 < r < 0负线性相关,越接近 -1 越强
r = -1完全负线性相关

前提条件:连续变量、近似正态分布、线性关系、无显著离群值

fromscipyimportstats r,p_value=stats.pearsonr(df['height'],df['weight'])print(f"Pearson r ={r:.3f}, p ={p_value:.4f}")
2. Spearman 秩相关系数

衡量两个变量之间的单调关系(不要求线性)。

ρ = 1 - 6Σdᵢ² / (n(n²-1)) (dᵢ 为每对数据的秩次差)
  • 适用于有序数据、非正态分布、存在离群值
  • 只关心排序是否一致,不关心具体数值
rho,p_value=stats.spearmanr(df['study_hours'],df['rank'])
3. Kendall τ 系数

衡量两个变量秩次的一致性比例

  • 适用于小样本、有大量并列值的数据
  • 比 Spearman 更稳健,但值通常偏小
tau,p_value=stats.kendalltau(df['var1'],df['var2'])
三种系数对比
PearsonSpearmanKendall τ
关系类型线性单调单调
数据类型连续连续/有序连续/有序
对离群值敏感较稳健最稳健
分布假设正态
适用样本量中大

三、如何解释相关性

1. 方向
方向含义示例
正相关(r > 0)一个变量增大,另一个也增大身高与体重
负相关(r < 0)一个变量增大,另一个减小温度与供暖费用
零相关(r ≈ 0)无线性/单调关系身高与电话号码
2. 强度
|r| 范围解释
≥ 0.8强相关,关系非常紧密
0.5 ~ 0.8中等相关,关系明显
0.3 ~ 0.5弱相关,关系较弱
< 0.3极弱/无相关

以上为经验参考,不同领域标准可能不同。

3. 统计显著性

即使 r 不为 0,也可能只是抽样波动导致。需通过假设检验判断:

H₀: 总体相关系数 ρ = 0(无相关) H₁: 总体相关系数 ρ ≠ 0(有相关)
  • P < 0.05:相关具有统计显著性
  • 样本量越大,较小的 r 也可能显著 → 需同时关注效应量(r 值本身)和 P 值
4. 决定系数 R²

R² = r²,表示一个变量的变异中能被另一个变量解释的比例

r = 0.8 → R² = 0.64 → 64% 的变异可被解释 r = 0.5 → R² = 0.25 → 25% 的变异可被解释 r = 0.3 → R² = 0.09 → 仅 9% 的变异可被解释

r 从 0.5 到 0.8 看似只增加了 0.3,但解释力从 25% 跃升到 64%。


四、常见误区

1. 相关 ≠ 因果
冰淇淋销量 ↑ 溺水人数 ↑ → r = 0.9 不是冰淇淋导致溺水,而是温度(混淆变量)同时影响了两者。

建立因果关系的手段:随机对照实验(RCT)、工具变量法、双重差分法、倾向得分匹配。

2. 非线性关系 → Pearson 可能接近 0
y = x² (完美二次关系) Pearson r ≈ 0 (因为不是线性关系)

对策:先画散点图观察关系形态,再选择合适的系数。

3. 离群值的影响

单个极端离群值可以大幅拉高或拉低 Pearson r。

对策:使用 Spearman / Kendall,或剔除离群值后重新计算。

4. 伪相关

两个变量可能受第三个变量驱动,或纯属巧合。

对策:控制混淆变量(偏相关分析)、验证逻辑机制、重复验证。


五、实践流程

1. 散点图观察关系形态 ├── 线性 → Pearson ├── 单调非线性 → Spearman / Kendall └── 无明显规律 → 可能无相关 2. 计算相关系数 + P 值 3. 解释 ├── 方向:正 / 负 ├── 强度:强 / 中 / 弱 ├── 显著性:P 值是否 < α └── 解释力:R² 4. 检查 ├── 离群值影响 ├── 混淆变量 └── 因果性判断
importseabornassnsimportmatplotlib.pyplotaspltfromscipyimportstats# 1. 散点图sns.scatterplot(data=df,x='x',y='y')plt.show()# 2. 计算相关系数r,p=stats.pearsonr(df['x'],df['y'])print(f"r ={r:.3f}, p ={p:.4f}, R² ={r**2:.3f}")# 3. 相关性热力图(多变量)sns.heatmap(df.corr(),annot=True,cmap='coolwarm',center=0)
http://www.jsqmd.com/news/1088051/

相关文章:

  • 终极AMD锐龙处理器调试指南:如何深度访问SMU、PCI和MSR寄存器
  • 文件上传漏洞实战:从PKPMBS系统漏洞分析到批量POC开发
  • 终极跨平台桌面待办清单:My-TODOs 完整使用指南
  • 百度网盘直链解析终极指南:免费解锁高速下载的完整解决方案
  • Anthropic RAL:运行时抽象层如何实现‘消失式’模型服务化
  • 3大核心功能+5个实战场景:用CefFlashBrowser让Flash游戏重获新生
  • 2026年6月本地GEO服务商性价比评估
  • CGRA架构编译优化:SAT求解器与核移动调度技术
  • 在Windows 10/11专业版上快速搭建AD LDS轻量目录服务
  • 数据科学中没有‘正确概率’:从数学本质到工程实践
  • 7-Zip终极指南:免费开源压缩工具如何帮你节省50%存储空间
  • 3分钟上手!Android GPS位置模拟终极指南:MockGPS让你随心所欲定位
  • 软考+社保+居住证三证联动落户法(仅限2024Q3前申报):错过再等18个月!
  • AI专著生成全知道:从选题到完稿,AI工具助你高效完成20万字专著!
  • Python供应链安全审计:三大盲区与实战防御指南
  • Primer3-py深度解析:高性能生物信息学引物设计工具的企业级应用指南
  • 基于Renesas Embedded Target的PIL仿真实战:从环境搭建到算法验证
  • CUDA与Nsight Compute安装疑难全解析:从“VS未找到”到成功测试的避坑指南
  • Android APK逆向与安全审计:从工具链到实战漏洞挖掘
  • WarcraftHelper:终极兼容性解决方案,5分钟让魔兽争霸3在现代电脑重生
  • 如何轻松在现代Windows上运行Flash内容?CefFlashBrowser一站式解决方案指南
  • 【新闻稿】贾子理论大厦(Kucius Theory System)正式发布一个试图统一“认知—智能—战略—文明建模”的新一代系统理论框架
  • 在ARM设备上运行x86程序的终极方案:Box86深度解析与实战指南
  • “规模化创新”之困:为什么技术跑通了,商业却跑不通?
  • 2025年XXE注入攻防实战:从原理、绕过到纵深防御
  • 企业级Web渗透测试:从信息收集到攻击面测绘的实战指南
  • 1-bit无线电光纤架构在分布式MIMO系统中的创新应用
  • Office RibbonX Editor终极指南:5分钟打造你的专属Office功能区
  • NCM音乐格式解密终极指南:3步快速解锁网易云音乐文件
  • 矿井隧道巡检数据集 智慧矿井隧道内实时监控 混凝土天花板 传送带 演示施工机械图像数据集 yolo格式隧道图像数据集10161期