Объяснение прогнозов из модели ARIMA

Я пытаюсь объяснить мне результат прогнозирования применения модели ARIMA к набору данных временного ряда. Данные от M1-конкуренции, ряд является MNB65. Я пытаюсь соответствовать данным к модели ARIMA (1,0,0) и получить прогнозы. Я использую R. Вот некоторые выходные отрывки:

> arima(x, order = c(1,0,0))
Series: x 
ARIMA(1,0,0) with non-zero mean 
Call: arima(x = x, order = c(1, 0, 0)) 
Coefficients:
         ar1  intercept
      0.9421  12260.298
s.e.  0.0474    202.717

> predict(arima(x, order = c(1,0,0)), n.ahead=12)
$pred
Time Series:
Start = 53 
End = 64 
Frequency = 1 
[1] 11757.39 11786.50 11813.92 11839.75 11864.09 11887.02 11908.62 11928.97 11948.15 11966.21 11983.23 11999.27

У меня есть несколько вопросов:

(1) Как я объясняю это, хотя набор данных показывает ясную тенденцию к понижению, прогноз от этот тенденции модели вверх? Это также происходит для ARIMA (2,0,0), который является лучшей ARIMA, подходящей для использования данных auto.arima (пакет прогноза) и для модели ARIMA (1,0,1).

(2) Значение прерывания для модели ARIMA (1,0,0) 12260.298. Не был должен прерывание удовлетворять уравнению: C = mean * (1 - sum(AR coeffs)), в этом случае значение должно быть 715.52. Я должен пропускать что-то основное здесь.

(3) Это - ясно ряд со средним неустановившимся. Почему модель AR (2) все еще выбрана как лучшая модель auto.arima? Могло быть интуитивное объяснение?

Спасибо.

13
задан OmG 5 July 2019 в 19:32
поделиться

1 ответ

  1. Никакая модель ARIMA (p, 0, q) не учитывает тренд, потому что модель является стационарной. Если вы действительно хотите включить тренд, используйте ARIMA (p, 1, q) с термином дрейфа или ARIMA (p, 2, q). Тот факт, что auto.arima () предлагает 0 различий, обычно указывает на отсутствие четкой тенденции.

  2. Файл справки для arima () показывает, что перехват на самом деле является средним. То есть модель AR (1) имеет вид (Y_t-c) = ϕ (Y_ {t-1} - c) + e_t , а не Y_t = c + ϕY_ {t-1}. + e_t , как и следовало ожидать.

  3. auto.arima () использует тест на единичный корень для определения количества требуемых различий. Так что проверьте результаты теста единичного корня, чтобы узнать, что происходит. Вы всегда можете указать необходимое количество различий в auto.arima () , если считаете, что тесты модульного корня не приводят к разумной модели.

Вот результаты двух тестов для ваших данных:

R> adf.test(x)

        Augmented Dickey-Fuller Test

data:  x 
Dickey-Fuller = -1.031, Lag order = 3, p-value = 0.9249
alternative hypothesis: stationary 

R> kpss.test(x)

        KPSS Test for Level Stationarity

data:  x 
KPSS Level = 0.3491, Truncation lag parameter = 1, p-value = 0.09909

Итак, ADF говорит о сильной нестационарности (нулевая гипотеза в этом случае), в то время как KPSS не совсем отвергает стационарность (нулевая гипотеза для этого теста) . auto.arima () по умолчанию использует последний. Вы можете использовать auto.arima (x, test = "adf") , если хотите провести первый тест. В этом случае предлагается модель ARIMA (0,2,1), которая имеет тенденцию.

23
ответ дан 1 December 2019 в 22:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: