2016-04-11 3 views
0

accuracy()関数を{forecast}から予測テスト値に作用させるのが苦労します。R:スプリットデータにforecast :: accuracy()を使用

まず、(再現性のためにここでは)学習データにLMモデルの構築:

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

そして、テストデータのMSE計算:私の目標はにforecast::accuracy()を使用することです

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

をMSE(上記ではなく)と追加のエラーの尺度を取得します。しかし、私は何を食べても、それを実行することはできません。これは間違いなくユーザーの間違いであり、そこに考えを探しています。

私はforecast::accuracy()に「すぐに使える」MSEが含まれていないことを知っていますが、私はaccuracy(data)[, 2]^2でMSEを計算し、他の出力とマージする予定です。

+0

なぜ時系列のための「forecast」を使用しますか? – adaien

+0

私は 'forecast :: accuracy'エラーの複数の尺度が好きです。ヘルプドキュメントは、 'accuracy()'が 'LM'オブジェクトを取ることができると述べているので、これは可能です。 –

答えて

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

ありがとうございました!完璧に働いた。私は 'accuracy()'の第二引数をつぶし続けました。 –

関連する問題