カイ二乗検定

Pythonで学ぶアンケートデータ分析

EbunOluwa Andrew

Data Scientist

カイ二乗検定

  • カテゴリ変数の分布に関する推測
    • 観測値と期待値を比較

Edge2Edge Media によるサイコロの写真(Unsplash)

Pythonで学ぶアンケートデータ分析

調査分析におけるカイ二乗検定

  • 集団の2つのカテゴリ変数の関係を判定
  • $H_{o}$ = 変数間に関係なし
  • $H_{a}$ = 変数間に関係あり
  • p値
    • 有意 (<0.05) の場合、帰無仮説を棄却
    • 有意でない (>0.05) 場合、帰無仮説を採択
Pythonで学ぶアンケートデータ分析

調査分析でカイ二乗検定を使う理由

  • 出力変数に関係する入力変数を特定

  • 変数が集団に与える影響を把握

  • 差が偶然か、統計的に有意かを確認

Firmbee.com によるアンケート結果の写真(Unsplash)

1 Photo by Firmbee.com on Unsplash
Pythonで学ぶアンケートデータ分析

調査分析でのカイ二乗検定の前提

  • 両変数はカテゴリ型
  • 集団から無作為抽出
  • サンプルサイズ > 100
  • 期待度数 >=5
Pythonで学ぶアンケートデータ分析

カイ二乗分析用の調査データ

pet_type current_pets time_spent reduces_stress
dog 1 420 yes
dog 1 180 yes
dog 4 30 yes
dog 1 30 yes
dog 1 60 yes
Pythonで学ぶアンケートデータ分析

カイ二乗分析用の調査データ

  • サンプルサイズ >100
  • 2つのカテゴリ変数:
    • pet_type
    • reduces_stress
  • $$H_{o} $$ 飼っているペットの種類と、ストレスが減るという認識には関係がない
  • $$H_{a}$$ 飼っているペットの種類と、ストレスが減るという認識には関係がある
Pythonで学ぶアンケートデータ分析

Pythonでのpet_surveyのカイ二乗分析手順

import pandas as pd
import scipy.stats as st
data = pd.read_csv('pet_survey.csv') 

cross_table = pd.crosstab(data.reduces_stress, data.pet_type)
chi_analysis = st.chi2_contingency(cross_table)
print(chi_analysis)
|--------------------------|
| (67.7,                   | 
| 1.9e-16,                 |
| 1,                       |
| array([[1767.0, 1825.0], |
| [2251.0, 2325.0]]))      |
Pythonで学ぶアンケートデータ分析

pet_survey の結果と解釈

  • 度数 >= 5

    • 結果は有効
  • p値 < 0.05

    • 帰無仮説を棄却
    • pet_ownedreduces_stress は関連あり
  • 飼うペットの種類は、ストレス軽減の認識に影響する

カイ二乗検定の結果

Pythonで学ぶアンケートデータ分析

練習してみましょう!

Pythonで学ぶアンケートデータ分析

Preparing Video For Download...