자연적인 (즉, 제한된) 큐빅 스플라인을 사용할 때 생성 된 기본 함수는 매우 공 선형이며 회귀에 사용될 때 다중 공선 성을 나타내는 매우 높은 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
최신 정보:
R (및 기타)의 Hmisc 패키지 작성자 인 Harrell 박사에게 연락하여 알고리즘이 수렴하고 (예 : 로지스틱 회귀) 표준 오류가 폭발하지 않는 한 (Maarten이 아래에 언급 한대로) 응답했습니다. 모델은 테스트 세트에서 가장 잘 보여 지므로이 공선성에는 문제가 없습니다.
또한, 그는 진술 (이 그의 뛰어난 회귀 모델링 전략의 65 페이지에 존재하는 책 다중 공선는 샘플 샘플에서 때 공선 변경 문제로 제한 입방 스플라인 같은 대수 방식으로 구성 변수 간의 공선 성이 문제가되지 않습니다).
rcsgen
Stata 명령은 Gram-Schmidt orthogonalizaton 사용)