2015年4月24日
授業の補足
Rを使って標本平均の分布と不偏標準偏差、標準誤差の意味を理解しよう。
サンプルデータのirisのPetal.Lengthを母集団として使用する。
何度もiris$Petal.Lengthと入力するのは大変なので、このデータを別の変数にコピーする。
x<-iris$Petal.Length mean(x) sqrt(var(x)*(length(x)-1)/length(x))
これらの値が母平均と母標準偏差となる。var関数は不偏分散を計算するため、不偏分散をn-1倍してnで割り、標本分散にしてその平方根を求めると母集団全体の標準偏差となる。length関数はベクトルの値の個数を返す。Rプログラムの授業用解説ページのt検定の項目のところにあるやり方でこの150個の標本標準偏差を求めても良い。
sample関数はあるベクトルから指定した個数の標本を無作為に抽出する。まずは10個の標本を抽出してみる。
n<-10 y<-sample(x,n) y mean(y) sd(y) sqrt(var(y)*(n-1)/n)
標本の10個の値、その平均、不偏標準偏差、標本標準偏差が出力される。何度か繰り返して、それぞれの値がどのような範囲で変化するか見てみよう。また、母標準偏差に近いのは不偏標準偏差、標本標準偏差のどちらだろうか。
次に、せっかくコンピュータを使っているのだから、コンピュータに何度も繰り返させてみる。
means<-1 sds<-1 sampsds<-1 for (i in 1:100) {y<-sample(x,n); means[i]<-mean(y); sds[i]<-sd(y); sampsds[i]<-sqrt(var(y)*(n-1)/n)} mean(means) mean(sds) mean(sampsds) hist(means)
100回繰り返したのが上の例で、標本平均、不偏標準偏差、標本標準偏差100回分の平均を出力する。標本平均の平均が母平均にかなり近いことが分かる。また、そのヒストグラムは正規分布に近い。1000回ではどうなるか試してみよう。for (i in 1:1000) とすればよい。今度の標本平均のヒストグラムはもっと正規分布に近いことが分かる。これが中心極限定理である。また、sd(means)でこの正規分布の不偏標準偏差が計算できる。この値は1回のサンプリングでsd(y)/sqrt(n)で推定でき、これが標準誤差である。値がそれぞれ近いことが分かる。