最尤パラメーターは事後分布から逸脱しています


11

推定したいいくつかのモデルパラメーター与えられた場合、データ確率に対する尤度関数があります。パラメータの平坦な事前分布を仮定すると、尤度は事後確率に比例します。MCMCメソッドを使用して、この確率をサンプリングします。L(d|θ)dθRN

結果の収束チェーンを見ると、最尤パラメーターが事後分布と一致していないことがわかります。例えば、パラメータの1つに取り残さ事後確率分布があるかもしれないの値が、最尤点である、MCMCサンプラーが通過するほぼ最大値です。θ0N(μ=0,σ2=1)θ0θ0ML4θ0

これは実例であり、実際の結果ではありません。実際の分布ははるかに複雑ですが、一部のMLパラメーターは、それぞれの事後分布に同様にありそうもないp値を持っています。一部のパラメーターが制限されていることに注意してください(例:); 境界内では、事前分布は常に均一です。0θ11

私の質問は:

  1. そのような逸脱自体が問題なのでしょうか?明らかに、MLパラメーターが周辺化された事後分布のそれぞれの最大値と正確に一致することは期待していませんが、直感的には、それらが尾の奥にあるはずがないように感じます。この偏差は結果を自動的に無効にしますか?

  2. これが必ずしも問題であるかどうかに関係なく、データ分析のある段階で特定の病理の兆候である可能性がありますか?たとえば、このような偏差が不適切に収束したチェーン、不適切なモデル、またはパラメータの過度に厳しい境界によって引き起こされる可能性があるかどうかについて、一般的な説明をすることはできますか?

回答:


15

フラット事前分布では、事後は定数までの可能性と同じです。したがって

  1. MLE(オプティマイザーで推定)はMAP(最大事後値=事後の多変量モード、MCMCで推定)と同じである必要があります。同じ値が得られない場合は、サンプラーまたはオプティマイザーに問題があります。

  2. 複雑なモデルの場合、周辺モードがMAPと異なることは非常に一般的です。これは、たとえば、パラメータ間の相関が非線形の場合に発生します。これは完全に問題ありませんが、周辺モードは事後密度が最も高い点として解釈されるべきではなく、MLEと比較されるべきではありません。

  3. しかし、あなたの特定のケースでは、事後は前の境界に反していると思います。この場合、事後は強く非対称になり、平均sdで解釈しても意味がありません。この状況には原則的な問題はありませんが、実際には、モデルの誤った仕様、または不適切に選択された事前分布を示唆しています。


15

もちろん、コードまたは尤度の定義、MCMCの実装、MCMCの反復回数、または尤度の最大化の収束に問題がないと仮定して、この認識された不一致のいくつかの一般的な説明(ありがとう、Jacob Socolar):

  1. 大規模な次元では、事後は最大ではなく、モードから次数距離に集中します。つまり、MCMCサンプラーが遭遇する尤度関数の最大値は、最大の可能性。たとえば、事後が場合、は少なくともモードから距離にあります。NNθ|xNN(0,IN)θN22N0

  2. MAPとMLEは確かにフラットな事前分布の下で交絡していますが、モデルのさまざまなパラメーターの限界密度には、対応するMLE(MAP)から遠く離れた(限界)モードがある場合があります。

  3. MAPは、事後密度が最も高いパラメーター空間内の位置ですが、これはMAPの近傍の事後重量または容積の指標を伝えません。非常に薄いスパイクは、後部重量を運びません。これは、MCMCによる後方の探索が後方モードの識別が困難になる理由でもあります。

  4. ほとんどのパラメーターが制限されているという事実により、MAP = MLEの一部のコンポーネントが境界で発生する可能性があります。

MAP推定量の非ベイズ的性質に関する議論については、例えば、Druihlet and Marin(2007)を参照してください。1つは、これらの推定量が支配的な測定値に依存していること、もう1つは、(MLEとは異なり)パラメータ再設定の下での不変性がないことです。

上記のポイント1の例として、短いRコードを次に示します

N=100
T=1e4
lik=dis=rep(0,T)
mu=rmvnorm(1,mean=rep(0,N))
xobs=rmvnorm(1,mean=rep(0,N))
lik[1]=dmvnorm(xobs,mu,log=TRUE)
dis[1]=(xobs-mu)%*%t(xobs-mu)
for (t in 2:T){
  prop=rmvnorm(1,mean=mu,sigma=diag(1/N,N))
  proike=dmvnorm(xobs,prop,log=TRUE)
  if (log(runif(1))<proike-lik[t-1]){
    mu=prop;lik[t]=proike
     }else{lik[t]=lik[t-1]}
    dis[t]=(xobs-mu)%*%t(xobs-mu)}

これは、次元N = 100のランダムウォークMetropolis-Hastingsシーケンスを模倣しています。MAPでの対数尤度の値は-91.89ですが、訪問済みの可能性は決して近くなりません。

> range(lik)
[1] -183.9515 -126.6924

これは、シーケンスが観測に近づかないという事実によって説明されます。

> range(dis)
[1]  69.59714 184.11525

3
コードや尤度の定義やMCMCの実装に関する心配に加えて、OPは、ML推定値を取得するために使用されるソフトウェアが局所的な最適値に陥っているかどうかについても心配するかもしれません。stats.stackexchange.com/questions/384528/...
ジェイコブSocolar
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.