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
- Linearità: La relazione tra features e target è lineare
- Indipendenza degli errori: Gli errori sono indipendenti tra loro
- Omoschedasticità: Varianza costante degli errori
- Normalità degli errori: Gli errori seguono una distribuzione normale
- 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
- Previsione di prezzi (immobili, azioni)
- Analisi di trend (vendite, crescita)
- Stime economiche (PIL, inflazione)
- 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
- Feature Scaling: Standardizzare o normalizzare le features
- Feature Engineering: Creare features polinomiali per relazioni non lineari
- Cross-Validation: Valutare le performance del modello
- Residual Analysis: Analizzare gli errori per verificare le assunzioni
- Regularization: Usare Ridge/Lasso per prevenire overfitting
Risorse
- scikit-learn:
LinearRegression,Ridge,Lasso - statsmodels: Regressione con analisi statistica completa
- NumPy: Implementazione manuale