Collinearità

Una volta costruito un modello lineare col metodo di Maximum Likelihood come si può decidere quali variabili introdurre nel modello? Ovviamente, noi vogliamo introdurre variabili dipendenti che:

  1. abbiano una relazione genuina con la variabile dipendente
  2. aggiungono informazione al modello, considerando le altre indipendenti già presenti nel modello.

Ovviamente, vorremmo allo stesso tempo escludere variabili che forniscono la stessa informazione di quelle già presenti; ossia, vogliamo evitare la collinearità.

Collinearità

Quando variabili collinari sono inserite insieme in un modello, quest’ultimo risulta instabile e otterremo errori standard maggiorati per i parametri. La collinearità può essere individuata tramite i Variance Inflation Factors (VIFs).

I VIFs si calcolano costruendo un modello lineare tra ogni covariata e tutte le altre covariate. Ad esempio, per la prima variable indipendente

x_{1i} = \delta_{0} + \delta_{1}x_{2i} + \cdots + \delta_{p}x_{pi} + u_{i}

dove u_{i} è l’errore.

Un modello di questo tipo è costruito per ogni indipendente e prendendo l’R2 si calcola il VIF:

VIF_{j} = \frac{1}{1-R^{2}_{j}}

per le covariate j = 1, . . ., p.

Grandi VIFs indicano collinearità. Tuttavia non ci sono regole ben precise sul ‘grandi’: la regola più comune è di considerarli problematici quando VIF > 4, perché l’intervallo di confidenza (IC) del parametro j sarà grande il doppio del normale (ossia \sqrt{VIF} indica quanto sarà dilatato l’IC)

Facciamo un esempio in R:

LinearAll = lm(Sepal.Length ~ Sepal.Width + Petal.Length + Petal.Width, data = iris) # Creiamo il modello lineare
library(car) # Carichiamo la libreria per la funzione 'vif'
vif(LinearAll)

Ecco l’output:

Sepal.Width Petal.Length Petal.Width
1.270815    15.097572   14.234335

Come possiamo vedere le variabili ‘Petal.Length’ e ‘Petal.Width’ sono altamente collineari: se le togliessimo otterremo una maggiore stabilità del modello

Un’altra prova del fatto che che il modello sia affetto da collinearità sono parametri il cui valore cambia sostanzialmente quando nuove variabili sono aggiunte al modello.

Come risolvere la collinearità? La soluzione più semplice è di rimuovere le variabili collinari: molto spesso questo accade automaticamente quando si usano algoritmi di selezione automatica.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.