R で統計学を学ぶ(3)の課題の解答 課題 3

R で統計学を学ぶ(3)の課題の解答
課題 3-1
前項で例に出した「身長データ」を用いて、母集団の分散と標準偏差を点推定した値を
求めよ。 またそれに用いた R の関数をあわせて答えよ。
答:
身長 <- c(165.2, 175.9, 161.7, 174.2, 172.1, 163.3, 170.6, 168.4, 171.3)
母集団の分散は標本の不偏分散、標準偏差は不偏分散の平方根で点推定する:
> var (身長)
[1] 24.04611
> sd(身長)
[1] 4.903683
よって、分散はおよそ 24.05、 標準偏差は 4.9 である。
課題 3-2
標本分布を求めるの項目では n=10 の標本を 10000 個作り、その標本平均を求めた。 こ
の課題では n=100 として 10000 個の標本平均を求めてみよう。そして n=10 の場合のヒ
ストグラムと n=100 の場合のヒストグラムを比較し、標準誤差が小さくなっていること
を確かめてみよ。
答: ヒントに従い、SampleAverage10 と SampleAverage100 にそれぞれ n=10 と n=100 の
ときの標本平均をいれてみよう:
# 推定値を格納する場所を予約
SampleAverage10 <- numeric(length=10000)
for( i in 1:10000 ){
# 括弧の中を 10000 回処理する
標本 <- rnorm(n=10,mean=50,sd=10)
# 正規分布に基づく標本を生成
SampleAverage10 [i] <- mean(標本)
# 標本平均を計算
}
SampleAverage100 <- numeric(length=10000)
for( i in 1:10000 ){
標本 <- rnorm(n=100,mean=50,sd=10)
SampleAverage100 [i] <- mean(標本)
# 推定値を格納する場所を予約
# 括弧の中を 10000 回処理する
# 正規分布に基づく標本を生成
# 標本平均を計算
}
hist(SampleAverage10, col="yellow", xlim=c(35, 65), ylim=c(0,2500))
方を黄色で表示
# n=10 の
# ヒストグラム同士を重ねあわせ表示する
par(new=T)
hist(SampleAverage100, col="green", xlim=c(35, 65), ylim=c(0,2500))
#
n=100
の方を緑色で表示
こうして得られた図が下。ヒントにある図と似た者が得られた(必ずしも一致しないの
は乱数を用いているため)。この図から、n の値(サンプルサイズ)が大きくなれば、分
散(値の散らばり)が小さくなることが見て取れる。なお、図の x 軸とタイトルの字の
見苦しさは勉強して直せるようにしておこう。
1500
1000
500
0
Frequency
2000
2500
Histogram of SampleAverage100
SampleAverage10
35
40
45
50
55
SampleAverage10
SampleAverage100
60
65