2016-04-11 32 views
0

accuracy() işlevini, {forecast}'dan beklenen test değerleriyle çalışmak için zorlanıyor.R: tahmini verileri kullan: doğruluk() kesikli verilerde

Birincisi, (burada tekrarlanabilirlik için) eğitim verilerine LM modeli oluşturmak:

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

Sonra deney verilerinin MSE hesaplamak:

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

Amacım için forecast::accuracy() kullanmaktır MSE (yukarıdakiler yerine) ve ek hata ölçüleri alın. Ancak, ne beslediğime bakmadan, onu koşamamıştım. Bu kesinlikle kullanıcı hatasıdır ve orada herhangi bir fikir aramak için.

forecast::accuracy(), MSE "kutusunun dışında" içermiyor ancak accuracy(data)[, 2]^2 aracılığıyla hesaplamayı ve diğer çıktılarla birleştirmeyi planlıyorum.

+0

Neden "tahmin" için zaman dizileri kullanmak istersiniz? – adaien

+0

"Tahmin :: doğruluk" hatalarının çoğunu ürettim. Yardım belgelerinin doğruluğu() 'LM' nesnelerini alabileceğini belirtir, bu yüzden bunun mümkün olduğuna inanın. –

cevap

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

Teşekkür ederiz! Mükemmel çalıştı. İkinci argümanı “doğruluk()” ile karıştırmaya devam ettim. –