連続型確率変数で、最も基本的な分布は正規分布(normal
distribution)です。
平均0、分散1の正規分布は、
\(\phi \left( z\right)
=\dfrac{1}{\sqrt{2\pi }}\exp \left( -\dfrac{z^{2}}{2}\right)\sim
N(0,1)\) (標準正規分布)
ガウスが天文学観測データの測定誤差の研究から発見したと言われています。
関数式の発見や導出は先人の研究に任せ、ここでは乱数を用いて正規分布に関連した確率分布の性質を探究します。
次のような手順を基本とします。
ヒストグラムの縦軸は確率密度(Density)としておくとグラフと比較しやすくなります。
bins=20 と指定すると棒の数を20に指定できます。
rnorm(n, mean, sd):nは乱数の個数、sdは標準偏差
x <- rnorm(1000,0,1)
hist(x,prob=T,breaks = "Scott")
curve(dnorm(x,0,1),add=T)
mean(x)
## [1] 0.01172096
var(x)
## [1] 1.008062
平均0を中心に、左右標準偏差3つ分の範囲に99%のデータが収まります。
標準正規分布の平方和はどのような分布になるでしょうか。
5組の正規乱数を発生させ、各要素の二乗5個の和で表される乱数sをつくります。
sの確率密度のヒストグラムを描き、理論上のカイ二乗分布のグラフを重ねます。
s = 0
for (i in 1:5) {
x <- rnorm(1000)
s <- s + x^2
}
hist(s,prob=T,breaks = "Scott")
curve(dchisq(x,5),add=T)
mean(s)
## [1] 5.008705
var(s)
## [1] 10.19897
正規乱数平方5個の和が従う分布を、自由度5のカイ二乗分布といいます。
\(Z_1,Z_2,\cdots,Z_5\sim N(0,1):i.i.d\)
のとき、
\(\chi^2=Z_1^2+Z_2^2+\cdots+Z_5^2\sim
\chi^2(5)\) と書きます。
期待値と分散は、
\(E(\chi^2)=5,~~V(\chi^2)=10\) と推定されます。
正規乱数の平方k個の和は、自由度kのカイ二乗分布に従い、確率密度関数は次の式で与えられます
。
\(f(x)=\dfrac{1}{2^{\frac{k}{2}}\Gamma\left(\frac{k}{2}\right)}x^{\frac{k}{2}-1}e^{-\frac{x}{2}}\)
自由度5のカイ二乗分布 \(\chi^2(5)\) に従う乱数を rchisq(n,5) により出力させヒストグラムを描きます。
x <- rchisq(100, 5)
hist(x,prob=T,breaks = "Scott")
curve(dchisq(x,5),add=T)
正規乱数の平方和の分布と比較してみましょう。
正規分布の和
\(X_1\sim N(\mu_1,\sigma_1^2)\), \(X_2\sim N(\mu_2,\sigma_2^2)\) のとき、
\(X_1+X_2\sim
N(\mu_1+\mu_2,\sigma_1^2+\sigma_2^2)\)
正規分布の積
正規分布の商
についても、乱数とヒストグラムを用いて調べてみましょう。
比較のため、同じ平均と分散を持つ正規分布曲線も書き加えてみます。
正規分布の積.
x <- rnorm(2000,2,1)
y <- rnorm(2000,3,1)
z <- x*y
hist(z,prob=T,breaks = "Scott")
mean(z)
## [1] 5.984021
var(z)
## [1] 14.06724
1/sqrt(2)
## [1] 0.7071068
curve(dnorm(x,mean(z),sd(z)),add=T)
正規分布の商
x <- rnorm(2000,2,1)
y <- rnorm(2000,5,1)
z <- x/y
hist(z,prob=T,breaks = "Scott")
mean(z)
## [1] 0.4266441
var(z)
## [1] 0.05849466
curve(dnorm(x,mean(z),sd(z)),add=T)
正規分布とは少し違った分布になりそうです。
続けて、統計的検定によく使われる F分布と
t分布について調べてみましょう。
これらは、カイ二乗分布と正規分布から作られます。
カイ二乗分布の商
x <- rchisq(10000, 10, ncp=0)
y <- rchisq(10000, 20, ncp=0)
hist((x/10)/(y/20),prob=T)
curve(df(x, 10, 20),add=T)
F分布は、分散分析に用いられます。
正規分布とカイ二乗分布の平方根の商
x <- rnorm(1000,0,1)
y <- rchisq(1000, 10, ncp=0)
hist(x/sqrt(y/10),prob=T)
curve(dt(x, 10, ncp=0, log = FALSE),add=T,col=4)
curve(dnorm(x),add=T,col=3)
t分布の曲線と標準正規分布の曲線には微妙な違いがあることを観察しましょう。
この違いは、標本数が増えれば一致へと向かいます。
t10:標本数10の場合 t100:標本数100の場合 を下に示します。
data <- data.frame(t10 = rnorm(1000,0,1)/sqrt(rchisq(1000, 10, ncp=0)/10),
t100 = rnorm(1000,0,1)/sqrt(rchisq(1000, 100, ncp=0)/100))
#data <- mutate(data, x3=x1+x2)
df <- melt(data)
## No id variables; using all as measure variables
g <- ggplot(df, aes(x = value, fill = variable))
g <- g + geom_histogram(position = "identity", alpha = 0.8)
g <- g + geom_density(aes(color = variable, alpha = 0.7), show.legend = F)
g <- g + scale_fill_npg() + scale_color_npg()
plot(g)
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.