昨日の記事に、N=200の結果を追記しています。
200でやった結果も、大体同じような感じで、推定値はややベイズのほうが真値に近く、Mplusのカテゴリカル因子分析のほうが標準誤差が小さめに推定されているようです。ベイズは標準誤差が最尤法の結果よりも大きいので、有意になりにくいのかもしれません。このあたりは厳密にシミュレーションしたほうがいいっぽいですね。
前にも書きましたが、最尤法はベイズ推定において事前分布が一様分布である場合と本来は一致するようです。なので、Nが少ないときは事前分布を適切に設定することで、ベイズのほうが妥当な結果がでるとか(豊田、2008のMCMC本)。逆に言えば、事前分布の設定を間違えると真値から遠ざかる、と。
また、Nが多いと事前分布の影響はほとんどないですね。N=1000のときに事前分布をあれこれ変えてみたんですが、推定値や標準誤差がまったく変化しませんでした。なので、事前分布について考えないといけないのは、実際のところNが小さいときでしょうな。
あと、本来ベイズ統計学は、真値という考え方を持たない(データを得た後の事後分布という考え方なので、本当の値とかは考えない)ので、昨日やったシミュレーションは頻度論に基づいたものである、と言えるでしょうね。このあたりの違いが頻度論者とベイズ論者の意見がぱっかりと分かれるところなんでしょう。
僕の(科学)哲学的な立場から言えば、ベイズのほうがしっくり来ます。データは真実を知るためではなく、説得力を増すためにとるんだっていう立場ですね。統計学でさえも、コミュニケーションのツールのひとつであるわけです。
ベイズだって95%信頼区間は推定できるわけなので、旧来の有意性検定も一応出来ます。むしろ事後分布の正規性が成り立ってなくても、信頼区間が推定できるのはとてもいい性質ではないかと僕は思います。ただ、ベイズ推定も尤度関数を用いるときに母集団の正規性は仮定されることが多いので、分布フリーであるわけではないようです。
分布フリーな推定は、高次積率構造分析にゆだねられるわけでしょうね。ただ、このモデルは半端なくNを必要とする(因子分析とかだと1000以上必要)のが難点ですな。
あとはカテゴリカル分析あれこれ。
1.ポリコリック相関係数行列からSEMを最尤法で推定するのはダメみたいですね。それぞれの尤度関数が複雑になるらしいので、分布によらない推定法であるADFなどを用いるのが通例のようです。MplusのWLSは連続変量のときはADFのような推定になる、とあります。ただ、WLSはχ2値の検定以外には使えなくて、推定値や適合度を判断するときはWLSMVを使う必要があるみたいです。
2.あと、ポリコリック相関係数は積分計算を用いるので、ソフトウェアによって推定値が変わるそうです。そのあたりも不安定要素のひとつですな。
3.その意味では、項目反応モデルは一貫して最尤法を用いているので、統計理論としてはこっちのほうが一貫性があるんでしょうかね。
4.とりあえず僕の希望としては、MplusにMCMCが実装されないかなーということです。純粋に統計パッケージとして魅力的ですしね。Amosは重い・・・。項目数が多くなるとグラフィカルが逆に重荷になるというのもあるし。でも、あんまり実装される気配がないですな。もしかしたらMuthenはアンチベイズ論者だったりして。
以上、いろいろ呟きでした。
3 thoughts on “昨日のシミュレーションに追加”