最尤法を使用して多変量正規モデルを近似するときに共分散行列のプロパティを保証する方法は?


22

私は次のモデルを持っているとします

yi=f(xi,θ)+εi

ここで、、 は説明変数のベクトル、は非線形関数およびのパラメーターです。ここで当然行列。X I θ F ε IN 0 Σ Σ K × KyiRKxiθfεiN(0,Σ)ΣK×K

目標は、およびを推定することです。明白な選択は最尤法です。このモデルの対数尤度(サンプルがあると仮定)は次のようになりますΣ Y iはX Iiは= 1 nθΣ(yi,xi),i=1,...,n

l(θ,Σ)=n2log(2π)n2logdetΣi=1n(yif(xi,θ))Σ1(yf(xi,θ)))

これは簡単に思えますが、対数尤度が指定され、データが入力され、非線形最適化のために何らかのアルゴリズムが使用されます。問題は、Σが正定であることを確認する方法です。たとえばoptimR(またはその他の非線形最適化アルゴリズム)で使用しても、Σが正定であることは保証されません。

質問は、Σが確実に正定値を維持するようにする方法ですか?次の2つの解決策があります。

  1. Rが上三角行列または対称行列である場合、RRとしてΣを 再設定します。その場合、\ Sigmaは常に正定値になり、Rは制約なしになります。RRRΣR

  2. プロファイル尤度を使用します。およびの式を導き出します。いくつかのから開始して、、収束するまで。θ^(Σ)Σ^(θ)θ0Σ^j=Σ^(θ^j1)θ^j=θ^(Σ^j1)

他の方法はありますか?これらの2つのアプローチはどうですか?それらは機能しますか?それらは標準ですか?これはかなり標準的な問題のように思えますが、クイック検索では何の指針も得られませんでした。ベイジアン推定も可能であることは知っていますが、当面はそれを行いたくありません。


カルマンアルゴリズムにも同じ問題がありますが、問題ははるかに複雑で、ハミルトントリックを使用するほど簡単ではありません。それでは、もっと簡単なことは、単に使用するのかどうかと思い。このようにして、エラーを出さないようにコードを強制し、ソリューションを変更しません。これには、この用語に尤度の最終部分と同じ符号を強制するという利点もあります。何か案は?log(detΣ+1)
econ_pipo

回答:


6

共分散行列を構築するには、あなたは自動的に対称性の問題の世話をしていると仮定すると、あなたの対数尤度は次のようになりますΣは、理由の正定値ではないログD のE のT Σのモデルの右での用語?数値誤差を防ぐためにあればD E T Σ < 0私は事前計算うD E T Σと、そうでない正の場合は、そうでない場合は引き続き、-Infに等しい対数尤度を作ります。とにかく行列式を計算する必要があるので、これにより余分な計算が必要になることはありません。 Σlogdet Σdet Σ<0det Σ


5

結局のところ、プロファイルの最尤法を使用して必要なプロパティを確保できます。あなたは、与えられたためにそれを証明することができθL θΣ によって最大化されますθ^l(θ^,Σ)

Σ^=1ni=1nε^iε^i,

どこで

ε^i=yif(xi,θ^)

その後、それを示すことが可能です

i=1n(yif(xi,θ^))Σ^1(yf(xi,θ^)))=const,

したがって、最大化する必要があるだけです

lR(θ,Σ)=n2logdetΣ^.

当然この場合、は必要なすべてのプロパティを満たします。JDハミルトンによる時系列分析 295ページで見つけることができるfが線形の場合、証明は同一であるため、それらを省略しました。Σf


3

共分散行列のための別のパラメータは、固有値の点であるおよびP P - 1 / 2 "ギブンズ"角度θ I Jλ1,...,λpp(p1)/2θij

つまり、次のように書くことができます

Σ=GTΛG

ここで、は正規直交であり、G

Λ=diag(λ1,...,λp)

λ1...λp0

一方、の点で一意にパラメータ化することができるP P - 1 / 2の角度、θ I jをiは= 1 2 P - 1J = I P - 1 [1]。Gp(p1)/2θiji=1,2,...,p1j=i,...,p1

(追加される詳細)

[1]:Hoffman、Raffenetti、Ruedenberg。「オイラー角のN次元直交行列への一般化」。J.数学。物理学 13、528(1972)


Σは対称行列であるため、行列は実際には直交です。これは私が推奨しようとしたアプローチです-基本的にy iベクトルとモデル関数f x iθ を回転させて誤差が独立し、回転した各コンポーネントにOLSを適用することです(私は思う)。GΣyif(xi,θ)
確率論的

2

charles.y.zhengのソリューションのラインに沿って、あなたはモデル化することを望むかもしれないΛは対角行列であり、Cはにランク更新のコレスキー分解であるΛを。その後、Σを正に保つために、Λの対角線を正に保つ必要があります。つまり、Σを推定する代わりに、Λの対角線とCの要素を推定する必要があります。Σ=Λ+CCΛCΛΛΣΛCΣ


この設定の対角要素の下には、対角が正である限り、私が望むものを使用できますか?numpyでこの方法で行列をシミュレートする場合、すべてが正定値であるとは限りません。
sztal

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