カテゴリーデータの集計や疫学的なクロスを扱う場合、モザイク図、オッズ比などが使えると便利です。
モザイク図
クロス集計したデータをみる場合、構成比をわかりやすくするために、モザイク図を使いたいことがあります。statsmodelsにまんまの名前で存在しています。
import numpy as np d = np.array([[80,20],[20,80]]) #クロス集計で作る場合 #crossed = pd.crosstab(data.A, data.B) from statsmodels.graphics.mosaicplot import mosaic mosaic(d)
オッズ比など
データの収集の過程の問題で、比率が意味を持たない時などにオッズ比で比をみたい場合があります。 statsmodelsにはオッズ比やリスク比を算出してくれる機能があります。
import statsmodels.api as sm table = sm.stats.Table2x2(d) table.summary(method='normal')
Estimate SE LCB UCB p-value Odds ratio 16.000 8.002 31.994 0.000 Log odds ratio 2.773 0.354 2.080 3.466 0.000 Risk ratio 4.000 2.670 5.992 0.000 Log risk ratio 1.386 0.206 0.982 1.790 0.000
また、クロスで使用するカイ二乗検定はこちら。