「統計学実践ワークブック」 演習問題etc Ch.9 「区間推定」

当記事は「統計学実践ワークブック(学術図書出版社)」の読解サポートにあたってChapter.9の「区間推定」に関して演習問題を中心に解説を行います。区間推定はロバストな推定を行うにあたって、実用上も有用な考え方なので、繰り返し取り組むことで慣れると良いと思います。

本章のまとめ

演習問題解説

問9.1

$1)$
$$
\large
\begin{align}
\frac{X-np}{\sqrt{n\hat{p}(1-\hat{p})}} &= \frac{X/n-p}{\sqrt{\hat{p}(1-\hat{p})/n}} \\
&= \frac{\hat{p}-p}{\sqrt{\hat{p}(1-\hat{p})/n}}
\end{align}
$$

上記が標準正規分布$N(0,1)$に従うと考えると、$95$%区間は$\displaystyle \left[ \hat{p}-1.96\sqrt{\frac{\hat{p}(1-\hat{p})}{n}}, \hat{p}+1.96\sqrt{\frac{\hat{p}(1-\hat{p})}{n}} \right]$で計算できる。

具体的な数値に関しては、下記を実行することで得られる。

import numpy as np

hat_p = 0.43
n = 1240.

Lower_p = hat_p - 1.96*np.sqrt(hat_p*(1.-hat_p)/n)
Upper_p = hat_p + 1.96*np.sqrt(hat_p*(1.-hat_p)/n)

print("95% Interval: [{:.3f}, {:.3f}]".format(Lower_p, Upper_p))

・実行結果

> print("95% Interval: [{:.3f}, {:.3f}]".format(Lower_p, Upper_p))
95% Interval: [0.402, 0.458]

$2)$
$\displaystyle \left[ \hat{p}-1.96\sqrt{\frac{\hat{p}(1-\hat{p})}{n}}, \hat{p}+1.96\sqrt{\frac{\hat{p}(1-\hat{p})}{n}} \right]$の幅が$0.02$となるように$n$を定めれば良い。
$$
\large
\begin{align}
2 \times 1.96\sqrt{\frac{\hat{p}(1-\hat{p})}{n}} = 0.02
\end{align}
$$

上記に対し、$\hat{p}=0.4$を代入し、$n$に関して解けば良い。
$$
\large
\begin{align}
2 \times 1.96\sqrt{\frac{\hat{p}(1-\hat{p})}{n}} &= 0.02 \\
1.96\sqrt{\frac{0.4 \times 0.6}{n}} &= 0.01 \\
\sqrt{n} &= \frac{1.96 \sqrt{0.4 \times 0.6}}{0.01} \\
n &= \frac{1.96^2 \times 0.4 \times 0.6}{0.01^2} \\
&= 9219.8… \simeq 9220
\end{align}
$$

問9.2

$1)$
$95$%区間は問$9.1$と同様に考え、$\displaystyle \left[ \hat{p}-1.96\sqrt{\frac{\hat{p}(1-\hat{p})}{n}}, \hat{p}+1.96\sqrt{\frac{\hat{p}(1-\hat{p})}{n}} \right]$を計算すればよい。

import numpy as np

hat_p = 0.262
n = 917.

Lower_p = hat_p - 1.96*np.sqrt(hat_p*(1.-hat_p)/n)
Upper_p = hat_p + 1.96*np.sqrt(hat_p*(1.-hat_p)/n)

print("95% Interval: [{:.4f}, {:.4f}]".format(Lower_p, Upper_p))

・実行結果

> print("95% Interval: [{:.4f}, {:.4f}]".format(Lower_p, Upper_p))
95% Interval: [0.2335, 0.2905]

$2)$
$$
\large
\begin{align}
(\hat{p}_1-\hat{p}_2) \pm 1.96 \sqrt{\frac{\hat{p}_1(1-\hat{p}_1)}{n} + \frac{\hat{p}_2(1-\hat{p}_2)}{n} + \frac{2\hat{p}_1\hat{p}_2}{n}}
\end{align}
$$

多項分布の割合の差の$95$%区間は上記のように計算できる。これに基づいて下記を実行することで計算結果が得られる。

import numpy as np

hat_p1 = 0.262
hat_p2 = 0.08
n = 917.

Lower_p_diff = (hat_p1-hat_p2) - 1.96*np.sqrt(hat_p1*(1.-hat_p1)/n + hat_p2*(1.-hat_p2)/n + 2*hat_p1*hat_p2/n)
Upper_p_diff = (hat_p1-hat_p2) + 1.96*np.sqrt(hat_p1*(1.-hat_p1)/n + hat_p2*(1.-hat_p2)/n + 2*hat_p1*hat_p2/n)

print("95% Interval: [{:.4f}, {:.4f}]".format(Lower_p_diff, Upper_p_diff))

・実行結果

> print("95% Interval: [{:.4f}, {:.4f}]".format(Lower_p_diff, Upper_p_diff))
95% Interval: [0.1460, 0.2180]

参考

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