我制作了一个线性数据集,并使用lm()
来将模型拟合到该数据集。我现在试图找到MSE使用mse()
寻找均方误差?
我知道MSE的公式,但我试图使用此功能。什么才是正确的方法呢?我已经看过这些文档,但我不是愚蠢的,就是真正知道自己在做什么的人。
library(hydroGOF)
x.linear <- seq(0, 200, by=1) # x data
error.linear <- rnorm(n=length(x.linear), mean=0, sd=1) # Error (0, 1)
y.linear <- x.linear + error.linear # y data
training.data <- data.frame(x.linear, y.linear)
training.model <- lm(training.data)
training.mse <- mse(training.model, training.data)
plot(training.data)
mse()
需要两个数据帧。我不确定如何从lm()
中获取数据帧。我甚至在正确的轨道上为我的数据找到合适的MSE?
@ZheyuanLi我或多或少地问,我的预测/模拟Y值的集合可以来自公式。在mse()函数中,它需要一个观察和模拟的数据帧。我需要知道如何使用这两个数据框。 – KingDan
我不知道你为什么要用这个奇怪的函数而不是'mean(training.model $ residuals^2)' – Gregor
你可以从模型'training.model $ fitted.values'中得到拟合的值,但是它们是一个矢量,而不是数据框。所以我想替代方案是'hydroGOF :: mse(data.frame(training.model $ fitted.values),training.data [[“y.linear”]])'...我也会**强烈* *建议在拟合模型时指定一个公式。就像你所拥有的那样,我认为你在'y'上倒退'x',这可能不是你想要的。 – Gregor