При использовании естественных (то есть ограниченных) кубических сплайнов созданные базовые функции являются в высокой степени коллинеарными, и при использовании в регрессии, по-видимому, они дают очень высокую статистику VIF (дисперсионный коэффициент инфляции), сигнализируя о мультиколлинеарности. Когда кто-то рассматривает случай модели для целей прогнозирования, это проблема? Кажется, что так будет всегда из-за характера конструкции сплайна.
Вот пример в 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
ОБНОВИТЬ:
Я обратился к доктору Харреллу, автору пакета Hmisc в R (и других), и он ответил, что пока алгоритм сходится (например, логистическая регрессия) и стандартные ошибки не взрываются (как сказал Мартен ниже) - и модель хорошо вписывается, лучше всего показывается на тестовом наборе, тогда с этой коллинеарностью проблем нет.
Кроме того, он заявил (и это присутствует на странице 65 его превосходной книги « Стратегии регрессионного моделирования» ), что коллинеарность между переменными, построенными алгебраическим образом, такими как ограниченные кубические сплайны, не является проблемой, поскольку мультиколлинеарность имеет значение только тогда, когда эта коллинеарность изменяется от образца к образцу.
rcsgen
Stata использует ортогонализацию Грамма-Шмидта)