У меня есть временной ряд с недельным периодом (7 дней) в течение двух лет.У меня 58 значений.Начало: 2017-08-05
, конец: 2018-09-08
.Мне нужно работать с этим временным рядом в R - делать прогнозы с помощью модели SARIMA и т. Д. Но у меня есть проблема с определением периода / частоты в R. Когда я использую функцию разложения, я получаю ошибку: "time series has no or less than 2 periods"
.Функция Arima не работает должным образом.Подробная информация ниже.Каким образом я могу импортировать мои данные для использования в R с запрошенной частотой, пожалуйста?
Мои данные (краткий пример):
Файл: session2.csv
date count
11.11.2017 55053
18.11.2017 45256
25.11.2017 59091
2.12.2017 50030
9.12.2017 41769
16.12.2017 63042
23.12.2017 51838
30.12.2017 47652
6.1.2018 18731
13.1.2018 54470
20.1.2018 22514
27.1.2018 63818
3.2.2018 51605
10.2.2018 26312
17.2.2018 11111
data1.csv содержит только значения.Например:
53053
45256
59091
50045
41769
65042
51838
Я пытался в R:
sessions1 <- scan("data1.csv")
sessionsTS <- ts(sessions1, frequency=52, start=decimal_date(ymd("2017-11-11")))
Выходные сеансы TS и ошибки:
> sessionsTS
Time Series:
Start = 2017.59178082192
End = 2018.68418328598
Frequency = 52
Какой формат времени представляют эти числа (Начало, Конец) пожалуйста?И каким образом я могу использовать для преобразования в десятичную дату?
> sessionsComponents <- decompose(sessionsTS)
Error in decompose(sessionsTS) :
time series has no or less than 2 periods
> arima(sessionsTS, order = c(0, 1, 0), seasonal = list(order = c(2, 0, 0), period = 52), xreg = NULL, include.mean = TRUE)
Error in optim(init[mask], armaCSS, method = optim.method, hessian = FALSE, :
initial value in 'vmmin' is not finite
> fit <- Arima(sessionsTS, order = c(0, 1, 0), seasonal = list(order = c(2, 0, 0), period = 52))
Error in optim(init[mask], armaCSS, method = optim.method, hessian = FALSE, :
initial value in 'vmmin' is not finite
> sarima(sessionsTS,1,1,0,2,0,0,52)
Error in sarima(sessionsTS, 1, 1, 0, 2, 0, 0, 52) :
unused arguments (0, 0, 52)
Далее я попробовал:
dataSeries <- read.table("sessions2.csv", header=TRUE, sep = ";", row.names=1)
dataTS <- as.xts(dataSeries , frequency=52, start=decimal_date(ymd("2017-11-11")))
> sessionsComponents2 <- decompose(dataTS)
Error in decompose(dataTS) : time series has no or less than 2 periods
> model = Arima(dataTS, order=c(0,1,0), seasonal = c(2,0,0))
> model
Series: dataTS
ARIMA(0,1,0)
В этом случае Арима используется без сезонности ...
Большое спасибо за помощь.