Расширенный тест Дики-Фуллера в R (с примером)


Временной ряд называется «стационарным», если он не имеет тренда, демонстрирует постоянную дисперсию во времени и имеет постоянную структуру автокорреляции во времени.

Один из способов проверить, является ли временной ряд стационарным, — это выполнить расширенный тест Дики-Фуллера , в котором используются следующие нулевая и альтернативная гипотезы:

H 0 : Временной ряд является нестационарным. Другими словами, он имеет некоторую структуру, зависящую от времени, и не имеет постоянной дисперсии во времени.

H A : временной ряд является стационарным.

Если p-значение из теста меньше некоторого уровня значимости (например, α = 0,05), то мы можем отвергнуть нулевую гипотезу и сделать вывод, что временной ряд является стационарным.

В следующем пошаговом примере показано, как выполнить расширенный тест Дики-Фуллера в R для заданного временного ряда.

Пример: расширенный тест Дики-Фуллера в R

Предположим, у нас есть следующие данные временного ряда в R:

data <- c(3, 4, 4, 5, 6, 7, 6, 6, 7, 8, 9, 12, 10)

Прежде чем мы выполним расширенный тест Дики-Фуллера для данных, мы можем создать быстрый график для визуализации данных:

plot(data, type='l')

Чтобы выполнить расширенный тест Дики-Фуллера, мы можем использовать функцию adf.test() из библиотеки tseries .

Следующий код показывает, как использовать эту функцию:

library (tseries)

#perform augmented Dickey-Fuller test 
adf.test(data)

 Augmented Dickey-Fuller Test

data: data
Dickey-Fuller = -2.2048, Lag order = 2, p-value = 0.4943
alternative hypothesis: stationary

Вот как интерпретировать наиболее важные значения в выводе:

  • Статистика теста: -2,2048
  • P-значение: 0,4943

Поскольку p-значение не меньше 0,05, мы не можем отвергнуть нулевую гипотезу.

Это означает, что временной ряд является нестационарным. Другими словами, он имеет некоторую структуру, зависящую от времени, и не имеет постоянной дисперсии во времени.

Дополнительные ресурсы

Как выполнить тест тренда Манна-Кендалла в R
Как построить временной ряд в R
Как детрендировать данные