Ketika menggunakan splines kubik alami (yaitu dibatasi), fungsi dasar yang dibuat sangat linier, dan ketika digunakan dalam regresi tampaknya menghasilkan statistik VIF (variance inflation factor) yang sangat tinggi, menandakan multikolinieritas. Ketika seseorang mempertimbangkan kasus model untuk tujuan prediksi, apakah ini masalah? Sepertinya itu akan selalu menjadi masalah karena sifat dari konstruksi spline.
Berikut adalah contoh dalam 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
MEMPERBARUI:
Saya menghubungi Dr. Harrell, penulis paket Hmisc dalam R (dan yang lainnya) dan dia menjawab bahwa selama algoritme itu menyatu (misalnya regresi logistik) dan kesalahan standar belum meledak (seperti yang dikatakan Maarten di bawah) - dan model cocok, paling baik ditunjukkan pada set tes, maka tidak ada masalah dengan collinearity ini.
Lebih lanjut, ia menyatakan (dan ini hadir pada halaman 65 dari Regresi Modeling Strategi nya sangat baik buku ) yang collinearity antara variabel dibangun dalam mode aljabar seperti splines kubik dibatasi tidak masalah karena multikolinearitas hanya penting ketika bahwa perubahan collinearity dari sampel ke sampel.
sumber
rcsgen
Jawaban:
Multikolinieritas dapat menyebabkan masalah numerik saat memperkirakan fungsi tersebut. Inilah sebabnya mengapa beberapa menggunakan B-splines (atau variasi pada tema itu) alih-alih spline kubik terbatas. Jadi, saya cenderung melihat splines kubik terbatas sebagai salah satu alat yang berpotensi bermanfaat di kotak alat yang lebih besar.
sumber
scale=TRUE
argumen ke beberapa fungsi fitting dalamrms
paket R akan membakukan semua kolom sebelum pemasangan dan unstandardize koefisien setelah pemasangan sedemikian rupa sehingga pengguna tidak perlu menjelaskan.