#r #stl
Вопрос:
У меня есть данные под названием «bicoal», которые состоят из годовой добычи битуминозного угля в Соединенных Штатах с 1920 по 1968 год.
`Time Series:
Start = 1920
End = 1968
Frequency = 1
[1] 569 416 422 565 484 520 573 518 501 505 468 382 310 334 359 372 439 446 349 395
[21] 461 511 583 590 620 578 534 631 600 438 516 534 467 457 392 467 500 493 410 412
[41] 416 403 422 459 467 512 534 552 545`
Я сделал временной ряд, сохраненный под именем time_series
, и хотел извлечь сезонный эффект с помощью кода plot(decompose(time_series))
и plot(stl(time_series))
, но получил сообщение об ошибке
Error in stl(time_series) :
series is not periodic or has less than two periods
Error in decompose(time_series) :
time series has no or less than 2 periods
Если stl или разложение не работают, есть ли способ извлечь сезонный эффект?
Ответ №1:
Не видя, как строится ваш временной ряд, я думаю, что это может быть вашей проблемой.
data <- rep(seq(1,5),5)
ts.1 <- ts(data)
stl(ts.1)
Теперь, чтобы устранить эту проблему ts
, функция имеет аргумент частоты, который определяет период данных.
ts.2 <- ts(data, frequency = 5)
stl(ts.2, s.window = "periodic")
Комментарии:
1. Повлияет ли это каким-либо образом на форму графика (например, больше пиков по сравнению с годовыми данными)?
2. Имея годовые данные, трудно определить четкую сезонную закономерность. С ежемесячными данными это легко, так как модель, как ожидается, будет повторяться каждый год. Я рекомендую посмотреть на автокорреляцию ваших данных, чтобы увидеть, какие лаги имеют высокую автокорреляцию. Например, в моем
data <- rep(seq(1,5),5)
запускеacf(data)
мы видим очень высокую автокорреляцию с запаздыванием 5, так как данные повторяются каждые 5. @rrr3. Выполнение простой линейной регрессии только с переменной времени покажет вам, есть ли тенденция в ваших данных. И проверьте свои остатки с помощью теста Дурбина Уотсона, чтобы увидеть, есть ли еще какая-либо автокорреляция. Если есть сезонный эффект, который вы можете дополнительно изучить с
acf
помощью функции, то вы можете рассмотреть авторегрессионную модель с запаздыванием, независимо от высокой автокорреляции. Переменная запаздывания в вашей авторегрессионной модели может быть вашим сезонным эффектом, который вас интересует.