Come calcolare il fattore di inflazione della varianza (vif) in sas
Nell’analisi di regressione, la multicollinearità si verifica quando due o più variabili predittive sono altamente correlate tra loro, in modo tale da non fornire informazioni univoche o indipendenti nel modello di regressione.
Se il grado di correlazione tra le variabili è sufficientemente elevato, ciò può causare problemi durante l’adattamento e l’interpretazione del modello di regressione.
Un modo per rilevare la multicollinearità è utilizzare una metrica nota come fattore di inflazione della varianza (VIF) , che misura la correlazione e la forza della correlazione tra le variabili esplicative in un modello di regressione .
Questo tutorial spiega come calcolare VIF in SAS.
Esempio: calcolo del VIF in SAS
Per questo esempio, creeremo un set di dati che descrive gli attributi di 10 giocatori di basket:
/*create dataset*/ data my_data; input rating points assists rebounds; datalines ; 90 25 5 11 85 20 7 8 82 14 7 10 88 16 8 6 94 27 5 6 90 20 7 9 76 12 6 6 75 15 9 10 87 14 9 10 86 19 5 7 ; run ; /*view dataset*/ proc print data =my_data;
Supponiamo di voler adattare un modello di regressione lineare multipla utilizzando il punteggio come variabile di risposta e punti , assist e rimbalzi come variabili predittive.
Possiamo utilizzare PROC REG per adattare questo modello di regressione con l’opzione VIF per calcolare i valori VIF per ciascuna variabile predittrice nel modello:
/*fit regression model and calculate VIF values*/ proc reg data =my_data; model rating = points assists rebounds / lively ; run ;
Dalla tabella Stime dei parametri , possiamo vedere i valori VIF per ciascuna delle variabili predittive:
- punti: 1.76398
- assist: 1.96591
- rimbalzi: 1.17503
Nota: ignorare il VIF per “Intercetta” nel modello poiché questo valore non è rilevante.
Il valore VIF inizia da 1 e non ha un limite superiore. Una regola generale per interpretare i VIF è:
- Un valore pari a 1 indica che non esiste alcuna correlazione tra una determinata variabile predittore e qualsiasi altra variabile predittore nel modello.
- Un valore compreso tra 1 e 5 indica una correlazione moderata tra una determinata variabile predittiva e altre variabili predittive nel modello, ma spesso non è abbastanza grave da richiedere un’attenzione speciale.
- Un valore maggiore di 5 indica una correlazione potenzialmente seria tra una determinata variabile predittrice e altre variabili predittive nel modello. In questo caso, le stime dei coefficienti e i valori p nei risultati della regressione sono probabilmente inaffidabili.
Poiché ciascuno dei valori VIF delle variabili predittive nel nostro modello di regressione è vicino a 1, la multicollinearità non è un problema nel nostro esempio.
Come gestire la multicollinearità
Se determini che la multicollinearità è un problema nel tuo modello di regressione, esistono diversi modi comuni per risolverlo:
1. Rimuovere una o più variabili altamente correlate.
Questa è la soluzione più rapida nella maggior parte dei casi ed è spesso una soluzione accettabile perché le variabili rimosse sono comunque ridondanti e aggiungono poche informazioni univoche o indipendenti al modello.
2. Combina linearmente le variabili predittive in qualche modo, ad esempio aggiungendole o sottraendole in qualche modo.
In questo modo, puoi creare una nuova variabile che comprende le informazioni di entrambe le variabili e non avrai più problemi di multicollinearità.
3. Eseguire un’analisi progettata per tenere conto di variabili altamente correlate come l’analisi delle componenti principali o la regressione dei minimi quadrati parziali (PLS).
Queste tecniche sono progettate specificamente per gestire variabili predittive altamente correlate.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in SAS:
Come eseguire la regressione lineare multipla in SAS
Come creare un grafico residuo in SAS
Come calcolare la distanza di cottura in SAS