说明“本征”如何帮助反转矩阵


13

我的问题与geoR:::.negloglik.GRF或中利用的计算技术有关geoR:::solve.geoR

在线性混合模型设置中: 其中和分别是固定效应和随机效应。此外,

Y=Xβ+Zb+e
βbΣ=cov(Y)

估算效果时,需要计算 ,通常可以使用来完成,但是有时几乎不可逆,因此请运用技巧

(XΣ1X)1XΣ1Y
solve(XtS_invX,XtS_invY)(XΣ1X)geoR
t.ei=eigen(XtS_invX)
crossprod(t(t.ei$vec)/sqrt(t.ei$val))%*%XtS_invY

(可以在geoR:::.negloglik.GRF和中看到geoR:::.solve.geoR)等于分解 ,其中,因此

(XΣ1X)=ΛDΛ1
Λ=Λ1
(XΣ1X)1=(D1/2Λ1)(D1/2Λ1)

两个问题:

  1. 本征分解如何帮助反转?(XΣ1X)
  2. 还有其他可行的选择(强大且稳定)吗?(例如qr.solvechol2inv?)

Answers:


15

1)本征分解实际上并没有太大帮助。它在数值上肯定比Cholesky因式分解更稳定,如果您的矩阵病残/几乎单数/条件编号高,这将很有帮助。因此,您可以使用特征分解,这将为您提供解决问题的方法。但是,几乎不能保证这将是正确的解决方案。老实说,一旦您明确反转,损坏就已经完成了。形成只会使事情变得更糟。本征分解将帮助您赢得战斗,但战争无疑会失败。X Ť Σ - 1 XΣXTΣ1X

2)在不知道您的问题具体细节的情况下,我会这样做。首先,在执行Cholesky因式分解使得。然后对执行QR分解,使。请务必计算使用前向代- DO NOT明确反转。这样便得到: 从这里,您可以求解所需的任何右侧。但是再说一次Σ = 大号大号Ť 大号- 1 X 大号- 1 X = Q - [R 大号- 1 X 大号X Ť Σ - 1 X = X Ť大号大号Ť - 1 XΣΣ=LLTL1XL1X=QRL1XL

XTΣ1X=XT(LLT)1X=XTLTL1X=(L1X)T(L1X)=(QR)TQR=RTQTQT=RTR
R(或)。根据需要使用向前和向后替换。RTR

顺便说一句,我很好奇您方程式的右边。你写它的。您确定不是吗?因为如果是这样,您可以在右侧使用类似的技巧: 然后就可以递送致命的一击,当你去解决: XTΣYXTΣ1Y β X Ť Σ - 1 X β = X Ť Σ - 1 Ÿ ř Ť - [R β = - [R Ť Q Ť 大号- 1 Ÿ - [R β = Q Ť 大号- 1 Ÿ β = - [R - 1 Q T L 1 Y R

XTΣ1Y=XT(LLT)1Y=XTLTL1Y=(L1X)TL1Y=(QR)TL1Y=RTQTL1Y
β
XTΣ1Xβ=XTΣ1YRTRβ=RTQTL1YRβ=QTL1Yβ=R1QTL1Y
R最后一步吧?那只是向后的替代。:-)

谢谢。这是一个有用的回应。明确地说,您的chol / qr替代品会有助于赢得战争吗?还是仅仅比本征游戏更胜一筹?
qoheleth

这是一个很难回答的问题。我相信结合使用Cholesky和QR因式分解将为您提供更好的答案(和更快的答案)。答案是否正确取决于问题的根源。在这种情况下,有2个潜在来源。的列要么几乎与线性相关,要么接近奇数。当您形成,这些问题会相互放大。Cholesky + QR方法不能(也不能)缓解这两个问题,但是可以防止情况恶化。Σ X Ť Σ - 1 XXΣXTΣ1X
Bill Woessner
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.