指数型分布族に近似する

  • 指数型分布族は便利
  • 情報幾何で便利
  • ただし、複数の正規分布の混合とかが合わないので、不便
  • p(w) = e^{C(w) + F \theta - \phi(\theta)}と書ければよいのだから
  • \log{p(w)} = C(w) + F \theta - \phi(\theta)となるような式を見つければよいのでは…
  • \thetaとしてw,w^2,w^3...を取ることにすれば、結局、確率密度関数の対数をとって、それを多項式近似すればよいのでは
  • 無限遠に行けばいくほど確率が0に近づかないといけないので、その点で少し工夫をする

x <- runif(1000,-10,10)
x <- c(x,c(-20,20))
d <- dnorm(x,2,1) * 0.7 + dnorm(x,4,3) * 0.3

log.d <- log(d)
log.d. <- log.d + rnorm(length(x))*1

log.d.[length(log.d.)] <- log.d.[length(log.d.)-1] <- min(log.d.) - 100


model <- lm(log.d. ~ poly(x,100,raw=TRUE))

op <- par(mar = c(0, 4, 0, 3), oma = c(5, 0, 4, 0), mfcol = c(5,1))

plot(x,log.d.)
plot(x,predict(model))
plot(x,exp(predict(model)))
plot(x,d)
plot(d,exp(predict(model)))