【发布时间】:2016-01-11 09:37:18
【问题描述】:
我用biglm 和lm 拟合了一个模型,返回的模型摘要是一样的(只是格式不同)。但是,当我使用它们来预测相同的数据集时,它们会产生不同的结果。 lm 模型与我使用模型系数手动计算它们相比是正确的。但 biglm 模型不正确。
以下是型号:
m1 <- biglm(cost ~ d + v + zi, data = tl)
m2 <- lm(cost ~ d + v + zi, data = tl)
这是模型摘要的一小部分:
m1:
d: coef 473.9196
m2:
d: coef 4.739e+02
其余的模型系数是匹配的,与上图相同。但是,当我使用模型进行预测时,结果却不同:m1 != m1
t1$m1 <- predict(m1, t1)
t1$m2 <- predict(m2, t1)
我尝试使用 predict.biglm() 但收到错误消息,指出该函数不存在。
我也看过这篇文章 (R: lm and biglm producing different answers) 并确定这不是原因。
数据集太大,不知道怎么在这里分享。我也可能需要一段时间才能先对一些信息进行解码。
但这里有一小部分结果比较表明预测是完全不同的。
m1 m2
1798.831, 2365.868
1801.074, 2368.112
1482.508, 2351.042
【问题讨论】:
-
您可以分享您的数据,以便社区可以运行您的代码吗?
-
预测有何不同?
-
让我试着弄清楚如何添加数据和示例。
-
好的,所以它们非常不同。丢失数据的处理方式是否有不同的默认值? (idk) 尽量不要将预测分配回您的数据框,并查看它们。
p1 <- predict(m1, t1); p2 <- predict(m2, t1); length(as.numeric(p1)); length(p2) ; plot(as.numeric(p1), p2)。我还将通过在新的 R 会话中再次运行您的代码来检查,以确保原始模型相同 -
@user20650,我按照你的建议做了:x1