R:对拆分数据使用 forecast::accuracy()

R: use forecast::accuracy() on split data

很难从 {forecast} 获取 accuracy() 函数来处理预测测试值。

首先,在训练数据上构建 LM 模型(这里是为了可重复性):

library(ISLR)
set.seed(1)
train <- sample(392, 196)
lm.fit <- lm(mpg~horsepower, data = Auto, subset = train)

然后计算测试数据的均方误差:

mean((auto$mpg - predict(lm.fit, Auto))[-train]^2)

我的目标是使用 forecast::accuracy() 获得 MSE(而不是上面的)和额外的错误度量。但是,无论我喂它什么,我根本无法将它获取到 运行。这绝对是用户错误,并在那里寻找任何想法。

我知道 forecast::accuracy() 不包含 MSE "out of the box" 但我计划通过 accuracy(data)[, 2]^2 计算它并与其他输出合并。

accuracy(forecast(lm.fit, newdata=Auto[-train,]), Auto$mpg[-train])[,2]^2