統計検定1級の2019年11月の「統計応用、全分野共通問題」の問5の解答例と解説について取り扱いました。他の問題の解答に関しては下記よりご確認ください。
https://www.hello-statisticians.com/stat_certifi_1_app
問題
詳しくは統計検定公式よりご確認ください。
解答
$[1]$
下記のような計算を行うことで$\chi^2$適合度検定を行うことができる。
import numpy as np
from scipy import stats
observed = np.array([24., 48., 16., 12.])
expected = np.array([3., 4., 2., 1.])*10
chi2 = np.sum((observed-expected)**2/expected)
if chi2 > stats.chi2.ppf(1.-0.05,3):
print("chi^2: {:.2f} and threshold: {:.3f}, reject H_0".format(chi2,stats.chi2.ppf(1.-0.05,3)))
else:
print("chi^2: {:.2f} and threshold: {:.3f}, accept H_0".format(chi2,stats.chi2.ppf(1.-0.05,3)))
・実行結果
chi^2: 4.00 and threshold: 7.815, accept H_0
$[2]$
下記の計算を行うことによって最小の$k$を求めることができる。
import numpy as np
from scipy import stats
k, flag = 1., 0
while flag==0:
observed = np.array([6., 12., 4., 3.])*k
expected = np.array([3., 4., 2., 1.])*k*5./2.
chi2 = np.sum((observed-expected)**2/expected)
if chi2 > stats.chi2.ppf(1.-0.05,3):
print("minimum k: {:.0f}, threshold: {:.3f}, chi^2:{:.2f}".format(k,stats.chi2.ppf(1.-0.05,3),chi2))
flag = 1
k += 1.
・実行結果
minimum k: 8, threshold: 7.815, chi^2:8.00
$[3]$
公式の解答が詳しいので省略。
$[4]$
i)
目的関数$\log{L(r,p,q)}$を$r,p,q$でそれぞれ偏微分を行うと下記が得られる。
$$
\large
\begin{align}
\frac{\partial \log{L(r,p,q)}}{\partial r} &= \frac{2f_{OO} + f_{AO} + f_{BO}}{r} – \lambda \\
\frac{\partial \log{L(r,p,q)}}{\partial p} &= \frac{2f_{AA} + f_{AO} + f_{AB}}{p} – \lambda \\
\frac{\partial \log{L(r,p,q)}}{\partial q} &= \frac{2f_{BB} + f_{BO} + f_{AB}}{q} – \lambda
\end{align}
$$
上記がそれぞれ$0$に一致すると考えると、下記のような関係式が得られる。
$$
\large
\begin{align}
2f_{OO} + f_{AO} + f_{BO} &= \lambda r \\
2f_{AA} + f_{AO} + f_{AB} &= \lambda p \\
2f_{BB} + f_{BO} + f_{AB} &= \lambda q
\end{align}
$$
またここで、$2f_{OO} + f_{AO} + f_{BO} + 2f_{AA} + f_{AO} + f_{AB} + 2f_{BB} + f_{BO} + f_{AB} = 2N$より、$\lambda (r+p+q) = \lambda = 2N$が成立する。よって各比率の推定値$\hat{r}, \hat{p}, \hat{q}$は下記のようになる。
$$
\large
\begin{align}
\hat{r} &= \frac{2f_{OO} + f_{AO} + f_{BO}}{2N} \\
\hat{p} &= \frac{2f_{AA} + f_{AO} + f_{AB}}{2N} \\
\hat{q} &= \frac{2f_{BB} + f_{BO} + f_{AB}}{2N}
\end{align}
$$
ⅱ)
パラメータの値$p, q$が与えられたとき、度数$f_{AA}, f_{AO}, f_{BO}, f_{BB}$の期待値は下記のように考えることができる。
$$
\large
\begin{align}
E[f_{AA}] &= Np^2 \\
E[f_{AO}] &= n_A-Np^2 \\
E[f_{BO}] &= Nq^2 \\
E[f_{BB}] &= n_B-Nq^2
\end{align}
$$
解説
公式の解答では$[4]$のⅱ)の解答に関連してEMアルゴリズムを用いたパラメータ推定に関して詳しくまとめられているので、抑えておくと良いと思います。