始める無料で始める

デビアンスと線形変換

これまでの演習で見てきたように、モデル当てはまりが良くなる変数を追加するとデビアンスは減少します。本演習では、井戸の切り替えデータの例を用い、distance 変数で当てはめたモデルをもとに、その変数に線形変換を行うと何が起きるかを確認します。

distance100 は元の distance を 100 で割ったもので、結果の表現や解釈をよりわかりやすくするための変換です。wells.head() を使うと、先頭 5 行のデータを確認できます。

wells データセットと、'swicth ~ distance100' のモデルは model_dist としてあらかじめ読み込まれています。

この演習はコースの一部です

Pythonで学ぶ一般化線形モデル

コースを見る

演習の手順

  • statsmodelssm として、さらに glm() 関数をインポートします。
  • 説明変数を distance、目的変数を switch としてロジスティック回帰モデルを当てはめ、model_dist_1 として保存します。
  • 現在のモデルと、説明変数が distance100 のモデルとのデビアンスの差を確認して出力します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Import functions
import ____.api as ____
from ____.____.api import ____

# Fit logistic regression model as save as model_dist_1
model_dist_1 = ____('____ ~ ____', data = ____, family = ____).____

# Check the difference in deviance of model_dist_1 and model_dist
print('Difference in deviance is: ', round(____.____ - ____.____,3))
コードを編集して実行