我的问题是关于加权最小二乘回归中 t 统计量的分布。
我发现对于固定Y
和随机的X
and W
,R 报告的“ t 值”(t 统计量)(在 matlab 中手动单独计算)的绝对值大于 2,接近 10% 的时间(如与约 5% 不同,这对于随机数据来说是预期的)。这是我的代码:
N = 100
runs = 10000
Y = rnorm(N);
tstats = rbind(lapply(seq(10), function(X){W=abs(rnorm(100,1)); X = rnorm(100,1);
summary(lm(Y~X,weights=W))$coefficient[2,3] }))
这段代码只是通过一个循环运行,其中对于每一行M
(这是一个 10,000 x 100 随机矩阵)---在给定的迭代中调用该行X
---,它得到一组新的随机(非负)“权重”,然后使用权重回归Y
,并拉出“t值”(即系数的元素(2,3))。由于 W 每次都是随机的,因此和之间的平均相关性应该为 0(如果这可能有影响的话)。X
W
Y
W
更糟糕的是,即使我跳过了权重,下面的回归似乎也有 |t-statistic| 大约 10% 的时间也大于 2:
lm( I(Y*sqrt(W)) ~ I(X*sqrt(W)) )
这个回归将有相同的输入,除了我保持截距(常数向量)而不是sqrt(W)
像加权回归的情况下那样乘以它。这尤其让我感到困惑。
或者,如果您使用上面的代码,但将lm()
此处的加权替换为
lm( Y ~ X )
您将看到系数仅在 5% 的情况下显着。
这里发生了什么?