如何在不反转 X'X 矩阵的情况下计算 OLS 中的标准误差?

机器算法验证 r 回归 算法 标准错误
2022-04-02 21:59:45

这似乎是一个微不足道的问题,但我在任何地方都没有找到令人满意的答案。我需要计算 OLS 回归中的标准误差y=Xβ+u在 R从头开始​​。如何在不反转的情况下做到这一点XX矩阵?(原因是速度很重要。)假设我已经分解了XXCholesky 的矩阵并且已经有了β^σ^. 谢谢!

1个回答

我遇到了同样的问题,因为我想使用计量经济学包中可用的最有效的求解器。我开发了一种算法来解决这两个问题β以及线性最小二乘法的线性预测变量(正态矩阵)的逆(它也适用于 WLS、Ridge 回归等)

所以这是伪代码,GivenXy,

1) 使用有效的求解器来估计β.

2) 商店XX+ΓΓ

3)新建一个Ax=b问题:

  • x = 完全表征值的向量(XX+ΓΓ)1. 它是对称的,所以有(k(k+1)2)

  • b = vec(β, vec(Ik))

  • A = 建立以下限制的线性预测器:

    • AXy=β

    • (XX+ΓΓ)1(XX+ΓΓ)=I

最后解决新问题Ax=b为了x使用高效的求解器并重新创建A用它。

这样,您就不必计算 Cholesky 分解或任何东西。一个好的求解器可能是 lsmr ,它可以提供更高的精度和更有效的实现。