クラメールのV(Cramer’s V)について
クラメールのV(Cramer’s V)ってなに?
クラメールのV(Cramer’s V)について紹介します。
クラメールのVは、2変量間における質的なデータ(カテゴリカル)のクロス集計表について、その変数間に関連性があるかどうかを評価する指標です。
名前のとおり、提唱した方はクラメール(Harald Cramér)さんです。
指標は0から1の範囲を取り、1に近いほど関連が強いことを意味します。この点は相関係数と似た点がありますが、使いどころの違いについても紹介します。
式としては以下のとおりです。
\[V = \sqrt{\frac{\chi^2}{N \times \min(r-1, c-1)}}\]
\(\chi^2\)はカイ二乗値です。端的に言えば、カイ二乗値が高いほど変数間の関連性が高いことが示唆されます。
変数間の関連性が高いというのは、クロス集計表の行和、列和、サンプルサイズから得られる期待値から大きく乖離していることを指します。
そのカイ二乗値は、サンプルサイズ\(N\)とクロス集計表の列数または行数の内、小さい方から1を引いた量を掛けた値と最大と一致するので、それを0~1で表現します。
例えば以下表の場合
\[ \begin{array}{c|cccc} & Grp_1 & Grp_2 & Grp_3 & Grp_4 \\ \hline Val_A & 1 & 5 & 2 & 4 \\ Val_B & 6 & 3 & 20 & 6 \\ Val_C & 5 & 16 & 16 & 4 \\ Val_D & 1 & 8 & 2 & 1 \\ \end{array} \]
カイ二乗値は\(22.12\)になります。
※通常5未満の値を含む場合はイエーツの補正を行いますが、クラメールのVを計算するにはイエーツの補正は行いません。
この場合、サンプル数は100、行列はどちらも4のため\(4-1=3\)なので分母は300になります。
\[ \sqrt{\frac{22.12}{300}} \fallingdotseq 0.271 \]
クラメールのVは0.271ということで、一般的には、0.1で小、0.3で中、0.5以上で大と言われているので、中程度でしょうか。
では、限りなくクラメールのVが高くなる状態はどのような行列でしょうか。
\[ \begin{array}{c|cccc} & Grp_1 & Grp_2 & Grp_3 & Grp_4 \\ \hline Val_A & 25 & 0 & 0 & 0 \\ Val_B & 0 & 25 & 0 & 0 \\ Val_C & 0 & 0 & 25 & 0 \\ Val_D & 0 & 0 & 0 & 25 \\ \end{array} \]
この場合はカイ二乗値が300になりますので、分子=分母でクラメールのVは1になります。
また、以下のように表を組み替えても、カイ二乗値は変わらないので、クラメールのVは1になります。
\[ \begin{array}{c|cccc} & Grp_1 & Grp_2 & Grp_3 & Grp_4 \\ \hline Val_A & 0 & 25 & 0 & 0 \\ Val_B & 25 & 0 & 0 & 0 \\ Val_C & 0 & 0 & 0 & 25 \\ Val_D & 0 & 0 & 25 & 0 \\ \end{array} \]
同じ発想で、最初の行列を100倍しても、カイ二乗も100倍、N数も100倍されるので、クラメールのVは変わりません。
\[ \begin{array}{c|cccc} & Grp_1 & Grp_2 & Grp_3 & Grp_4 \\ \hline Val_A & 100 & 500 & 200 & 400 \\ Val_B & 600 & 300 & 2000 & 600 \\ Val_C & 500 & 1600 & 1600 & 400 \\ Val_D & 100 & 800 & 200 & 100 \\ \end{array} \]
このことから、クラメールのVはサンプルサイズに影響しないことがわかります。
無作為に生成したデータからクラメールのVが高いクロス集計表を選定する
サンプル数を100として、4×4のクロス集計表を5000回生成し、クラメールのVを算出します。
また検定のp値との関連性を可視化します。
まずp値の分布です。0~1まで幅広く算出されていることから生成そのものは一様性があることが確認されます。
0.05未満の結果は4.92%出現しているため、この点も一様性として問題ないかと思います。
次にp値とクラメールのVの分布を可視化します。
当然のことながら、p値が低い⇒期待値から乖離しているということで、低くなるほどクラメールのVが高くなっていることが確認できます。
一方で、最も高くても0.35程度ということでクラメールのVの値が0.5を超えるケースは5000回やっても出現しない、ということがわかりました。
試しにサンプル数を1000件にしてもう一度シミュレーションします。
サンプルサイズを増やした結果、今度は更にクラメールのVのベースが下がりました。
これは、理論上示されていた「サンプル数に依存しない」という観点と感覚的にはズレた印象があります。
理由としては、サンプルサイズが増えたことで、ランダム生成されたデータのノイズが標準化され、本来の姿である『無相関(V=0)』に近づいたことが考えられます。
同様に、グループに偏りがある場合において、例えばマイノリティグループで強い傾向が示せたとしても、全体が無相関であれば、クラメールのVも0に近づくことが考えられます。この点は使いどころとしての留意点と感じます。
例:統計的に有意だったが、クラメールのVが低く、マイノリティグループの傾向が掴めなかったので棄却する
⇒ちょっともったいない。
それなりにサンプル数があり、クラメールのVが高い状態をシミュレーションする
クラメールのVが高い状態は、つまるところ2変量間に相関性があることを示すことになります。
ここまでの内容を踏まえると、カイ二乗値が十分に高く、p値が非常に小さい「だけ」では達成ができません。
したがって、2変量間へ意図的な相関性を与えることが必要になります。
これは以下の図のような連続変量であれば比較的容易ですが、
質的なデータのように限られた区分で表現するには工夫が必要になります。
今回は上のような連続変量を算出し、出現した値の統計的な発生率を用いて、二項分布を生成する、というかたちで 作成しました。
検定のp値は天文学的な低さです。この発生率は先ほどのアプローチではなかなか出せないケースだと思います。
クラメールのVと相関係数の関係性
どちらも関連性を示す指標としては同じですが、
ポイントとしては
・クラメールのV:0~1の値(もはや比率と行っても良い)
・相関係数:-1~1の値
ということで値の幅が異なり、相関係数では負と正の表現ができます。
先ほどのクロス集計表では以下のようになりました。
・クラメールのV:0.51023
・相関係数:0.7193
相関係数は指標A~Dへ1~4の数字を割り当ててスコア化しています。
一方で2×2表については符号を考慮しなければクラメールのVと相関係数は一致することが知られています。
\[ \begin{array}{c|cccc} & Grp_1 & Grp_2 \\ \hline Val_A & 3 & 100 \\ Val_B & 500 & 8 \\ \end{array} \]
・クラメールのV:0.93738
・相関係数:-0.93738
使いどころに注意しながらクラメールのVを活用して分析してみてください。

