我製作了一個線性數據集,並使用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