SSブログ

階層ベイズ線形回帰モデルの対数尤度関数 [データサイエンス、統計モデル]

bayesmとかstanを使ってMCMCをする場合は楽なのですが、自分で尤度関数を作ってメトロポリスヘイスティングなりを作る場合の落とし穴。

正規分布の対数尤度関数を与える必要があるのですが、うっかりミスをしていました。

loglike <- function(y, X, param) {
ll <- sum( ( y - X %*% param )^2 )
}

optimとかに入れて計算する場合は上記で良いのですが・・・
正しくは、sumの前にマイナスが必要で

loglike <- function(y, X, param) {
ll <- -sum( ( y - X %*% param )^2 )
}

としないと値が収束しない。

nice!(3)  コメント(0) 
共通テーマ:学問