我正在使用 Matlab 估计具有普通最小二乘法 (OLS) 的回归模型。
该模型是y = xB
,其中x
是一个非常稀疏的矩阵,其维度为500000 x 2500
。我正在使用 QR 分解:
[C,R] = qr(x,y,0)
然后b
估计
b = R\C
我的问题是我是否需要担心这里的数字错误。我需要做一些额外的迭代吗?R
我应该检查, 或的条件数R'R
吗?任何指导将不胜感激。
我正在使用 Matlab 估计具有普通最小二乘法 (OLS) 的回归模型。
该模型是y = xB
,其中x
是一个非常稀疏的矩阵,其维度为500000 x 2500
。我正在使用 QR 分解:
[C,R] = qr(x,y,0)
然后b
估计
b = R\C
我的问题是我是否需要担心这里的数字错误。我需要做一些额外的迭代吗?R
我应该检查, 或的条件数R'R
吗?任何指导将不胜感激。
matlab推荐的方式是:
b = X\y;
请查看http://www.mathworks.com/help/matlab/ref/mldivide.html和更多关于部分,以了解 matlab 如何在后台处理不同的情况。
如果您想利用 X 的稀疏性,只需X = sparse(X)
在调用之前将X 声明为稀疏, \
。