統計検定1級 統計応用 問題解説 ~2019年11月実施 全分野共通問題 問5~

統計検定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アルゴリズムを用いたパラメータ推定に関して詳しくまとめられているので、抑えておくと良いと思います。