我有大量的预测变量,我正在尝试对它们进行各种变换,同时拟合强大的线性模型。这些组合中的一些产生计算奇异系统。我想知道如何识别这些系统?我尝试了以下内容(请注意,这是故意使其失败的愚蠢行为):
xx <- data.frame(y = rnorm(100), x = (1:100), z = 2*(1:100))
zz <- try(rlm(y ~ x + z, data = xx))
Error in rlm.default(x, y, weights, method = method, wt.method = wt.method, :
'x' is singular: singular fits are not implemented in 'rlm'
length(intersect(class(zz), "try-error")) == 1
[1] TRUE
然而,它不起作用。从某种意义上说,返回会打破运行它的循环。有关如何处理这个问题的任何想法?再次感谢!
答案 0 :(得分:0)
这是一个多媒体的明显案例。
>library(usdm)
>a<-as.data.frame(cbind(xx$x,xx$z))
>vif(a)
Variables VIF
1 V1 Inf
2 V2 Inf
有多种方法可以从数据中删除多重性。岭回归是一种很好的方法。
1.请参考Predictions of ridge regression in R
2.Principal Component analysis。 参考 约翰逊&amp; Wichern(2001)。 应用多变量统计分析(第6版)。 Prentice Hall。