Тест Юнга-Бокса: определение + пример


Тест Ljung-Box , названный в честь статистиков Greta M. Ljung и George EP Box , представляет собой статистический тест, который проверяет наличие автокорреляции во временном ряду.

Тест Льюнга-Бокса широко используется в эконометрике и в других областях, в которых распространены данные временных рядов.

Основы теста Льюнга-Бокса

Вот основы теста Льюнга-Бокса:

Гипотезы

Тест Льюнга-Бокса использует следующие гипотезы:

H 0 : Остатки распределяются независимо.

H A : остатки не распределяются независимо; они демонстрируют серийную корреляцию.

В идеале мы хотели бы не отвергнуть нулевую гипотезу. То есть мы хотели бы, чтобы p-значение теста было больше 0,05, потому что это означает, что остатки для нашей модели временных рядов независимы, что часто является предположением, которое мы делаем при создании модели.

Тестовая статистика

Статистика теста для теста Льюнга-Бокса выглядит следующим образом:

Q = n(n+2) Σp k 2 / (nk)

куда:

n = размер выборки

Σ = причудливый символ, который означает «сумма» и принимается как сумма от 1 до h , где h — количество тестируемых задержек.

p k = выборочная автокорреляция при задержке k

Область отклонения

Тестовая статистика Q соответствует распределению хи-квадрат с h степенями свободы; т. е. Q ~ X 2 (h).

Мы отвергаем нулевую гипотезу и говорим, что остатки модели не распределены независимо, если Q > X 2 1-α, h

Пример: как провести тест Льюнга-Бокса в R

Чтобы провести тест Льюнга-Бокса в R для заданного временного ряда, мы можем использовать функцию Box.test() , в которой используются следующие обозначения:

Box.test (x, lag = 1, type = c («Box-Pierce», «Ljung-Box»), fitdf = 0)

куда:

  • x: числовой вектор или одномерный временной ряд.
  • лаг: указанное количество лагов
  • тип: тест, который необходимо выполнить; варианты включают Box-Pierce и Ljung-Box
  • fitdf: bD степени свободы для вычитания, если x представляет собой ряд остатков

В следующем примере показано, как выполнить тест Льюнга-Бокса для произвольного вектора из 100 значений, следующих нормальному распределению со средним значением = 0 и дисперсией = 1:

#make this example reproducible
set.seed(1)

#generate a list of 100 normally distributed random variables
data <- rnorm(100, 0, 1)

#conduct Ljung-Box test
Box.test(data, lag = 10, type = "Ljung")

Это генерирует следующий вывод:

Box-Ljung test

data: data
X-squared = 6.0721, df = 10, p-value = 0.8092

Тестовая статистика теста составляет Q = 6,0721, а p-значение теста составляет 0,8092 , что намного больше, чем 0,05. Таким образом, мы не можем отвергнуть нулевую гипотезу теста и сделать вывод, что значения данных независимы.

Обратите внимание, что в этом примере мы использовали значение задержки 10, но вы можете выбрать любое значение, которое хотите использовать для задержки, в зависимости от вашей конкретной ситуации.

Связанный: Как выполнить тест Ljung-Box в Python

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.