Dopasowywanie regresji liniowej

Wprowadzenie do regresji z użyciem statsmodels w Pythonie

Maarten Van den Broeck

Content Developer at DataCamp

Prosta jest określona przez dwa elementy

Punkt przecięcia z osią Y

Wartość $y$, gdy $x$ wynosi zero.

Nachylenie

Wzrost wartości $y$ przy zwiększeniu $x$ o jeden.

Równanie

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

Wprowadzenie do regresji z użyciem statsmodels w Pythonie

Szacowanie punktu przecięcia z osią Y

Wykres punktowy całkowitej płatności w zależności od liczby roszczeń z linią trendu. Płatność rośnie liniowo wraz ze wzrostem liczby roszczeń.

Wprowadzenie do regresji z użyciem statsmodels w Pythonie

Szacowanie punktu przecięcia z osią Y

Wykres punktowy całkowitej płatności w zależności od liczby roszczeń z zaznaczonym miejscem przecięcia linii trendu z osią Y.

Wprowadzenie do regresji z użyciem statsmodels w Pythonie

Szacowanie punktu przecięcia z osią Y

Wykres punktowy całkowitej płatności w zależności od liczby roszczeń z zaznaczoną wartością przy zerowej liczbie roszczeń.

Wprowadzenie do regresji z użyciem statsmodels w Pythonie

Szacowanie nachylenia

Wykres punktowy całkowitej płatności w zależności od liczby roszczeń z zaznaczonymi dwoma punktami na linii trendu. Jeden punkt to 1500 koron i 40 roszczeń; drugi to 3500 koron i 100 roszczeń.

Wprowadzenie do regresji z użyciem statsmodels w Pythonie

Szacowanie nachylenia

Wykres punktowy całkowitej płatności w zależności od liczby roszczeń z zaznaczoną różnicą płatności między dwoma punktami. 3500 koron minus 1500 koron to 2000 koron.

Wprowadzenie do regresji z użyciem statsmodels w Pythonie

Szacowanie nachylenia

Wykres punktowy całkowitej płatności w zależności od liczby roszczeń z zaznaczoną różnicą liczby roszczeń między dwoma punktami. 100 roszczeń minus 40 roszczeń to 60 roszczeń.

Wprowadzenie do regresji z użyciem statsmodels w Pythonie

Szacowanie nachylenia

Wykres punktowy całkowitej płatności w zależności od liczby roszczeń z zaznaczonym stosunkiem różnicy płatności do różnicy liczby roszczeń. 2000 podzielone przez 60 to około 33.

Wprowadzenie do regresji z użyciem statsmodels w Pythonie

Uruchamianie modelu

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
Wprowadzenie do regresji z użyciem statsmodels w Pythonie

Interpretacja współczynników modelu

Intercept    19.994486
n_claims      3.413824
dtype: float64

Równanie

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

Wprowadzenie do regresji z użyciem statsmodels w Pythonie

Czas na ćwiczenia!

Wprowadzenie do regresji z użyciem statsmodels w Pythonie

Preparing Video For Download...