確率変数を変数変換した場合の確率分布

昔やった気もするが、すぐ忘れる&頭の体操もかねてもう一度

算数

適当な確率分布に従う確率変数x(面倒なので[0, 1]区間の一様分布想定)とそれを2乗した変数yを考える。
このときyの従う確率分布は

 1 = \int_0^1 p(x) dx = \int_0^1 1 dx = \int_0^1 1/(2*\sqrt{y}) dy

より
 p(y) = 1/(2\sqrt{y})
となる。

Rでやる

0, 1区間の一様な乱数x, 及びそれを二乗したyを生成。

x <- runif(10^5, 0, 1)
y <- x^2


yのヒストグラムが↑の計算と合うかチェック

hist(y, probability=TRUE)
t <- seq(0, 1, by=0.01)
lines(t, 1/(2*sqrt(t)),col="red", lwd=3)