続・自由度について(実験編)
この記事は不正確な内容を含みます。下記の新しい方の記事が正確です。(2017/9/18)
nekomosyakushimo.hatenablog.com
ーーーーー
前の記事で、標本から母分散を推定するときに、nではなく自由度であるn-1を用いることについて書いた。今回はそのことをRを用いた簡単な実験で示す。
母平均が100、母分散が225(母標準偏差は15)の正規分布からn=10の標本を抽出して、その分散を求める。この手続きを10000回繰り返して、経験的に標準偏差の標本分布を作ることにする。これを、 n で割って普通に分散を求めた場合と、n-1で割って不偏分散を求めた場合とを比較するのが今回の目的である。
スクリプトは難しいところは何もないが、Rのvar( )関数は不偏分散を求める仕様であるので、普通の分散を求める方では、平均と標本サイズから定義通りの計算をしている。
#標本分散と不偏分散の実験 sample_var <- numeric(10000) unbias_var <- numeric(10000) #普通の分散 for (i in 1:10000){ dat <- rnorm(10,100,15) dat_mean <- mean(dat) sample_var[i] <- sum((dat - dat_mean)^2)/10 } #不偏分散 for (j in 1:10000){ dat <- rnorm(10,100,15) unbias_var[j] <- var(dat) }
ピンクの方が nで割った普通の分散で、青い方が n-1 で割った不偏分散である。当然のことながら不偏分散の方が平均的に大きくな値を取っている。
それぞれの平均(つまりこの経験的な標本分布における期待値)を求めると以下の通りである。
> mean(sample_var) [1] 200.6958 > mean(unbias_var) [1] 223.8554
不偏分散の方は、母分散である225に近い値だが、普通の分散の方はやはり小さく推定してしまっている。普通の分散の方に、n / n-1 をかけると不偏分散による推定量に近づく。
> mean(sample_var) * 10/9 [1] 222.9954
以上、簡易的な実験により経験的に求めた分散の標本分布からも、不偏分散が不偏推定量になっていることが確認できる。