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.
rcsgen
comando Stata utiliza la ortogonalización de Gram-Schmidt)