R:使用具有重复数的列表的稳健线性回归

标签 r regression linear-regression

我正在使用这样的 rlm 模型。

fit=rlm(log(y) ~ x  + z)

Z 是一个包含所有 1 的列表。我收到错误 Error in rlm.default(x, y, Weights, method = method, wt.method = wt.method, : 'x' is 单数: 单数拟合未在 'rlm' 中实现

是否相当于使用fit=rlm(log(y) ~ x + 1)代替?

最佳答案

是的,它相当于使用rlm(log(y) ~ x + 1),实际上最好只使用rlm(log(y) ~ x) 因为默认情况下包含截距或常数项(即仅包含 1 的变量)。

通过编写+ 1,您只是“提醒”rlm您需要回归中的常数项,而编写+ z看起来更就像您想要添加一些变量(您可能不知道它只包含 1),但是同时具有默认截距和仅包含 1 的 z 会导致问题 - perfect collinearity ,因此这会产生错误。

强烈建议在回归中始终保留截距,但如果您确实想消除它,可以使用 log(y) ~ x - 1 来完成。现在实际上 log(y) ~ x - 1 + z 工作正常,因为不存在两个相同的变量。

关于R:使用具有重复数的列表的稳健线性回归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35505139/

相关文章:

arrays - R:有效地从数组中删除单例尺寸

Selenium 问题

r - 如何从lm结果中获取RMSE?

r - `lm`摘要未显示所有因子水平

使用 lm() 与 t.test() 检验统计量的反转符号

r - 创建跨多个数量级的日志序列

r - 将十进制月份和年份转换为日期

重新变换线性模型。 R 案例研究

r - LM 和 LME 结果的标准误

machine-learning - 线性回归中的负系数