截距和斜率之间的相关性是什么意思

机器算法验证 r 回归
2022-03-27 03:02:27

我经常听到(例如,本书的第 99 页),在(任何类型的)回归模型中,斜率和截距(高度)相关是不好的。R,这个相关性是由 得到的cov2cor(vcov(fitted_model))

我的理解是,在拟合回归模型后,我们会从模型中得到每个斜率和截距的单一估计值。

问题:那么,鉴于手头的一些估计,我们在谈论什么相关性?这种相关性有多高会影响我们对估计斜率和截距的推断?

我非常感谢R演示。

3个回答

在某种意义上,协变量在回归模型中高度相关是“不好的”,即它可能导致多重共线性。但是,我认为声称斜率和截距之间的相关性是共线的并不是很有意义。

也就是说,您的问题实际上是关于斜率和截距之间如何存在相关性,而这些总是只有点。这种混乱是完全合理的。问题是事实以一种不精确的方式陈述。(我不是在批评写这句话的人——我一直都这么说。)2

陈述基本事实的更精确的方法是斜率和截距的采样分布是相关的。一个简单的方法是通过简单的模拟:从单个数据生成过程中生成然后您可以计算相关性,或根据需要绘制它们。XY

set.seed(6781)  # this makes the example exactly reproducible

B         = 100  # the number of simulations we'll do
N         =  20  # the number of data in each sample
estimates = matrix(NA, nrow=B, ncol=4)  # this will hold the results
colnames(estimates) = c("i0", "s0", "i1", "s1")
for(i in 1:B){
  x0 = rnorm(N, mean=0, sd=1)  # generating X data w/ mean 0
  x1 = rnorm(N, mean=1, sd=1)  # generating X data w/ mean 1
  e  = rnorm(N, mean=0, sd=1)  # error data
  y0 = 5 + 1*x0 + e            # the true data generating process
  y1 = 5 + 1*x1 + e
  m0 = lm(y0~x0)               # fitting the models
  m1 = lm(y1~x1)
  estimates[i,1:2] = coef(m0)  # storing the estimates
  estimates[i,3:4] = coef(m1)
}
cor(estimates[,"i0"], estimates[,"s0"])  # [1] -0.06876971  # uncorrelated
cor(estimates[,"i1"], estimates[,"s1"])  # [1] -0.7426974   # highly correlated
windows(height=4, width=7)
  layout(matrix(1:2, nrow=1))
  plot(i0~s0, estimates)
  abline(h=5, col="gray")  # these are the population parameters
  abline(v=1, col="gray")
  plot(i1~s1, estimates)
  abline(h=5, col="gray")
  abline(v=1, col="gray")

在此处输入图像描述

对于一些相关信息,阅读我的其他一些答案可能会有所帮助:

  1. 如何解释线性回归中的系数标准误差?
  2. 是否所有斜率系数都与多元线性回归中的截距相关?
  3. 为什么 x¯ 从 0 开始,截距的标准误差会增加?

编辑:
根据您的评论,我认为您的担忧是基于以下引用:

在复杂的模型中,像这样的强相关性会使模型难以适应数据。所以我们会尽可能地使用一些魔像工程技巧来避免它。第一个技巧是居中。

从:

  • McElreath, R. (2015)。Statistical Rethinking: A Bayesian Course with examples in R and Stan查普曼和霍尔。

(请注意,我没有读过这本书。)作者的担忧是完全合理的,但它与模型的质量或它将支持的推理没有任何关系。问题在于用于估计模型的方法中可能出现的计算问题。进一步注意,居中不会改变模型的任何实质性内容,这是贝叶斯估计中的一个问题,但对于通过普通最小二乘估计的常客模型(如上面的那些)来说不会是一个问题。

阅读以下内容可能会有所帮助:

R 命令cov2cor(vcov(fitted_model))将返回回归估计的协方差矩阵。成正比,这意味着在斜率和截距完全相关的极端情况下,协方差矩阵是秩不足的。(XX)1

因为不存在秩亏矩阵的逆矩阵,所以出现这种情况的唯一方法是当矩阵开始时秩亏,这是完美多重共线性 (PM)的定义。PM 可能会给推理带来问题,但通常对预测没什么大不了XX

广义上讲,我们计算 OLS 估计值的方法是首先找到点 (x¯,y¯)。该点将位于最小化均方误差 (MSE) 的线上。然后我们取一条穿过该点的线并旋转它,直到找到斜率(β^1) 最小化 MSE。该点和斜率组合定义了 OLS 线(以及截距)。

为了找到截距,我们找到那条线在 y 轴上的位置。每个单元x我们移动,我们将移动β^1单位y从我们的初始点。因此,截距可以计算为:β^0=y¯β^1x¯.

这个公式相对清楚地说明了为什么我们的估计之间存在关系β^1β^0. 除非x¯=0,如果我们稍微增加对斜率的估计,我们对截距的估计也必须稍微改变。

在渐近论证中,随着我们的样本略有变化,这变得不太清楚,因为均值 (x¯,y¯) 也改变。但是在任何给定的样本中,我们对斜率和截距的信念之间存在紧密的关系。