2つの変数の物語

Pythonで学ぶstatsmodelsによる回帰入門

Maarten Van den Broeck

Content Developer at DataCamp

スウェーデン自動車保険データ

  • 各行はスウェーデンの1地域を表す。
  • 行数は63。
n_claims total_payment_sek
108 392.5
19 46.2
13 15.7
124 422.2
40 119.4
... ...
Pythonで学ぶstatsmodelsによる回帰入門

記述統計

import pandas as pd
print(swedish_motor_insurance.mean())
n_claims             22.904762
total_payment_sek    98.187302
dtype: float64
print(swedish_motor_insurance['n_claims'].corr(swedish_motor_insurance['total_payment_sek']))
0.9128782350234068
Pythonで学ぶstatsmodelsによる回帰入門

回帰分析とは?

  • 目的変数と説明変数の関係を探るための統計モデル。
  • 説明変数の値をもとに、目的変数の値を予測できる。
n_claims total_payment_sek
108 3925
19 462
13 157
124 4222
40 1194
200 ???
Pythonで学ぶstatsmodelsによる回帰入門

専門用語

目的変数(従属変数)

予測したい変数。

説明変数(独立変数)

目的変数の変化を説明する変数。

Pythonで学ぶstatsmodelsによる回帰入門

線形回帰とロジスティック回帰

線形回帰

  • 目的変数は数値型です。

ロジスティック回帰

  • 目的変数は論理型です。

単純線形/ロジスティック回帰

  • 説明変数は1つのみです。
Pythonで学ぶstatsmodelsによる回帰入門

変数のペアの可視化

import matplotlib.pyplot as plt
import seaborn as sns

sns.scatterplot(x="n_claims",
                y="total_payment_sek",    
                data=swedish_motor_insurance)

plt.show()

請求件数に対する総支払額の散布図。請求件数が増えるにつれて支払額も増加する。

Pythonで学ぶstatsmodelsによる回帰入門

線形トレンドラインの追加

sns.regplot(x="n_claims",
            y="total_payment_sek",
            data=swedish_motor_insurance,
            ci=None)

前述の散布図に、線形回帰によるトレンドラインが追加されたもの。データに対して妥当なフィットを示している。

Pythonで学ぶstatsmodelsによる回帰入門

コースの流れ

第1章

線形回帰モデルの可視化とフィッティング。

第2章

線形回帰モデルによる予測とモデル係数の理解。

第3章

線形回帰モデルの品質評価。

第4章

ロジスティック回帰モデルについて同様の内容を扱う。

Pythonで学ぶstatsmodelsによる回帰入門

回帰分析用Pythonパッケージ

statsmodels

  • 統計的洞察に最適化(本コースで使用)

scikit-learn

  • 予測に最適化(他のDataCampコースで使用)
Pythonで学ぶstatsmodelsによる回帰入門

では、練習しましょう!

Pythonで学ぶstatsmodelsによる回帰入門

Preparing Video For Download...