При использовании естественных (то есть ограниченных) кубических сплайнов созданные базовые функции являются в высокой степени коллинеарными, и при использовании в регрессии, по-видимому, они дают очень высокую статистику 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 использует ортогонализацию Грамма-Шмидта)Ответы:
Мультиколлинеарность может привести к численным проблемам при оценке такой функции. Вот почему некоторые используют B-сплайны (или вариации на эту тему) вместо ограниченных кубических сплайнов. Итак, я склонен видеть ограниченные кубические сплайны как один потенциально полезный инструмент в большем наборе инструментов.
источник
scale=TRUE
аргумент для некоторых из функций подгонки вrms
пакете R будет стандартизировать все столбцы перед подгонкой и нестандартные коэффициенты после подгонки так, что пользователю не нужно учитывать.