Pythonで学ぶ一般化線形モデル
Ita Cirovic Donev
Data Science Consultant
例:
非集計
集計


テスト結果: $PASS=1$ または $FAIL=0$
目標
$P(y=1)=\beta_0 + \beta_1x_1$
$P(\text{Pass})=\beta_0 + \beta_1 \times \text{学習時間}$

テスト結果: $PASS=1$, $FAIL=0$
目標
$P(y=1)=\beta_0 + \beta_1x_1$
$P(\text{Pass})=\beta_0 + \beta_1 \times \text{学習時間}$
$f(z) = \frac{1}{(1+\exp(-z))}$
$$ ODDS = \frac{\text{事象が起こる}}{\text{起こらない}} $$
$$ \text{オッズ比} = \frac{odds 1}{odds 2} $$
4試合

オッズは3対1

$$ \text{odds} \neq \text{probability} $$
$$ \text{odds} = \frac{\text{probability}}{1-\text{probability}} $$
$$ \text{probability} = \frac{\text{odds}}{1+\text{odds}} $$
ステップ1. 確率モデル
$E(y)=\mu=P(y=1)=\beta_0 + \beta_1x_1$
ステップ2. ロジスティック関数
$f(z) = \large{\frac{1}{(1+\exp(-z))}}$
ステップ3. ロジスティック関数を適用 $\rightarrow$ 逆ロジット
$\mu = \large{\frac{1}{1+\exp(-(\beta_0+\beta_1x_1))}} = \large{\frac{\exp(\beta_0+\beta_1x_1)}{1+\exp(\beta_0+\beta_1x_1)}}$
$1-\mu = \large{\frac{1}{1+\exp(\beta_0+\beta_1x_1)}}$
$$ LOGIT(\mu)=log(\frac{\mu}{1-\mu}) = \beta_0+\beta_1x_1 $$
関数 - glm()
model_GLM = glm(formula = 'y ~ x',
data = my_data,
family = sm.families.Binomial()).fit
入力
y = [0,1,1,0,...]
y = ['No','Yes','Yes',...]
y = ['Fail','Pass','Pass',...]
Pythonで学ぶ一般化線形モデル