Я не могу найти подходящую ARIMA, кто-нибудь может мне помочь? - PullRequest
0 голосов
/ 08 февраля 2020

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

У меня есть пытался дифференцировать его также в порядке 2.

Мне было интересно, если кто-нибудь может мне помочь?

Вот файл: https://drive.google.com/open?id=1lHJx-sR32ZQW-3FVnu45jHiVtneSF44Y

Большое спасибо!

1 Ответ

0 голосов
/ 17 февраля 2020

Я согласен с комментарием MrFlick, это больше похоже на статистический вопрос, чем на кодирование. Кроме того, вот несколько указателей, которые могут помочь вам начать.

  1. Давайте посмотрим на необработанные данные временных рядов.

    library(forecast)
    autoplot(ts) + theme_minimal()
    

    enter image description here

  2. Зная об ограничениях forecast::auto.arima s при наличии выбросов, сдвигов уровней и других "отклонений", auto.arima предлагает модель вида SARIMA (0,0,1) (1,0,0) 12 .

    Обратите внимание, что это отличается от модели ARIMA (0,0,1), которую вы упоминаете в комментариях! Мы можем увидеть разницу, записав уравнения для SARIMA ( 0,0,1) (1,0,0) 12 модель

    enter image description here

    и ARIMA (0,0, 1) модель

    enter image description here

    Результаты подгонки:

    fit <- auto.arima(ts)
    fit
    #Series: ts
    #ARIMA(0,0,1)(1,0,0)[12] with non-zero mean
    #
    #Coefficients:
    #         ma1    sar1     mean
    #      0.3644  0.2302  15.8426
    #s.e.  0.1321  0.1298   0.4803
    #
    #sigma^2 estimated as 5.671:  log likelihood=-149.78
    #AIC=307.55   AICc=308.21   BIC=316.31
    
  3. Посмотрим на остатки вместе с их ACF и PACF

    gg1 <- autoplot(fit$residuals) + theme_minimal()
    gg2 <- ggAcf(fit$residuals) + theme_minimal()
    gg3 <- ggPacf(fit$residuals) + theme_minimal()
    library(ggpubr)
    ggarrange(gg1, ggarrange(gg2, gg3, ncol = 2), nrow = 2)
    

enter image description here

Заключение

Распределение остатков по виду " хорошо ": сами остатки выглядят более или менее стационарно, и имеется небольшая (частичная) автокорреляция на первых 9 лагах. Пики в лаге 10 в ACF и PACF могут указывать на другие процессы и требуют дальнейшего изучения.

В целом модель ARIMA (0,0,1) (1,0,0) 12 , по-видимому, соответствует данным.

PS. Поскольку вы упоминаете о различиях в своем основном посте: Знайте о последствиях (сверх) различий.


Пример данных

ts <- structure(c(15.6518870777097, 15.3322867608582, 17.6151603498542,
16.9445877027104, 14.7031828275352, 16.0412944212825, 16.861729056851,
13.452283131823, 13.2855709987104, 16.0124941065535, 16.5882352941176,
13.8099874808736, 16.9928053525937, 13.3337023302153, 15.4694135718804,
14.9111123979385, 16.1105207226355, 16.5585054080629, 13.5606661379857,
15.1856487275761, 20.4671985306778, 16.863711001642, 14.8349514563107,
16.0655394440664, 18.9172303262434, 18.9811320754717, 20.2998379254457,
15.8995316648271, 13.8971057363262, 18.3333810765132, 19.1311805257776,
16.7306443040217, 14.6418822305992, 20.1152852315643, 14.9894158704731,
13.5667766218388, 16.5179451090781, 12.3646258503401, 11.1907676167162,
16.7851016907621, 15.8961621664931, 18.853901818893, 18.216933524391,
16.4258603642395, 12.0362991336538, 14.6222482941739, 13.5002635740643,
11.3637532794897, 11.6990571483548, 17.3600605143722, 11.5196876016922,
17.7933147413488, 18.2443257676903, 16.983016983017, 22.6372784948589,
20.0215707422296, 12.2457223648902, 13.0610780897725, 13.7779017857143,
14.115336856392, 13.2063002533319, 15.7881424524484, 12.9566768310224,
16.7059081202431, 19.0690998564691, 18.4743742550656), .Dim = c(66L,
1L), .Dimnames = list(NULL, "serie"), .Tsp = c(2013.5, 2018.91666666667,
12), class = "ts")
...