Quale fattore di inflazione della varianza dovrei usare: o ?


30

Sto cercando di interpretare i fattori di inflazione della varianza utilizzando la viffunzione nel pacchetto di R car. La funzione stampa sia un generalizzato che anche . Secondo il file di aiuto , quest'ultimo valoreVIFGVIF1/(2df)

Per regolare la dimensione dell'ellissoide di confidenza, la funzione stampa anche GVIF ^ [1 / (2 * df)] dove df è il grado di libertà associato al termine.

Non capisco il significato di questa spiegazione nel file della guida, quindi non sono sicuro se dovrei usare o . Per il mio modello questi due valori sono molto diversi (il massimo è ~ ; il massimo è ~ ).GVIFGVIF1/(2df)GVIF60GVIF1/(2df)3

Qualcuno potrebbe spiegarmi quale dovrei usare e che cosa si intende regolando la dimensione dell'ellissoide di fiducia?

Risposte:


25

Georges Monette e io abbiamo introdotto il GVIF nel documento "Diagnostica della collinearità generalizzata", JASA 87: 178-183, 1992 ( link ). Come abbiamo spiegato, il GVIF rappresenta il rapporto quadrato degli ipervolumi dell'ellissoide di confidenza articolare per un sottoinsieme di coefficienti rispetto all'ellissoide "utopico" che si otterrebbe se i regressori in questo sottoinsieme non fossero correlati ai regressori nel sottoinsieme complementare. Nel caso di un singolo coefficiente, questo è specializzato al solito VIF. Per rendere i GVIF comparabili tra le dimensioni, abbiamo suggerito di usare GVIF ^ (1 / (2 * Df)), dove Df è il numero di coefficienti nel sottoinsieme. In effetti, ciò riduce il GVIF a una misura lineare, e per il VIF, dove Df = 1, è proporzionale all'inflazione dovuta alla collinearità nell'intervallo di confidenza per il coefficiente.


3
Benvenuti nel nostro sito! Saremo onorati se registrassi il tuo account e venissi a visitare di tanto in tanto. Una piccola nota per le pulizie: non è necessario firmare i tuoi post, il tuo identicon, con un link alla tua pagina utente, viene automaticamente aggiunto ad ogni risposta che dai.
gung - Ripristina Monica

24

Ho incontrato esattamente la stessa domanda e ho provato a farmi strada. Vedi la mia risposta dettagliata di seguito.

Prima di tutto, ho trovato 4 opzioni che producono valori VIF simili in R:

corvifcomando dal pacchetto DAE,

vifcomando dal pacchetto auto,

vifcomando dal pacchetto rms,

vifcomando dal pacchetto DAAG.

L'uso di questi comandi su una serie di predittori che non include alcun fattore / variabile categorica o termine polinomiale è stretto. Tutti e tre i comandi producono lo stesso output numerico anche se il corvifcomando dal pacchetto DAE identifica i risultati come GVIF.

Tuttavia, in genere, GVIF entra in gioco solo per fattori e variabili polinomiali. Le variabili che richiedono più di 1 coefficiente e quindi più di 1 grado di libertà sono generalmente valutate usando GVIF. Per i termini a un coefficiente VIF è uguale a GVIF.

Pertanto, è possibile applicare regole empiriche standard sul fatto che la collinearità possa costituire un problema, come una soglia 3, 5 o 10. Tuttavia, potrebbe essere necessario applicare alcune precauzioni (consultare: http://www.nkd-group.com/ghdash/mba555/PDF/VIF%20article.pdf ).

Nel caso di termini a più coefficienti, come ad esempio per i predittori categorici, i 4 pacchetti producono output diversi. I vifcomandi dai pacchetti rms e DAAG producono valori VIF, mentre gli altri due producono valori GVIF.

Diamo un'occhiata prima ai valori VIF dai pacchetti rms e DAAG:

TNAP     ICE     RegB    RegC    RegD    RegE

1.994    2.195   3.074   3.435   2.907   2.680

TNAP e ICE sono predittori continui e Reg è una variabile categorica presentata dai manichini RegB a RegE. In questo caso RegA è la linea di base. Tutti i valori VIF sono piuttosto moderati e di solito nulla di cui preoccuparsi. Il problema con questo risultato è che è influenzato dalla linea di base della variabile categoriale. Per essere certi di non avere un valore VIF al di sopra di un livello accettabile, sarebbe necessario ripetere questa analisi per ogni livello della variabile categoriale che costituisce la linea di base. In questo caso cinque volte.

Applicando il corvifcomando dal pacchetto AED o il vifcomando dal pacchetto auto, vengono prodotti i valori GVIF:

     |  GVIF     | Df | GVIF^(1/2Df) |  

TNAP | 1.993964  | 1  | 1.412078     |
ICE  | 2.195035  | 1  | 1.481565     | 
Reg  | 55.511089 | 5  | 1.494301     |

Il GVIF viene calcolato per set di regressori correlati, ad esempio per un set di regressori fittizi. Per le due variabili continue TNAP e ICE questo è lo stesso dei valori VIF precedenti. Per la variabile categoriale Reg, ora otteniamo un valore GVIF molto elevato, anche se i valori VIF per i singoli livelli della variabile categoriale erano tutti moderati (come mostrato sopra).

solVioF(1/(2×Df))solVioF(1/(2×Df))il valore della variabile categoriale è una misura simile per la riduzione della precisione della stima dei coefficienti dovuta alla collinearità (anche se non pronta per la quotazione, consultare anche http://socserv2.socsci.mcmaster.ca/jfox/papers/linear- modelli-problemi.pdf ).

solVioF(1/(2×Df))solVioF(1/(2×Df))

solVioF(1/(2×Df))solVioF(1/(2×Df))solVioF2(1/(2×Df))<2


Benvenuto nel sito, @JanPhilippS. Sembra una nuova domanda tanto quanto una risposta alla domanda del PO. Utilizza solo il campo "La tua risposta" per fornire risposte. Se hai una tua domanda, fai clic su [ASK QUESTION]in alto e ponila lì, quindi possiamo aiutarti correttamente. Dato che sei nuovo qui, potresti voler partecipare al nostro tour , che contiene informazioni per i nuovi utenti.
gung - Ripristina Monica

2
Bene, non è davvero una nuova domanda. Piuttosto una risposta dettagliata.
Jan Philipp S,

1
@JanPhilippS, grazie per i collegamenti alle fonti per ulteriori letture. Penso che il tuo post sia sembrato una risposta di qualità che ha permesso di riflettere sullo stato delle cose.
timothy.s.lau,

6

Fox & Monette (citazione originale per GVIF, GVIF ^ 1 / 2df) suggeriscono di portare GVIF alla potenza di 1 / 2df che rende il valore del GVIF comparabile attraverso un numero diverso di parametri. "È analogo prendere la radice quadrata del solito fattore di varianza-inflazione" (da An R e S-Plus Companion a Applied Regression di John Fox). Quindi sì, quadrarlo e applicare la solita "regola empirica" ​​del VIF sembra ragionevole.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.