2015-02-06 2 views
1

Я использую функцию forecast в R много раз с циклом (12 месяцев), но я хочу использовать точность для сравнения прогноза для времени горизонта = 12 и на шаг впереди. Моя проблема заключается в том, как хранить результаты 12 раз, чтобы использовать их в точности.Прогнозы в один шаг вперед в R

for (i in 1:12) { 
    demfit <- ets(Dem2) 
    f <- forecast(demfit, 1) 
    Dem2[length(Dem2)+1] <- f$mean[1] 
} 
accuracy(f,Test) 

вычисляет точность только последний пункт прогноз 12

Но, я смотрю на это за 12 forecats, как это:

fit <- ets(Dem2) 
f1 <- forecast(fit, 12) 
accuracy(f1, Test) 
+0

Отдельное примечание, откуда берутся прогнозы и точность? какой пакет? – LyzandeR

+0

Прогнозный пакет. Это ваш вопрос? – MAYA

+0

Да, спасибо, но это был менее важный комментарий. – LyzandeR

ответ

1

Я думаю, что вы хотите сделать по существу, сохраняет 12 значений в списке f, а также в списке accuracy, когда цикл будет завершен.

Способ сделать это состоит в следующем (чтобы сохранить его в списке):

f  <- list() 
for (i in 1:12) { 
    demfit <- ets(Dem2) 
    f[[i]] <- forecast(demfit, 1) #start filling the f list with values 
    Dem2[length(Dem2)+1] <- f$mean[1] 
} 
f <- unlist(f) 
accuracy(f,Test) 

И f существу будет список, содержащий 12 значений, по одному для каждой итерации. То же самое для myacc.

+0

Если это не то, что вы ожидали, просто сообщите мне, что вы хотите, чтобы результат был, и я помогу. – LyzandeR

+0

Я попытался сделать это, но я получаю эту ошибку для точности '> точность (f, тест) Ошибка в тестовой погрешности (f, x, test, d, D): Неизвестная структура списка Дополнительно: Предупреждающее сообщение: В тренировочной погрешности (f, test, d, D): тестовые элементы должны быть в пределах образца. Я исправил это: 'Dem2 [length (Dem2) +1] <- f [[1]] $ mean [1]' – MAYA

+0

Я думаю, что тогда вы действительно хотите сделать список с точностью, а не с значениями f. Попробуйте это, и вы получите список из 12 точных значений. Если вы хотите как просто создать 2 списка, так и сделать то же самое. – LyzandeR

 Смежные вопросы

  • Нет связанных вопросов^_^