Идентификация выбросов с использованием функции tso: время выполнения и ошибка - PullRequest
1 голос
/ 24 октября 2019

Я прогнозирую ежедневные (преобразованные в журналы) продажи с около 2500 наблюдениями. Я проверял стационарно. Я использовал функцию tso для идентификации выбросов, включая регрессоры, такие как DayOfWeek , MonthYear , DayOfMonth , WeekOfMonth , WeekOfYear , Государственные праздники . Однако для некоторых наборов данных я получаю следующее сообщение:

Error in arima(y, order = fit$arma[c(1, 6, 2)], seasonal = list(order = fit$arma[c(3, : non-stationary seasonal AR part from CSS

или:

Error in arima(x = c(3.29950729870049, 3.63367040605144, 59.6705024612701, : non-stationary seasonal AR part from CSS

Я пробовал несколько вариантов в ars.method & tsmethod, но ничего не получалось. Я также хотел изменить условную сумму квадратов (CSS) до максимального правдоподобия (method = "ML"), но не смог найти такую ​​опцию для функции tso. Буду признателен за ваши отзывы о том, как ее решить.


Я исправил это, добавив (p, d, q) (P, D, Q) параметры из предыдущего arima вхождения вtsmethod следующим образом:

fit <- tso(df.ts,types=c("AO","LS","TC","IO",'SLS'), 
              xreg=cbind(r1.matrix,r2.matrix,r3.matrix,r4.matrix),
            discard.method="bottom-up", tsmethod="arima", 
            args.tsmethod=list(order=c(0,1,1),seasonal=list(order=c(0,0,2), period=7)))

Тем не менее, некоторые наборы данных работают просто с tsmethod="auto.arima". Я ценю некоторые отзывы по этому вопросу. Кроме того, я был бы очень признателен за некоторые отзывы о том, почему выполнение кода с функцией tso (в лучшем случае) занимает около часа или просто никогда не прекращается. Я выполняю код на виртуальной рабочей станции со следующими характеристиками: процессор Intel® Xeon @ 2,3 ГГц с 32,0 ГБ ОЗУ и SSD 500 ГБ.

...