Linear Regression
La regressione lineare prevede un numero come somma ponderata delle caratteristiche, stimata con i minimi quadrati. Come funziona, assunzioni, varianti e codice Python.
La regressione lineare è un metodo di apprendimento supervisionato che prevede un valore continuo, come un prezzo, una temperatura o la domanda del mese prossimo, calcolando una somma pesata delle caratteristiche di input più una costante. Con una sola caratteristica, adatta una retta, ŷ = w·x + b; con più caratteristiche, adatta un piano o iperpiano, ŷ = w₁x₁ + w₂x₂ + … + wₙxₙ + b. Adrien-Marie Legendre pubblicò nel 1805 il metodo dei minimi quadrati usato per adattarla, e Carl Friedrich Gauss ne pubblicò una trattazione nel 1809. È ancora il primo modello di riferimento per la modellazione predittiva numerica, perché si addestra in pochi millisecondi, funziona con pochi dati e ogni peso indica quanto cambia la predizione per ogni unità della caratteristica corrispondente.
Come funziona la regressione lineare#
L'addestramento sceglie i pesi e l'intercetta che avvicinano maggiormente le predizioni ai target reali nei dati di addestramento. Il metodo dei minimi quadrati ordinari misura questa vicinanza come somma dei residui al quadrato, cioè le differenze tra target e predizioni; ciò equivale a minimizzare l'errore quadratico medio (MSE), la funzione di perdita standard per la regressione. L'errore quadratico produce una funzione di perdita a forma di ciotola, liscia e con un unico minimo; perciò, i pesi ottimali si ricavano con una soluzione in forma chiusa, l'equazione normale w = (XᵀX)⁻¹Xᵀy, che le librerie calcolano tramite fattorizzazioni matriciali stabili, come QR o SVD, anziché con l'inversa esplicita. Per dataset troppo grandi, la discesa del gradiente o la discesa stocastica del gradiente raggiungono gli stessi pesi in modo iterativo e convergono più rapidamente quando le caratteristiche sono standardizzate su scale simili.
Ogni peso indica di quanto cambia la predizione per un aumento unitario della caratteristica corrispondente, a parità delle altre caratteristiche; questo rende il modello facile da verificare. Lo stimatore LinearRegression di scikit-learn adatta il modello con il metodo dei minimi quadrati ordinari; questo esempio genera prezzi di case da coefficienti noti e verifica quanto la stima riesca a recuperarli:
import numpy as np
from sklearn.linear_model import LinearRegression
from sklearn.metrics import r2_score
from sklearn.model_selection import train_test_split
# 500 synthetic homes: price = $50,000 + $150 per sq ft - $2,000 per year of age + noise
rng = np.random.default_rng(0)
X = np.column_stack([rng.uniform(800, 3000, 500), rng.uniform(0, 50, 500)])
y = 50_000 + 150 * X[:, 0] - 2_000 * X[:, 1] + rng.normal(0, 20_000, 500)
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)
# Fit by ordinary least squares
model = LinearRegression()
model.fit(X_train, y_train)
print(f"Per sq ft: {model.coef_[0]:.1f}, per year: {model.coef_[1]:.0f}, intercept: {model.intercept_:.0f}")
print(f"Test R^2: {r2_score(y_test, model.predict(X_test)):.3f}")La stima restituisce $147.7 per piede quadrato rispetto al valore reale di $150 e −$1,992 per ogni anno di età rispetto al valore reale di −$2,000; inoltre, spiega il 96.2% della varianza dei prezzi nel set di test (R² = 0.962). R² è la quota di varianza del target spiegata dal modello, mentre la radice dell'errore quadratico medio (RMSE) indica l'errore tipico nelle unità originali del target.
Ipotesi e diagnostica#
La regressione lineare presuppone che il target medio sia una somma ponderata degli input, che gli errori siano indipendenti e che la loro dispersione rimanga più o meno costante lungo l’intervallo delle previsioni; anche gli intervalli di confidenza e i valori p dei pesi presuppongono errori approssimativamente normali. Gli input possono essere qualsiasi trasformazione fissa delle feature grezze, quindi aggiungere termini quadratici, logaritmi o prodotti delle feature tramite feature engineering produce comunque una regressione lineare, capace di seguire una curva. Rappresentare graficamente i residui rispetto alle previsioni è il controllo standard: un andamento curvo indica che manca un termine non lineare, mentre una forma a ventaglio significa che gli errori aumentano con la previsione, un problema che spesso si risolve trasformando il target con un logaritmo. L’errore quadratico permette inoltre ad alcuni valori anomali di spostare la stima verso di sé, mentre le funzioni di perdita robuste, come la perdita di Huber, ne riducono l’influenza.
Quando le feature sono fortemente correlate tra loro, piccole variazioni nei dati fanno oscillare notevolmente i rispettivi pesi. La regressione ridge aggiunge una penalità sui pesi al quadrato che li riduce, la regressione lasso aggiunge una penalità sui valori assoluti dei pesi che porta alcuni esattamente a zero selezionando così le feature, mentre la regressione elastic net combina entrambi gli approcci. Queste forme di regolarizzazione accettano un po’ di bias in cambio di una varianza inferiore, il compromesso bias-varianza, e limitano l’overfitting quando il numero di feature è elevato rispetto a quello dei campioni.
Regressione lineare nel deep learning#
Una rete neurale che predice numeri termina solitamente con un livello lineare, quindi il suo ultimo passaggio è una regressione lineare sulle feature apprese dai livelli precedenti; una rete senza livelli nascosti addestrata con MSE è esattamente una regressione lineare. I modelli di rilevamento degli oggetti usano questo approccio per le coordinate dei riquadri. In YOLO26, ogni ramo dei riquadri della testa di rilevamento termina con una convoluzione 1×1 che mappa linearmente le feature di ogni posizione della griglia in quattro distanze da quella posizione ai bordi di un riquadro di delimitazione; durante l’addestramento, tali distanze vengono penalizzate con una perdita L1, insieme a una perdita CIoU sulla sovrapposizione dei riquadri.
Applicazioni#
- Previsioni: Rivenditori e aziende di servizi pubblici eseguono regressioni delle vendite o del carico elettrico rispetto a prezzo, promozioni, temperatura e indicatori di calendario; una linea di tendenza stimata è un riferimento comune per modelli di previsione più complessi.
- Prezzi e valutazione: I modelli di determinazione edonica dei prezzi eseguono regressioni dei prezzi delle case rispetto a dimensioni, età e posizione; ogni peso indica il valore di mercato di un’unità aggiuntiva di quella caratteristica.
- Stima degli effetti: Economisti e ricercatori in ambito sanitario eseguono regressioni di un risultato, come il salario o la pressione sanguigna, rispetto a un fattore di interesse e a variabili di controllo, per stimare come cambia il risultato al variare del fattore, mantenendo costanti gli altri.
- Curve di calibrazione: I laboratori eseguono regressioni delle letture degli strumenti rispetto alle concentrazioni note dei campioni di riferimento, quindi invertono la retta stimata per convertire le letture di nuovi campioni in concentrazioni.
Regressione lineare e metodi correlati#
- Regressione logistica: Risolve problemi di classificazione passando la stessa somma ponderata attraverso una funzione sigmoide per ottenere una probabilità compresa tra 0 e 1; l’addestramento usa la log-loss anziché l’errore quadratico.
- Regressione polinomiale: Adatta potenze di una feature, come x e x², ed equivale a una regressione lineare sulle feature così ampliate.
- Alberi decisionali e alberi potenziati come XGBoost: Suddividono lo spazio delle feature in regioni e apprendono effetti non lineari e interazioni senza feature create manualmente, ma prevedono un valore costante all’interno di ogni regione, quindi non possono estrapolare un andamento oltre l’intervallo di addestramento.
- Correlazione: Il coefficiente di correlazione r di Pearson misura simmetricamente la forza di una relazione lineare e la pendenza di una regressione lineare semplice di y su x è uguale a r moltiplicato per il rapporto tra le deviazioni standard di y e x.










