Коментарі: По-перше, я хотів би сказати велике спасибі авторові нового пакету tsoutliers, який реалізує виявлення зовнішнього часу Чен та Лю, який був опублікований в Журналі Американської статистичної асоціації в 1993 році в програмному забезпеченні Open Source .
Пакет ітераційно виявляє 5 різних типів випускників у даних часових рядів:
- Адитивна добавка (AO)
- Інновації Outlier (IO)
- Зсув рівня (LS)
- Тимчасові зміни (TC)
- Сезонний зсув рівня (SLS)
Що ще більше, це те, що цей пакет реалізовує auto.arima з пакету прогнозу, тому виявлення людей, що не впадають в норму, є безпроблемним. Також пакунок створює приємні сюжети для кращого розуміння даних часових рядів.
Нижче мої запитання:
Я спробував запустити кілька прикладів за допомогою цього пакету, і він чудово працював. Аддитивне виснаження та зміна рівня інтуїтивно зрозумілі. Однак у мене виникли два питання щодо надання тимчасової зміни та інноваційних людей, які я не можу зрозуміти.
Приклад тимчасової зміни:
Розглянемо наступний приклад:
library(tsoutliers)
library(expsmooth)
library(fma)
outlier.chicken <- tsoutliers::tso(chicken,types = c("AO","LS","TC"),maxit.iloop=10)
outlier.chicken
plot(outlier.chicken)
Програма правильно визначає зсув рівня та тимчасову зміну в наступному місці.
Outliers:
type ind time coefhat tstat
1 LS 12 1935 37.14 3.153
2 TC 20 1943 36.38 3.350
Нижче подано сюжет та мої запитання.
- Як записати тимчасову зміну у форматі рівняння? (Зсув рівня можна легко записати як двійкову змінну, будь-коли до 1935 р. / Obs 12 - 0 і будь-коли після 1935 р. І після - 1.)
Рівняння для тимчасової зміни в посібнику з упаковкою та статті подається у вигляді:
де 0,7. Я просто намагаюся перекласти це на приклад вище.
- Друге моє запитання - про інноваційну зовнішність, я ніколи не
стикався з інноваційною формою. будь-який числовий приклад або приклад випадку буде дуже корисним.
Редагувати: @Irishstat, функція tsoutliers виконує відмінну роботу з виявлення людей, що випускаються, та пропонування відповідної моделі ARIMA. Дивлячись на набір даних Нілу, див. Нижче додаток auto.arima, а потім застосування tsoutliers (з типовими настройками, що включає auto.arima):
auto.arima(Nile)
Series: Nile
ARIMA(1,1,1)
Coefficients:
ar1 ma1
0.2544 -0.8741
s.e. 0.1194 0.0605
sigma^2 estimated as 19769: log likelihood=-630.63
AIC=1267.25 AICc=1267.51 BIC=1275.04
Після застосування функції tsoutliers він ідентифікує LS outlier та добавку outlier та рекомендує замовлення ARIMA (0,0,0).
nile.outliers <- tso(Nile,types = c("AO","LS","TC"))
nile.outliers
Series: Nile
ARIMA(0,0,0) with non-zero mean
Coefficients:
intercept LS29 AO43
1097.7500 -242.2289 -399.5211
s.e. 22.6783 26.7793 120.8446
sigma^2 estimated as 14401: log likelihood=-620.65
AIC=1249.29 AICc=1249.71 BIC=1259.71
Outliers:
type ind time coefhat tstat
1 LS 29 1899 -242.2 -9.045
2 AO 43 1913 -399.5 -3.306
tsoutliers
була перейменована так, tso
щоб уникнути конфлікту з однойменною функцією в пакеті forecast
.