統計多様体 絵にしてみる

  • 参考pdf
  • 統計多様体は、確率密度分布(確率質量分布)の集合である。集合の要素は確率密度分布に相当する。確率密度分布がパラメタで表されているとき、点はパラメタが決めた座標に応じて並んでいる。その並んだものが統計多様体
  • たとえば、指数分布というものがある。1パラメタで決まる確率密度分布である。
  • これを並べると、パラメタが正の実数を取るので、多様体は、正の実数を埋め尽くしている。
  • とは言え、それはただの、半直線。
  • ここで、個々の点が、確率密度分布であることを思い出すために、個々の点に「確率密度分布の姿」をつけて表示しよう。
  • 指数分布は0以上の値に対して確率密度が定まっているから、それを第二軸とすれば、
  • 第一軸に指数分布のパラメタ、第二軸に指数分布の台に相当する値、第三軸に確率密度を取らせて

# 統計多様体

lambda <- seq(from=0,to=1,length=50)
R <- seq(from=0,to=3,length=50)
lambda.R <- as.matrix(expand.grid(lambda,R))
v <- matrix(0,length(lambda),length(R))

for(i in 1:length(lambda)){
	v[i,] <- dexp(R,lambda[i])
}

library(rgl)
plot3d(cbind(lambda.R,c(v)),xlab="parameter",ylab="x",zlab="prob")
  • 2パラメタ確率密度関数の場合に同様のことをしようとすると4次元必要だが、確率密度を色にすれば

mu <- seq(from=-2,to=2,length=10)
sigma <- seq(from=1,to=2,length=10)
R <- seq(from=-3,to=3,length=10)

m.s.R <- expand.grid(mu,sigma,R)
v <- rep(0,length(m.s.R[,1]))
for(i in 1:length(m.s.R[,1])){
	v[i] <- dnorm(m.s.R[i,3],m.s.R[i,1],m.s.R[i,2])
}

plot3d(m.s.R,xlab="mean",ylab="s",zlab="x")
col <- v/max(v)
spheres3d(m.s.R,radius=0.1,color=rgb(col,1-col,1))