「統計学実践ワークブック」 演習問題etc Ch.21 「標本抽出法」

当記事は「統計学実践ワークブック(学術図書出版社)」の読解サポートにあたってChapter.21の「標本抽出法」に関して演習問題を中心に解説を行います。有限母集団からの非復元抽出に関してはよく出てくるので、演習を通して抑えておくと良いと思われました。

本章のまとめ

有限母集団からの非復元抽出

大きさ$N$の母集団から大きさ$n$の標本を非復元無作為抽出を行うことを考える。非復元抽出は同じ標本を$2$回以上抽出しない方法である。このとき母平均の$\mu$の推定量に、下記で定義する標本平均$\bar{X}$を用いることを考える。
$$
\large
\begin{align}
\bar{X} = \frac{1}{n} \sum_{i=1}^{n} X_i
\end{align}
$$

このとき、標本平均の期待値$E[\bar{X}]$、分散$V[\bar{X}]$は下記のように表される。
$$
\large
\begin{align}
E[\bar{X}] &= \mu \\
V[\bar{X}] &= \frac{N-n}{N-1} \cdot \frac{1}{n} \sigma^2
\end{align}
$$

上記の$\sigma^2$は母分散、$\displaystyle \frac{N-n}{N-1}$は有限修正(finite correction)項とよばれることは抑えておくと良い。以下、いくつかの$(N, n)$の組み合わせに対して有限修正項の値を確認する。

・$(N, n) = (10, 3)$
$$
\begin{align}
\frac{N-n}{N-1} &= \frac{10-3}{10-1} \\
&= \frac{7}{9}
\end{align}
$$

・$(N, n) = (10, 5)$
$$
\begin{align}
\frac{N-n}{N-1} &= \frac{10-5}{10-1} \\
&= \frac{5}{9}
\end{align}
$$

・$(N, n) = (101, 3)$
$$
\begin{align}
\frac{N-n}{N-1} &= \frac{101-3}{101-1} \\
&= \frac{98}{100}
\end{align}
$$

上記より$N$が$n$に比べて小さいときほど、有限修正項による値の補正が大きいと解釈できることがわかる。

標本配分法

層化抽出法の際に各グループからどのくらいサンプル抽出を行うかを判断するにあたって、標本配分法(sample allocation)を抑えておくと良い。標本配分法には主に「比例配分法」、「等配分法」、「ネイマン配分法」の$3$つの手法があり、以下それぞれの手法について確認を行う。

・比例配分法(proportional allocation)
各層の標本の大きさ$n_h$が各層の母集団の大きさ$N_h$に比例する標本配分法を「比例配分法(proportional allocation)」という。

・等配分法(equal allocation)
各層の標本の大きさを全て等しく$n_1=n_2=…=n_L$に設定する配分法を「等配分法(equal allocation)」という。

・ネイマン配分法(Neyman allocation)
推定量の分散を最小にする配分法を「ネイマン配分法(Neyman allocation)」もしくは「最適配分法(optimal allocation)」という。ネイマン配分法では層$h$の標本の大きさを下記のように定める。
$$
\large
\begin{align}
n_h &= \frac{N_h \sigma_h \sqrt{\frac{N_h}{N_h-1}}}{\sum_{h=1}^{L} N_h \sigma_h \sqrt{\frac{N_h}{N_h-1}}} \times n \\
n &= \sum_{i=1}^{L} N_h
\end{align}
$$

演習問題解説

例21.1

$N=1600$から$n=100$の抽出を行うときの標本平均の分散を$V[\bar{x}]$とおくと、$V[\bar{x}]$は下記のように計算できる。
$$
\large
\begin{align}
V[\bar{x}] &= \frac{N-n}{N-1} \cdot \frac{\sigma^2}{n} \\
&= \frac{1600-100}{1600-1} \cdot \frac{120}{100} \\
&= 1.1257…
\end{align}
$$

また、標本平均の分散を$0.5$以下に抑えるには、下記の式が成立しなければならない。
$$
\large
\begin{align}
V[\bar{x}] = \frac{N-n}{N-1} \cdot \frac{\sigma^2}{n} & \leq 0.5 \\
\frac{1600-n}{1600-1} \cdot \frac{120}{n} & \leq 0.5 \\
120 \cdot (1600-n) & \leq \frac{1599}{2}n \\
\frac{1599+240}{2}n & \geq 120 \cdot 1600 \\
n & \geq 208.809…
\end{align}
$$

よって、$n=209$以上を抽出する必要がある。

例21.2

・比例配分法
下記のように抽出する標本の大きさ$n_1, n_2$を決定することができる。
$$
\large
\begin{align}
n_1 &= \frac{N_1}{N_1+N_2} \times n = \frac{500}{500+500} \times 20 \\
&= 10 \\
n_2 &= n_1 = 10
\end{align}
$$

・ネイマン配分法
下記のように抽出する標本の大きさ$n_1, n_2$を決定することができる。
$$
\large
\begin{align}
n_1 &= \frac{N_h \sigma_h \sqrt{\frac{N_h}{N_h-1}}}{\sum_{h=1}^{L} N_h \sigma_h \sqrt{\frac{N_h}{N_h-1}}} \times n \\
&= \frac{500 \times 6 \times \sqrt{\frac{500}{500-1}}}{\sum_{h=1}^{L} 500 \times 6 \times \sqrt{\frac{500}{500-1}}+500 \times 18 \times \sqrt{\frac{500}{500-1}}} \times 20 \\
&= \frac{6}{6+18} \times 20 \\
&= 5 \\
n_2 &= 20-n_1 = 10
\end{align}
$$

上記の解釈にあたっては、「各層からのサンプル数を決める際に基本的に層の大きさ$N_h$と、分散の$0.5$乗の$\sigma_h$に比例して決める」と考えておけば良い。また、$\displaystyle \sqrt{\frac{N_h}{N_h-1}}$は各層の大きさ$N_h$が小さい場合は少しだけ値が大きくなるように補正すると考えればよい。この補正に関しては、サンプルが小さい層からの抽出の場合は分散を過小評価していないかを考慮する必要があると解釈することで、直感的にも合理的であるように思われる。

問21.1

①: 単純無作為抽出法
②: 集落抽出法
③: 層化抽出法
④: 有意抽出法
⑤: 二段抽出法

上記より、②が「集落抽出法」に該当する。

問21.2

$[1]$
$\hat{Y}$に関して、下記が成立する。
$$
\large
\begin{align}
E \left[ \frac{\hat{Y}}{40} \right] &= E \left[ \frac{1}{40} \sum_{h=1}^{4} \frac{N_h}{n_h} \sum_{i=1}^{n_h} y_{hi} \right] \\
&= \frac{1}{40} \sum_{h=1}^{4} \frac{N_h}{n_h} \sum_{i=1}^{n_h} E \left[ y_{hi} \right]
\end{align}
$$

上記に基づいて下記の計算を行えばよい。計算の処理の流れはPythonを用いて表した。

import numpy as np

N_h = np.array([20., 10., 5., 5.])
ave_h = np.array([15., 150., 510., 1010.])

print(np.sum(N_h*ave_h)/40.)

・実行結果

> print(np.sum(N_h*ave_h)/40.)
235.0

$[2]$

A: 等配分法
B: 比例配分法
C: ネイマン配分法

上記より、$C$のネイマン配分法を選べばよい。

$$
\large
\begin{align}
n_h &= \frac{N_h \sigma_h \sqrt{\frac{N_h}{N_h-1}}}{\sum_{h=1}^{L} N_h \sigma_h \sqrt{\frac{N_h}{N_h-1}}} \times n \\
n &= \sum_{i=1}^{L} N_h
\end{align}
$$

以下、上記の式に基づいて、$C$と同様の結果を導出する。

import numpy as np

N_h = np.array([20., 10., 5., 5.])
ave_h = np.array([15., 150., 510., 1010.])
std_h = np.array([20., 70., 290., 80.])

x_h = N_h*std_h*(N_h/(N_h-1))**0.5
print((8.*x_h)/np.sum(x_h))

・実行結果

> print((8.*x_h)/np.sum(x_h))
[ 1.02067752  1.83513132  4.0319336   1.11225755]

上記より、サンプルの配分を$n_1=1, n_2=2, n_3=4, n_4=1$のように計算できる。

また、$A, B, C$の際の推定量の分散は下記のように計算できる。

import numpy as np

N_h = np.array([20., 10., 5., 5.])
n_h_A = np.array([2., 2., 2., 2.])
n_h_B = np.array([4., 2., 1., 1.])
n_h_C = np.array([1., 2., 4., 1.])
std_h = np.array([20., 70., 290., 80.])

print(np.sum(N_h**2 * (N_h-n_h_A)/(N_h-1) * 1/n_h_A * std_h**2))
print(np.sum(N_h**2 * (N_h-n_h_B)/(N_h-1) * 1/n_h_B * std_h**2))
print(np.sum(N_h**2 * (N_h-n_h_C)/(N_h-1) * 1/n_h_C * std_h**2))

・実行結果

> print(np.sum(N_h**2 * (N_h-n_h_A)/(N_h-1) * 1/n_h_A * std_h**2))
1142004.75146
> print(np.sum(N_h**2 * (N_h-n_h_B)/(N_h-1) * 1/n_h_B * std_h**2))
2513961.9883
> print(np.sum(N_h**2 * (N_h-n_h_C)/(N_h-1) * 1/n_h_C * std_h**2))
669184.027778

上記より、$C$の配分法の分散が最も小さいことも確認できる。

問21.3

$[1]$
②、③が正しい。
$$
\large
\begin{align}
V[\bar{x}] = \frac{N-n}{N-1} \frac{\sigma^2}{n} \quad (1)
\end{align}
$$
上記で表した有限母集団の式を元に考えることで、①は正しくなく、②は正しいことがわかる。また、復元無作為抽出の場合は無限母集団と同様に考えられるので、③も正しいことがわかる。

$[2]$
$(1)$式などに基づいて、下記を実行することで$V_1$と$V_2$の計算を行うことができる。

N, n = 9585., 600.
sigma2 = 420.

V_1 = (N-n)*sigma2/((N-1.)*n)
V_2 = sigma2/n

print("V_1: {:.3f}".format(V_1))
print("V_2: {:.1f}".format(V_2))

・実行結果

> print("V_1: {:.3f}".format(V_1))
V_1: 0.656
> print("V_2: {:.1f}".format(V_2))
V_2: 0.7

参考

・準1級関連まとめ
https://www.hello-statisticians.com/toukeikentei-semi1

・有限非復元抽出における有限修正項の導出
https://www.hello-statisticians.com/explain-terms-cat/finte_correction1.html

「「統計学実践ワークブック」 演習問題etc Ch.21 「標本抽出法」」への1件の返信

コメントは受け付けていません。