Python で cramer's v を計算する方法
Cramer’s V は、 2 つの名目変数間の関連の強さの尺度です。
0 から 1 まで変化します。
- 0 は、 2 つの変数間に関連性がないことを示します。
- 1 は、 2 つの変数間の強い関連性を示します。
次のように計算されます。
クラマーの V = √ (X 2 /n) / min(c-1, r-1)
金:
- X 2 :カイ二乗統計量
- n:合計サンプルサイズ
- r:行数
- c:列数
このチュートリアルでは、Python で分割表の Cramer’s V を計算する例をいくつか示します。
例 1: 2×2 テーブルの Cramer の V
次のコードは、2×2 テーブルの Cramer’s V を計算する方法を示しています。
#load necessary packages and functions import scipy. stats as stats import numpy as np #create 2x2 table data = np. array ([[7,12], [9,8]]) #Chi-squared test statistic, sample size, and minimum of rows and columns X2 = stats. chi2_contingency (data, correction= False )[0] n = np. sum (data) minDim = min( data.shape )-1 #calculate Cramer's V V = np. sqrt ((X2/n) / minDim) #display Cramer's V print(V) 0.1617
Cramer の V は0.1617であることがわかり、これは表内の 2 つの変数間の関連性がかなり弱いことを示しています。
例 2: 大きなテーブルの場合は Cramer’s V
CramerV関数を使用して、任意のサイズの配列の Cramer の V を計算できることに注意してください。
次のコードは、2 行 3 列のテーブルの Cramer’s V を計算する方法を示しています。
#load necessary packages and functions import scipy. stats as stats import numpy as np #create 2x2 table data = np. array ([[6,9], [8, 5], [12, 9]]) #Chi-squared test statistic, sample size, and minimum of rows and columns X2 = stats. chi2_contingency (data, correction= False )[0] n = np. sum (data) minDim = min( data.shape )-1 #calculate Cramer's V V = np. sqrt ((X2/n) / minDim) #display Cramer's V print(V) 0.1775
Cramer の V は0.1775であることがわかります。
この例では 2 行 3 列のテーブルを使用しましたが、まったく同じコードがどの次元のテーブルでも機能することに注意してください。