我经常听到(例如,本书的第 99 页),在(任何类型的)回归模型中,斜率和截距(高度)相关是不好的。中R,这个相关性是由 得到的cov2cor(vcov(fitted_model))。
我的理解是,在拟合回归模型后,我们会从模型中得到每个斜率和截距的单一估计值。
问题:那么,鉴于手头的一些估计,我们在谈论什么相关性?这种相关性有多高会影响我们对估计斜率和截距的推断?
我非常感谢R演示。
我经常听到(例如,本书的第 99 页),在(任何类型的)回归模型中,斜率和截距(高度)相关是不好的。中R,这个相关性是由 得到的cov2cor(vcov(fitted_model))。
我的理解是,在拟合回归模型后,我们会从模型中得到每个斜率和截距的单一估计值。
问题:那么,鉴于手头的一些估计,我们在谈论什么相关性?这种相关性有多高会影响我们对估计斜率和截距的推断?
我非常感谢R演示。
在某种意义上,协变量在回归模型中高度相关是“不好的”,即它可能导致多重共线性。但是,我认为声称斜率和截距之间的相关性是共线的并不是很有意义。
也就是说,您的问题实际上是关于斜率和截距之间如何存在相关性,而这些总是只有点。这种混乱是完全合理的。问题是事实以一种不精确的方式陈述。(我不是在批评写这句话的人——我一直都这么说。)
陈述基本事实的更精确的方法是斜率和截距的采样分布是相关的。一个简单的方法是通过简单的模拟:从单个数据生成过程中生成和然后您可以计算相关性,或根据需要绘制它们。
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")
对于一些相关信息,阅读我的其他一些答案可能会有所帮助:
编辑:
根据您的评论,我认为您的担忧是基于以下引用:
在复杂的模型中,像这样的强相关性会使模型难以适应数据。所以我们会尽可能地使用一些魔像工程技巧来避免它。第一个技巧是居中。
从:
(请注意,我没有读过这本书。)作者的担忧是完全合理的,但它与模型的质量或它将支持的推理没有任何关系。问题在于用于估计模型的方法中可能出现的计算问题。进一步注意,居中不会改变模型的任何实质性内容,这是贝叶斯估计中的一个问题,但对于通过普通最小二乘估计的常客模型(如上面的那些)来说不会是一个问题。
阅读以下内容可能会有所帮助:
R 命令cov2cor(vcov(fitted_model))将返回回归估计的协方差矩阵。它与成正比,这意味着在斜率和截距完全相关的极端情况下,协方差矩阵是秩不足的。
因为不存在秩亏矩阵的逆矩阵,所以出现这种情况的唯一方法是当矩阵开始时秩亏,这是完美多重共线性 (PM)的定义。PM 可能会给推理带来问题,但通常对预测没什么大不了
广义上讲,我们计算 OLS 估计值的方法是首先找到点 ()。该点将位于最小化均方误差 (MSE) 的线上。然后我们取一条穿过该点的线并旋转它,直到找到斜率() 最小化 MSE。该点和斜率组合定义了 OLS 线(以及截距)。
为了找到截距,我们找到那条线在 y 轴上的位置。每个单元我们移动,我们将移动单位从我们的初始点。因此,截距可以计算为:.
这个公式相对清楚地说明了为什么我们的估计之间存在关系和. 除非,如果我们稍微增加对斜率的估计,我们对截距的估计也必须稍微改变。
在渐近论证中,随着我们的样本略有变化,这变得不太清楚,因为均值 () 也改变。但是在任何给定的样本中,我们对斜率和截距的信念之间存在紧密的关系。