※現在、ブログ記事を移行中のため一部表示が崩れる場合がございます。
順次修正対応にあたっておりますので何卒ご了承いただけますよう、お願い致します。

データ解析のための統計モデリング入門 一般化線形混合モデル(GLMM) 読書メモ3


2017年 05月 23日

このブログ記事は『データ解析のための統計モデリング入門』(久保拓弥 著、岩波書店)という、とても分かりやすい統計モデリングの入門書を、さらに分かりやすくするために読書メモをまとめたものです。 今回は第7章、一般化線形混合モデル(GLMM)についてのまとめの三回目です。 この章では複数の分布を混ぜて使う、一般化線形混合モデルついて説明がされています。 なので、複数の分布を混ぜた分布をグラフにしてみたいところです。 ですが、変数の数が多くて複雑なので、まずは感覚をつかむために数値を羅列してくれるコードを用意しました。 コードはRで書きました。
linkFunction <- function(b1, b2) {
function(x, r) {
1 / (1 + exp(-b1 - b2 * x - r))
}
}

l <- linkFunction(-0.5, 0.3)

cat("r\tq\t\tdbinom\t\tdnorm\t\tmixed\n")
for (r in seq(-1, 1, by = 0.1)) {
q <- l(0.8, r)
b <- dbinom(7, 20, q)
n <- dnorm(r, mean = 0, sd = 1)
mixed <- b * n
cat(r, "\t", q, "\t", b, "\t", n, "\t", mixed, "\n")
}
このコードは二項分布と正規分布を掛けて得られる数値を出力します。 二項分布のパラメータである、事象の発生確率 `q` はリンク関数から得られます。 リンク関数には `x` と `r` という変数があって、`r` の方が正規分布から生成されます。 計算したのは、`dbinom(7, 20, q)` と `dnorm(r, 0, 1)` の積です。 コードを実行すると次の出力が得られます。
r		q			dbinom			dnorm		mixed
-1 		 0.2209739 	 0.07762054 	 0.2419707 	 0.0187819
-0.9 	 0.2386673 	 0.0987262 		 0.2660852 	 0.02626959
-0.8 	 0.2573095 	 0.1210895 		 0.2896916 	 0.03507862
-0.7 	 0.2768782 	 0.1429499 		 0.3122539 	 0.04463668
-0.6 	 0.2973393 	 0.1621339 		 0.3332246 	 0.05402699
-0.5 	 0.3186463 	 0.1763681 		 0.3520653 	 0.06209308
-0.4 	 0.3407396 	 0.1837016 		 0.3682701 	 0.06765181
-0.3 	 0.3635475 	 0.1829363 		 0.3813878 	 0.06976967
-0.2 	 0.3869858 	 0.1739386 		 0.3910427 	 0.06801741
-0.1 	 0.4109596 	 0.1577226 		 0.3969525 	 0.06260837
0 		 0.4353637 	 0.1362616 		 0.3989423 	 0.05436053
0.1 	 0.4600851 	 0.1120753 		 0.3969525 	 0.04448858
0.2 	 0.4850045 	 0.08771599 	 0.3910427 	 0.0343007
0.3 	 0.5099987 	 0.06530726 	 0.3813878 	 0.02490739
0.4 	 0.5349429 	 0.04625377 	 0.3682701 	 0.01703388
0.5 	 0.5597136 	 0.03116972 	 0.3520653 	 0.01097378
0.6 	 0.5841905 	 0.01999504 	 0.3332246 	 0.00666284
0.7 	 0.608259 	 0.01221858 	 0.3122539 	 0.003815299
0.8 	 0.6318124 	 0.007119175 	 0.2896916 	 0.002062365
0.9 	 0.6547535 	 0.003959494 	 0.2660852 	 0.001053563
1 		 0.6769959 	 0.00210485 	 0.2419707 	 0.000509312
`r` に対して `q` は単調に増加しています。 二項分布の部分で計算しているのは、事象が `20` 回中 `7` 回起きる確率なので、`q` が小さい時は小さい値を取ります。 `q` が増加すると、だんだん確率は上がりますが、増加し過ぎると `7` 回より多い回数、事象が発生しやすくなるので、あるところで最大をとって、後は下がります。 正規分布は `0` を中心とした山なりの分布なので、`r` が `0` に近い値なら確率は高く、そこから離れるほど小さくなります。 この二つを掛け合わせた値は、だいたいどっちも大きな値を取るときに大きいですが、どちらの最大とも微妙にずれたところに最大がきているのが分かります。