linear regression (regressione lineare)

Definizione

La regressione lineare è un modello di machine learning supervisionato utilizzato per prevedere valori numerici continui. Modella la relazione tra una variabile dipendente (target) e una o più variabili indipendenti (features) assumendo una relazione lineare tra di esse.

Formulazione Matematica

Caso Semplice (Una Variabile)

Per una singola feature:

dove:

  • : variabile dipendente (target)
  • : variabile indipendente (feature)
  • : intercetta (bias)
  • : coefficiente angolare
  • : termine di errore

Caso Multivariato

Per multiple features:

In forma vettoriale:

dove e

Funzione di Costo

Mean Squared Error (MSE)

La funzione obiettivo più comune è l’errore quadratico medio:

dove è la predizione del modello.

In forma matriciale:

Metodi di Ottimizzazione

Soluzione Analitica (Equazioni Normali)

Discesa del Gradiente

Aggiornamento iterativo dei pesi:

dove è il learning rate.

Implementazione in Python

...

Assunzioni del Modello

  1. Linearità: La relazione tra features e target è lineare
  2. Indipendenza degli errori: Gli errori sono indipendenti tra loro
  3. Omoschedasticità: Varianza costante degli errori
  4. Normalità degli errori: Gli errori seguono una distribuzione normale
  5. Assenza di multicollinearità: Le features non sono altamente correlate

Valutazione del Modello

Metriche Principali

  • Mean Squared Error (MSE):
  • Root Mean Squared Error (RMSE):
  • Mean Absolute Error (MAE):
  • R-squared ():

Estensioni e Varianti

Regressione Ridge (L2 Regularization)

Regressione Lasso (L1 Regularization)

Regressione Elastic Net

Combina L1 e L2 regularization.

Applicazioni Pratiche

  1. Previsione di prezzi (immobili, azioni)
  2. Analisi di trend (vendite, crescita)
  3. Stime economiche (PIL, inflazione)
  4. Modelli scientifici (relazioni fisiche, chimiche)

Vantaggi e Svantaggi

Vantaggi

  • Semplice da implementare e interpretare
  • Computazionalmente efficiente
  • Base per modelli più complessi
  • Buone performance con relazioni lineari

Svantaggi

  • Sensibile a outliers
  • Assume relazione lineare
  • Può underfittare con relazioni complesse
  • Sensibile a multicollinearità

Best Practices

  1. Feature Scaling: Standardizzare o normalizzare le features
  2. Feature Engineering: Creare features polinomiali per relazioni non lineari
  3. Cross-Validation: Valutare le performance del modello
  4. Residual Analysis: Analizzare gli errori per verificare le assunzioni
  5. Regularization: Usare Ridge/Lasso per prevenire overfitting

Risorse

  • scikit-learn: LinearRegression, Ridge, Lasso
  • statsmodels: Regressione con analisi statistica completa
  • NumPy: Implementazione manuale

Kaggle linear regression datasets