Cosa sono i "coefficienti con alias"?


24

Durante la creazione di un modello di regressione in R ( lm), ricevo spesso questo messaggio

"there are aliased coefficients in the model"

cosa significa esattamente?

Inoltre, a causa di ciò predict()sta dando anche un avvertimento.

Sebbene sia solo un avvertimento, voglio sapere come possiamo rilevare / rimuovere i coefficienti con alias prima di creare un modello.

Inoltre, quali sono le probabili conseguenze della mancata osservanza di questo avviso?

Risposte:


32

Sospetto che questo non sia un errore lm, ma piuttosto vif(dal pacchetto car). Se è così, credo che tu abbia incontrato una perfetta multicollinearità . Per esempio

x1 <- rnorm( 100 )
x2 <- 2 * x1
y <- rnorm( 100 )
vif( lm( y ~ x1 + x2 ) )

produce il tuo errore.

In questo contesto, "alias" si riferisce alle variabili che dipendono linearmente dagli altri (cioè causano una perfetta multicollinearità).

Il primo passo verso la soluzione è identificare quali variabili sono i colpevoli. Correre

alias( lm( y ~ x1 + x2 ) )

per vedere un esempio.


Grazie. La "multicollinearità" equivale a "coefficienti con alias"?
Mohit Verma,

1
@MohitVerma: in questa terminologia '' alias '' si riferisce alle variabili che sono linearmente dipendenti (cioè causano una perfetta multicollinearità). Vedi stat.ethz.ch/R-manual/R-patched/library/stats/html/alias.html . Con questo aggiorno la risposta.
Tamas Ferenci,

3

Ciò si presenta spesso quando si hanno singolarità nella X'Xmatrice di regressione (valori NA nel riepilogo dell'output di regressione).

Base R lm()consente valori singolari / perfetta multicollinearità come impostazione predefinita singular.ok = TRUE. Altri pacchetti / funzioni sono più conservativi.

Ad esempio, per la linearHypothesis()funzione nel carpacchetto, l'impostazione predefinita è singular.ok = FALSE. Se hai una perfetta multicollinearità nella tua regressione, linearHypothesis()restituirà un errore "ci sono coefficienti con alias nel modello". Per gestire questo errore, impostare singular.ok = TRUE. Fai attenzione, tuttavia, poiché ciò potrebbe mascherare la perfetta multicollinearità nella tua regressione.


0

forse è bello saperlo per alcuni: ho avuto questo errore anche quando ho aggiunto manichini a una regressione. R omette automaticamente un manichino, ma ciò provoca un errore nel test VIF. quindi una soluzione, per alcuni, potrebbe essere la rimozione manuale di un manichino.

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.