2016-04-11 19 views
0

Я пытаюсь понять особенности того, как «crost {tsintermittent}» и «croston {прогноз]» вычисляют значения в образце (обучение). Похоже, что они дают похожие, но разные результаты. (См. Пример кода ниже). Я не уверен, что два вычисления отличаются друг от друга, или я не сравниваю одни и те же результаты (каждый пакет использует разные термины).Как рассчитывается метод Croston

library (tsintermittent) 
library (forecast) 
# create an intermittent time-series 
x = c(5,5,5,5,5,5,6,8,0,8,0,8,0,0,4,0,0,6,7,0,0,0,9,0,11,0,0) 
x_crost = crost(x,h=5) # from the tsintermittent package 
x_croston=croston(x,h=5) # from the forecast package 
x_croston$fitted 
y=data.frame(x,x_crost$frc.in,x_croston$fitted) 
y # viex_croston results 
plot(x_croston) 
lines(x_croston$fitted, col="red") 
lines(x_crost$frc.in,col="blue") 

ответ

1

Один использует оптимизированные параметры, а другой нет. forecast::croston подходит для двух моделей ETS (A, N, N) для ненулевой серии запросов и времени между ненулевыми требованиями, с общим параметром сглаживания (alpha=0.1 по умолчанию), а начальные состояния устанавливаются на первые значения каждого серии. tsintermittent::crost подходит для двух моделей, но оптимизирует значение параметра сглаживания и начальных значений (по умолчанию используется средняя абсолютная скорость).

+0

Спасибо, Роб. На самом деле, я только что обнаружил то же самое с моим тестированием. Я собирался ответить на свой вопрос, но ты избил меня. Вы также ответили на мой следующий вопрос относительно того, почему исходные значения отличаются. Еще раз спасибо! – Paul