大数の法則と中心極限定理
以前、「Rで確率・統計の基礎2 〜 中心極限定理」でも書いたが、再び。意識していないとすぐに細かなところを忘れるので。
◎中心極限定理とは
標本サイズをnとするとき、標本サイズnを大きくしていくと、母集団分布に関係なく標準化した標本平均の確率分布は標準正規分布に分布収束する。
◎大数の法則とは
標本のサイズをnとするとき、標本サイズnを大きくしていくと、標本平均が母集団平均から離れる確率は0に近づいていく。
感覚的には当たり前のような気がするこの2つの性質をRで確認する。
その前に、幾つか復習。
◎基本的な統計量の計算メソッド
sampleNum = 10000 #サンプルの準備 x<-seq(1,sampleNum) #標本分散 mean((x-ave(x))^2) #不偏分散 var(x) #不偏分散から標本分散を計算する var(x)*(sampleNum-1)/sampleNum #不変標準偏差 sd(x)
◎大数の法則の確認
サンプル数を1から100000まで10倍ずつ増やしていく。
#標準正規分布 mean(rnorm(1,0,1)) mean(rnorm(10,0,1)) mean(rnorm(100,0,1)) mean(rnorm(1000,0,1)) mean(rnorm(10000,0,1)) mean(rnorm(100000,0,1))
標準正規分布に従う乱数の平均は0に近づいていく。これはrnormの第2引数で発生させた標準正規分布に従う乱数の平均に近づいていることを意味している。
> mean(rnorm(1,0,1))
[1] -0.1812535
> mean(rnorm(10,0,1))
[1] 0.1846042
> mean(rnorm(100,0,1))
[1] 0.1195709
> mean(rnorm(1000,0,1))
[1] 0.01973641
> mean(rnorm(10000,0,1))
[1] -0.001354044
> mean(rnorm(100000,0,1))
[1] 0.003547252
◎中心極限定理の確認
sampleNum = 10000 varClt<-function(n){ x<-rep(0,sampleNum) for(i in 1:sampleNum){ x[i] <- mean(rnorm(n)) } return(var(x)) } varClt(10) varClt(100) varClt(1000) varClt(10000)
実行すると次のようになり、サンプル数を10倍にしていくと、分散が10分の1ずつ減少していく。
> varClt(10)
[1] 0.09998445
> varClt(10)
[1] 0.09738418
> varClt(100)
[1] 0.009733568
> varClt(1000)
[1] 0.0009989506