母集団と標本(+母数、サンプル数、推定量)

 統計学の世界観を説明します。

要約

 統計学は、標本から母集団を推測します。知りたいのは母集団のパラメーター、標本から計算する方法が推定量、計算結果が推定値です。

母集団

 知りたい対象を、母集団(population)と言います。母集団には

  • 〇〇大学の学生
  • 現在の日本人
  • 出る可能性のあるサイコロの目

などがあります。

 例えば、母集団が〇〇大学の学生で、その身長について次のデータが取れたとしましょう。男子学生と女子学生がいるので、ラクダのような二峰型の分布になっています。

母集団の例:データは乱数発生で生成したもの。男子1.8万人が「平均172cm、標準偏差6の正規分布」、女子1万人が「平均158cm、標準偏差5の正規分布」に従うとして作りました。学生数は、慶應義塾大学を参考にしました。平均身長、標準偏差は、20歳の男女の統計を参考に設定。

パラメーター

 母集団の一側面を切り取った数値を、パラメーター(parameter)と言います。日本語では、母数※と言います。パラメーターには

  • 母平均
  • 母分散
  • 母回帰係数

などがあります。

 このブログで、パラメーターはθかβで表すことが多いです。

$$パラメーター:\theta、\beta$$

 例えば、〇〇大学の全学生の身長の平均が165cmだとすると、母平均は165cmになります。これがパラメーター(母数)です。

パラメーターの例:今回のパラメーターは母平均。母集団は2.8万人の○○大学学生

※母数の用法

 母数は、後述するサンプル・サイズと混同されることがよくあります。

  • 母数=パラメーター
  • 母数≠サンプル・サイズ

 サンプル・サイズを母数と言うと、Twitterの母数警察に検挙されます。

標本

(1)母集団が観測できない問題

 母集団は、多くの場合、観測できないです。例えば

  • 〇〇大学の学生 →全員の調査はできるけど、実際には難しい
  • 現在の日本人 →全員の調査は多すぎて不可能
  • 出る可能性のあるサイコロの目 →調査対象が無限大になり不可能

です。

(2)標本

 観測できるのは、母集団から抽出された標本です。例えば

  • 「〇〇大学の学生」の中から100人
  • 「現在の日本人」の中から1万人
  • 「出る可能性のあるサイコロの目」の中から最初の30回

です。

(3)標本抽出

 母集団から抽出される標本には、さまざまな可能性がありえます。

 例えば、母集団に含まれる要素が30個の場合を考えます(下図の赤)。そこから10個の抽出して標本としましょう。このような標本は、複数あります。下図では2個の標本を作ってみました(下図の黄色)。

母集団と標本 母集団サイズ、サンプル・サイズ、サンプル数

(4)サンプル・サイズ、サンプル数

 ちなみに、上図のようなとき、母集団サイズを30、サンプル・サイズ※を10、サンプル数※を2と言います。

  • 母集団サイズ:母集団に含まれる要素の数。無限大の場合もあり
  • サンプル・サイズ:標本に含まれる要素の数。日本語は「標本の大きさ」、形容詞は「大きい/小さい」
  • サンプル数:標本抽出した数。日本語は「標本の数」、形容詞は「多い/少ない」

※サンプル数の用法

 サンプル・サイズは、サンプル数と混同されることがよくあります。

  • サンプル・サイズ≠サンプル数

 サンプル・サイズをサンプル数と呼ぶと、Twitterのサンプル・サイズ警察に検挙されます。サンプル数と言いそうになるときも、多くの場合、「標本に含まれる要素の数」ですので、サンプル・サイズと言っておけば問題ありません。

推定

(1)パラメータがわからない問題

 母集団は観測できなかった際の直接的な問題は、パラメーターを完全に知ることが不可能になることです。

(2)推測統計

 統計家は、母集団から抽出された標本(sample)を用いて、パラメーターを推定しようとします。これが統計的推測(statistical inference)という考え方です。

(3)推定量

 パラメーターを標本から推測する際に用いる計算方法を、推定量(estimator)と言います。

例えば、

  • 標本平均
  • 標本分散
  • 標本回帰係数

があります。

 標本平均について言えば

$$標本平均\overline{X}=\frac{X_1+X_2+\cdots+X_n}{n}$$

$$X:データの値、X_k:k番目のデータ$$

$$n:サンプル・サイズ$$

です。このブログで、推定量はθかβの上に「^」に付けて表すことが多いです。

$$推定量:\widehat{\theta}、\widehat{\beta}$$

(4)推定値

 推定値(estimate)は、実際の標本から計算した結果です。例えば、標本が

$$標本(6,7,8,1,2,3)$$

のとき

$$標本平均\overline{X}=\frac{6+7+8+1+2+3}{6}=4.5$$

になります。

 推定値にもθかβの上に「^」に付けて表すことがあります。

(5)推定量の性質

(5)-1. 確率変数

 推定量を確率変数とみなす捉え方もあります。

 母集団は一つでも、得られる標本はランダムに決まります。つまり、標本から計算される推定値もランダムに決まります。したがって、推定量は、どんな標本が得られるかという確率に左右されるといえます。

 ◯◯大学の学生について具体例を出しましょう。◯◯大学の学生という母集団から、2つの標本を無作為抽出してみました。すると、2つの推定値が計算されました。↓

母集団から抽出した2つの標本(サンプル・サイズ=300、サンプル数=2、計算した推定値の個数=2)

 そこで、無作為抽出を1万回繰り返して、通りの推定値を求めました。その推定値の分布が↓でした。やはり、推定量は、取る値が確率的に決まっている確率変数とも言えます。

推定値の分布(サンプル・サイズ=100、サンプル数=10000、計算した推定値の個数=10000)、標本平均の場合、中心極限定理でその分布を理論的に導くことができます

(5)-2. 推定量として望ましい性質

 推定量には、求められる性質があります。例えば

$$不偏性:期待値E(\widehat{\theta})=\theta$$

$$一致性:n→∞のとき \widehat{\theta}→\theta$$

などがあります。

作図のためのRコード

 作図のためのRコードを記します。なお、パワポも使用しております。

 パッケージは↓

#パッケージの呼び出し。
library(ggplot2)

 身長データ(性別つき)は↓

#身長データの作成
population_size <- 28000
x <- rep(NA, population_size)
male_d <- rep(NA, population_size)

for(i in 1:population_size){
  x[i] <- ifelse(i < 10000,rnorm(1,158,5) , rnorm(1,172,6))
  male_d[i] <- ifelse(i < 10000,"女", "男")
}
data0 <- data.frame(x,male_d)

 母集団分布の作図↓

ggplot(data0, aes( x = x ,fill=male_d)) + 
  geom_histogram(bins=40,position = "stack",colour="white",alpha=0.8)+
  xlab("身長") + 
  ylab ("度数") +
  ggtitle ("身長のヒストグラム") +
  geom_vline(xintercept = mean(data0[data0$male_d=="男" ,]$x),col="blue")+ 
  geom_vline(xintercept = mean(data0[data0$male_d=="女" ,]$x),col="red")+ 
  geom_vline(xintercept = mean(data0$x),col="black")+ 
  theme_grey(base_family = "HiraKakuPro-W3")

 標本分布の作図↓

sample_size <- 300
s <- sample(data0$x, sample_size, replace = FALSE)
data1 <- data.frame(s)

ggplot(data1, aes( x = s )) + 
  geom_histogram(bins=40,fill="pink2",colour="white",alpha=0.8)+
  xlab("身長") + 
  ylab ("度数") +
  ggtitle ("身長のヒストグラム") +
  theme_grey(base_family = "HiraKakuPro-W3")

 標本平均のデータ作成↓

trial_number <- 10000 
mean_0 <- rep(0, trial_number)
for(i in 1:trial_number){
  s <- sample(data0$x, sample_size, replace = FALSE) #無作為抽出
  mean_0[i] <- mean(s) #平均の計算
}
data00 <- data.frame(mean_0)

 標本平均の分布の作図↓

ggplot(data00, aes( x = mean_0)) + 
  geom_histogram( bins=80,aes( y = ..density.. ),colour="white", fill = "skyblue2")+
  stat_function(fun = dnorm, args=list(mean=mean(data0$x), sd=sqrt((var(data0$x))/sample_size)))+
  scale_x_continuous(limits = c(165, 170))+
  xlab("身長の平均") + 
  ylab ("確率密度") +
  ggtitle ("標本平均と正規分布") +
  theme_grey(base_family = "HiraKakuPro-W3")

コメント欄 お気軽にコメントをお寄せください!

タイトルとURLをコピーしました