統計学 学習ノート

統計検定の4級から1級まで、出題範囲の順に記事と練習問題で学ぶ

準1級-34 応用統計の手法

分割表のモデル — 対数線形モデル

  • 対数線形モデル
  • 階層モデル
  • 条件つき独立モデル
  • グラフィカルモデル(分割表に関する)

はじめに

「変数が3つになると、クロス集計表をどう読めばいいの?」

2級で、小学生の靴のサイズと漢字テストの点数の話をしました。足が大きい子ほど漢字が得意に見えますが、本当の理由は学年でしたよね。このように、2つの変数の関連は、3つ目の変数を入れると姿を変えます。

では、足の大きさ、漢字の成績、学年の3つを同時に集計した表があるとき、「どの変数とどの変数が本当に関連しているのか」を、どう調べればよいのでしょうか? 2人ずつ組にして χ2\chi^2 検定を繰り返すと、学年の影響を取り除けません。

実は、この問題は「セルの度数の対数を、足し算の式で表す」という見方で、すっきり整理できます。回帰分析で変数を足し引きするように、分割表の関連を足し引きできるのです。

そこで登場するのが、今回の主役 対数線形モデル(log-linear model)です。前回の記事では、オッズ比や正確検定を使って、分割表の関連の強さを調べました。今回の記事では、対数線形モデルの作り方、階層モデル、条件つき独立モデル、そして分割表のグラフィカルモデルについて解説します。

対数線形モデル:度数の対数を足し算にする

はじめに、2元分割表を使って対数線形モデルの考え方を解説します。

2級で学んだ独立性の検定を思い出しましょう。行の変数 AA と列の変数 BB が独立なら、セル (i,j)(i, j) の期待度数 mijm_{ij} は「全体の人数 × 行の割合 × 列の割合」で求まります。

mij=N pi+ p+jm_{ij} = N\, p_{i+}\, p_{+j}

添字の ++ は、その添字について足し合わせたことを表します。ここがポイントです。この式はかけ算ですが、対数をとると足し算になります。

log⁡mij=λ+λiA+λjB\log m_{ij} = \lambda + \lambda^{A}_{i} + \lambda^{B}_{j}

これが 独立モデル です。λ\lambda は全体の水準、λiA\lambda^{A}_{i} は行の効果、λjB\lambda^{B}_{j} は列の効果です。言葉で言うと、セルの大きさは「全体の大きさ」と「行の人気」と「列の人気」だけで決まり、行と列の組み合わせには特別な事情がない、ということです。

独立でないときは、組み合わせに特別な事情があります。その分を 交互作用項 λijAB\lambda^{AB}_{ij} として足します。

log⁡mij=λ+λiA+λjB+λijAB\log m_{ij} = \lambda + \lambda^{A}_{i} + \lambda^{B}_{j} + \lambda^{AB}_{ij}

これは、セルの数と同じ数のパラメータをもつので、どんな表にも完全に当てはまります。このようなモデルを 飽和モデル と呼びます。料理に例えるなら、λ\lambda が基本のだし、λA\lambda^{A} と λB\lambda^{B} が具材の味、λAB\lambda^{AB} が「この具材どうしを合わせたときにだけ出る味」です。

パラメータが一意に決まるように、ふつうは ∑iλiA=0\sum_i \lambda^{A}_{i} = 0 のように、各添字について足すと0になる制約を置きます。

具体的に見てみましょう。朝食と遅刻について、150人を調べたとします。

遅刻なし遅刻あり
朝食を毎日食べる6020
朝食を食べない日がある3040

飽和モデルの推定値は、度数の対数を平均して求められます。

【パラメータの計算】

  1. 4つのセルの対数の平均: λ^=(log⁡60+log⁡20+log⁡30+log⁡40)/4≈3.545\hat{\lambda} = (\log 60 + \log 20 + \log 30 + \log 40)/4 \approx 3.545
  2. 行の効果: 1行目の対数の平均も2行目の対数の平均も3.545なので、λ^1A=0\hat{\lambda}^{A}_{1} = 0
  3. 列の効果: 1列目の対数の平均は3.748なので、λ^1B≈3.748−3.545=0.203\hat{\lambda}^{B}_{1} \approx 3.748 - 3.545 = 0.203
  4. 交互作用: λ^11AB=log⁡60−3.545−0−0.203≈0.347\hat{\lambda}^{AB}_{11} = \log 60 - 3.545 - 0 - 0.203 \approx 0.347

では、交互作用の0.347は何を表しているのでしょうか? 実は、前回の記事で学んだオッズ比そのものです。対数オッズ比に飽和モデルの式を代入すると、主効果がすべて打ち消し合い、交互作用だけが残ります。

log⁡m11 m22m12 m21=λ11AB+λ22AB−λ12AB−λ21AB=4λ11AB\log \frac{m_{11}\, m_{22}}{m_{12}\, m_{21}} = \lambda^{AB}_{11} + \lambda^{AB}_{22} - \lambda^{AB}_{12} - \lambda^{AB}_{21} = 4\lambda^{AB}_{11}

最後の等号は2×2の表の場合で、制約から λ22AB=λ11AB\lambda^{AB}_{22} = \lambda^{AB}_{11}、λ12AB=λ21AB=−λ11AB\lambda^{AB}_{12} = \lambda^{AB}_{21} = -\lambda^{AB}_{11} となるためです。今の例では、4×0.347≈1.3864 \times 0.347 \approx 1.386 で、e1.386=4e^{1.386} = 4 です。オッズ比を直接計算しても、60×40÷(20×30)=460 \times 40 \div (20 \times 30) = 4 で一致します。

要するに、交互作用項が0であることと、オッズ比が1であることは同じ です。「関連がない」という言葉を、モデルの項が消えることに翻訳できたわけです。

補足(ここは読み飛ばしてOK): 対数線形モデルは、質的回帰の記事で学んだ一般化線形モデルの一種です。度数をポアソン分布とみなし、リンク関数に対数を使ったポアソン回帰になっています。総度数を固定した多項分布とみなしても、mijm_{ij} の最尤推定値は同じです。

以上が、対数線形モデルの考え方についての解説です。

階層モデル:3元表のモデルの並び

次に、3元分割表のモデルを説明します。

変数 A,B,CA, B, C の3元分割表の期待度数を mijkm_{ijk} とします。飽和モデルは、すべての項を入れた次の式です。

log⁡mijk=λ+λiA+λjB+λkC+λijAB+λikAC+λjkBC+λijkABC\log m_{ijk} = \lambda + \lambda^{A}_{i} + \lambda^{B}_{j} + \lambda^{C}_{k} + \lambda^{AB}_{ij} + \lambda^{AC}_{ik} + \lambda^{BC}_{jk} + \lambda^{ABC}_{ijk}

ここから項を消していくと、さまざまな関連の仮説を表せます。ただし、好きな項を自由に消してよいわけではありません。

階層モデル(hierarchical model)とは、ある交互作用項を含むなら、その項に含まれる低次の項もすべて含むモデルのことです。例えば、λAB\lambda^{AB} を入れるなら、λA\lambda^{A} と λB\lambda^{B} も必ず入れます。会社の組織図のようなものです。課長がいるのに部長がいない部署は作らない、というイメージです。

なぜこの決まりが必要なのでしょうか? 「AA と BB の組み合わせの効果はあるが、AA だけの効果は0」という仮説は、制約の置き方で意味が変わってしまい、解釈できないからです。

階層モデルなら、いちばん高次の項だけを書けば、モデルが1つに決まります。この書き方を使うと、[AB][C][AB][C] は「λAB\lambda^{AB} とそれ以下の項、および λC\lambda^{C} を含むモデル」を表します。3元表の代表的なモデルを並べてみましょう。

モデル記法意味自由度2×2×2 の自由度
完全独立[A][B][C][A][B][C]3つとも互いに独立IJK−I−J−K+2IJK - I - J - K + 24
結合独立[AB][C][AB][C]組 (A,B)(A, B) と CC が独立(IJ−1)(K−1)(IJ - 1)(K - 1)3
条件つき独立[AC][BC][AC][BC]CC を固定すると AA と BB が独立K(I−1)(J−1)K(I - 1)(J - 1)2
均一連関[AB][AC][BC][AB][AC][BC]AA と BB のオッズ比がどの層でも同じ(I−1)(J−1)(K−1)(I - 1)(J - 1)(K - 1)1
飽和[ABC][ABC]制約なし00

I,J,KI, J, K は各変数のカテゴリ数です。自由度は「セルの数 − 独立なパラメータの数」で求めます。例えば、2×2×2 の完全独立モデルなら、λ\lambda と主効果3つで4個のパラメータを使うので、8−4=48 - 4 = 4 です。

表の見方はシンプルです。下へ行くほど項が増え、当てはまりはよくなりますが、モデルは複雑になります。

せっかくなので、均一連関モデルの意味も確かめておきましょう。このモデルは λABC\lambda^{ABC} だけを消したものです。CC の層 kk で AA と BB の対数オッズ比を計算すると、λAB\lambda^{AB} の項だけが残り、kk によりません。つまり、三次の交互作用が0とは、「AA と BB の関連の強さが、CC の層によって変わらない」という意味です。薬の効き方が、男女で同じオッズ比になっている場面だと考えてください。

試験のポイント:記法の角かっこの中に2文字が一緒に入っていれば、その2変数の間に関連を認めています。一緒に入っていない2変数には、直接の関連がありません。

以上が、階層モデルについての説明です。

条件つき独立モデルとグラフィカルモデル

続いて、3元表で最も大切なモデルと、その絵による表し方を解説します。

1. 条件つき独立モデル

条件つき独立モデル [AC][BC][AC][BC] は、「CC の値を固定すると、AA と BB が独立になる」というモデルです。λAB\lambda^{AB} も λABC\lambda^{ABC} も含みません。式で書くと、確率について次のようになります。

P(A=i,B=j∣C=k)=P(A=i∣C=k) P(B=j∣C=k)P(A = i, B = j \mid C = k) = P(A = i \mid C = k)\, P(B = j \mid C = k)

両辺に P(C=k)P(C = k) を掛けて変形すると、期待度数の最尤推定値が得られます。

m^ijk=ni+k  n+jkn++k\hat{m}_{ijk} = \frac{n_{i+k}\; n_{+jk}}{n_{++k}}

記号の意味は、ni+kn_{i+k} が層 kk の A=iA = i の度数、n+jkn_{+jk} が層 kk の B=jB = j の度数、n++kn_{++k} が層 kk の総度数です。言葉で言うと、層ごとに独立性の検定の期待度数を計算しているだけです。

例えば、ある小学校で、足の大きさ AA、漢字の成績 BB、学年 CC を調べて次の結果を得たとします。

学年足の大きさ成績が高い成績が低い
低学年大きい1525
低学年小さい45115
高学年大きい10832
高学年小さい528

低学年で「足が大きい、成績が高い」のセルの期待度数は、n1+1=40n_{1+1} = 40、n+11=60n_{+11} = 60、n++1=200n_{++1} = 200 なので、40×60÷200=1240 \times 60 \div 200 = 12 です。同じように計算すると、低学年は 12, 28, 48, 112、高学年は 112, 28, 48, 12 となります。

一方で、学年を無視して足し合わせると、AA と BB の表は 123, 57, 97, 123 となり、オッズ比は約2.74です。足が大きいと成績が高いように見えます。ところが、モデルの期待度数で層ごとにオッズ比を計算すると、12×112÷(28×48)=112 \times 112 \div (28 \times 48) = 1 です。みかけの関連の正体は学年でした。

このように、3つ目の変数で足し合わせるとオッズ比が変わってしまうことがあります。周辺の表だけを見て関連を語るのが危ないのは、このためです。

2. グラフィカルモデル

変数の関連は、絵にするとひと目で分かります。分割表に関する グラフィカルモデル では、変数を点(頂点)で表し、2変数の間に交互作用があれば線(辺)で結びます。そして、点の分かれ方から条件つき独立を読み取ります。

例えば、[AC][BC][AC][BC] のグラフは、AA — CC — BB という一本道です。AA と BB の連絡は、必ず CC を通ります。電話の取り次ぎ役のようなものです。CC さんが受話器を置く、つまり CC を固定すると、AA さんと BB さんの話は通じなくなります。

一般に、次のルールが成り立ちます。

【グラフの読み方】

  • 点の集合 SS を取り除くと AA と BB が切り離されるなら、SS を与えたとき AA と BB は条件つき独立
  • 線で結ばれていない2点は、残りの変数すべてを与えると条件つき独立

具体的に見てみましょう。4変数のモデル [AB][BC][CD][AB][BC][CD] のグラフは、AA — BB — CC — DD の一本道です。BB を取り除くと AA が切り離されるので、BB を与えれば、AA は CC とも DD とも独立です。

ただし、すべての階層モデルがグラフィカルモデルになるわけではありません。グラフィカルモデルとは、グラフの クリーク(互いに全部線で結ばれた、これ以上広げられない点の組)ごとに、その全変数の交互作用を入れたモデルです。

例えば、均一連関モデル [AB][AC][BC][AB][AC][BC] のグラフは三角形です。しかし、三角形のクリークは {A,B,C}\{A, B, C\} なので、三角形が表すグラフィカルモデルは飽和モデル [ABC][ABC] です。つまり、均一連関モデルは階層モデルですが、グラフィカルモデルではありません。線だけでは、「三次の交互作用がない」という情報を描けないのです。

試験のポイント:階層モデルの中にグラフィカルモデルが含まれます。[AB][AC][BC][AB][AC][BC] は、階層モデルだがグラフィカルモデルではない代表例です。

補足(ここは読み飛ばしてOK): [AC][BC][AC][BC] のように周辺度数の積と商で期待度数が書けるモデルを、分解可能なモデルと呼びます。[AB][AC][BC][AB][AC][BC] の期待度数には公式がなく、周辺度数に合うように比例配分を繰り返す反復比例当てはめ法(IPF)で求めます。

以上が、条件つき独立モデルとグラフィカルモデルについての解説です。

モデルを比べる:逸脱度と自由度

最後に、どのモデルがデータに合うかを判定する方法を見ていきましょう。

モデルの当てはまりは、観測度数 nn と期待度数 m^\hat{m} のズレで測ります。ピアソンの χ2\chi^2 統計量に加えて、対数線形モデルでは尤度比から作る G2G^2 統計量(逸脱度)をよく使います。

G2=2∑セルnlog⁡nm^G^2 = 2 \sum_{\text{セル}} n \log \frac{n}{\hat{m}}

G2G^2 は、そのモデルと飽和モデルの対数尤度の差の2倍です。モデルが正しければ、度数が十分に大きいとき、モデルの自由度をもつ χ2\chi^2 分布に近似的に従います。G2G^2 が大きいほど、そのモデルは表に合っていません。

先ほどの朝食と遅刻の表で試してみましょう。独立モデルの期待度数は 48, 32, 42, 28 です。G2≈16.32G^2 \approx 16.32 で、自由度1の χ2\chi^2 分布の5%点3.84を超えるので、独立モデルは棄却されます。ピアソンの統計量は約16.07で、ほぼ同じ値です。

では、複数のモデルをどう比べるのでしょうか? 大きいモデルが小さいモデルの項をすべて含むとき、G2G^2 の差も χ2\chi^2 分布に従います。自由度は、モデルの自由度の差です。

G小2−G大2 ∼ χ2(df小−df大)G^2_{\text{小}} - G^2_{\text{大}} \ \sim\ \chi^2\left(\text{df}_{\text{小}} - \text{df}_{\text{大}}\right)

服の試着に例えられます。項を増やせば、体にはよく合うようになります。ただし、差が誤差の範囲なら、シンプルな服のままでよいと判断するのです。

例題:足の大きさと成績の関連を調べる

前の節の表について、各モデルの G2G^2 を計算すると次のようになりました。

モデルG2G^2自由度p値
[A][B][C][A][B][C]215.8440.001未満
[AB][C][AB][C]191.9930.001未満
[AC][BC][AC][BC]3.8320.148
[AB][AC][BC][AB][AC][BC]3.7510.053

[AC][BC][AC][BC] を5%水準で評価し、λAB\lambda^{AB} を追加する必要があるかを判定しましょう。

【解き方】

  1. [AC][BC][AC][BC] の当てはまり: G2=3.83G^2 = 3.83 は自由度2の5%点5.99より小さいので、棄却されない
  2. 項を足す価値: [AB][AC][BC][AB][AC][BC] との差は 3.83−3.75≈0.083.83 - 3.75 \approx 0.08、自由度は 2−1=12 - 1 = 1
  3. 差の0.08は5%点3.84より小さいので、λAB\lambda^{AB} を足しても当てはまりは有意に改善しない

答えは「λAB\lambda^{AB} は不要で、[AC][BC][AC][BC] を採用する」です。学年を与えれば、足の大きさと成績は独立だと解釈できます。

なお、[AC][BC][AC][BC] の G2G^2 は、定義どおりに 2{15log⁡(15/12)+25log⁡(25/28)+⋯+8log⁡(8/12)}2\{15 \log(15/12) + 25 \log(25/28) + \cdots + 8 \log(8/12)\} と計算できます。

試験のポイント:G2G^2 の差を使えるのは、一方が他方に含まれるモデルどうしだけです。[AB][C][AB][C] と [AC][BC][AC][BC] のように含まれない組は、次の次の記事で学ぶ情報量規準などで比べます。

セルの度数が小さいと χ2\chi^2 近似は悪くなります。項を増やしすぎず、度数の少ない表では正確検定やカテゴリの併合も考えましょう。

以上が、モデルの比較についての解説です。

細かい式を忘れてしまっても問題ありません。ここでは、「度数の対数を足し算で表す」「交互作用が0なら関連なし」「G2G^2 の差でモデルを比べる」という点だけ押さえておきましょう。

今回のまとめ

それでは、今回の内容を振り返ります。

今回は、分割表の関連を足し算の式で表す対数線形モデルについて紹介しました。「どの変数とどの変数が関連しているか」という問いが、「どの交互作用項が必要か」という問いに置き換わります。これで、回帰分析と同じ感覚で分割表を分析できます。

今回のポイントを振り返りましょう。

振り返り

  • 対数線形モデルは、期待度数の対数を、全体の水準と主効果と交互作用の足し算で表す。
  • 2×2の表では、対数オッズ比が 4λ11AB4\lambda^{AB}_{11} になる。交互作用が0とはオッズ比が1のこと。
  • 階層モデルは、高次の項を含むなら低次の項も全部含む。課長がいれば部長もいる組織図。
  • 条件つき独立モデル [AC][BC][AC][BC] の期待度数は ni+k n+jk/n++kn_{i+k}\,n_{+jk}/n_{++k}。
  • グラフィカルモデルでは、点の切り離しから条件つき独立を読み取る。[AB][AC][BC][AB][AC][BC] は含まれない。
  • 含まれる関係のモデルは、G2G^2 の差と自由度の差で比較する。

キーワードのおさらい

  • 対数線形モデル: 分割表の期待度数の対数を、主効果と交互作用の和で表すモデル
  • 飽和モデル: セルの数と同じ数のパラメータをもち、表に完全に当てはまるモデル
  • 階層モデル: ある交互作用項を含むなら、それに含まれる低次の項もすべて含むモデル
  • 条件つき独立モデル: ある変数を固定すると、残りの変数が独立になるモデル
  • グラフィカルモデル(分割表に関する): 変数を点、交互作用を線で表し、クリークごとの交互作用を入れたモデル
  • G2G^2 統計量: 観測度数と期待度数のズレを尤度比で測る統計量

さて、今回の表には、すべてのセルに数字が入っていました。でも、実際のアンケートには空欄がつきものです。空欄のある人を消してしまって、本当に大丈夫なのでしょうか?

次回は、不完全データの扱いである「欠測」について紹介します。

それでは、次の記事へ進んでいきましょう。

練習問題5問開いて挑戦する
問1. 3元分割表の対数線形モデルのうち、階層モデルであるものはどれか。
問2. 変数 AA が3カテゴリ、BB と CC が2カテゴリの3元分割表で、条件つき独立モデル [AC][BC][AC][BC] の自由度として正しいものはどれか。
問3. 条件つき独立モデル [AC][BC][AC][BC] で、層 kk の総度数が60、その層で A=iA = i の度数が30、B=jB = j の度数が20のとき、セル (i,j,k)(i, j, k) の期待度数として正しいものはどれか。
問4. 分割表のグラフィカルモデルで、4変数が AA — BB — CC — DD の一本道で結ばれているとき、グラフから読み取れることとして正しいものはどれか。
問5. 2つのモデルの適合度が、小さいモデルで G2=12.4G^2 = 12.4(自由度5)、それを含む大きいモデルで G2=5.1G^2 = 5.1(自由度4)だった。5%水準の判断として最も適切なものはどれか。ただし自由度1の χ2\chi^2 分布の上側5%点は3.84である。