У мене є щомісячні дані з 1993 по 2015 рік і я б хотів зробити прогнозування цих даних. Я використовував пакет tsoutliers для виявлення людей, що втратили життя, але я не знаю, як продовжувати прогнозувати свій набір даних.
Це мій код:
product.outlier<-tso(product,types=c("AO","LS","TC"))
plot(product.outlier)
Це мій вихід із пакета tsoutliers
ARIMA(0,1,0)(0,0,1)[12]
Coefficients:
sma1 LS46 LS51 LS61 TC133 LS181 AO183 AO184 LS185 TC186 TC193 TC200
0.1700 0.4316 0.6166 0.5793 -0.5127 0.5422 0.5138 0.9264 3.0762 0.5688 -0.4775 -0.4386
s.e. 0.0768 0.1109 0.1105 0.1106 0.1021 0.1120 0.1119 0.1567 0.1918 0.1037 0.1033 0.1040
LS207 AO237 TC248 AO260 AO266
0.4228 -0.3815 -0.4082 -0.4830 -0.5183
s.e. 0.1129 0.0782 0.1030 0.0801 0.0805
sigma^2 estimated as 0.01258: log likelihood=205.91
AIC=-375.83 AICc=-373.08 BIC=-311.19
Outliers:
type ind time coefhat tstat
1 LS 46 1996:10 0.4316 3.891
2 LS 51 1997:03 0.6166 5.579
3 LS 61 1998:01 0.5793 5.236
4 TC 133 2004:01 -0.5127 -5.019
5 LS 181 2008:01 0.5422 4.841
6 AO 183 2008:03 0.5138 4.592
7 AO 184 2008:04 0.9264 5.911
8 LS 185 2008:05 3.0762 16.038
9 TC 186 2008:06 0.5688 5.483
10 TC 193 2009:01 -0.4775 -4.624
11 TC 200 2009:08 -0.4386 -4.217
12 LS 207 2010:03 0.4228 3.746
13 AO 237 2012:09 -0.3815 -4.877
14 TC 248 2013:08 -0.4082 -3.965
15 AO 260 2014:08 -0.4830 -6.027
16 AO 266 2015:02 -0.5183 -6.442
У мене є і ці попереджувальні повідомлення.
Warning messages:
1: In locate.outliers.iloop(resid = resid, pars = pars, cval = cval, :
stopped when ‘maxit’ was reached
2: In locate.outliers.iloop(resid = resid, pars = pars, cval = cval, :
stopped when ‘maxit’ was reached
3: In locate.outliers.oloop(y = y, fit = fit, types = types, cval = cval, :
stopped when ‘maxit’ was reached
4: In arima(x, order = c(1, d, 0), xreg = xreg) :
possible convergence problem: optim gave code = 1
5: In auto.arima(x = c(5.77, 5.79, 5.79, 5.79, 5.79, 5.79, 5.78, 5.78, :
Unable to fit final model using maximum likelihood. AIC value approximated
Сумніви:
- Якщо я не помиляюся, пакет tsoutliers видалить виявлені нею залишки, і завдяки використанню набору даних із видаленими сторонами, це дасть нам найкращу модель arima, що підходить для набору даних, чи правильно це?
- Набір коригувальних рядів даних значно зміщується вниз за рахунок зняття зсуву рівня тощо. Чи це не означає, що якщо прогнозування буде виконано за скоригованою серією, вихід прогнозу буде дуже неточним, оскільки новітні дані вже перевищують 12, а скориговані дані зміщують його приблизно до 7-8.
- Що означає попереджувальні повідомлення 4 та 5? Це означає, що він не може робити auto.arima, використовуючи відрегульовану серію?
- Що означає [12] в ARIMA (0,1,0) (0,0,1) [12]? Це лише моя частота / періодичність мого набору даних, яку я встановлюю щомісяця? І чи це також означає, що і мій ряд даних є сезонним?
- Як виявити сезонність у наборі даних? Що стосується візуалізації сюжету часових рядів, я не можу побачити будь-яку очевидну тенденцію, і якщо я буду використовувати функцію розкладання, то припустимо, що існує тенденція сезону? Тож я просто вірю в те, що кажуть мені toutoutliers, де є сезонна тенденція, оскільки існує МА порядку 1?
- Як я продовжую робити прогнозування з цими даними після визначення цих людей?
- Як включити ці люди до інших моделей прогнозування - Експонентне згладжування, ARIMA, Модель струна, Випадкова прогулянка, тета? Я впевнений, що не можу видалити залишків, оскільки є зсув рівня, і якщо я візьму лише коригувані дані серії, значення будуть занадто малі, і що робити?
Чи потрібно мені додати цих випускників як регресора в auto.arima для прогнозування? Як це працює тоді?