R Как установить функцию tbats на новые данные без изменения значений параметров - PullRequest
0 голосов
/ 15 февраля 2019

Я работаю над обнаружением аномалий для серий ежедневных временных рядов (неиерархических), которые демонстрируют как годовую, так и еженедельную сезонность.Я протестировал несколько алгоритмов, и оказалось, что tbats () из пакета прогноза работает лучше всего.Я обнаружил, что он отражает еженедельную сезонность, а тренд - ежегодную сезонность по уровням.

Я должен разбить свои данные на последние 90 дней (эти данные не «закончены» и по-прежнему имеют тенденцию к снижению дохода),Таким образом, я возвращаюсь 365 дней, чтобы получить исторические тенденции.Это обозначает "исторические" и "недавние наборы данных" наборы данных.Я определю недавние точки данных, которые намного ниже значения tbats, как выбросы.

#Load Libraries

library(data.table) #Data cleaning Library

library(lubridate)  #Date cleaning Library

library(dplyr)      #data manipulation Library

library(zoo)        #time series indexing Library

library(stats)      #Statistics Library

library(timeSeries) #Time Series Library

library(forecast)   #Forecasting Library

library(purrr)      #data cleaning library



#orders dates oldest to newest for each department

orderedhistoric <- arrange(historicdata,Department,ServiceDate)

orderedrecent  <- arrange(recentdata,Department,ServiceDate)


#splits into a list of department data

historicsplit <- split(orderedhistoric, orderedhistoric[,2], drop = FALSE)

recentsplit  <- split(orderedrecent, orderedrecent[,2], drop = FALSE)


#Creates timeseries elements for every department

historictimeseries <- lapply(historicsplit,function(x) ts(x[3],frequency=7))

recenttimeseries <- lapply(recentsplit,function(x) ts(x[3],frequency=7))



#finds optimal TBATS from historic data

TBATS <- lapply(historictimeseries, function(x) tbats(x))

У меня возникли проблемы с подгонкой этих параметров tbats к соответствующим недавним данным.Я в основном хочу сделать стандартную перекрестную проверку по этому вопросу, несмотря на то, что это данные временных рядов.В последних данных не были опубликованы все доходы (на самом деле это то, что они пытаются найти), поэтому я определенно не хочу, чтобы они влияли на параметры tbats.

В качестве альтернативы, я бы взял другие предложенияо том, как это сделать.Опять же, я использую TBAT, а не auto.Arima из-за сложной сезонности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...