第3章 推測統計学の考え方

ここでは無作為抽出(ランダム.サンプリング)による統計的推測の威力を感じてみよう.まずは細かいことは置いておいて感覚を大づかみしてみよう.

3.1 データ

真の分布(母集団分布)が平均170,分散100の正規分布であるとしよう.ふつう,調査の段階ではこの真の分布はわかっていない.標本(サンプル)から真の分布を推測するのが統計的推測である.

curve(dnorm(x, 170, 10), xlim=c(140,200),col="red", lwd = 2)

3.2 ランダム・サンプリング

真の分布からサンプルサイズ10のサンプルをランダム・サンプリングする.

set.seed(8931)
n<-10
sdata<-rnorm(n, 170, 10)

サンプルのヒストグラムは以下のようになる.

hist(sdata, col = "skyblue")

サンプルの平均と分散は以下のようになる.

mean(sdata)
## [1] 173.4489
var(sdata)
## [1] 126.2969

3.3 ランダム・サンプリングの繰り返し

真の分布からサンプルサイズ10のランダム・サンプルの平均をとる操作を10000回繰り返す.

r<-10000
rsdata<-replicate(r,mean(rnorm(n, 170, 10)))

そのデータのヒストグラムは以下のようになる.

hist(rsdata, freq = FALSE, col = "skyblue")
lines(density(rsdata), col = "red", lwd = 2)

そのデータの平均と分散は以下のようになる.

mean(rsdata)
## [1] 169.9568
var(rsdata)
## [1] 10.08717

ランダム・サンプリング平均の繰り返しデータの平均は真の分布の平均をよく近似しているようだ(ここで,平均という言葉が3回出てくることに注意).

ところで,ランダム・サンプリング平均の繰り返しデータから,真の分布の分散を推定する場合は以下の公式を使う.

n*var(rsdata)
## [1] 100.8717

3.4 バイアスのあるサンプリングの場合

真の分布の中でも低めの値がサンプリングされやすいバイアスのあるサンプリングを考えてみよう.

n<-10
biased_sdata<-sample(sort(rnorm(n*10, 170, 10))[1:n*5],n)
hist(biased_sdata, col = "skyblue")

mean(biased_sdata)
## [1] 162.483
var(biased_sdata)
## [1] 42.6229

バイアスのあるサンプリングをr回繰り返す.

r<-1000
biased_rsdata<-replicate(r,mean(sample(sort(rnorm(n*10, 170, 10))[1:n*5],n)))

そのデータのヒストグラムは以下のようになる.

hist(biased_rsdata, freq = FALSE, col = "skyblue")
lines(density(biased_rsdata), col = "blue", lwd = 2)

そのデータの平均と分散は以下のようになる.

mean(biased_rsdata)
## [1] 163.0292
var(biased_rsdata)
## [1] 1.274754

真の分布の平均とずれがあるようだ.

最後にランダム・サンプリング(赤)とバイアスのあるサンプリング(青)の平均の分布を比較してみる.

hist(biased_rsdata, freq = FALSE,
     col = "#0000ff40", border = "#0000ff",
     breaks = 20,xlim = c(140, 200),main = "")
hist(rsdata, freq = FALSE,
     col = "#ff00ff40", border = "#ff00ff",
     breaks = 20,xlim = c(140, 200),add=TRUE)
lines(density(biased_rsdata), col = "blue", lwd = 2)
lines(density(rsdata), col = "red", lwd = 2)