Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Costruzione della Regressione Lineare Utilizzando Statsmodels | Regressione Lineare Semplice
Regressione Lineare con Python

Costruzione della Regressione Lineare Utilizzando Statsmodels

Scorri per mostrare il menu

Costruzione di un modello di regressione lineare

In statsmodels, la classe OLS può essere utilizzata per creare un modello di regressione lineare.

Classe OLS

Per prima cosa è necessario inizializzare un oggetto della classe OLS utilizzando sm.OLS(y, X_tilde). Successivamente, si addestra il modello utilizzando il metodo fit().

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

Che equivale a:

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

Il costruttore della classe OLS si aspetta come input uno specifico array X_tilde, che abbiamo visto nell'Equazione Normale. Pertanto, è necessario convertire l'array X in X_tilde. Questo è possibile utilizzando la funzione sm.add_constant().

Ricerca dei parametri

Quando il modello è addestrato, è possibile accedere facilmente ai parametri utilizzando l'attributo params.

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)

Effettuare le previsioni

Le nuove istanze possono essere facilmente previste utilizzando il metodo predict(), ma è necessario preprocessare anche l'input per esse:

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))

Ottenere il riepilogo

Come probabilmente avrai notato, utilizzare la classe OLS non è semplice come la funzione polyfit(). Tuttavia, l'utilizzo di OLS presenta dei vantaggi. Durante l'addestramento, calcola molte informazioni statistiche. È possibile accedere a queste informazioni tramite il metodo summary().

1
print(model.summary())

Sono molte statistiche. Discuteremo le parti più importanti della tabella nelle sezioni successive.

question mark

Scegli l'affermazione ERRATA.

Seleziona la risposta corretta

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 4

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Costruzione della Regressione Lineare Utilizzando Statsmodels

Costruzione di un modello di regressione lineare

In statsmodels, la classe OLS può essere utilizzata per creare un modello di regressione lineare.

Classe OLS

Per prima cosa è necessario inizializzare un oggetto della classe OLS utilizzando sm.OLS(y, X_tilde). Successivamente, si addestra il modello utilizzando il metodo fit().

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

Che equivale a:

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

Il costruttore della classe OLS si aspetta come input uno specifico array X_tilde, che abbiamo visto nell'Equazione Normale. Pertanto, è necessario convertire l'array X in X_tilde. Questo è possibile utilizzando la funzione sm.add_constant().

Ricerca dei parametri

Quando il modello è addestrato, è possibile accedere facilmente ai parametri utilizzando l'attributo params.

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)

Effettuare le previsioni

Le nuove istanze possono essere facilmente previste utilizzando il metodo predict(), ma è necessario preprocessare anche l'input per esse:

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))

Ottenere il riepilogo

Come probabilmente avrai notato, utilizzare la classe OLS non è semplice come la funzione polyfit(). Tuttavia, l'utilizzo di OLS presenta dei vantaggi. Durante l'addestramento, calcola molte informazioni statistiche. È possibile accedere a queste informazioni tramite il metodo summary().

1
print(model.summary())

Sono molte statistiche. Discuteremo le parti più importanti della tabella nelle sezioni successive.

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 4
some-alt