regplot() でモデル当てはまりを可視化する
モデルを当てはめて分析したら、観測点と適合したロジスティック回帰をあわせてプロットし、可視化できます。
このプロットを使うと、説明変数の取りうる範囲にわたって、説明変数と応答の関係を直感的に理解できます。
これには seaborn モジュールの regplot() 関数が使えます。regplot() には logistic という引数があり、与えられたデータに対してロジスティック回帰モデルを推定するかどうかを True または False で指定できます。これにより適合曲線のプロットも作成されます。
先ほど当てはめたモデルを思い出してください:
$$
\log\bigg(\frac{y}{1-y}\bigg) = -0.3055 + 0.3791*\text{arsenic}
$$
データセット wells はすでにワークスペースに読み込まれています。
この演習はコースの一部です
Pythonで学ぶ一般化線形モデル
演習の手順
- データ
wellsを使い、x 軸にarsenic、y 軸にswitchをプロットします。 - 応答の値が見やすくなるよう、
y_jitterを 0.03 に設定してばらつかせます。 - 与えられたデータにロジスティック関数を重ねて描画するため、引数
logisticにはTrueを指定し、信頼区間の表示をしないで計算を高速化するために、引数ciはNoneに設定します。 plt.show()を使ってプロットを表示します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Plot arsenic and switch and add overlay with the logistic fit
sns.regplot(x = ____, y = ____,
y_jitter = ____,
data = ____,
logistic = ____,
ci = ____)
# Display the plot
____