線形回帰を当てはめる

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

Maarten Van den Broeck

Content Developer at DataCamp

直線は2つで定義される

切片

$x=0$ のときの $y$ の値。

傾き

$x$ を1増やしたときに $y$ が増える量。

方程式

$y = \text{intercept} + \text{slope} * x$

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

切片の推定

請求件数に対する総支払いの散布図と線形トレンド線。請求件数が増えると支払いは直線的に増加。

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

切片の推定

トレンド線がy軸と交わる点を注記した散布図。

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

切片の推定

請求件数が0のときの値を注記した散布図。

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

傾きの推定

トレンド線上の2点を注記。1点は1500クローナ・40件、もう1点は3500クローナ・100件。

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

傾きの推定

請求件数に対する総支払いの散布図。2点間の支払い差を注記。3500クローナ − 1500クローナ = 2000クローナ。

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

傾きの推定

請求件数に対する総支払いの散布図。2点間の請求件数の差を注記。100件 − 40件 = 60件。

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

傾きの推定

請求件数の差と支払い差の比を注記。2000 ÷ 60 ≈ 33。

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

モデルを実行する

from statsmodels.formula.api import ols

mdl_payment_vs_claims = ols("total_payment_sek ~ n_claims", data=swedish_motor_insurance)
mdl_payment_vs_claims = mdl_payment_vs_claims.fit()
print(mdl_payment_vs_claims.params)
Intercept    19.994486
n_claims      3.413824
dtype: float64
Pythonで学ぶstatsmodelsによる回帰入門

係数の解釈

Intercept    19.994486
n_claims      3.413824
dtype: float64

方程式

$\text{total\_payment\_sek} = 19.99 + 3.41 * \text{n\_claims}$

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

Let's practice!

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

Preparing Video For Download...