【问题标题】:Calculating MSE: why are these two ways giving different results?计算 MSE:为什么这两种方法会给出不同的结果?
【发布时间】:2017-04-02 02:44:16
【问题描述】:

我对 R 中 MSE 的计算有些疑问。

我尝试了两种不同的方法,得到了两种不同的结果。想知道哪一种是找到mse的正确方法。

第一:

model1 <- lm(data=d, x ~ y)
rmse_model1 <- mean((d - predict(model1))^2)

第二:

mean(model1$residuals^2)

【问题讨论】:

  • 谢谢!是的,它确实给出了相同的结果。

标签: r regression data-mining linear-regression


【解决方案1】:

原则上,它们应该给您相同的结果。但在第一个选项中,您应该使用d$x。如果你只使用d,R中的回收规则会重复predict(model1)两次(因为d有两列)并且计算也会涉及d$y

请注意,建议在第一个选项中包含na.rm = TRUEmean,以及newdata = dpredict。这使您的代码对数据中的缺失值具有鲁棒性。另一方面,您无需担心第二个选项中的NA,因为lm 会自动删除NA 案例。您可以查看此线程以了解此功能的潜在影响:Aligning Data frame with missing values

【讨论】:

    猜你喜欢
    • 2012-09-27
    • 1970-01-01
    • 2019-04-19
    • 2011-01-21
    • 1970-01-01
    • 2017-01-21
    • 2018-11-25
    • 1970-01-01
    • 2015-11-16
    相关资源
    最近更新 更多