当記事は基礎統計学Ⅰ 統計学入門(東京大学出版会)」の読解サポートにあたってChapter.12の「仮説検定」の章末問題の解説について行います。
基本的には書籍の購入者向けの解説なので、まだ入手されていない方は下記より入手をご検討ください。また、解説はあくまでサイト運営者が独自に作成したものであり、書籍の公式ページではないことにご注意ください。(そのため著者の意図とは異なる解説となる可能性はあります)
・解答まとめ
https://www.hello-statisticians.com/answer_textbook_stat_basic_1-3#red
Contents
章末の演習問題について
問題12.1の解答例
得られた標本を$(X_1,X_2,…,X_{10})$としたとき、標本平均を$\bar{X}$、不偏標本分散を$s^2$とする。このとき$\bar{X}$、$s^2$、$s$はそれぞれ下記のように求めることができる。
$$
\begin{align}
\bar{X} &= \frac{1}{10} \sum_{i=1}^{10} X_i \\
&= 100.79 \\
s^2 &= \frac{1}{9} \sum_{i=1}^{10} (X_i-\bar{X})^2 \\
&= 1.7448… \\
s &= 1.3209…
\end{align}
$$
このとき、母平均を$\mu$としたとき、$\displaystyle \frac{\bar{X}-\mu}{s/\sqrt{10}}$は自由度$10-1=9$の$t$分布$t(9)$に従う。このとき$\mu=100$とした際に、$\displaystyle \frac{\bar{X}-\mu}{s/\sqrt{10}}$が$t(9)$の95%区間に含まれるかどうかについて考える。$\mu=100$のとき、$\displaystyle \frac{\bar{X}-\mu}{s/\sqrt{10}}$は下記のように計算できる。
$$
\begin{align}
\frac{\bar{X}-\mu}{s/\sqrt{10}} &= \frac{100.79-100}{1.3209…/\sqrt{10}} \\
&= 1.891…
\end{align}
$$
また、$t$分布において上側確率が$100\alpha$%となるパーセント点に対応する$t$の値を$t_{\alpha}$としたとき、$t(9)$の95%区間をcとすると、$c$は下記のようになる。
$$
\begin{align}
t_{\alpha=0.975}(9) \leq &c \leq t_{\alpha=0.025}(9) \\
-2.262 \leq &c \leq 2.262
\end{align}
$$
ここで$-2.262 \leq 1.891… \leq 2.262$より帰無仮説$\mu=100$は棄却されない。
問題12.2の解答例
i)
$$
\begin{align}
H_0: \mu_1 = \mu_2 \\
H_1: \mu_1 \neq \mu_2
\end{align}
$$
男女の賃金の標本平均をそれぞれ$\bar{X}$、$\bar{Y}$、標本不偏分散を$s_1^2$、$s_2^2$、母平均をそれぞれ$\mu_1$、$\mu_2$とした際に、帰無仮説$H_0$と対立仮説$H_1$を上記のように考えて仮説検定を行う(どちらの賃金が上かについて明確な前提がないので両側検定を用いる)。また、標本全体の不偏分散を$s^2$とおく。
この際の$H_0$のもとでの$t$値を求め、$t$分布表と比較する。
$$
\begin{align}
\bar{X} &= \frac{1}{10}(15.4+18.3+16.5+17.4+18.9+17.2+15.0+15.7+17.9+16.5) \\
&= 16.88 \\
\bar{Y} &= \frac{1}{10}(14.2+15.9+16.0+14.0+17.0+13.8+15.2+14.5+15.0+14.4) \\
&= 15.0 \\
s^2 &= \frac{(m-1)s_1^2+(n-1)s_2^2}{m+n-2} \\
&= \frac{9s_1^2+9s_2^2}{18} \\
&= … \\
&= 1.358666… \\
t &= \frac{\bar{X}-\bar{Y}}{s \sqrt{1/m+1/n}} \\
&= \frac{16.88-15.0}{\sqrt{1.3587} \sqrt{1/5}} \\
&= \frac{1.88 \sqrt{5}}{\sqrt{1.3587}} \\
&= 3.606…
\end{align}
$$
有意水準5%で両側検定を行うにあたって、$t=3.606>t_{\alpha=0.025}(18)=2.101$なので、賃金格差がないとした$H_0$は棄却される。
ⅱ)
i)では母分散が等しいと仮定したので二つの集団の不偏分散をまとめて$s^2$で取り扱ったが、ⅱ)では母分散が等しいという仮定はない。そのため、書籍の本文244Pの(12.10)式〜(12.11)式の式を用いると良い。このときそれぞれの式に倣って$t$値や自由度の整数での近似値$\nu*$をそれぞれ求める。((12.10)式にマイナスがついているが、どのみち絶対値を考えるのでそれほど違いはないと思われる。直前の議論により誤植である可能性もあるので、ここではマイナスがついていない式で計算するものとする)
$$
\begin{align}
t &= \frac{\bar{X}-\bar{Y}}{\sqrt{\frac{s_1^2}{m} + \frac{s_2^2}{n}}} \\
&= 3.606… \\
\nu &= \frac{(s_1^2/m + s_2^2)^2}{\frac{s_1^2}{m^2(m-1)}+\frac{s_2^2}{n^2(n-1)}} \\
&= 17.17… \\
\nu* &= 17
\end{align}
$$
(式が複雑であり途中で小数を所々用いたため、細かい数字が合わない可能性がある。)
ここまでで、$t$値と自由度の近似$\nu*$がわかったため、これに基づき$t$検定を行う。
有意水準5%で両側検定を行うにあたって、$t=3.606>t_{\alpha=0.025}(17)=2.11$なので、賃金格差がないとした$H_0$は棄却される。
ⅲ)
$$
\begin{align}
H_0: \sigma_1^2 = \sigma_2^2 \\
H_1: \sigma_1^2 \neq \sigma_2^2
\end{align}
$$
男女の賃金の母分散をそれぞれ$\sigma_1^2$、$\sigma_2^2$とした際に、帰無仮説$H_0$と対立仮説$H_1$を上記のように考えて仮説検定を行う。この検定にあたっては、$\displaystyle F=\frac{s_1^2}{s_2^2}$のように不偏分散を用いて定義される$F$値を用いて検定を行う。
$$
\begin{align}
F &= \frac{s_1^2}{s_2^2} \\
&= 1.563…
\end{align}
$$
このとき、$F$は自由度$(10-1,10-1)=(9,9)$の$F$分布$F(9,9)$に従い、1%での検定のため$F_{\alpha=0.005}(9,9)=6.541$と上記の$F$値を比較する。
ここで$F=1.563…<F_{\alpha=0.005}(9,9)=6.541$より、帰無仮説は棄却できない。
(テキストの解答通りでは片側のみの検定となるので、本来は$F_{\alpha=0.995}(9,9)<F$も示す必要があると思われる、要追記)
問題12.3の解答例
標本平均を$\bar{X}$、不偏標本分散を$s^2$とするとそれぞれ下記のように計算できる。
$$
\begin{align}
\bar{X} &= \frac{1}{12}(2-5-4-8+3+0+3-6-2+1+0-4) \\
&= -\frac{5}{3} \\
s^2 &= \frac{1}{11}((2+5/3)^2+(-5+5/3)^2+(-4+5/3)^2+(-8+5/3)^2+(3+5/3)^2+(0+5/3)^2 \\
&+(3+5/3)^2+(-6+5/3)^2+(-2+5/3)^2+(1+5/3)^2+(0+5/3)^2+(-4+5/3)^2) \\
&= 13.69… \\
s &= 3.700…
\end{align}
$$
このとき、$\displaystyle t = \frac{\bar{X}-\mu}{s/\sqrt{12}}$は自由度$12-1=11$の$t$分布の$t(11)$に従う。帰無仮説の$H_0$を「$\mu=0$」、対立仮説の$H_1$を「$\mu<0$」として有位水準1%で片側検定する。
$$
\begin{align}
\frac{\bar{X}-\mu}{s/\sqrt{12}} &= \frac{-5/3-0}{3.7/\sqrt{12}} \\
&= -1.56…
\end{align}
$$
$t$分布において上側確率が$100\alpha$%となるパーセント点に対応する$t$の値を$t_{\alpha}$とする。片側検定のため、$t_{\alpha=0.99}(11) = -t_{\alpha=0.01}(11) = -2.718$より小さいかを考えると、$-1.56$は$-2.718$より大きいので帰無仮説$H_0$は棄却できない。よって有効とは言えない。
問題12.4の解答例
$\chi^2$分布において上側確率が$100\alpha$%となるパーセント点に対応する$\chi^2$の値を$\chi^2_{\alpha}$とする。
$$
\begin{align}
\chi^2 &= \sum_{i} \frac{(f_{i}-np_i)^2}{np_i}
\end{align}
$$
上記で表したテキストの(12.13)式に基づいて適合度基準の$\chi^2$の値を求め、これについて$\chi^2$検定を行う。まずは$\chi^2$を計算する。
$$
\begin{align}
\chi^2 &= \sum_{i} \sum_{j} \frac{(f_{ij}-f_{i \cdot}f_{\cdot j}/n)^2}{f_{i \cdot}f_{\cdot j}/n} \\
&= \frac{(10-50/6)^2}{50/6} + \frac{(7-50/6)^2}{50/6} + \frac{(8-50/6)^2}{50/6} \\
&+ \frac{(11-50/6)^2}{50/6} + \frac{(6-50/6)^2}{50/6} + \frac{(8-50/6)^2}{50/6} \\
&= 2.08
\end{align}
$$
上記が自由度$6-1=5$の$\chi^2$分布に従うため、有意水準5%で片側検定するにあたっては$\chi^2_{\alpha=0.05}(5)=11.0765$と比較すればよい。
このとき、$\chi^2=2.08<11.0765=\chi^2_{\alpha=0.05}(5)$のため、サイコロの全ての面の理論確率を1/6と考える帰無仮説は棄却できない。よって、このサイコロは概ね正しいサイコロであるといえる。
問題12.5の解答例
i)
小数点の次の数字から100個抽出し、下記を実行することで一様性の検定を行う。
import numpy as np
from scipy import stats
numbers = ["0","1","2","3","4","5","6","7","8","9",]
pi = "3.1415926535 8979323846 2643383279 5028841971 6939937510 5820974944 5923078164 0628620899 8628034825 3421170679 8214808651 3282306647 0938446095 5058223172 5359408128 4811174502 8410270193 8521105559 6446229489 5493038196 4428810975 6659334461 2847564823 3786783165 2712019091 4564856692 3460348610 4543266482 1339360726 0249141273 7245870066 0631558817 4881520920 9628292540 9171536436 7892590360 0113305305 4882046652 1384146951 9415116094 3305727036 5759591953 0921861173 8193261179 3105118548 0744623799 6274956735 1885752724 8912279381 8301194912 9833673362 4406566430 8602139494 6395224737 1907021798 6094370277 0539217176 2931767523 8467481846 7669405132 0005681271 4526356082 7785771342 7577896091 7363717872 1468440901 2249534301 4654958537 1050792279 6892589235 4201995611 2129021960 8640344181 5981362977 4771309960 5187072113 4999999837 2978049951 0597317328 1609631859 5024459455 3469083026 4252230825 3344685035 2619311881 7101000313 7838752886 5875332083 8142061717 7669147303 5982534904 2875546873 1159562863 8823537875 9375195778 1857780532 1712268066 1300192787 6611195909 2164201989"
pi = pi.replace(" ","")
e = "2.7182818284 5904523536 0287471352 6624977572 4709369995 9574966967 6277240766 3035354759 4571382178 5251664274 2746639193 2003059921 8174135966 2904357290 0334295260 5956307381 3232862794 3490763233 8298807531 9525101901 1573834187 9307021540 8914993488 4167509244 7614606680 8226480016 8477411853 7423454424 3710753907 7744992069 5517027618 3860626133 1384583000 7520449338 2656029760 6737113200 7093287091 2744374704 7230696977 2093101416 9283681902 5515108657 4637721112 5238978442 5056953696 7707854499 6996794686 4454905987 9316368892 3009879312 7736178215 4249992295 7635148220 8269895193 6680331825 2886939849 6465105820 9392398294 8879332036 2509443117 3012381970 6841614039 7019837679 3206832823 7646480429 5311802328 7825098194 5581530175 6717361332 0698112509 9618188159 3041690351 5988885193 4580727386 6738589422 8792284998 9208680582 5749279610 4841984443 6346324496 8487560233 6248270419 7862320900 2160990235 3043699418 4914631409 3431738143 6405462531 5209618369 0888707016 7683964243 7814059271 4563549061 3031072085 1038375051 0115747704 1718986106 8739696552 1267154688 9570350354"
e = e.replace(" ","")
pi_counts_100, e_counts_100 = np.zeros(10), np.zeros(10)
for i in range(100):
idx = i+2
for j in range(len(numbers)):
if pi[idx] == numbers[j]:
pi_counts_100[j] += 1
if e[idx] == numbers[j]:
e_counts_100[j] += 1
expected_freq = np.repeat(0.1,10)*100
chi2_pi = np.sum((pi_counts_100-expected_freq)**2/expected_freq)
chi2_e = np.sum((e_counts_100-expected_freq)**2/expected_freq)
print("Counts_pi: {}".format(pi_counts_100))
if 1-stats.chi2.cdf(chi2_pi,9) < 0.05:
print("chi^2: {:.1f} and P-value: {:.2f}, reject H_0".format(chi2_pi,1-stats.chi2.cdf(chi2_pi,9)))
else:
print("chi^2: {:.1f} and P-value: {:.2f}, accept H_0".format(chi2_pi,1-stats.chi2.cdf(chi2_pi,9)))
print("Counts_e: {}".format(e_counts_100))
if 1-stats.chi2.cdf(chi2_e,9) < 0.05:
print("chi^2: {:.1f} and P-value: {:.2f}, reject H_0".format(chi2_e,1-stats.chi2.cdf(chi2_e,9)))
else:
print("chi^2: {:.1f} and P-value: {:.2f}, accept H_0".format(chi2_e,1-stats.chi2.cdf(chi2_e,9)))
・実行結果
Counts_pi: [ 8. 8. 12. 11. 10. 8. 9. 8. 12. 14.]
chi^2: 4.2 and P-value: 0.90, accept H_0
Counts_e: [ 5. 6. 12. 8. 11. 13. 12. 16. 7. 10.]
chi^2: 10.8 and P-value: 0.29, accept H_0
上記より、数字が一様に分布すると考える帰無仮説は有意水準$5$%では棄却できないことがわかる。
ⅱ)
pi_counts_1001, e_counts_1001 = np.zeros(10), np.zeros(10)
pi_counts_1001[3] += 1
e_counts_1001[3] += 1
for i in range(1000):
idx = i+2
for j in range(len(numbers)):
if pi[idx] == numbers[j]:
pi_counts_1001[j] += 1
if e[idx] == numbers[j]:
e_counts_1001[j] += 1
expected_freq = np.repeat(0.1,10)*1001
chi2_pi = np.sum((pi_counts_1001-expected_freq)**2/expected_freq)
chi2_e = np.sum((e_counts_1001-expected_freq)**2/expected_freq)
print("Counts_pi: {}".format(pi_counts_1001))
if 1-stats.chi2.cdf(chi2_pi,9) < 0.05:
print("chi^2: {:.1f} and P-value: {:.2f}, reject H_0".format(chi2_pi,1-stats.chi2.cdf(chi2_pi,9)))
else:
print("chi^2: {:.1f} and P-value: {:.2f}, accept H_0".format(chi2_pi,1-stats.chi2.cdf(chi2_pi,9)))
print("Counts_e: {}".format(e_counts_1001))
if 1-stats.chi2.cdf(chi2_e,9) < 0.05:
print("chi^2: {:.1f} and P-value: {:.2f}, reject H_0".format(chi2_e,1-stats.chi2.cdf(chi2_e,9)))
else:
print("chi^2: {:.1f} and P-value: {:.2f}, accept H_0".format(chi2_e,1-stats.chi2.cdf(chi2_e,9)))
・実行結果
Counts_pi: [ 93. 116. 103. 103. 93. 97. 94. 95. 101. 106.]
chi^2: 4.8 and P-value: 0.85, accept H_0
Counts_e: [ 100. 96. 97. 110. 100. 85. 99. 99. 103. 112.]
chi^2: 5.0 and P-value: 0.83, accept H_0
上記より、数字が一様に分布すると考える帰無仮説は有意水準$5$%では棄却できないことがわかる。
計算に用いた具体的な値は下記より取得を行った。
https://ja.wikipedia.org/wiki/ネイピア数
https://ja.wikipedia.org/wiki/円周率
問題12.6の解答例
$\chi^2$分布において上側確率が$100\alpha$%となるパーセント点に対応する$\chi^2$の値を$\chi^2_{\alpha}$とする。
$$
\begin{align}
\chi^2 &= \sum_{i} \sum_{j} \frac{(f_{ij}-f_{i \cdot}f_{\cdot j}/n)^2}{f_{i \cdot}f_{\cdot j}/n} \\
&= \sum_{i} \sum_{j} \frac{(nf_{ij}-f_{i \cdot}f_{\cdot j})^2}{nf_{i \cdot}f_{\cdot j}}
\end{align}
$$
上記で表したテキストの(12.22)式に基づいて$\chi^2$の値を求め、これについて独立性の$\chi^2$検定を行う。まずは$\chi^2$を計算する。
$$
\begin{align}
\chi^2 &= \sum_{i} \sum_{j} \frac{(f_{ij}-f_{i \cdot}f_{\cdot j}/n)^2}{f_{i \cdot}f_{\cdot j}/n} \\
&= \frac{(950 – 1298 \cdot 1067/1469)^2}{1298 \cdot 1067/1469} + \frac{(348 – 1298 \cdot 402/1469)^2}{1298 \cdot 402/1469} \\
&+ \frac{(117 – 171 \cdot 1067/1469)^2}{171 \cdot 1067/1469} + \frac{(54 – 171 \cdot 402/1469)^2}{171 \cdot 402/1469} \\
&= 1.72846…
\end{align}
$$
上記が自由度$(2-1)(2-1)=1$の$\chi^2$分布に従うため、有意水準5%で片側検定するにあたっては$\chi^2_{\alpha=0.05}(1)=3.841$と比較すればよい。
このとき、$\chi^2=1.72846<3.841=\chi^2_{\alpha=0.05}(1)$のため、独立を仮定した帰無仮説は棄却できない。
問題12.7の解答例
$\chi^2$分布において上側確率が$100\alpha$%となるパーセント点に対応する$\chi^2$の値を$\chi^2_{\alpha}$とする。
$$
\begin{align}
\chi^2 &= \sum_{i} \sum_{j} \frac{(f_{ij}-f_{i \cdot}f_{\cdot j}/n)^2}{f_{i \cdot}f_{\cdot j}/n} \\
&= \sum_{i} \sum_{j} \frac{(nf_{ij}-f_{i \cdot}f_{\cdot j})^2}{nf_{i \cdot}f_{\cdot j}}
\end{align}
$$
上記で表したテキストの(12.22)式に基づいて$\chi^2$の値を求め、これについて独立性の$\chi^2$検定を行う。まずは$\chi^2$を計算する。
$$
\begin{align}
\chi^2 &= \sum_{i} \sum_{j} \frac{(f_{ij}-f_{i \cdot}f_{\cdot j}/n)^2}{f_{i \cdot}f_{\cdot j}/n} \\
&= \frac{(36 – 152 \cdot 125/517)^2}{152 \cdot 125/517} + \frac{(67 – 152 \cdot 214/517.)^2}{152 \cdot 214/517} + \frac{(49 – 152 \cdot 178/517)^2}{152 \cdot 178/517} \\
&+ \frac{(31-140 \cdot 125/517)^2}{140 \cdot 125/517} + \frac{(60 – 140 \cdot 214/517)^2}{140 \cdot 214/517} + \frac{(49 – 140 \cdot 178/517)^2}{140 \cdot 178/517} \\
&+ \frac{(58 – 225 \cdot 125/517)^2}{225 \cdot 125/517} + \frac{(87 – 225 \cdot 214/517)^2}{225 \cdot 214/517} + \frac{(80 – 225 \cdot 178/517)^2}{225 \cdot 178/517} \\
&= 1.54313…
\end{align}
$$
上記が自由度$(3-1)(3-1)=4$の$\chi^2$分布に従うため、有意水準5%で片側検定するにあたっては$\chi^2_{\alpha=0.05}(4)=9.48773$と比較すればよい。
このとき、$\chi^2=1.54313…<9.48773=\chi^2_{\alpha=0.05}(4)$のため、独立を仮定した帰無仮説は棄却できない。
問題12.8の解答例
i)
$$
\begin{align}
\chi^2 = \sum_{i} \sum_{j} \frac{(nf_{ij}-f_{i \cdot}f_{\cdot j})^2}{nf_{i \cdot}f_{\cdot j}}
\end{align}
$$
上記の式をあてはめて考える。観測度数については$f_{11}=x$、$f_{12}=y$、$f_{21}=z$、$f_{22}=u$がそれぞれ対応する。またそれぞれの観測度数$f_{11}$〜$f_{22}$に対応する適合度をそれぞれ$\chi_{11}^2$〜$\chi_{22}^2$とおくとする。ここでは、$\chi^2 = \chi_{11}^2+\chi_{12}^2+\chi_{21}^2+\chi_{22}^2$が成立するように定義することとする。
このとき$\chi_{11}^2$〜$\chi_{22}^2$についてそれぞれ計算する。
$$
\begin{align}
\chi_{11}^2 &= \frac{(nf_{11}-f_{1 \cdot}f_{\cdot 1})^2}{nf_{1 \cdot}f_{\cdot 1}} \\
&= \frac{(nx-(x+y)(x+z))^2}{n(x+y)(x+z)} \\
\chi_{12}^2 &= \frac{(nf_{12}-f_{1 \cdot}f_{\cdot 2})^2}{nf_{1 \cdot}f_{\cdot 2}} \\
&= \frac{(ny-(x+y)(y+u))^2}{n(x+y)(y+u)} \\
\chi_{21}^2 &= \frac{(nf_{21}-f_{2 \cdot}f_{\cdot 1})^2}{nf_{2 \cdot}f_{\cdot 1}} \\
&= \frac{(nz-(z+u)(x+z))^2}{n(z+u)(x+z)} \\
\chi_{22}^2 &= \frac{(nf_{22}-f_{2 \cdot}f_{\cdot 2})^2}{nf_{2 \cdot}f_{\cdot 2}} \\
&= \frac{(nz-(z+u)(y+u))^2}{n(z+u)(y+u)}
\end{align}
$$
ここで$n=x+y+z+u$が成立することを考慮し、$\chi_{11}^2$について詳しく確認する。
$$
\begin{align}
\chi_{11}^2 &= \frac{(nx-(x+y)(x+z))^2}{n(x+y)(x+z)} \\
&= \frac{(x(x+y+z+u)-(x+y)(x+z))^2}{n(x+y)(x+z)} \\
&= \frac{(x^2+xy+xz+xu-x^2-xy-xz-yz)^2}{n(x+y)(x+z)} \\
&= \frac{(xu-yz)^2}{n(x+y)(x+z)}
\end{align}
$$
同様に$\chi_{12}^2$、$\chi_{21}^2$、$\chi_{22}^2$に関しても分子に$n=x+y+z+u$を代入することでそれぞれ下記を得ることができる。
$$
\begin{align}
\chi_{12}^2 &= \frac{(xu-yz)^2}{n(x+y)(y+u)} \\
\chi_{21}^2 &= \frac{(xu-yz)^2}{n(z+u)(x+z)} \\
\chi_{22}^2 &= \frac{(xu-yz)^2}{n(z+u)(y+u)} \\
\end{align}
$$
これより$\chi^2 = \chi_{11}^2+\chi_{12}^2+\chi_{21}^2+\chi_{22}^2$は下記のように計算できる。(分母は違うが分子が共通していることを元に計算を簡易化する)
$$
\begin{align}
\chi^2 &= \chi_{11}^2+\chi_{12}^2+\chi_{21}^2+\chi_{22}^2 \\
&= \frac{(xu-yz)^2}{n} \left( \frac{1}{(x+y)(x+z)} + \frac{1}{(x+y)(y+u)} + \frac{1}{(z+u)(x+z)} + \frac{1}{(z+u)(y+u)} \right) \\
&= \frac{(xu-yz)^2}{n} \cdot \frac{(y+u)(z+u)+(x+z)(z+u)+(x+y)(y+u)+(x+y)(x+z)}{(x+z)(y+u)(x+y)(z+u)} \\
&= \frac{(xu-yz)^2}{n} \cdot \frac{x^2+y^2+z^2+u^2+2xy+2xz+2xu+2yz+2yu+2zu}{(x+z)(y+u)(x+y)(z+u)} \\
&= \frac{(xu-yz)^2}{n} \cdot \frac{(x+y+z+u)^2}{(x+z)(y+u)(x+y)(z+u)} \\
&= \frac{(xu-yz)^2}{n} \cdot \frac{n^2}{(x+z)(y+u)(x+y)(z+u)} \\
&= \frac{n(xu-yz)^2}{(x+z)(y+u)(x+y)(z+u)}
\end{align}
$$
ここまでの計算により、数式を導出することができた。(「自然科学の統計学」の5章の例5.5の導出を参考にした)
ⅱ)
補正前を$\chi^2$、イェーツの補正後を${\chi’}^2$とする。表よりこのとき、それぞれは下記のように計算できる。
$$
\begin{align}
\chi^2 &= \frac{n(xu-yz)^2}{(x+z)(y+u)(x+y)(z+u)} \\
&= \frac{30 \cdot (-3)^2}{13 \cdot 17 \cdot 21 \cdot 9} \\
&= 0.006464… \\
{\chi’}^2 &= \frac{n(xu-yz \pm n/2)^2}{(x+z)(y+u)(x+y)(z+u)} \\
&= \frac{30 \cdot (-3+15)^2}{13 \cdot 17 \cdot 21 \cdot 9} \\
&= 0.1034…
\end{align}
$$
問題12.9の解答例
$$
\begin{align}
z = \frac{\hat{p}_1-\hat{p}_2}{\sqrt{\left( \frac{1}{n_1}+\frac{1}{n_2} \right) \hat{p} (1-\hat{p})}}
\end{align}
$$
上記に、$\displaystyle \hat{p}_1 = \frac{18}{102}$、$\displaystyle \hat{p}_2 = \frac{8}{101}$、$n_1=102$、$n_2=101$、$\displaystyle \hat{p} = \frac{26}{203}$、$\displaystyle 1-\hat{p} = \frac{177}{203}$を代入し、$z$の値を求める。
$$
\begin{align}
z &= \frac{18/102-8/101}{\sqrt{1/102+1/101) \times \frac{26}{203} \times \frac{177}{203}}} \\
&= \frac{(18/102-8/101) \times 203}{\sqrt{(1/102+1/101) \times 26 \times 177}} \\
&= 2.07339…
\end{align}
$$
上記が標準正規分布$N(0,1)$に従う。ここで標準正規分布において上側確率が$100\alpha$%となるパーセント点に対応する$z$の値を$z_{\alpha}$とする。ここでは両側検定を行うため、$z_{\alpha=0.025}=1.96$と比較する。
$z=2.07339…>1.96=z_{\alpha=0.025}$より、帰無仮説$p_1=p_2$は5%の有意水準で棄却できる。よって、通過率に差があると判断できる。(対立仮説が正しいと考える)
問題12.10の解答例
母平均$\rho$に関して$c_1 \leq \rho \leq c_2$が$95$%区間となるように定数を$c_1,c_2$とおくと、$c_1, c_2$は下記を実行することで計算することができる。
import numpy as np
from scipy import stats
x = np.array([52.8, 71.2, 72.6, 63.7, 81.3, 81.8, 70.9, 74.0, 73.2, 72.9, 66.7, 65.7, 43.7, 55.5, 79.6, 85.7, 75.3, 80.5, 73.0, 77.0, 77.5, 69.2, 60.0, 78.2, 79.5, 61.8, 49.6, 59.6, 72.1, 71.0, 76.3, 72.8, 71.8, 60.7, 67.0, 71.8, 71.2, 68.3, 68.5, 54.8, 76.0, 65.8, 69.4, 66.9, 69.7, 71.2, 59.6])
y = np.array([41.4, 76.3, 59.2, 51.8, 52.5, 53.2, 62.4, 55.0, 57.7, 63.2, 37.5, 48.5, 32.4, 20.5, 47.9, 68.0, 68.5, 52.5, 63.3, 58.8, 59.7, 48.4, 40.7, 51.0, 50.9, 34.3, 25.8, 32.1, 34.4, 55.1, 60.3, 57.0, 45.6, 54.2, 55.1, 55.7, 70.3, 61.8, 47.6, 42.5, 71.3, 55.2, 65.2, 42.9, 54.7, 62.0, 48.2])
r = np.sum((x-np.mean(x))*(y-np.mean(y)))/(np.sqrt(np.sum((x-np.mean(x))**2))*np.sqrt(np.sum((y-np.mean(y))**2)))
n = x.shape[0]
z = np.log((1+r)/(1-r))/2.
z_1 = stats.norm.ppf(0.025, z, np.sqrt(1./(n-3)))
z_2 = stats.norm.ppf(0.975, z, np.sqrt(1./(n-3)))
c_1 = (np.e**(2*z_1)-1)/(np.e**(2*z_1)+1)
c_2 = (np.e**(2*z_2)-1)/(np.e**(2*z_2)+1)
print("c_1: {:.3f}".format(c_1))
print("c_2: {:.3f}".format(c_2))
・実行結果
> print("c_1: {:.3f}".format(c_1))
c_1: 0.428
> print("c_2: {:.3f}".format(c_2))
c_2: 0.781
上記より、i)の帰無仮説$H_0: \rho=0$は棄却され、ⅱ)の帰無仮説$H_0: \rho=0.5$は棄却されないことがわかる。
まとめ
Chapter.12の「仮説検定」について確認する内容でした。$\chi^2$検定についての話が多かったですが、「自然科学の統計学」のChapter.5の「適合度検定」でも取り扱われる話題なので簡単に抑えておくと良いと思います。
[…] https://www.hello-statisticians.com/explain-books-cat/toukeigakunyuumon-akahon/ch11_practice.htmlhttps://www.hello-statisticians.com/explain-books-cat/toukeigakunyuumon-akahon/ch12_practice.html […]
[…] ・第12章解答https://www.hello-statisticians.com/explain-books-cat/toukeigakunyuumon-akahon/ch12_practice.html […]