「固有」が行列の反転にどのように役立つかを説明する


13

私の質問は、geoR:::.negloglik.GRFまたはで悪用された計算技術に関するものgeoR:::solve.geoRです。

線形混合モデルのセットアップ: ここで、とはそれぞれ固定効果とランダム効果です。また、β B Σ = COV Y

Y=バツβ+Zb+e
βbΣ=covY

影響を推定する場合、計算する必要がある 通常のようなものを使用して行うことができ、時にははほとんど可逆的ではないので、トリックを使用してくださいX ' Σ - 1 X

(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.GRFgeoR:::.solve.geoR)分解に達した したがって

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

2つの質問:

  1. この固有分解は反転にどのように役立ちますか?(XΣ1X)
  2. 他の実行可能な代替手段(堅牢で安定したもの)はありますか?(例:qr.solveまたはchol2inv

回答:


15

1)固有分解はそれほど役に立ちません。確かに、コレスキー分解よりも数値的に安定です。これは、行列の条件が悪い/ほぼ特異である/条件数が高い場合に役立ちます。だから、固有値分解を使用することができますし、それはあなたを与えるだろうあなたの問題を解決します。しかし、それが正しいソリューションになるという保証はほとんどありません。正直なところ、明示的にΣを反転すると、損傷はすでに完了しています。形成X T Σを- 1 Xは、単に問題を悪化させます。固有分解は戦闘に勝利するのに役立ちますが、戦争は間違いなく失われます。ΣXTΣ1X

2)あなたの問題の詳細を知らずに、これは私がすることです。まず、上のコレスキー分解を実行ようΣ = L L T。その後にQR分解を行うL - 1 XようにL - 1 X = Q R。必ず前方置換を使用してL 1 Xを計算してください- 明示的にLを反転しないでください。だから、あなたが得る: X T Σ - 1 X = X TLをΣΣ=LLTL1XL1X=QRL1XL ここから、必要な右側を解くことができます。ただし、R(またはRTR)を明示的に反転しないでください。必要に応じて、前方および後方置換を使用します。

XTΣ1X=XT(LLT)1X=XTLTL1X=(L1X)T(L1X)=(QR)TQR=RTQTQT=RTR
RRTR

XTΣYXTΣ1Y

XTΣ1Y=XT(LLT)1Y=XTLTL1Y=(L1X)TL1Y=(QR)TL1Y=RTQTL1Y
β もちろん、最終ステップでRを明示的に反転させることはありませんか?それは単なる後方置換です。:-)
XTΣ1Xβ=XTΣ1YRTRβ=RTQTL1YRβ=QTL1Yβ=R1QTL1Y
R

ありがとう。これは有用な対応です。明確にするために、あなたのchol / qrの選択肢は戦争に勝つ助けになるでしょうか?それとも、eigenが何をするよりも勝ったのでしょうか?
qoheleth

XΣXTΣ1X
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.