偏相关分析

所属分类:相关性分析

这个方法是做什么的

回答“把某几个变量的影响扣掉之后,这两个变量之间还剩多少关联”。做法是先用最小二乘把每个控制变量的线性影响从两个分析变量里各自剔除,再对剩下的两份残差求 Pearson 相关,得到的就是偏相关系数 r_p。“分析变量”和“控制变量”两个区都只收定量列(定类的控制变量必须先做哑变量编码),同一个变量不能同时进两个区,至少 30 行。缺失采成对删除:每一对分析变量只要求“该对变量 + 全部控制变量”同时非缺失,所以不同变量对的有效样本量可能不同,卡① 有一张矩阵专门报这个。

报告最有用的设计是把零阶相关 r₀ 和偏相关 r_p 放进同一张表,且在同一批观测上计算,因此可以直接对比;卡③ 还把两者画成对照柱图。主结果表另给 t = r_p·√(df/(1−r_p²))、df = N − k − 2(k 为控制变量个数)、p 与由 Fisher z 变换求得的 95% 置信区间。卡① 的前提检验分三层:逐变量的 Shapiro-Wilk 与 |z| > 3 的极端值计数、控制变量之间的 VIF、以及每一对变量的自由度充足性与控制前后的系数变动 |r₀ − r_p|。卡④ 给偏决定系数 r_p²、Cohen 口径的效应量等级、r₀ − r_p 的符号解读与 Holm-Bonferroni 校正。

需要准备什么数据

  • 分析变量(定量):至少 2 个,定量变量(数值)
  • 控制变量(定量):至少 1 个,定量变量(数值)

数据要求

  • 数据表至少 30 行。
  • 单列缺失率不超过 20%。
  • 不接受取值全都一样的列(零方差列没有可分析的变异)。

以上条目由系统从该方法的校验规则直接生成,与上传数据时的实际拦截规则一致。

什么时候用它

  • 想看两个指标在扣掉年龄、基线水平等共同驱动因素之后还剩多少关联
  • 相关矩阵里有几对系数高得可疑,怀疑是被同一个变量同时推高的
  • 做回归建模之前,先看看某对变量的净关联值不值得进模型
  • 论文里需要报告“控制 X、Y 之后 A 与 B 仍显著相关”

前提有三条。一是尺度:两个区都必须是定量变量,残差化才有意义。二是线性:残差化只能剔除控制变量的线性影响,如果混杂是非线性的(有阈值、有拐点),得先派生平方项之类再拖进控制区。三是自由度:df = N − k − 2,控制变量越多剩下的自由度越少,样本量必须明显大于控制变量个数,卡① 会按 df < 10 提示谨慎。此外,控制变量的选择必须有理论依据——这一点不是统计前提,却比上面三条更容易出事。

什么时候不要用它

  • 你并不需要控制任何变量:直接用「Pearson相关性分析」,它还会给留一法诊断等本模块没有的东西。
  • 变量是等级、名次,或严重偏态:本模块的残差化是最小二乘投影,对这类数据不稳,先用「Spearman相关分析」看单调关联;确实需要控制时,可考虑先用「数据变换(Box-Cox/Yeo-Johnson)」把分布拉正。
  • 你想知道的是“X 每变化一个单位,Y 平均变化多少”,或者要做预测:用「线性回归 (最小二乘法)」,偏相关给不了量纲和方向。
  • 你要控制的那个变量其实处在因果链中间(是中介):控制它会把真实效应人为抹掉,应改用「平行中介效应」或「链式中介效应」把它作为中介来估。
  • 控制变量彼此高度相关:先用「VIF共线性诊断」查清楚,或者砍掉冗余的控制变量,否则残差化这一步数值不稳。
  • 你想看的是两组变量整体的关联结构,而不是逐对的净关联:用「典型相关分析」。

容易误读的地方

  • 它只排除了你放进控制区的那些变量的线性影响,别的一概没排除。 报告里“控制后仍显著”是一句范围很窄的话:未测量的混杂、控制变量本身的非线性影响、以及测量误差都会原样留在残差里。卡⑤ 的提示写得很直接——“控制后仍显著”不等于存在因果。所以报告偏相关时必须把控制了哪些变量逐个列出来,脱离这份清单,r_p = 0.591 这个数字没有意义。
  • 偏相关和回归系数是同一个检验,却不是同一个量。 实测同一份数据:把一个分析变量对另一个分析变量加上全部 3 个控制变量做最小二乘回归,该系数的 t = 7.865265、df = 115,与本报告主结果表里的 t = 7.865、df = 115 分毫不差——它们检验的是同一个原假设。差别在于偏相关是对称且无量纲的,交换两个变量结果不变;回归系数有方向也有量纲,同一份数据正着做 B = 0.5957、反着做 B = 0.5872。想说“每单位变化多少”就得用「线性回归 (最小二乘法)」,想要一个可跨变量比较的净关联强度才用偏相关。
  • 偏相关比零阶相关大是正常现象,叫抑制效应,不是算错。 卡④ 用 r₀ − r_p 的符号区分两种情况:大于 0 表示控制变量解释掉了部分关联(典型的混杂),小于 0 表示控制变量此前掩盖了关联。实测有一对 r₀ = 0.472、控制之后 r_p = 0.507,差值 −0.035,属于后者。只有两者接近才说明协变量与这段关联基本无关。所以在卡③ 的对照图上看到红柱比蓝柱长,不要以为图画反了。
  • 控制变量不是越多越好,多控一个的代价写在自由度里,多控错一个的代价写在结论里。 df = N − k − 2,95%CI 的标准误是 1/√(N − k − 3),两者都随 k 缩水(本例 N = 120、k = 3,df = 115)。更要紧的是卡⑤ 点名的过度控制:把中介变量当成控制变量会人为抹掉真实效应,而报告表面上完全正常,看不出任何异常。判断标准只能是理论,不能是“加进去之后结果变显著了”。
  • 残差化这一步的稳定性由控制变量之间的共线性和极端值决定,卡① 就是查这两样的。 控制变量彼此高度相关时,残差化数值不稳,偏相关系数与其标准误都会失真;判读阈值是 VIF < 5 良好、5~10 中度、> 10 严重(本例三个控制变量在 1.601~1.808)。另一条是极端值:最小二乘投影对它们敏感,卡① 逐变量报出 |z| > 3 的观测数,这些点会同时改变残差和最终的系数。热力图里若某格显示为“—”,说明该对变量在控制协变量后有效样本量不足,或残差已接近常数,偏相关无法定义。
相关不等于因果
概念图1 相关不等于因果
看到 r = 0.62,X 导致 Y、Y 导致 X、第三个变量同时影响两者、纯属巧合这四种情况都可能,相关系数本身分不清它们。能分清的是研究设计——随机化、工具变量、断点,而不是往模型里多塞几个控制变量。

报告里有什么

  1. 输出结果一:数据概览与前提检验
  2. 输出结果二:偏相关分析主结果表
  3. 输出结果三:可视化
  4. 输出结果四:效应量与多重比较校正
  5. 输出结果五:结论与学术表述
偏相关系数热力图
图1 偏相关系数热力图
热力图以颜色映射偏相关系数,悬浮提示中含 p 值与有效样本量;右上角切换器可改看柱状图/条形图或明细表(契约 §3)。
零阶相关 vs 偏相关对比
图2 零阶相关 vs 偏相关对比
浅蓝柱为未控制协变量的零阶相关 r₀,红柱为控制后的偏相关 r_p,两者在同一批观测上计算,可直接对比。

在线统计分析平台 · 233 种分析方法 · AI 智能解读

在线使用
使用教程