Я создал линейный набор данных и использовал 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 для своих данных?
mse()
требуется наблюдаемый и смоделированный кадр данных. Мне нужно знать, что использовать для обоих этих фреймов данных. - person Dan   schedule 27.09.2016mean(training.model$residuals ^ 2)
- person Gregor Thomas   schedule 27.09.2016training.model$fitted.values
, но они являются вектором, а не фреймом данных. Поэтому я полагаю, что альтернативой являетсяhydroGOF::mse(data.frame(training.model$fitted.values), training.data[["y.linear"]])
... также я настоятельно рекомендую указывать формулу при подгонке модели. Поскольку у вас это есть, я думаю, что вы регрессируетеx
наy
, что, вероятно, не то, чего вы хотите. - person Gregor Thomas   schedule 27.09.2016