¿Hay algún problema con la multicolinealidad y la regresión de splines?

12

Cuando se usan splines cúbicas naturales (es decir, restringidas), las funciones básicas creadas son altamente colineales, y cuando se usan en una regresión parecen producir estadísticas muy altas de VIF (factor de inflación de varianza), lo que indica multicolinealidad. Cuando se considera el caso de un modelo con fines de predicción, ¿es esto un problema? Parece que siempre será así debido a la naturaleza de la construcción de la ranura.

Aquí hay un ejemplo en R:

library(caret)
library(Hmisc)
library(car)
data(GermanCredit)

spl_mat<-rcspline.eval(GermanCredit$Amount,  nk=5, inclx=TRUE) #natural cubic splines with 5 knots

class<-ifelse(GermanCredit$Class=='Bad',1,0) #binary target variable
dat<-data.frame(cbind(spl_mat,class))

cor(spl_mat)

OUTPUT:
              x                              
    x 1.0000000 0.9386463 0.9270723 0.9109491
      0.9386463 1.0000000 0.9994380 0.9969515
      0.9270723 0.9994380 1.0000000 0.9989905
      0.9109491 0.9969515 0.9989905 1.0000000


mod<-glm(class~.,data=dat,family=binomial()) #model

vif(mod) #massively high

OUTPUT:
x         V2         V3         V4 
319.573 204655.833 415308.187  45042.675

ACTUALIZAR:

Me puse en contacto con el Dr. Harrell, el autor del paquete Hmisc en R (y otros) y él respondió que mientras el algoritmo converja (por ejemplo, la regresión logística) y los errores estándar no hayan explotado (como dijo Maarten a continuación), y el modelo se ajusta bien, se muestra mejor en un conjunto de prueba, entonces no hay problema con esta colinealidad.

Además, afirmó (y esto está presente en la página 65 de su excelente libro de Estrategias de modelado de regresión ) que la colinealidad entre variables construidas de manera algebraica como splines cúbicas restringidas no es un problema, ya que la multicolinealidad solo importa cuando esa colinealidad cambia de una muestra a otra.

B_Miner
fuente
1
Siempre puede ortogonalizar las splines generadas (por ejemplo, el rcsgencomando Stata utiliza la ortogonalización de Gram-Schmidt)
boscovich

Respuestas:

7

La multicolinealidad puede conducir a problemas numéricos al estimar dicha función. Es por eso que algunos usan B-splines (o variaciones sobre ese tema) en lugar de splines cúbicos restringidos. Por lo tanto, tiendo a ver splines cúbicas restringidas como una herramienta potencialmente útil en una caja de herramientas más grande.

Maarten Buis
fuente
Hola Maarten, cuando dices problemas numéricos, ¿te refieres a la convergencia o algo así? Si la regresión convergió y parece funcionar bien en un conjunto de pruebas, ¿concluye que la situación no es un problema?
B_Miner
Si hay problemas numéricos, entonces la falta de convergencia es una consecuencia probable (pero no necesaria). Las estimaciones de coeficientes poco realistas y / o los errores estándar poco realistas son otras posibles consecuencias.
Maarten Buis
1
Métodos como la descomposición QR ayudaron mucho. Sin embargo, aún puede romper el software moderno, se ha vuelto más difícil hacerlo.
Maarten Buis
1
Eso puede no ser un problema. Pero si hay un problema numérico, el scale=TRUEargumento de algunas de las funciones de ajuste en el rmspaquete R estandarizará todas las columnas antes de ajustar y desestandarizar los coeficientes después de ajustar de una manera que el usuario no necesita tener en cuenta.
Frank Harrell
2
No mire tanto los coeficientes individuales y los errores estándar. Mira toda la curva ajustada.
Frank Harrell