我正在使用lmRob
包中的robust
在R中执行强大的回归。我有四个响应变量(R1-R4)和八个预测变量(X1-X8),因此可以进行四个单独的稳健回归:
`library(robust)
mod.rob <- lmRob(R1 ~ X1 + X2 + X3 + X4 + X5 + X6 + X7 + X8, data=dataset)
summary(mod.rob)`
......等等四个响应变量。
R1到R3工作正常,但当我尝试做R4时,我收到两条错误消息。第一:
Warning message:
In lmRob.fit.compute(x, y, x1.idx = x1.idx, nrep = nrep, robust.control = robust.control, :
Max iteration for refinement reached.
...并在summary(mod.rob)
之后:
`Warning messages:
1: In test.lmRob(object) :
Denominator smaller than tl= 1e-100 in test for bias.
2: In test.lmRob(object) :
Denominator smaller than tl= 1e-100 in test for bias.`
在结果模型中,除截距外,所有t值和估计值均为零,所有p值均为1。偏差M估计的检验对统计量和p值都有NaN,我怀疑这是由于某种原因模型失败的地方。如果我将参数mxr
更改为200,我会删除第一个警告,但不会删除第二个警告。
我试图修改其他一些参数; initial.alg, tl, tlo, tua
,但无济于事。用mod.lm <- lm(R4 ~ X1 ... X8)
做一个普通的LS就可以了。我想我的统计知识缺乏,因为我真的不明白什么是错的。
编辑:
我已在此处上传了数据:http://jmp.sh/QVV6O9w
我的目标是使用这些数据拟合回归模型。我的统计背景比我想象的还要多,所以当深入研究回归建模时,我发现它比我原先希望的要复杂一些。简而言之,我只想构建尽可能准确的模型。预测因子都是基于以前的文献,从我所读到的,将它们全部保留在模型中而不是使用一些逐步方法更为合理。到目前为止,我已经尝试学习各种鲁棒技术,GAM和自举,因为OLS线性模型违反了残差假设的正态性。我真的不知道如何继续下去。