Bei Verwendung natürlicher (dh eingeschränkter) kubischer Splines sind die erzeugten Basisfunktionen hochgradig kollinear, und bei Verwendung in einer Regression scheinen sich sehr hohe VIF-Statistiken (Varianzinflationsfaktor) zu ergeben, die Multikollinearität signalisieren. Wenn man den Fall eines Modells für Vorhersagezwecke in Betracht zieht, ist dies ein Problem? Es scheint, als ob dies aufgrund der Art der Keilwellenkonstruktion immer der Fall sein wird.
Hier ist ein Beispiel in 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
AKTUALISIEREN:
Ich habe mich an Dr. Harrell gewandt, den Autor des Hmisc-Pakets in R (und andere), und er hat geantwortet, solange der Algorithmus konvergiert (z. B. die logistische Regression) und die Standardfehler nicht explodiert sind (wie Maarten weiter unten sagte) - und Das Modell passt gut, am besten auf einem Test-Set, dann gibt es kein Problem mit dieser Kollinearität.
Ferner stellte er fest (und dies ist auf Seite 65 seines ausgezeichneten Buches über Regressionsmodellierungsstrategien enthalten ), dass die Kollinearität zwischen Variablen, die auf algebraische Weise wie eingeschränkte kubische Splines konstruiert wurden, kein Problem darstellt, da Multikollinearität nur dann von Bedeutung ist, wenn sich die Kollinearität von Stichprobe zu Stichprobe ändert.
rcsgen
Befehl Stata verwendet beispielsweise die Orthogonalisierung nach Gram-Schmidt)