Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Lineaarisen Regressiomallin Rakentaminen Käyttäen Statsmodels-Kirjastoa | Yksinkertainen Lineaarinen Regressio
Lineaarinen Regressio Pythonilla

bookLineaarisen Regressiomallin Rakentaminen Käyttäen Statsmodels-Kirjastoa

Lineaarisen regressiomallin rakentaminen

Statsmodels-kirjastossa OLS-luokkaa voidaan käyttää lineaarisen regressiomallin luomiseen.

Ensiksi täytyy alustaa OLS-luokan olio käyttämällä sm.OLS(y, X_tilde). Tämän jälkeen malli opetetaan fit()-metodilla.

model = sm.OLS(y, X_tilde)
model = model.fit()

Tämä on sama kuin:

model = sm.OLS(y, X_tilde).fit()
Note
Huomio

OLS-luokan konstruktori odottaa tietynlaista taulukkoa X_tilde syötteenä, kuten nähtiin normaaliyhtälössä. Siksi sinun täytyy muuntaa X-taulukko muotoon X_tilde. Tämä onnistuu käyttämällä sm.add_constant()-funktiota.

Parametrien löytäminen

Kun malli on opetettu, parametreihin pääsee helposti käsiksi params-attribuutin avulla.

123456789
import statsmodels.api as sm import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv') X, y = df['Father'], df['Height'] X_tilde = sm.add_constant(X) model = sm.OLS(y, X_tilde).fit() beta_0, beta_1 = model.params print(beta_0, beta_1)
copy

Ennusteiden tekeminen

Uusien havaintojen ennustaminen onnistuu helposti predict()-metodilla, mutta myös syötteet täytyy esikäsitellä:

12345
import numpy as np X_new = np.array([65, 70, 75]) X_new_tilde = sm.add_constant(X_new) print(model.predict(X_new_tilde))
copy

Yhteenvetotietojen hakeminen

Kuten olet ehkä huomannut, OLS-luokan käyttäminen ei ole yhtä helppoa kuin polyfit()-funktion. OLS:n käytössä on kuitenkin etuja. Mallin koulutuksen aikana lasketaan runsaasti tilastollista tietoa. Näihin tietoihin pääsee käsiksi summary()-metodilla.

1
print(model.summary())
copy

Tässä on paljon tilastotietoa. Käsittelemme taulukon tärkeimpiä osia myöhemmissä osioissa.

question mark

Valitse VÄÄRÄ väittämä.

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 4

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

bookLineaarisen Regressiomallin Rakentaminen Käyttäen Statsmodels-Kirjastoa

Pyyhkäise näyttääksesi valikon

Lineaarisen regressiomallin rakentaminen

Statsmodels-kirjastossa OLS-luokkaa voidaan käyttää lineaarisen regressiomallin luomiseen.

Ensiksi täytyy alustaa OLS-luokan olio käyttämällä sm.OLS(y, X_tilde). Tämän jälkeen malli opetetaan fit()-metodilla.

model = sm.OLS(y, X_tilde)
model = model.fit()

Tämä on sama kuin:

model = sm.OLS(y, X_tilde).fit()
Note
Huomio

OLS-luokan konstruktori odottaa tietynlaista taulukkoa X_tilde syötteenä, kuten nähtiin normaaliyhtälössä. Siksi sinun täytyy muuntaa X-taulukko muotoon X_tilde. Tämä onnistuu käyttämällä sm.add_constant()-funktiota.

Parametrien löytäminen

Kun malli on opetettu, parametreihin pääsee helposti käsiksi params-attribuutin avulla.

123456789
import statsmodels.api as sm import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv') X, y = df['Father'], df['Height'] X_tilde = sm.add_constant(X) model = sm.OLS(y, X_tilde).fit() beta_0, beta_1 = model.params print(beta_0, beta_1)
copy

Ennusteiden tekeminen

Uusien havaintojen ennustaminen onnistuu helposti predict()-metodilla, mutta myös syötteet täytyy esikäsitellä:

12345
import numpy as np X_new = np.array([65, 70, 75]) X_new_tilde = sm.add_constant(X_new) print(model.predict(X_new_tilde))
copy

Yhteenvetotietojen hakeminen

Kuten olet ehkä huomannut, OLS-luokan käyttäminen ei ole yhtä helppoa kuin polyfit()-funktion. OLS:n käytössä on kuitenkin etuja. Mallin koulutuksen aikana lasketaan runsaasti tilastollista tietoa. Näihin tietoihin pääsee käsiksi summary()-metodilla.

1
print(model.summary())
copy

Tässä on paljon tilastotietoa. Käsittelemme taulukon tärkeimpiä osia myöhemmissä osioissa.

question mark

Valitse VÄÄRÄ väittämä.

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 4
some-alt