Я перепробовал множество комбинаций holt()
и ets()
в пакете прогноза R, но не могу дублировать результаты из =forecast.ets
в Excel 2016 и более поздних версиях. Я работаю в регулируемой газовой компании, и полагаться на результаты «черного ящика» Excel, которые невозможно проверить / дублировать, не вариант. Я хотел бы иметь возможность дублировать результаты Excel в R.
«Проблема» в том, что мои данные =forecast.ets
в Excel дают более точные прогнозы, чем holt()
в R.
Я использую функцию holt()
из пакета прогноза, поскольку мои данные не являются сезонными. Я пробовал различные комбинации, чтобы обеспечить свои собственные оптимальные значения альфа и бета, а также позволить holt()
установить их. Я использовал альфа- и бета-параметры, которые создает Excel, но не могу согласовать результаты.
#Normally the data comes via ODBC, but this is the same thing
upc <- data_frame(Result=c(296,292,284,286,286,
273,282,276,273,294,284,290,293,293,288))
#Turn the table into a time series from 2003 to 2017
upc.ts <- ts(upc$Result, start=2003, end=2017, frequency=1)
#Use 2003 to 2015 to develop the model
train <- window(upc.ts, start=2003, end=2015)
#Use holt to get the forecast value for 2016 and 2017
holt.upc <- holt(train, h = 2)
#The result:
#Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
#2016 298.1118 286.5946 309.6290 280.4977 315.7259
#2017 303.4814 290.4835 316.4792 283.6029 323.3599
Для значения 2016 года формула
=FORECAST.ETS(2016,B2:B14,A2:A14,0,0)
в Excel = 286,45 (нигде близко к 298,11 с holt()
).
Фактическое значение за 2016 год составило 293,2.
Для значения 2017 года формула
=FORECAST.ETS(2017,B2:B14,A2:A14,0,0)
в Excel = 286,27 (нигде не близко к 303,48 с holt()
).
Фактическое значение за 2016 год составило 288,4.
У меня есть 20 похожих прогнозов, и результаты по остальным схожи.
Я пытаюсь продублировать результаты Excel, используя R.