クロス集計表とナイーブベイズの対応についてのメモ

はじめに

ある日クロス集計表とナイーブベイズを眺めていて、 そもそもこれらはどういう関係性だっけ?と思ったのでその思考メモです。

試行

以下のような所属クラス×性別×利き手の3軸のクロス集計表があるとし、 これを用いて性別と利き手がわかっている人に対して所属クラスを予測したいケースを考えます。

  • 理系クラス
右利き 左利き
男性 30 5
女性 20 5
  • 文系クラス
右利き 左利き
男性 10 5
女性 15 10

これを全体を足して1になるように正規化すると下記のようになり、 これは同時確率と考えることができます。

  • 理系クラス
右利き 左利き
男性 0.30 0.05
女性 0.10 0.15
  • 文系クラス
右利き 左利き
男性 0.10 0.05
女性 0.20 0.05

Yを所属クラス、X1を性別、X2を利き手だとすると 判別対象が女性・左利きの場合、

P(Y=理系クラス,X1=女性,X2=左利き)=0.15

P(Y=文系クラス,X1=女性,X2=左利き)=0.05

となるので文系クラスと予測した方が確率が高くなります。


次に、この同時確率をナイーブベイズに変換していきます。 乗法定理より

P(Y,X1,X2)

=P(Y)P(X1,X2|Y)

=P(Y)P(X1|Y)P(X2|X1,Y)


これにナイーブベイズの条件である説明変数の独立性を考えると、 X2はX1に依存しなくなるので

P(Y,X1,X2)=P(Y)P(X1|Y)P(X2|Y)

となり、これはナイーブベイズの式となります。 この式を元にどちらのクラスに在籍しているかを判別すると、

  • Y=理系の場合

P(Y)P(X1|Y)P(X2|Y)

=(3/5) \times (5/12) \times (1/4)

=1/16


  • Y=文系の場合

P(Y)P(X1|Y)P(X2|Y)

=(2/5) \times (5/8) \times (1/4)

=1/16

とこちらの場合は理系クラスと文系クラスの所属確率が等しくなります。

3軸の集計表ベースだと交互作用は考慮できますが、利き手のみや性別のみの作用を考えることができません。 逆にナイーブベイズだと特徴量の独立の仮定を置いているので、交互作用は考慮できませんが、各要素毎の影響は考慮することができます。あと軸が増えると1地点あたりのサンプルサイズが小さくなる問題も起きにくそうです。

その他、選択肢としては重回帰を使うケースも考えられそうです。 この場合は交互作用項は追加できるが多重共線性が気になるという感じでしょうか。 参考資料2によるとサンプルサイズが小さい時はナイーブベイズに優位性があるようですが、結構データ依存性が高そうです。 (結論しか読めてません)

参考資料

1.http://www3.u-toyama.ac.jp/kkarato/2016/statistics/handout/statistics-2016-23-0705.pdf

2.https://papers.nips.cc/paper/2020-on-discriminative-vs-generative-classifiers-a-comparison-of-logistic-regression-and-naive-bayes.pdf