sql >> Databasteknik >  >> RDS >> Mysql

VIF:er som returnerar aliasade koefficienter i R

Använd 'alias'-funktionen i R för att se vilka variabler som är linjärt beroende. Ta bort de beroende variablerna och vif-funktionen bör fungera korrekt.

formula <- as.formula(Spring_Autumn ~ Oct + Nov + Dec + Jan + Feb + Mar + Apr + May + Jun + Jul + Aug + Sep + X1min + X3min +   X7min + X30min + X90min + X1max + X3max + X7max + X30max + X90max + BF + Dmin + Dmax+ LP + LPD + HP + HPD + RR + FR + Rev, data = IHA_stats)
fit <-lm(formula)

#the linearly dependent variables
ld.vars <- attributes(alias(fit)$Complete)$dimnames[[1]]

#remove the linearly dependent variables variables
formula.new <- as.formula(
    paste(
        paste(deparse(formula), collapse=""), 
        paste(ld.vars, collapse="-"),
        sep="-"
    )
)

#run model again
fit.new <-lm(formula.new)
vif(fit.new)

OBS:Detta kommer inte att fungera om du har automatiskt genererade dummyvariabler som är identiska med andra variabler. Variabelnamnen blir trassliga. Du kan skapa ditt eget hack för att komma runt det.




  1. Använda DBCC CLONEDATABASE för att generera ett schema och enbart statistikkopia av en användardatabas i SQL Server 2014 SP2

  2. Återställer åtkomst till förlorat MySQL-lösenord för PHPMyAdmin på WAMP

  3. grupp efter månad i unix-tidsstämpelfältet

  4. UPPDATERING med jsonb_set() påverkar bara ett objekt i kapslad array