多重共线性和样条回归是否存在问题?

机器算法验证 多重回归 广义线性模型 预测模型 多重共线性 样条
2022-03-16 09:27:07

当使用自然(即受限)三次样条时,创建的基函数是高度共线性的,并且当在回归中使用时,似乎会产生非常高的 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

更新:

我联系了 Harrell 博士,他是 R(和其他人)中 Hmisc 包的作者,他回答说,只要算法收敛(例如逻辑回归)并且标准误差没有爆炸(正如 Maarten 在下面所说) - 并且该模型拟合得很好,最好在测试集上显示,那么这种共线性就没有问题。

此外,他说(这出现在他出色的回归建模策略一书的第 65 页)以代数方式构造的变量之间的共线性(如受限三次样条)不是问题,因为多重共线性仅在共线性从样本到样本发生变化时才重要。

1个回答

在估计这样的函数时,多重共线性会导致数值问题。这就是为什么有些人使用B 样条(或该主题的变体)而不是受限三次样条。因此,我倾向于将受限三次样条曲线视为较大工具箱中的一种潜在有用工具。