
Comprendere quanto è influenzata una variabile al modificarsi di un’altra più o meno correlata è lo scopo dell’analisi di regressione.
In particolare, abbiamo visto che se la relazione è stabilita da una linea retta, allora la regressione si dice lineare semplice. Qualora il numero di variabili indipendenti sia più di una, la regressione viene detta multipla.
In quest’articolo vedremo come definire un modello di regressione lineare multipla e un esempio di applicazione.
Tengo a precisare che per comprendere le formule presenti nell’articolo è bene aver una buona conoscenza dell’algebra lineare e dei concetti base di statistica.
Modello di regressione lineare multipla
In termini matematici la regressione lineare multipla assume un modello come il seguente:
Dove:
- ŷ è la risposta ai valori, ossia rappresenta il risultato previsto dal modello;
- β0 è l’intercetta, ossia il valore di ŷ quando gli xi sono tutti uguali a 0;
- β1 è il coefficiente di X1 (la prima caratteristica);
- βn è il coefficiente di Xn (l’ennesima caratteristica);
- x1,x2, …, xn sono le variabili indipendenti del modello.
L’equazione (1) spiega la relazione tra una variabile dipendente continua (ŷ) e due o più variabili indipendenti (x1, x2, x3 … e così via). Pensa ad esempio di voler stimare l’emissione di CO2 di un’automobile (variabile dipendente ŷ) considerando l’ampiezza del motore, il numero dei cilindri e il consumo di carburante. Questi ultimi fattori sono le variabili indipendenti x1, x2 e x3 rispettivamente.
I beta sono numeri reali e vengono chiamati coefficienti di regressione stimati del modello (vedi oltre per vedere come vengono calcolati).
Si noti che la y cappello è una variabile dipendente continua, in quanto essendo la somma di beta, beta1 x1, beta2 x2, ecc. risulta essere un numero reale.
Ne consegue che una variabile di tipo categoriale, che come risultato genererebbe una risposta del tipo “si” / “no”, non può essere rappresentata da un modello di regressione lineare multipla (in questo caso è bene valutare l’utilizzo della regressione logistica).
Quando utilizzare la regressione lineare multipla
L’analisi di regressione multipla è un metodo usato per identificare la forza dell’effetto che le variabili indipendenti hanno su una variabile dipendente.
Capire quanto cambierà la variabile dipendente quando cambiamo le variabili indipendenti permette di prevedere effetti o impatti dei cambiamenti delle situazioni reali. Ciò non significa che sapremo cosa accadrà, piuttosto avremo un’idea di cosa potrà accadere.
Per esempio, utilizzando la regressione lineare multipla si può valutare come si modifica la pressione sanguigna al modificarsi dell’indice di massa corporea considerando gli altri fattori costanti (età, sesso, ecc.) e ipotizzare cosa probabilmente può succedere.
In secondo luogo, è possibile ottenere stime puntuali cercando di prevedere tendenze e valori futuri. In questo modo, ad esempio, sarà possibile trovare risposte alla domanda “quale sarà il prezzo dell’oro tra 6 mesi?”
Infine, la regressione lineare multipla sta riscontrando maggiore interesse nel campo del machine learning e intelligenza artificiale in quanto permette di ottenere modelli di apprendimento performanti anche nel caso di elevato numero di record da analizzare.
Esempio di regressione lineare multipla
Riprendendo l’esempio proposto e mostrato nel video di Coursera, ipotizziamo di voler prevedere l’emissione di CO2 di un’automobile considerando variabili indipendenti come l’ampiezza del motore, numero di cilindri e consumo di carburante, data la seguente tabella:
L’equazione di regressione è:
Matematicamente, si può scrivere l’equazione del modello come:
Ciò significa che esso è assimilabile al prodotto scalare di due vettori, il vettore Beta, detto vettore peso, e il vettore X, detto vettore caratteristica.
Il termine T indica il vettore Beta trasposto, che è pari alla seguente espressione (3):
Il vettore X invece è esprimibile nel suddetto modo:
Nell’esempio proposto x1 rappresenta l’ampiezza motore, mentre x2 il numero dei cilindri e x3 il consumo di carburante. Il primo elemento del vettore X è impostato di default pari a 1, per evitare di annullare β0.
Il prodotto del vettore beta trasposto per il vettore caratteristica ci da, per definizione di prodotto matriciale, l’equazione del modello (1). In altre parole, scrivere l’equazione (2) è un modo più compatto per scrivere l’equazione (1).
Tengo a precisare che, nello spazio monodimensionale, la regressione lineare semplice è anch’essa esprimibile attraverso la (2), che però di fatto è l’equazione di una retta. Nella regressione lineare multipla, invece, quando ci sono più valori di input (o x), l’equazione (2) crea quello che si chiama piano o iperpiano.
Lo scopo della regressione lineare multipla è quello di determinare il miglior iperpiano che viene coperto dai nostri dati. Per farlo, occorre stimare i valori del vettore Beta che meglio predicono i valori del target in ogni riga.
Per comprendere come stimare tali coefficienti, è bene prima definire l’errore quadratico medio.
Errore quadratico medio
Ipotizziamo per un dato momento di conoscere i valori di Beta, ossia il vettore peso. In questo modo, sostituendo i valori del vettore caratteristica dentro al modello si trova y cappello (ŷ), ossia il valore previsto delle emissioni di CO2 di una determinata automobile.
Ipotizziamo ora che venga per la prima auto un valore previsto di emissioni pari a 140 g/km (il valore reale è però 196 g/km).
In questo caso l’errore definito residuo che si ricava è pari alla differenza tra il valore reale e il valore previsto:
196 – 140 = 56 errore residuo
56 rappresenta l’errore del modello solamente per la prima auto. Se eleviamo al quadrato tale errore residuo ed eseguiamo per tutti gli altri campioni la stessa procedura, dividendo poi il risultato per il numero di campioni n, troviamo quello che è definito l’errore quadratico medio o MSE (Mean squared error). L’MSE mostra quanto bene o male il modello descrive il set di dati analizzato. La formula per calcolarlo è la seguente:
Dove i campioni n di auto analizzate sono 9.
Più l’MSE è elevato e meno il modello rappresenta ciò che stiamo studiando e viceversa. Pertanto è bene cercare di ottenere un errore quadratico medio più piccolo possibile.
Per raggiungere tale risultato si possono utilizzare i seguenti metodi (che tra l’altro ci permettono di determinare i migliori beta per il nostro modello).
Metodo dei minimi quadrati
La procedura dei minimi quadrati (definita in letteratura OLS o Ordinary Least Squares, o semplicemente Least Squares) permette di determinare i valori dei coefficienti del vettore Beta che minimizzano l’errore quadratico medio (il quale prende il nome di Minimum Mean Squared Error, MMSE).
Tale metodo dispone i dati dentro una matrice, e utilizzando le operazioni dell’algebra lineare, stima i valori ottimali di Beta.
Questa tecnica funziona per dataset non troppo grandi. Infatti, nel caso si disponesse di un elevato numero di dati da analizzare, il tempo di esecuzione delle operazioni matriciali aumenterebbe a dismisura. Pertanto, non si consiglia l’utilizzo di questo metodo, qualora il dataset sia composto da più di 10 mila righe.
Si può valutare, per dataset più grandi, l’utilizzo della discesa del gradiente.
Metodo della discesa del gradiente
Per minimizzare la somma degli errori residui è possibile utilizzare anche un processo di ottimizzazione dei valori dei coefficienti riducendo al minimo l’errore del modello sui dati di allenamento. Questa operazione è chiamata discesa del gradiente e funziona iniziando con valori casuali per ciascun coefficiente.
La somma degli errori quadrati viene calcolata per ogni coppia di valori di input e output. Viene utilizzato un tasso di apprendimento come fattore di scala e i coefficienti vengono aggiornati nella direzione verso la riduzione al minimo errore.
Il processo viene ripetuto fino a quando non viene raggiunto un errore di somma minima o non è possibile ottenere un ulteriore miglioramento.
L’utilizzo di questo metodo prevede la selezione di un parametro alfa, detto di velocità di apprendimento, che determina la dimensione della fase di miglioramento da intraprendere a ogni iterazione della procedura.
Questa tecnica è utile quando si dispone di un set di dati molto grande nel numero di righe o nel numero di colonne che potrebbero richiedere tempi computazionali di calcolo elevati, come nel caso del metodo precedente.
Risoluzione tramite Excel
Vediamo di risolvere ora il modello proposto nell’esempio utilizzando Excel (tramite il primo metodo), in quanto composto solamente da 9 record.
Innanzitutto, posizioniamoci sul menu Dati, e nella tab Analisi clicchiamo su Analisi dati, come mostrato nell’immagine seguente:
Si aprirà la seguente form:
Cliccando su regressione e dando l’ok otterremo la seguente:
Inseriamo la variabile dipendente y (emissione di CO2), le variabili indipendenti x (ampiezza motore, cilindri e consumo carburante). Successivamente clicchiamo sulla spunta etichette, residui e se vogliamo i risultati in un nuovo file o in quello esistente, come mostrato nell’immagine sotto:
Dando l’ok, otterremo i risultati (sotto sono indicati solamente quelli di nostro interesse).
Quindi avremo che:
β0 = – 0,035129424
β1 = – 0,673534073
β2 = 0,126386688
β3 = 23,14844163
Ossia l’equazione del modello che minimizza l’errore quadratico medio si può riassumere:
Ora sostituendo i valori delle variabili indipendenti proposte nella decima riga della tabella sopra (record 9), troveremo il valore di emissione previsto dal modello, ossia:
I valori di emissione previsti per i record da 0 a 8 analizzati vengono mostrati sempre dalle statistiche di Excel insieme ai residui, nell’immagine sotto.
Per trovare il valore reale di emissione di una determinata auto basta sommare tra di loro questi due valori. Ad esempio, sommando il residuo corrispondente all’osservazione 1, pari a 0,114896989, con il valore di emissione previsto, uguale a 195,885103, troverai il valore reale di emissione della prima macchina, ossia 196. E così via per le altre automobili.
Ovviamente l’osservazione 1 fa riferimento al record 0 (auto 1), l’osservazione 2 al record 1 (auto 2) e così via.
Valutare il modello trovato
Anche nel caso della regressione lineare multipla è possibile valutare il modello identificato tramite il valore del coefficiente di determinazione (R2), che viene detto R2 corretto:
Dove
- n sono il numero delle osservazioni (9 nell’esempio);
- k è il numero dei regressori, o delle variabili indipendenti (3 nell’esempio);
- R2 è il coefficiente di determinazione pari a:
Calcolando R2 corretto vediamo che esso è molto vicino a 1, quindi si potrebbe pensare che il modello rappresenta bene i dati analizzati dall’esempio (tieni a mente che il campione di 9 auto non è significativo per poter concludere tale affermazione. Occorre effettuare tale calcolo su un dataset più grande prima di arrivare a tale conclusione).
Nota:
[1] – Nell’esempio del video al posto di Beta è inserita la lettera Teta: il risultato e ciò che essa rappresenta non cambia.