Regressione lineare Metodi Quantitativi per Economia, Finanza e Management Esercitazione n° 8 Importanza dei regressori Variable Intercept regressore 1 regressore 2 regressore 3 regressore 4 DF 1 1 1 1 1 Parameter Estimates Parameter Standard t Value Pr > |t| Standardized Estimate 1.71 0.12 0.08 -0.22 0.18 Error 0.283 0.032 0.026 0.034 0.037 Estimate 6.03 <.0001 3.77 <.0001 2.99 <.0001 6.29 <.0001 4.81 <.0001 0 0.19 0.13 -0.31 0.26 • I coefficienti standardizzati sono utili per valutare l’importanza relativa dei regressori. Possiamo ordinare i regressori in base all’importanza che hanno nello spiegare la variabile dipendente. Il regressore con valore assoluto del coefficiente standardizzato più alto è il più importante. • Nell’esempio il regressore 3 è il più importante, poi il regressore 4, l’1 e infine il 2. Regressione lineare – Selezione regressori Nella scelta dei regressori bisogna cercare di mediare tra due esigenze: 1) maggior numero di variabili per migliorare il fit 2) parsimonia per rendere il modello più robusto e interpretabile Scelta dei regressori che entrano nel modello metodo di selezione automatica (PROC REG con opzione STEPWISE) PROC REG – Sintassi Modello di regressione lineare proc reg data=dataset; model variabile_dipendente= regressore_1 ... regressore_p /option(s); run; OPTIONS: • STB calcola i coefficienti standardizzati • selection=stepwise applica la procedura stepwise per la selezione dei regressori • slentry=… livello di significatività richiesto per il test F parziale affinchè il singolo regressore possa entrare nel modello • slstay=… livello di significatività richiesto per il test F parziale affinchè il singolo regressore non sia rimosso dal modello Metodi di selezione automatica - Stepwise Procedura sequenziale che valuta l’ingresso/uscita dal modello dei singoli regressori (in base a indicatori legati all’R-quadro) • Step 0si considerano tutti i potenziali regressori • Step 1entra il primo regressore. Ossia, viene stimato un modello contenente un unico regressore tra quelli proposti (viene scelto 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à) Metodi di selezione automatica - Stepwise • Step 3 e seguenti si 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). Tra tutti i regressori rimanenti verrà scelto quello che dà il contributo maggiore alla spiegazione della variabilità della variabile dipendente • Ultimo step la procedura si arresta quando nessun regressore rimanente può essere inserito in base al livello di significatività scelto (slentry) e nessun regressore incluso può essere eliminato in base al livello di significatività scelto (slstay). In pratica quando non si riesce in alcun modo ad aumentare la capacità esplicativa del modello Esercizio Variabile dipendente e 21 variabili di soddisfazione Nome variabile soddisfazione_globale AccessoWeb_2 AltriOperatori_2 assistenza_2 Autoricarica_2 CambioTariffa_2 ChiamateTuoOperatore_2 ChiarezzaTariffe_2 ComodatoUso_2 copertura_2 CostoMMS_2 CostoSMS_2 diffusione_2 DurataMinContratto_2 immagine_2 MMSTuoOperatore_2 NavigazioneWeb_2 NoScattoRisp_2 NumeriFissi_2 Promozioni_2 SMSTuoOperatore_2 vsPochiNumeri_2 Livello di Livello di Livello di Livello di Livello di Descrizione variabile soddisfazione globale relativo al telefono cellulare soddisfazione relativo al costo di accesso a internet soddisfazione relativo ai costi verso altri operatori soddisfazione relativo al servizio di assistenza soddisfazione relativo alla possibilità di autoricarica Livello di soddisfazione relativo alla facilità di cambiamento della tariffa Livello di soddisfazione relativo alla possibilità di effettuare chiamate a costi inferiori verso numeri dello stesso operatore Livello di soddisfazione relativo alla chiarezza espositiva delle tariffe Livello di soddisfazione relativo alla possibilità di rivecere un cellulare in comodato d'uso Livello di soddisfazione relativo alla copertura della rete Livello di soddisfazione relativo al costo degli MMS Livello di soddisfazione relativo al costo degli SMS Livello di soddisfazione relativo alla diffusione Livello di soddisfazione relativo alla presenza di una durata minima del contratto Livello di soddisfazione relativo all'immagine Livello di soddisfazione relativo alla possibilità inviare MMS a costi inferiori verso numeri dello stesso operatore Livello di soddisfazione relativo al costo di navigazione in internet Livello di soddisfazione relativo all'assenza di scatto alla risposta Livello di soddisfazione relativo alle agevolazioni verso numeri fissi Livello di soddisfazione relativo alla possibilità di attivare promozioni sulle tariffe Livello di soddisfazione relativo alla possibilità inviare SMS a costi inferiori verso numeri dello stesso operatore Livello di soddisfazione relativo alle agevolazioni verso uno o più numeri di telefono PROC REG – Esempio Modello di regressione lineare variabile dipendente= SODDISFAZIONE_GLOBALE, regressori= 21 variabili di soddisfazione (livello di soddisfazione relativo a tariffe, promozioni, ecc.) proc reg data= corso.telefonia; model soddisfazione_globale= VARIABILE DIPENDENTE CambioTariffa_2 ChiarezzaTariffe_2 … REGRESSORI /stb selection=stepwise slentry=0.05 slstay=0.05; run; quit; opzione per ottenere i coefficienti standardizzati soglia di significatività scelta per il test F affinchè un regressore possa entrare nel modello (valore di default=0.15) criterio di selezione automatica dei regressori soglia di significatività scelta per il test F affinchè un regressore non sia rimosso dal modello (valore di default=0.15) PROC REG – Output Il metodo Stepwise seleziona 6 regressori delle 21 variabili di soddisfazione tutti i regressori sono rilevanti per la spiegazione della variabile dipendente; il p-value associato al test t è < 0.05 (livello di significatività) Variable Intercept CambioTariffa_2 ComodatoUso_2 AltriOperatori_2 assistenza_2 ChiamateTuoOperatore_2 Promozioni_2 Parameter Estimates DF Parameter Standar t Value d Estimate Error 1 1 1 1 1 1 1 1.70973 0.11876 0.07698 0.09132 0.10482 0.21579 0.17767 0.28331 0.03154 0.02577 0.03212 0.03476 0.0343 0.03695 Pr > |t| Standardi zed Estimate 6.03 <.0001 3.77 0.0002 2.99 0.0031 2.84 0.0049 3.02 0.0029 6.29 <.0001 4.81 <.0001 0 0.19327 0.13114 0.13557 0.14139 0.30641 0.2571 Osservazioni influenti Se un valore yj è particolarmente inusuale rispetto a tutti gli altri allora la stima del modello di regressione può essere notevolmente influenzata da tale osservazione. Per valutare la presenza di osservazioni influenti si elimina una osservazione per volta e si stima nuovamente il modello. Osservazioni la cui esclusione produce variazioni rilevanti nelle stime dei coefficienti sono dette influenti Statistiche di influenza Una misura di influenza è rappresentata dalla Distanza di Cook che misura la distanza tra la stima dei coefficienti senza l’i-esima osservazione e con l’i-esima osservazione. Di yˆ yˆ (i ) 2 pˆ 2 →Le unità per cui Di > 1 sono potenzialmente osservazioni influenti Statistiche di influenza ε̂ i yi ŷi Var( ε̂ i ) σ 2 (1 h ii ) Un’altra misura di influenza è rappresentata dal Leverage H che misura quanto un’osservazione è lontana dal centro dei dati. →Leverage alto per i-esima oss implica che la correlazione tra Yi e il suo valore previsto è quasi 1Yi ha forte influenza sulla stima del suo valore previsto. Se il valore è piccolo vuol dire che ci sono tante oss che contribuiscono alla stima del valore previsto. Un’oss con alto leverage fa spostare di tanto la retta stimata. →Le unità per cui Hi>2*(p+1)/n sono potenzialmente osservazioni influenti [dove p è il numero di regressori e n il numero di osservazioni] N.B. Tende a segnalare troppe oss influenti e tratta tutti i regressori nello stesso modo! Statistiche di influenza Plot delle statistiche di influenza attenzione alle osservazioni nel quadrante in alto a destra D INFLUENTI - D INFLUENTI – SIA D CHE LEVERAGE H INFLUENTI - LEVERAGE H lev H Statistiche di influenza Sintassi La PROC REG fornisce nell’output i valori della distanza di Cook e del levarage H per ogni osservazione del dataset: proc reg data=dataset; model variabile_dipendente= regressore_1 ... regressore_p / influence r; output out=dataset_output cookd=cook H=leverage; run; OPTIONS: • Influence e r forniscono una serie di indicatori di influenza tra cui D e H • Cookd= crea nel dataset di output una variabile con i valori della Distanza di Cook per ogni osservazione • H= crea nel dataset di output una variabile con i valori del Leverage per ogni osservazione Esempio • Il data set AZIENDE contiene informazioni relative ai comportamenti di 500 clienti del segmento Aziende di una banca. • L’obiettivo è stimare il margine totale del cliente Esempio 1. Modello di regressione lineare usando come variabile dipendente il margine totale del cliente e come regressori le 66 variabili contenute nel data set 2. Procedura di selezione automatica delle variabili (stepwise) 3. Valutazione della bontà del modello 4. Analisi di influenza 5. Eliminazione delle osservazioni influenti 6. Ristima del modello con procedura di selezione automatica delle variabili 7. Valutazione della bontà del modello Esempio Output regressione stepwise : Parameter Estimates Variable Label Parameter Standard Estimate Error t Value Pr > |t| Standardized Estimate 1 -149.2749 84.6517 -1.76 PROFT_T1 Reddività totale al T1 1 1.70328 0.02438 69.85 <.0001 0.88285 _cs_np12 Possesso Risparmio Gestito N. Prodotti Conto Corrente Raccolta diretta al T1 1 803.64053 184.38473 4.36 <.0001 0.03096 1 171.16171 60.96896 2.81 0.0052 0.02176 1 -0.0038 0.00083562 Numero Medio Bonifici Entrata+Uscita Scost. Ass N. Prod. Cross Selling C.Correnti - Numero movimenti C.Correnti - Saldo Contabile Medio Avere C.Correnti - Saldo Contabile Medio Dare Estero: Anticipi in Euro Import Portafoglio: Valore Effetti non scaduti Portafoglio: Valore Effetti scaduti 1 -6.18124 2.11413 1 -165.10376 22.12247 -7.46 <.0001 -0.05213 1 7.75747 1.59384 4.87 <.0001 0.07754 1 0.00837 0.00137 6.11 <.0001 0.10111 1 0.00617 0.00101 6.13 <.0001 0.07593 1 0.02729 0.00969 2.82 0.0051 0.02084 1 -0.00645 0.00145 1 0.01127 0.00305 Intercept cs_np01 racc_dir_t1 sbon1 scanumt2 sccnmov1 sccvsma1 sccvsmd1 sesinae1 spovnsc1 spovsca1 Intercept DF 0.0785 0 -4.55 <.0001 -0.07592 -2.92 -0.04454 0.0036 -4.44 <.0001 3.69 0.0002 proc reg data=corso.aziende; model tot_margine= lista 66 regressori /stb selection= stepwise slentry=0.01 slstay=0.01; run; -0.04738 0.04086 Esempio Output analisi influenza : Distanza di Cook>1 e Leverage >0.052 =2*(12+1)/500 → oss influente proc reg data=corso.aziende; model tot_margine= lista 12 regressori /stb influence ; output out=corso.aziende_out cookd=cook H=leverage; run; Esempio Come si individuano e eliminano le osservazioni influenti (quelle con Distanza di Cook>1 e Leverage >0.052)? 1. Si esporta il data set aziende_out in excel, 2. si verifica la presenza di osservazioni influenti (vedi aziende_out.xls), 3. se ce ne sono si fa una copia del file chiamandolo aziende_new.xls dove si eliminano le osservazioni influenti 4. si importa il nuovo data set in SAS. Esportazione Esportazione guidata di un file SAS in un file excel Esempio Output ristima coefficienti di regressione al netto della osservazione influente : Parameter Estimates Variable Label Intercept PROFT_T1 _cs_np12 Intercept Reddività totale al T1 Possesso Risparmio Gestito Raccolta diretta al T1 Scost. Ass N. Prod. Cross Selling C.Correnti - Numero movimenti C.Correnti - Saldo Contabile Medio Avere C.Correnti - Saldo Contabile Medio Dare Estero: Anticipi in Euro Import Estero: Operatività Totale racc_dir_t1 scanumt2 sccnmov1 sccvsma1 sccvsmd1 sesinae1 sesoptot1 DF Parameter Estimate 13.02789 1 1.72412 1 811.93397 1 Standard t Value Pr > |t| Standardized Error Estimate 53.52084 0.24 0.8078 0 0.02464 69.98 <.0001 0.89474 184.46258 4.4 <.0001 0.03174 1 1 -0.00282 -158.54071 0.00067655 21.75354 -4.17 <.0001 -7.29 <.0001 -0.05604 -0.0508 1 7.30311 1.21192 6.03 <.0001 0.05551 1 0.00729 0.00121 6.04 <.0001 0.08317 1 0.00457 0.00081505 5.61 <.0001 0.05708 1 0.04441 0.01022 4.35 <.0001 0.03441 1 -0.00662 0.00206 -3.21 0.0014 -0.02624 proc reg data=aziende_new; model tot_margine= lista 66 regressori /stb selection= stepwise slentry=0.01 slstay=0.01; run; N.B.: aziende_new è lo stesso dataset iniziale SENZA l’osservazione influente