Regressione lineare Metodi Quantitativi per Economia, Finanza e Management Esercitazione n°8
Regressione lineare - Modello Modello di regressione lineare si vuole modellare una relazione di tipo lineare tra una variabile dipendente e un insieme di regressori che si ritiene influenzino la variabile dipendente si vuole approssimare la nuvola dei punti osservati (ogni punto rappresenta un intervistato) con una retta tra tutte le infinite rette possibili si stima la retta che fornisce l’interpolazione migliore stimare la migliore retta di regressione significa calcolare una stima dei coefficienti associati ai regressori che entrano nel modello (tutto ciò con il vincolo di minimizzare gli errori di approssimazione)
Regressione lineare – Analisi preliminari Prima di stimare il modello costruire variabili dummy se necessario (ossia se si vogliono utilizzare variabili qualitative nominali come regressori) valutare il coefficiente di correlazione lineare (PROC CORR) tra la variabile dipendente e tutti i potenziali regressori valutare la presenza di multicollinearità tra i regressori (PROC CORR per analizzare la matrice di correlazione tra i regressori che entrano nel modello)
Regressione lineare – Selezione regressori Scelta dei regressori che entrano nel modello selezione a priori di un sottoinsieme di regressori (ad es. si scelgono le variabili con valori alti del coefficiente di correlazione lineare con la variabile dipendente. PROC REG senza opzioni di selezione variabili) metodo di selezione automatica (PROC REG con opzione STEPWISE)
Regressione lineare – Regressione stepwise Procedura sequenziale che valuta l’ingresso/uscita dal modello dei singoli regressori (in base a indicatori legati all’R-quadro) Step 0si considera un insieme di potenziali regressori Step 1entra il primo regressore. Ossia, viene stimato un modello contenente un unico regressore tra quelli proposti (il regressore che spiega meglio la variabilità della variabile dipendente) Step 2si valutano tutti i possibili modelli contenenti il regressore individuato allo step 1 e uno dei rimanenti regressori, e si tiene il modello con il fit migliore (ossia entra il regressore che dà il contributo maggiore alla spiegazione della variabilità) Step 3come nello step 2, entra il regressore che dà il contributo maggiore alla spiegazione della variabilità Step 4si valuta l’uscita di ognuno dei regressori presenti (in base alla minor perdita di capacità esplicativa del modello) e l’ingresso di un nuovo regressore (in base al maggior incremento nella capacità esplicativa del modello) La procedura continua con l’ingresso/uscita dei regressori fino a quando non si può più migliorare la capacità esplicativa del modello.
Regressione lineare – Interpretazione coefficienti Il coefficiente beta (output della PROC REG) associato ad uno specifico regressore X ha il seguente significato se X aumenta/diminuisce di una unità (e tutti gli altri regressori rimangono invariati) allora 1) se il coefficiente è positivo Y aumenta/diminuisce di una percentuale pari al valore del coefficiente 2) se il coefficiente è negativo Y diminuisce/aumenta di una percentuale pari al valore del coefficiente in genere si considerano i coefficienti standardizzati (opzione STB della PROC REG) che non sono influenzati dall’unità di misura delle variabili
Regressione lineare – Valutazione modello Valutazione della bontà del modello (output della PROC REG) coefficiente di determinazione R-quadro per valutare la capacità del modello di rappresentare la relazione tra la variabile dipendente e i regressori (tra 0 e 1, quanto più si avvicina ad 1 tanto migliore è il modello) test F per valutare la significatività di tutti i coefficienti (se p-value del test piccolo allora si rifiuta l’ipotesi di tutti i coefficienti simultaneamente nulli il modello è buono) test t per valutare la significatività dei singoli coefficienti (se p-value del test piccolo allora si rifiuta l’ipotesi di coefficiente nullo il regressore corrispondente è rilevante per la spiegazione della variabile dipendente)
PROC REG – Sintassi Modello di regressione lineare – k regressori specificati a priori proc reg data= dataset; model variabile dipendente= regressore_1 . regressore_k /option(s); run; OPTIONS: /stb calcola i coefficienti standardizzati /selection=stepwise applica la procedura stepwise per la selezione dei regressori
PROC REG – Esempio 1 Variabile dipendente e regressori
PROC REG – Esempio 1 Modello di regressione lineare variabile dipendente= SODDISFAZIONE_GLOBALE, regressori= 21 variabili di soddisfazione (livello di soddisfazione relativo a tariffe, promozioni, ecc.) VARIABILE DIPENDENTE proc reg data= corso.telefonia; model soddisfazione_globale= CambioTariffa_2 ChiarezzaTariffe_2 … /stb; run; REGRESSORI opzione per ottenere i coefficienti standardizzati
PROC REG – Output esempio 1 attenzioneper stimare il modello SAS non utilizza i record con valori mancanti il modello è abbastanza buono (spiega il 62% della variabilità della variabile dipendente) il modello è significativo (il p-value del test F è piccolo)
PROC REG – Output esempio 1 coefficienti significativiregressori rilevanti per la spiegazione del fenomeno
PROC REG – Output esempio 1 se la variabile NoScattoRisp_2 aumenta (diminuisce) di una unità allora la soddisfazione globale diminuisce (aumenta) del 4% se la variabile CambioTariffa_2 aumenta (diminuisce) di una unità allora la soddisfazione globale aumenta (diminuisce) del 20%
PROC REG – Esempio 2 proc corr data= corso.telefonia; Scelta dei regressori utili alla spiegazione della SODDISFAZIONE_GLOBALE sulla base del coefficiente di correlazione lineare con la variabile dipendente e analisi della multicollinearità. scelta dei regressori proc corr data= corso.telefonia; var soddisfazione_globale; with CambioTariffa_2 SMSTuoOperatore_2 … ; run; var CambioTariffa_2 ChiarezzaTariffe_2 …; regressori candidati: 21 variabili di soddisfazione analisi multicollinearità regressori selezionati (quelli con coeff correlaz lineare elevato)
PROC REG – Esempio 2 Regressione di SODDISFAZIONE_GLOBALE sull’insieme di 8 regressori scelti a priori sulla base del coefficiente di correlazione lineare. stima del modello di regressione proc reg data= corso.telefonia; model soddisfazione_globale= CambioTariffa_2 ChiarezzaTariffe_2 AltriOperatori_2 SMSTuoOperatore_2 Assistenza_2 ChiamateTuoOperatore_2 Promozioni_2 CostoSMS_2 /stb; run; regressori selezionati in base al coefficiente di correlaz lineare
PROC CORR - Scelta regressori - Output esempio 2
PROC CORR – Analisi multicollinearità - Output esempio 2
PROC REG – Output esempio 2 attenzioneper stimare il modello SAS non utilizza i record con valori mancanti il modello è abbastanza buono ma non del tutto soddisfacente (R-quadro più basso di prima perché ci sono meno regressori)
PROC REG – Output esempio 2 coefficienti significativiregressori rilevanti per la spiegazione del fenomeno
PROC REG – Sintassi Modello di regressione lineare – selezione automatica dei regressori (a partire da p regressori) proc reg data= dataset; model variabile dipendente= regressore_1 . regressore_p /stb selection= stepwise; run;
PROC REG – Esempio 3 Regressione di SODDISFAZIONE_GLOBALE su un insieme di regressori scelti tramite la procedura stepwise proc reg data= corso.telefonia; model soddisfazione_globale= CambioTariffa_2 ChiarezzaTariffe_2 … /stb selection= stepwise; run; tutte le 21 variabili di soddisfazione
PROC REG – Esempio 3 Verifica multicollinearità sui regressori selezionati dalla procedura stepwise proc corr data= corso.telefonia; var CambioTariffa_2 Copertura_2 ComodatoUso_2 ChiarezzaTariffe_2 AltriOperatori_2 Assistenza_2 ChiamateTuoOperatore_2 Promozioni_2; run;
PROC REG – Output esempio 3
PROC REG – Output esempio 3 quasi tutti i coefficienti sono significativi
PROC REG – Output esempio 3 Analisi multicollinearità tra i regressori selezionati dalla stepwise
PROC REG – Riepilogo Per stimare un modello di regressione lineare individuare la variabile dipendente (=il fenomeno da analizzare) individuare l’insieme dei potenziali regressori (eventualmente tutte le variabili nel dataset) se necessario costruire variabili dummy analizzare il coefficiente di correlazione lineare dei potenziali regressori con la variabile dipendente ed eventualmente fare una prima selezione dei regressori verificare la presenza di multicollinearità tra i regressori usciti dalla prima selezione ed eventualmente eliminarne alcuni far girare la PROC REG con il metodo stepwise e verificare la bontà del modello (R-quadro e significatività dei coefficienti) se il modello non è soddisfacente verificare nuovamente la presenza di multicollinearità tra i regressori selezionati dalla stepwise e ripetere dal punto 4
Costruzione variabili dummy - esempio Non si possono inserire variabili qualitative nominali tra i regressoriper considerare questo tipo di variabili all’interno del modello bisogna costruire delle variabili dicotomiche (0-1) che identificano le modalità della variabile nominale originaria). Es. Si vuole considerare tra i regressori la variabile qualitativa nominale “Area” che identifica l’area di residenza degli intervistati La variabile “Area” assume tre modalità (nord-centro-sud) si costruiscono due variabili dummy
Costruzione variabili dummy - esempio Le variabili dummy da costruire sono due (la terza sarebbe ridondantepuò essere ottenuta come combinazione delle altre due) Area_nordvale 1 se l’intervistato è residente al nord e 0 in tutti gli altri casi Area_centrovale 1 se l’intervistato è residente al centro e 0 in tutti gli altri casi
Costruzione variabili dummy - esempio VARIABILE ORIGINARIA (non entra nel modello) VARIABILI DUMMY (entrano nel modello)
Costruzione variabili dummy - esempio Nella PROC REG si inseriscono le due variabili dummy (ma non la variabile originaria!) nella lista dei regressorii relativi coefficienti rappresentano l’effetto della singola modalità (nord/centro) della variabile “Area”. proc reg data= … ; model Y= X1 X2 … area_nord area_centro /stb selection= stepwise; run;
Assegnazione di etichette alle variabili di un dataset Talvolta i nomi delle variabili costruite a partire dalle domande del questionario non sono sufficientemente esplicativi Una volta importati i dati in SAS è possibile assegnare alle variabili delle etichette che contengano una descrizione più dettagliata delle variabili stesse La creazione di etichette deve avvenire all’interno di un passo di “DATA” Le etichette vengono visualizzate negli output prodotti dalle procedure SAS
Assegnazione di etichette alle variabili di un dataset Si assegnano le etichette alle 4 variabili del dataset “anagrafica” data anagrafica; set anagrafica; label n_questionario= "identificativo questionario"; label d_1= "eta intervistato"; label d_2= "area residenza intervistato"; label d_3= "sesso intervistato"; run;