Python でカイ二乗適合度検定を実行する方法
カイ二乗適合度検定は、カテゴリ変数が仮説分布に従うかどうかを判断するために使用されます。
このチュートリアルでは、Python でカイ二乗適合度検定を実行する方法を説明します。
例: Python でのカイ二乗適合度検定
店主は、毎日同じ数の顧客が店に来ると言いました。この仮説を検証するために、研究者は特定の週に来店する顧客の数を記録し、次のことを発見しました。
- 月曜日: 50 人の顧客
- 火曜日:お客様60名
- 水曜日:お客様40名
- 木曜日:お客様47名
- 金曜日: 53名のお客様
次の手順を使用して、Python でカイ 2 乗適合度検定を実行し、データが店舗所有者の主張と一致しているかどうかを判断します。
ステップ 1: データを作成します。
まず、毎日の観察された顧客数と予想される顧客数を含む 2 つのテーブルを作成します。
expected = [50, 50, 50, 50, 50] observed = [50, 60, 40, 47, 53]
ステップ 2: カイ二乗適合度検定を実行します。
次に、SciPy ライブラリのカイ 2 乗関数を使用してカイ 2 乗適合度検定を実行できます。この関数は次の構文を使用します。
カイ二乗 (f_obs, f_exp)
金:
- f_obs:観測されたカウントの配列。
- f_exp:期待されるカウントの配列。デフォルトでは、各カテゴリの可能性は等しいと想定されます。
次のコードは、特定の例でこの関数を使用する方法を示しています。
import scipy.stats as stats #perform Chi-Square Goodness of Fit Test stats.chisquare(f_obs=observed, f_exp=expected) (statistic=4.36, pvalue=0.35947)
カイ二乗検定統計量は4.36で、対応する p 値は0.35947です。
p 値は、n-1 自由度 (dof) のカイ 2 乗値に対応することに注意してください。ここで、n は異なるカテゴリの数です。この場合、 dof = 5-1 = 4 です。カイ 2 乗から P 値への計算ツールを使用して、 dof = 4 の X 2 = 4.36 に対応する p 値が0.35947であることを確認できます。
カイ二乗適合度検定では次の帰無仮説と対立仮説が使用されることを思い出してください。
- H 0 : (帰無仮説)変数は仮説の分布に従います。
- H 1 : (対立仮説)変数は仮説の分布に従いません。
p 値 (0.35947) は 0.05 未満ではないため、帰無仮説を棄却できません。これは、顧客の本当の分布が店主が報告したものと異なると言える十分な証拠がないことを意味します。