
In precedenza abbiamo già visto come risolvere un semplice modello di regressione lineare.
Una variabile dipendente guidata da una singola variabile indipendente è un buon inizio, ma molto meno utile negli scenari del mondo reale. Generalmente una variabile dipendente dipende da più fattori.
E questo insieme di fattori può influenzare più di una variabile dipendente.
Ad esempio, l’affitto di una casa dipende da molti fattori come il quartiere in cui si trova, le dimensioni, il numero di camere, le strutture annesse, la distanza dalla stazione più vicina da essa, la distanza dalla zona commerciale più vicina da essa, ecc.
Come anche il reddito di un individuo può dipendere da tali fattori.
In questo caso, stiamo considerando un problema di regressione lineare multivariata, argomento centrale dell’articolo.
Regressione lineare multivariata: che cosa si intende?
La regressione lineare multivariata è abbastanza simile al semplice modello di regressione lineare, ma con più variabili dipendenti e/o variabili indipendenti e, di conseguenza, più coefficienti da calcolare.
Ciò significa che la regressione multivariata è un metodo utilizzato per misurare il grado in cui più di una variabile indipendente (predittori) e più di una variabile dipendente (risposte) sono correlate in modo lineare.
Quindi un modello di regressione lineare multivariata si riferisce a modelli di regressione con almeno due variabili dipendenti che possono essere previsti da una o più variabili indipendenti.
Un esempio di un modello di regressione multivariata potrebbe essere un modello di come gli studenti hanno risposto a una serie di domande diverse in un test (variabili dipendenti), a seconda di quanto hanno studiato, genere, età ecc. (variabili indipendenti).
I modelli di regressione multivariata sono anche chiamati modelli lineari generali o persino modelli lineari generali multivariati, e vengono utilizzati per prevedere il comportamento delle variabili di risposta associate ai cambiamenti nelle variabili predittive, una volta stabilito il grado di relazione desiderato.
Modello di regressione lineare multivariata
Il modello di regressione lineare multivariata può esprimersi nella seguente forma (escludiamo in questa sede l’errore):
Con
Yi = stima del i-esimo componente della variabile dipendente y (poiché abbiamo più di una variabile y);
n = numero di variabili indipendenti
xi(j) indica l’i-esimo componente della j-esima variabile / caratteristica indipendente.
β rappresenta i vari coefficienti di regressione, come abbiamo visto per la regressione lineare multipla. Ognuno di essi è diverso per ogni Yi
Si tenga presente che Y, x e β rappresentano delle matrici, in quanto, in un modello di questo tipo, abbiamo n variabili indipendenti e q variabili dipendenti.
Facciamo un esempio per comprendere meglio, questa espressione.
Vogliamo capire come (e di quanto) profitto e vendite sono influenzate da tre fattori: Assenteismo, Guasti macchina e un indice chiamato M-Ratio.
Il profitto e le vendite sono le variabili dipendenti, x1 in questo caso rappresenta l’assenteismo, x2 i guasti macchina e x3 l’M-Ratio (le variabili indipendenti). Possiamo esprimere la prima riga delle tre variabili indipendenti sotto forma di vettore x1 nel seguente modo:
Dove 9 rappresenta la percentuale di assenteismo per il primo esempio, 62 le ore di guasto macchina per il primo esempio e 1 l’M-Ratio sempre per il primo esempio. Allo stesso modo
Dove 8 rappresenta la percentuale di assenteismo per il secondo esempio, 58 le ore di guasto macchina per il secondo esempio e 1,3 l’M-Ratio sempre per il secondo esempio. E così via. Quando scriviamo:
x22 = 58
Ci stiamo riferendo alla seconda caratteristica (guasti macchina) del secondo esempio, quindi 58.
In seguito vediamo come prevedere il valore del profitto e delle vendite da questi fattori. Ora definiamo la funzione costo del modello di regressione lineare multivariata.
Funzione costo
La funzione costo esprime quanto bene o male il modello prevede correttamente i risultati previsti da quelli realmente osservati.
In un modello di regressione lineare multivariata, invece che considerare una funzione di n numeri, la funzione costo è esprimibile sotto forma di vettore e assomiglia a quella dell’errore quadratico medio visto per la regressione lineare multipla:
Dove come differenza abbiamo m punti di dati (esempi del modello) e y sono i dati previsti della variabile dipendente i-esima. Il vettore h rappresenta il valore realmente osservato per ogni variabile dipendente.
Sommando il valore di ognuna di queste differenze elevate al quadrato, e dividendo il totale trovato per 2m troviamo il valore della funzione costo di un modello di regressione lineare multivariata.
Per minimizzare tale funzione, occorre stimare i valori di Beta, in modo da rendere il più accurate possibili le previsioni del modello. Ci si può affidare pertanto all’equazione normale.
Equazione normale
Esprimiamo il concetto di equazione normale utilizzando le matrici, in quanto ci verrà più semplice comprendere e spiegare il concetto.
Partiamo scrivendo l’equazione del modello visto sopra nel seguente modo:
Ymxq = Xmxn * Cnxq
Con m = numero di esempi del modello, q = numero di variabili dipendenti e n = numero di variabili indipendenti.
Come discusso in precedenza, se abbiamo n variabili indipendenti nei dati di studio, la matrice X è composta da m righe e n+1 colonne in quanto la prima colonna è composta da tutti 1:
La matrice Y, per come impostato il modello sarà pari alla seguente (m righe che rappresentano il numero di variabili dipendenti e q colonne, che rappresentano il numero di coefficienti beta):
E la matrice dei coefficienti di regressione C, invece è composta da n+1 righe e da q colonne:
Abbiamo bisogno di n + 1 equazioni per calcolare i valori dei coefficienti della matrice C, e le otteniamo dalla condizione minimizzante della funzione costo (o funzione di errore).
L’equazione della derivata parziale E(β0,β1,β2,… ,βn) di ciascuno dei coefficienti su 0 fornisce infatti un sistema di n+1 equazioni. Risolvere questi calcoli è un passaggio complicato e fa ottenere la seguente equazione (che rappresenta di fatto l’equazione normale):
y è la matrice dei valori osservati della variabile dipendente. XT indica la trasposta di X e (XTX)-1 indica la matrice inversa del prodotto matriciale tra XT e X.
Questo metodo sembra funzionare bene quando il valore n è considerevolmente piccolo (approssimativamente per i valori a 3 cifre di n).
Man mano che n cresce, il calcolo di cui sopra della matrice inversa e della moltiplicazione richiede molto tempo.
Esempio di regressione lineare multivariata
Riprendiamo l’esempio proposto sopra (preso da questo video), e vediamo di calcolare la relazione tra le variabili dipendenti (profitto, vendite) e variabili indipendenti (assenteismo, guasti macchina e M-Ratio), tramite Excel.
Come anticipato, per risolvere il problema dobbiamo risolvere per ogni y, l’equazione normale vista sopra:
C = (XTX)-1XTy
Dividiamo pertanto la risoluzione in 4 passaggi.
Step 1: Calcola XTX
Prima di tutto definiamo le due matrici X e Y.
La prima colonna di Y rappresenta il profitto, la seconda le vendite.
Da notare che la prima colonna della matrice X indica X0 pari a tutti 1. Le successive rispettivamente l’assenteismo, i guasti macchina e l’M-Ratio.
Ora non ci resta che calcolare il valore della trasposta di X (dove le righe saranno pari alle colonne e viceversa). Si può utilizzare la funzione =MATR.TRASPOSTA e ricavare il valore di X trasposta.
Nell’esempio si sono selezionate le celle C38:N41 e si è calcolata la trasposta di X (con la formula =MATR.TRASPOSTA(J21:M32)), tenendo premuto contemporaneamente il tasto CTRL + Shift + invio per ottenere automaticamente i valori della trasposta.
Successivamente si è calcolato il prodotto di quest’ultima matrice con X.
In P38:S49 si è precedentemente copiato la matrice X, e anche in questo caso si sono selezionate le celle da V38 a Y41.
Digitando poi sulla cella V38 =MATR.PRODOTTO(C38:N41;P38:S49) e tenendo contemporaneamente premuto CTRL + Shift + Invio, calcoliamo la matrice prodotto che è una matrice 4 x 4.
Step 2: Calcola (XTX)-1
Nel secondo passaggio dobbiamo calcolare la matrice inversa di quanto calcolato nello step 1.
Per farlo non ci resta che richiamare la funzione =Matr.Inversa().
Selezioniamo prima le celle C55:F58, digitiamo sulla cella C55 =MATR.INVERSA(V38:Y41) e dopodichè teniamo premuto CTRL+Shift+Invio per calcolare la matrice inversa. Avremo:
Step 3: Calcola XTY
Non ci resta che calcolare XTY. Ricopiando il valore di XT in C64:N67 e portando Y in P64:Q75, calcoliamo la matrice prodotto come fatto al punto 1. Otteniamo il seguente risultato in T64:U67:
Step 4: Calcola (XTX)-1XTY
Infine troviamo l’equazione desiderata.
Riportando la matrice trovata al punto 2, nelle celle C81:F84, e la matrice trovata al punto 3 in H81:I84, calcoliamo il prodotto tra le due matrici per ottenere in L81:M84 il valore dell’equazione:
La prima colonna ci indica l’equazione per la variabile dipendente Profitto, la seconda per la variabile Vendite.
Possono così essere riassunte in:
Y1 = 13,3034 – 0,06285×1 – 0,11883×2 + 4,64089×3 -> PROFITTO
Y2 = 104,389 – 0,16254×1 – 0,46653×2 + 25,6648×3 -> VENDITE
Cosa possiamo notare da questi modelli?
Siccome x1 rappresenta l’assenteismo e x2 i guasti macchina, un aumento dell’assenteismo comporta una riduzione del profitto, così come delle vendite. Allo stesso modo un aumento dei guasti macchina ridurrà il profitto e le vendite. Al contrario ridurre i due fattori comporta un miglioramento delle due variabili dipendenti.
Ciò non si può dire del M-Ratio: un suo aumento farà aumentare sia il profitto che le vendite e viceversa.
Per maggiori informazioni puoi scaricare l’Excel relativo ai vari calcoli appena mostrati cliccando su questo link.
Conclusione
In questo articolo abbiamo introdotto il concetto di regressione lineare multivariata, che rappresenta un modello in cui è presente più di una variabile dipendente.
Questo non è vero per la regressione lineare in generale, dove il numero di variabili dipendenti rimane a 1 sia per il modello di regressione lineare semplice che multipla.
La caratteristica che rimane in comune ad entrambi i modelli, è che entrambi possiedono una relazione lineare tra variabile dipendente e variabili indipendenti.
Forse questo aspetto è il motivo per cui il modello di regressione lineare multivariata è poco usato/visto nella pratica: difficile trovare problemi per cui più variabili dipendenti abbiano sempre una relazione lineare con le stesse variabili indipendenti.