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.
quelle
rcsgen
Befehl Stata verwendet beispielsweise die Orthogonalisierung nach Gram-Schmidt)Antworten:
Die Multikollinearität kann bei der Abschätzung einer solchen Funktion zu numerischen Problemen führen. Aus diesem Grund verwenden manche B-Splines (oder Variationen dieses Themas) anstelle von eingeschränkten kubischen Splines. Daher sehe ich eingeschränkte kubische Splines als ein potenziell nützliches Werkzeug in einer größeren Toolbox.
quelle
scale=TRUE
Argument für einige Anpassungsfunktionen im R-rms
Paket alle Spalten vor der Anpassung und dekomprimiert die Koeffizienten nach der Anpassung auf eine Weise, die der Benutzer nicht berücksichtigen muss.