Traffine I/O

日本語

2022-11-21

カイ二乗検定

カイ二乗検定とは

カイ二乗検定は、主に二つのカテゴリカル変数間に有意な関連があるかどうかを判断するために使用される、仮説検定の手法の一つです。

他の一部の検定とは異なり、カイ二乗検定は母集団の分布についての仮定を必要とせず、「非パラメトリック」と呼ばれています。この検定は、数値データではなく、ジェンダー、色、ブランドの好みなどのカテゴリカルまたは名義尺度のデータを分析するために特別に設計されています。

要するに、カイ二乗検定は、交叉表の各カテゴリにおける観測度数を期待度数と比較します。期待度数は、変数間に関連がない場合に予測される度数です。これらの度数の比較により、研究者は研究対象となる変数の関係についての帰無仮説を受け入れるか棄却するかを決定するのに役立ちます。

カイ二乗検定の概念

カイ二乗検定は、予想される分布と実際の分布の間に有意な差異があるかどうかを判断するために使用される統計手法です。カイ二乗検定は、正の値しか取らず右に歪んだカイ二乗分布を基にした一連の分布です。検定統計量もこの性質に従います。

カイ二乗検定は、データの観測度数と期待度数の差を比較します。ここで、「観測度数」とは実際に収集したデータのことです。「期待度数」とは、変数間に関連がない場合に交叉表の各セルで予想される度数です。

観測度数:

Total
✖︎ a c i
b d j
Total x y N

期待度数:

✖︎ x \times i / N y \times i / N
x \times j / N y \times j / N

カイ二乗統計量は、以下の式を使用して計算されます。

\chi^2 = \sum \frac{(O_i - E_i)^2}{E_i}

ここで、

  • \chi^2 = カイ二乗統計量
  • O_i = 観測度数
  • E_i = 期待度数
  • \sumは交叉表の全てのセルに対してこの計算を行うことを示しています。

この計算の結果得られる\chi^2は、観測度数が期待度数に近い場合(つまり、変数が独立している可能性が高い場合)、\chi^2統計量は小さくなります。一方、観測度数が期待度数から大きく逸脱する場合(つまり、変数が独立していない可能性が高い場合)、\chi^2統計量は大きくなります。

カイ二乗検定の仮説

全ての仮説検定と同様に、カイ二乗検定では帰無仮説と対立仮説が使用されます。

カイ二乗検定の帰無仮説(H_0)は、カテゴリカル変数間に関連がないことです。つまり、変数は独立しています。

対立仮説(H_1)は、変数間に関連があること、つまり独立ではないことを述べます。

カイ二乗検定の種類

カイ二乗検定は、カイ二乗分布に従う仮説の下で、複数の統計的検定からなるグループです。いくつかの異なるタイプのカイ二乗検定が存在しますが、特に一般的なものには以下の3つがあります: 独立性のカイ二乗検定、適合度のカイ二乗検定、均質性のカイ二乗検定です。

独立性のカイ二乗検定

独立性のカイ二乗検定、または関連性のカイ二乗検定とも呼ばれるものは、二つのカテゴリカル変数間に有意な関連があるかどうかを判断するために使用されます。つまり、変数が独立しているか関連しているかを検定します。

この検定の帰無仮説は、変数が独立しているということを述べます。一方、対立仮説は、変数が独立していない、つまり関連性や関係性があることを述べます。

適合度のカイ二乗検定

適合度のカイ二乗検定は、観測されたカテゴリカルデータがある期待される分布に適合しているかどうかを判断するために使用されます。この検定は、観測された頻度分布が特定の理論的分布に適合するという仮説を検定するために一般的に使用されます。

適合度のカイ二乗検定の帰無仮説は、観測データが期待される分布に適合しているということを述べます。一方、対立仮説は、観測データが期待される分布に適合していないということを述べます。

均質性のカイ二乗検定

均質性のカイ二乗検定は、複数のサンプル(集団)が単一のカテゴリカル変数の分布を共有しているかどうかを判断するために使用されます。例えば、政党の選好が3つの異なる年齢層で同じ分布を持つかどうかを検定するために、均質性のカイ二乗検定を使用することがあります。

均質性のカイ二乗検定の帰無仮説は、集団が同じ分布を持つ、つまり均質であるということを述べます。一方、対立仮説は、集団が同じ分布を持たず、均質ではないということを述べます。

カイ二乗検定の実施手順

カイ二乗検定の実施にはいくつかのステップがあります。以下に一般的に行われる手順を示します。

仮説の定義

まず最初に、帰無仮説と対立仮説を定義します。カイ二乗検定では、帰無仮説は通常、変数が独立していることを述べ、対立仮説は変数が独立していないことを述べます。

検定統計量の計算

次に、観測度数の交叉表を作成します。この表から、期待度数を計算します。交叉表の各セルの期待度数は、(行の合計 × 列の合計)/ 全体の合計で計算されます。

その後、以下の式を使用してカイ二乗統計量を計算します。

\chi^2 = \sum \frac{(O_i - E_i)^2}{E_i}

ここで、

  • \chi^2 = カイ二乗統計量
  • O_i = 観測度数
  • E_i = 期待度数
  • \sumは交叉表の全てのセルに対してこの計算を行うことを示しています。

臨界値の決定

次のステップは、カイ二乗分布から臨界値を決定することです。これには、検定の自由度を知る必要があります。独立性のカイ二乗検定の場合、自由度は(行の数 - 1)×(列の数 - 1)で計算されます。

自由度が分かれば、カイ二乗分布表から臨界値を見つけることができます。臨界値は、帰無仮説を棄却するために検定統計量が超えなければならない数値です。

結果の解釈

最後に、カイ二乗検定統計量を臨界値と比較して、帰無仮説を受け入れるか棄却するかを判断します。

  • カイ二乗検定統計量が臨界値よりも大きい場合、帰無仮説を棄却します。これは、観測度数が期待度数と有意に異なることを示し、変数間に有意な関連があることを示唆しています。
  • カイ二乗検定統計量が臨界値以下である場合、帰無仮説を棄却できません。これは、観測度数が期待度数と有意に異ならず、変数間の関連がないことを示しています。

Pythonによるカイ二乗検定の実装

Pythonでのカイ二乗検定の実装は非常に簡単です。以下にその例を示します。

まず、必要なライブラリをインポートします。

python
import numpy as np
import scipy.stats as stats

次に、観測度数を交叉表として定義します。

python
# Observed data in each category
observed = np.array([[10, 15, 20], [20, 15, 15]])

scipy.statschi2_contingency関数を使用して、カイ二乗検定を実行します。この関数は、観測された交叉表の観測度数に対するカイ二乗統計量とp値を計算します。

python
chi2, p, dof, expected = stats.chi2_contingency(observed)

この関数は、次の4つの値を返します。

  • chi2: カイ二乗統計量
  • p: 検定のp値
  • dof: 自由度
  • expected: 期待度数(交叉表の周辺合計から計算される)

最後に、これらの値を出力します。

python
print("Chi-square statistic = ", chi2)
print("p-value = ", p)
print("Degrees of freedom = ", dof)
print("Expected contingency table: \n", expected)
Chi-square statistic =  3.7949735449735464
p-value =  0.14994499194861846
Degrees of freedom =  2
Expected contingency table:
 [[14.21052632 14.21052632 16.57894737]
 [15.78947368 15.78947368 18.42105263]]

カイ二乗検定の結果に基づいて、以下のように結果を解釈できます。

  • カイ二乗統計量
    カイ二乗統計量の値が3.79で、これは観測データと仮説が独立している場合に期待される値との間の差を測定しています。

  • p値
    p値が0.1499であり、観測データ(またはそれ以上の極端なデータ)が仮説が真である場合に得られる確率です。通常、0.05の閾値(\alpha)が使用されます。p値が\alphaよりも小さい場合、帰無仮説を棄却します。この場合、p値は0.05よりも大きいため、帰無仮説を棄却することはできません。つまり、データに基づいて、変数間に有意な関連があるという十分な証拠はないことを示しています。

  • 自由度
    検定の自由度は2です。これは、交叉表の行数から1を引いた値と、列数から1を引いた値をかけ合わせたものです。

  • 期待度数の交叉表
    これは、帰無仮説が真である場合に期待される交叉表です。これらの値は、観測データの周辺合計に基づいて計算されます。観測データと比較して、どのセルでもっとも大きな差異があるかを確認することができます。

カイ二乗検定の結果から、対象となる変数間には有意な関連がないことが示唆されます。p値が0.05よりも大きいため、帰無仮説を棄却する十分な証拠はありません。

Ryusei Kakujo

researchgatelinkedingithub

Focusing on data science for mobility

Bench Press 100kg!