pythonでやる独立性の検定
前提
グラフの描画はseabornを使います
pythonスクリプト
import pandas as pd import scipy.stats as st import matplotlib.pyplot as plt import seaborn as sns df = pd.DataFrame(columns=['value1','value2']) df.loc['A'] = [500,301] df.loc['B'] = [502,234] df
result = st.chi2_contingency(df) df2 = pd.DataFrame([result], columns=['chi_square','p値','dof','expected']) df2
plt.figure(figsize=(14,5)) r = st.chi2.rvs(df2['dof'], size=10000) ax = sns.distplot(r) ax.axvline(df2['chi_square'].array, color='red')
データの読み取り
カイ二乗分布は発生しにくい値は数値が大きくなる特徴を持つことにより棄却域は右側におき、片側検定となる。 なので赤いラインより右側の面積がp値となる。