理学療法士がまとめたノート

統計学備忘録 since2016

Rを使って統計学を勉強するブログです

中心極限定理をグラフで理解する

#母集団の分布がどのような分布であっても、無作為抽出した標本における和の分布は、標本の大きさnが大きいときに正規分布に収束する。
#母集団の分布がどのような分布であっても、無作為抽出した標本における標本平均の分布は、標本の大きさnが大きいときに正規分布に収束する。
 
表の確率1/3のコインでの実験
表の確率1/3のコイン…「表が出る枚数の平均値」は「投げた枚数×1/3」
中心極限定理から「90枚投げたとしたら、平均30の正規分布」に収束していくことになる
徐々に枚数を増やして実験してみましょう
実験1) 1枚のコインで表が出る枚数が(0,1)の場合
実験2) 2枚のコインで表が出る枚数が(0,1,2)の場合
実験3) 4枚のコインで表が出る枚数が(0,1,2,4)の場合
実験4) 16枚のコインで表が出る枚数が(0,1,…,16)の場合
実験5) 90枚のコインで表が出る枚数が(0,1,…,90)の場合
徐々に中心が平均値に極限されている状況が理解できるか!
 
実験1) 1枚のコインで表が出る枚数が(0,1)の場合
x<-c()
s<-0
q<-1
for(i in s:q)x<-c(x,i)  #空のベクトルx()にiをくっつける X=0,1の完成
 
# B(2,0.333)に従う分布より確率を求める
n<-1
p<-1/3 # 表の出る確率
y<-factorial(n)*(p^x)*(1-p)^(n-x)
r<-factorial(x)*factorial(n-x)
x1=y/r
#次に累積確率を求める
cumsum(x1)
#グラフを描く
barplot(x1,space=c(0.5),names.arg=c("0枚", "1枚"),ylim=c(0,0.7))
 
実験2) 2枚のコインで表が出る枚数が(0,1,2)の場合
x<-c()
s<-0
q<-2
for(i in s:q)x<-c(x,i)  
n<-2
p<-1/3 # 表の出る確率
y<-factorial(n)*(p^x)*(1-p)^(n-x)
r<-factorial(x)*factorial(n-x)
x2=y/r
cumsum(x2)
barplot(x2,space=c(0.5),names.arg=c("0枚", "1枚","2枚"),ylim=c(0,0.5))
 
実験3) 4枚のコインで表が出る枚数が(0,1,2,4)の場合
x<-c()
s<-0
q<-4
for(i in s:q)x<-c(x,i)  
n<-4
p<-1/3 # 表の出る確率
y<-factorial(n)*(p^x)*(1-p)^(n-x)
r<-factorial(x)*factorial(n-x)
x3=y/r
cumsum(x3)
barplot(x3,space=c(0.5),names.arg=c("0枚", "1枚","2枚","3枚","4枚"),ylim=c(0,0.5))
 
実験4) 16枚のコインで表が出る枚数が(0,1,…,16)の場合
x<-c()
s<-0
q<-16
for(i in s:q)x<-c(x,i)  
n<-16
p<-1/3 # 表の出る確率
y<-factorial(n)*(p^x)*(1-p)^(n-x)
r<-factorial(x)*factorial(n-x)
x4=y/r
cumsum(x4)
barplot(x4,space=c(0.5),names.arg=c(0:16),ylim=c(0,0.3))
#「表が出る枚数の平均値」が正規分布に16*1/3 の付近に収束していることが理解できる
 
実験5) 90枚のコインで表が出る枚数が(0,1,…,90)の場合
x<-c()
s<-0
q<-90
for(i in s:q)x<-c(x,i)  
n<-90
p<-1/3 # 表の出る確率
y<-factorial(n)*(p^x)*(1-p)^(n-x)
r<-factorial(x)*factorial(n-x)
x5=y/r
cumsum(x5)
barplot(x5,space=c(0.5),names.arg=c(0:90),ylim=c(0,0.1))
#「表が出る枚数の平均値」が30に収束している

f:id:yoshida931:20161031135115j:plain

par(mfrow = c(2,3)) 
barplot(x1,space=c(0.5),names.arg=c("0枚", "1枚"),ylim=c(0,0.7))
barplot(x2,space=c(0.5),names.arg=c("0枚", "1枚","2枚"),ylim=c(0,0.5))
barplot(x3,space=c(0.5),names.arg=c("0枚", "1枚","2枚","3枚","4枚"),ylim=c(0,0.5))
barplot(x4,space=c(0.5),names.arg=c(0:16),ylim=c(0,0.3))
barplot(x5,space=c(0.5),names.arg=c(0:90),ylim=c(0,0.1))
 
参考) 西内 啓; 統計学が最強の学問である[実践編]---データ分析のための思想と方法, ダイヤモンド社, 2014