オッズで表す係数
前の演習では、arsenic の水準に基づいて井戸を切り替える確率に対して、ロジスティック回帰モデルを当てはめました。この演習では、別の変数 distance100 が切り替え確率とどのように関係するかを調べ、係数をオッズの観点で解釈します。
ロジスティック回帰モデルは対数オッズで表されるので、x が1単位増加したときにオッズが何倍になるかを得るには、係数推定値を指数関数で変換します。これは オッズ比 とも呼ばれます。
オッズは、事象が起こる確率と起こらない確率の比です。例えば、ゲームに勝つオッズが 1/2、つまり 1 対 2 (1:2) であれば、1回の勝ちに対して2回の負けがあるという意味です。
データセット wells はワークスペースに読み込まれています。
この演習はコースの一部です
Pythonで学ぶ一般化線形モデル
演習の手順
statsmodelsライブラリと、statsmodels.formula.apiからglm関数をインポートしてください。あわせてnumpyをnpとしてインポートします。glm()を使い、switchをdistance100で予測するロジスティック回帰モデルを当てはめます。.paramsを使ってモデル係数を抽出します。numpyのexp()関数で、オッズに対する乗法効果を計算します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Load libraries and functions
import ____.api as sm
from ____.____.api import glm
import ____ as ____
# Fit logistic regression model
model_GLM = ____(formula = ____,
data = ____,
family = ____.____.____).____
# Extract model coefficients
print('Model coefficients: \n', ____.____)
# Compute the multiplicative effect on the odds
print('Odds: \n', np.____(____.____))