条件付正規分布モデル

作成日 : 2004-02-13
最終更新日 :

2組のデータが、同じ正規分布に従うとみなしてよいかどうか、判定する。

例題:次の2組のデータがある。2組のデータは同じ正規分布に従うとみなせるか?

データ1:0.73 -0.06 1.04 2.29 0.51 -0.45 1.03 0.44 0.02 0.11 -2.42
データ2:0.10 0.56 -1.11 -0.48 3.46 -2.39 0.36 4.56

同じ正規分布とはどういうことか。これは、 データ1の平均μ1とデータ2の平均μ2がともに同じ平均μであり、 かつデータ1の分散σ12と データ2の分散σ22がともに同じ分散σ2であることをいう。 このときのモデルを(μ,μ,σ22)と略記する。 ここでモデルの自由パラメータ数は2である。 一方で、データ1とデータ2が異なる正規分布に従うと仮定すると、 このときモデルは、(μ121222) と書ける。モデルの自由パラメータ数は4である。

また、「分散は等しいが平均が異なる」モデルを考えることもできる。このときの表記は、 (μ1222)となり、 自由パラメータ数は3となる。 さらに、「平均は等しいが分散が異なる」モデルを考えることもできる。このときの表記は、 (μ,μ,σ1222)となり、 自由パラメータ数はやはり3である。

まとめると、データが異なるモデルに属するかどうかを判定するためには、4つのモデルを立て、 それぞれのモデルの良さを比較すればよい。モデルの良さを判定するためには、 AIC が利用できる。すなわち、AIC の小さいモデルがもっともよいモデルとなる。

答:「コピー」ボタンをクリックすると、上記例が左下の欄に入力される。 「計算」ボタンをクリックすると、右の欄にAICが表示される。 最もAICの低いモデル、すなわち最もよいモデルは、 (μ,μ,σ1222)であることがわかる。

モデル制約#AIC μ1 μ2 σ12 σ22
(μ,μ,σ22) μ12
σ12 = σ22
2
(μ,μ,σ1222) μ12 3
1222) σ1222 3
121222) 4
データ1データ2

以下、上記の計算式を文献[1]に従って導出する。

2組のデータ、すなわちデータ1とデータ2が違う正規分布に従うと仮定する。違う正規分布とは、平均も分散も異なるという意味である。この場合は、次のモデルを仮定する。

`"MODEL"(mu_1, mu_2, sigma_1^2, sigma_2^2) : f(y | mu, sigma^2) = 1/sqrt(2 pi sigma^2) e^((-y - mu)^2/2sigma^2)`
ただし、`(mu, sigma^2)` は、`y` がデータ1に属する場合に `(mu_1, sigma_1^2)` 、`y` がデータ2に属する場合に `(mu_2, sigma_2^2)` であるものとする。 これは自由パラメータ数 4 の条件付きモデルである。

すなわちデータ1とデータ2が同じ正規分布に従うと仮定すれば、`mu_1 = mu_2 = mu, sigma_1^2 = sigma_2^2 = sigma^2` が成り立つ。すると、y がデータ 1 、データ 2 のどちらに属していても、 次のモデルを仮定できる。

`"MODEL"(mu, mu, sigma^2, sigma^2) : f(y | mu, sigma^2) = 1/sqrt(2 pi sigma^2) e^((-y - mu)^2/2sigma^2)`
これは自由パラメータ数 2 の条件付きモデルである。

2 つのモデルのどちらがよいか。これには、それぞれのモデルの条件付き対数尤度を調べればいい。以下、`k = 1, 2` として、データ `k` の数を `n_k`、データ `k` の観測値を `y_(ki) ( i = 1, cdots, n_k ) ` で表す。

1. 平均、分散ともに異なるモデル

まず `"MODEL"(mu_1, mu_2, sigma_1^2, sigma_2^2)` を仮定したときの条件付き対数尤度 `l` は、

`l(mu_1, mu_2, sigma_1^2, sigma_2^2) = sum_(i=1)^(n_1) log f(y_(1i)|mu_1, sigma_1^2) +sum_(i=1)^(n_2) log f(y_(2i)|mu_2, sigma_2^2)`
となる。右辺を計算して、
`l(mu_1, mu_2, sigma_1^2, sigma_2^2) = -n_1/2 log 2pi - n_1/2 log sigma_1^2 - 1/(2sigma_1^2) (sum_(i=1)^(n_1) y_(1i)^2 - 2 mu_1 sum_(i=1)^(n_1)y_(1i) + n_1mu_1^2) -n_2/2 log 2pi - n_2/2 log sigma_2^2 - 1/(2sigma_2^2) (sum_(i=1)^(n_2) y_(2i)^2 - 2 mu_2 sum_(i=1)^(n_2)y_(2i) + n_2mu_2^2)`
が得られる。ここで、`n = n_1 + n_2, y_k = sum_(i=1)^(n_k) y_(ki) (k = 1, 2)` とおいて計算すると右辺は次のようになる。
`l(mu_1, mu_2, sigma_1^2, sigma_2^2) = -n/2 log 2pi - n_1/2 log sigma_1^2 - 1/(2sigma_1^2) (sum_(i=1)^(n_1) y_(1i)^2 - 2 mu_1 y_1 + n_1mu_1^2) - n_2/2 log sigma_2^2 - 1/(2sigma_2^2) (sum_(i=1)^(n_2) y_(2i)^2 - 2 mu_2 y_2 + n_2mu_2^2)`
ここで条件付き対数尤度の最小値を求めるために右辺を `mu_1, sigma_1^2, mu_2, sigma_2^2` でそれぞれ偏微分し、これらの式 = 0 として最尤推定量を求めればいい。 まず `mu_1` に関して偏微分した式が 0 に等しくなることから、
`-2y_1 + 2n_1mu_1 = 0`
が得られる。最尤推定量であることを示すために以下変数にハットを付ける。
`hat mu_1 = y_1/n_1`
次に `sigma_1^2` に関して偏微分した式が 0 に等しくなることから、
`-n_1/(2sigma_1^2) + 1/(2sigma_1^4) (sum_(i=1)^(n_1) y_(1i)^2 - 2 mu_1 y_1 + n_1mu_1^2)= 0`
が得られ、これを `sigma_1^2` について解いて
`hat sigma_1^2 = 1/n_1 (sum_(i=1)^(n_1) y_(1i)^2 - 2 mu_1 y_1 + n_1mu_1^2)`
が得られる。右辺の `mu_1` に `hat mu_1` を代入し、さらにさきほど得られた `hat mu_1 = y_1 / n_1` を使うと、
`hat sigma_1^2 = 1/n_1 sum_(i=1)^(n_1) y_(1i)^2 - hat mu_1^2`
となる。以上と同様に、次の最尤推定量も得られる。
`hat mu_2 = y_2/ n_2, hat sigma_2^2 = 1/n_2 sum_(i=1)^(n_2) y_(2i)^2 - hat mu_2^2`
以上得られた最尤推定量を条件付き対数尤度の式に代入して、
`l(hat mu_1, hat mu_2, hat sigma_1^2, hat sigma_2^2) = -n/2log2pi - n_1/2 log hat sigma_1^2 - n_2 / 2 log hat sigma_2^2 - n/2`
となる。

2. 平均、分散ともに等しいモデル

次に `"MODEL"(mu, mu, sigma^2, sigma^2)` を仮定したときの条件付き対数尤度 `l` を求めよう。

`l(mu, mu, sigma^2, sigma^2) = -n/2 log 2pi - n/2 log sigma^2 - 1/(2sigma^2) (sum_(i=1)^(n_1) y_(1i)^2 + sum_(i=1)^(n_2) y_(2i)^2 - 2 mu(y_1 + y_2) + n mu^2) `
が得られる。最尤推定量は次の通りとなる。
`hat mu = (y_1 + y_2) / n, hat sigma ^2 = 1/n (sum_(i=1)^(n_1) y_(1i)^2 + sum_(i = 1)^(n_2) y_(2i)^2 ) - hat mu^2`
最大対数尤度は次の式となる。
`l(hat mu, hat sigma^2) = -n/2 log 2 pi - n/ 2 log hat sigma^2 - n/2`

3. 平均が異なり分散が等しいモデル

平均は異なるが分散が等しいという制約を加えたモデルを考える。

`"MODEL"(mu_1, mu_2, sigma^2, sigma^2) : f(y | mu, sigma^2) = 1/sqrt(2 pi sigma^2) e^((-y - mu)^2/2sigma^2)`
ただし `mu` は、`y` がデータ1に属する場合に `mu = mu_1` 、`y` がデータ2に属する場合に `mu = mu_2` であるものとする。 これは自由パラメータ数 3 の条件付きモデルである。このモデルと "MODEL"(mu_1, mu_2, sigma_1^2, sigma_2^2)` を比較すれば、2 組のデータが等しい分散をもつか否かがわかる。 このモデルの条件付き対数尤度は次のようになる。
`l(mu_1, mu_2, sigma^2) = -n/2 log 2pi - n/2 log sigma^2 - 1/(2sigma^2) (sum_(i=1)^(n_1) y_(1i)^2 - 2 mu_1 y_1 + n_1mu_1^2 + sum_(i=1)^(n_2) y_(2i)^2 - 2 mu_2 y_2 + n_2mu_2^2)`
`mu_1, mu_2, sigma^2` の推定量をそれぞれ `hat mu_1, hat mu_2, hat sigma_3^2` とすると、次のようになる。
`hat mu_1 = y_1/n_1, hat mu_2 = y_2 / n_2, hat sigma_3^2 = 1/n (sum_(i=1)^(n_1) y_(1i)^2 - n_1 hat mu_1 ^2 + sum_(i=1)^(n_2) y_(2i)^2 - n_2 hat mu_2^2)`
ここで、
`hat sigma_1^2 = 1/n_1 sum_(i=1)^(n_1) y_(1i)^2 - hat mu_1^2, quad hat sigma_2^2 = 1/n_2 sum_(i=1)^(n_2) y_(2i)^2 - hat mu_2^2`
であるから、結局
`hat sigma_3^2 = n_1/n hat sigma_1^2 + n_2/n hat sigma_2^2`
が得られる。最大対数尤度は次の式で与えられる。
`l(hat mu_1, hat mu_2, hat sigma_3^2) = -n/2 log 2pi - n/2 log hat sigma_3^2 - 1/(2 hat sigma_3^2) (sum_(i=1)^(n_1) y_(1i)^2 - 2 hat mu_1 y_1 + n_1 hat mu_1^2 + sum_(i=1)^(n_2) y_(2i)^2 - 2 hat mu_2 y_2 + n_2 hat mu_2^2)`
右辺を計算する。
`l(hat mu_1, hat mu_2, hat sigma_3^2) = -n/2 log 2pi - n/2 log hat sigma_3^2 - 1/(2 hat sigma_3^2) (sum_(i=1)^(n_1) y_(1i)^2 - n_1 hat mu_1^2 + sum_(i=1)^(n_2) y_(2i)^2 - n_2 hat mu_2^2)`
ここで右辺のカッコ内は `n_1 hat sigma_1^2 + n_2 hat sigma_2^2 = n hat sigma_3^2` であるから、最終的に次を得る。
`l(hat mu_1, hat mu_2, hat sigma_3^2) = -n/2 log 2pi - n/2 log hat sigma_3^2 - n/2`

分散が異なり平均が等しいモデル

(要追記)

AIC

AIC は -2 * 最大対数尤度 + 2 * 自由パラメータ数 である。それぞれのモデルを比べてみる。

`"AIC"(mu_1, mu_2, sigma_1^2, sigma_2^2) = n log 2 pi + n_1 log hat sigma_1^2 + n_2 log hat sigma_2^2 + n + 2 times 4`
`"AIC"(mu, mu, sigma^2, sigma^2) = n log 2 pi + n log hat sigma^2 + n + 2 times 2`
`"AIC"(mu_1, mu_2, sigma^2, sigma^2) = n log 2 pi + n log hat sigma_3^2 + n + 2 times 3`
`"AIC"(mu, mu, sigma_1^2, sigma_2^2) = n log 2 pi + n_1 log tilde sigma_1^2 + n_2 log tilde sigma_2^2 + n + 2 times 3`

文献

  1. 坂元 慶行, 石黒 真木夫, 北川 源四郎:情報量統計学

まりんきょ学問所統計活用術 > 条件付正規分布モデル

MARUYAMA Satosi