• home
  • about
  • 全ての投稿
  • ソフトウェア・ハードウェアの設定のまとめ
  • 分析関連のまとめ
  • ヘルスケア関連のまとめ
  • 生涯学習関連のまとめ

カイ二乗検定

date: 2019-09-01 excerpt: カイ二乗検定について

tag: statisticsカイ二乗検定


カイ二乗検定について

概要

  • 独立な正規分布に従う2つの要素が同一か同一でないかを検定する

表の具体例

イェーツの補正

\[\chi^2 = \frac{N \left(|ad-bc| - \frac{N}{2} \right)^2}{(a+b)(c+d)(a+c)(b+d)}\]

pythonで計算する場合

凡例

from scipy.stats import chi2_contingency
chi2, p, dof, ex = chi2_contingency([X0, X1, ..., Xn], [Y0, Y1, ..., Yn])
  • p; p値
  • ex; 期待値

具体例

  • 特定の単語の出現確率がラベルと関係があるかどうかを確認する
  • ラベルの分布は各クラス[85, 36]個ある
from scipy.stats import chi2_contingency
import numpy as np

tmp = []
for term, data in dic.items():
    obs = np.array(data.obs).astype(float) # 観測された個数
    f_exp = np.array([85, 36]).astype(float) # 期待値
    chi2, p, dof, ex = chi2_contingency([obs, f_exp], correction=False) # correctionはイェーツの補正を行うかどうか
    w = obs[1]/(obs.sum())/(f_exp[1]/ f_exp.sum())
    tmp.append((term, w,p,obs,f_exp))
x = pd.DataFrame(tmp)
x.columns = ["term", "w", "p", "obs", "exp"]

with pd.option_context("display.max_rows", None, "display.max_columns", None):
    display(x.sort_values(by=["p"]))


statisticsカイ二乗検定 Share Tweet