- こちらでGaussian Sequence Modelをなぞっている
- 遅々として進まないのだが、まあそれはよいとして、今は、Loss functionとして二次形式なもので正定値な行列を挟んだものを使うと、Bayesian estimatorは観測値に基づく真値の事後分布の期待値になるよ、それはどんな正定値行列を用いた二次形式なLoss functionでもそうだよ、というベイジアンな式変形のところで時間がかかっている
- まず、正定値行列を使った二次形式云々についてはこちらで確認
- 正定値二次形式になっているときに、それを最小化する推定値を求めるのは、こちらの「行列の微分と導関数」というスライドを眺めると「はは〜」とわかる
- なので、読んでいるPDFでを推定値にすると最小化するよ、というところまでは追える。それが正定値行列を含んでいないから、Loss functionの取り方によらない(正定値行列を使った二次形式でありさえすれば)ということもわかる
- でも、やっぱり、納得行かないので、Rでやってみる
- 期待値がわかっているとしたら、それを用いたLoss functionの値(赤い水平線)が、ランダムに調べた推定値の場合のLoss function値と比べて最小であることがわかる
n <- 100
theta <- rexp(n)
z <- rnorm(1,0.2,2)
y <- theta + z + rnorm(n,0,2)
library(GPArotation)
n <- n
d <- rnorm(n)
d <- runif(n)
R <- Random.Start(n)
M <- R %*% diag(d) %*% t(R)
n.iter <- 1000
q <- rep(0,n.iter)
L <- q
for(i in 1:n.iter){
tmp <- y + rnorm(n)
q[i] <- t(tmp-theta) %*% M %*% (tmp-theta)
L[i] <- sum((tmp-theta)^2)
}
Q <- t(y-z-theta) %*% M %*% (y-z-theta)
plot(sort(c(Q,q)))
abline(h=Q,col=2)