Тест люнга-бокса: определение + пример
Тест Люнга-Бокса , названный в честь статистиков Греты М. Люнг и Джорджа Э.П. Бокса , представляет собой статистический тест, который проверяет, существует ли автокорреляция во временном ряду.
Тест Люнга-Бокса широко используется в эконометрике и других областях, в которых часто используются данные временных рядов.
Основы теста Люнг-Бокса
Вот основы теста Юнга-Бокса:
Гипотезы
Тест Люнга-Бокса использует следующие предположения:
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~ X2 (h).
Мы отвергаем нулевую гипотезу и говорим, что остатки модели не распределяются независимо, если Q > X 2 1-α, h
Пример: Как выполнить тест Люнга-Бокса в R
Чтобы выполнить тест Люнга-Бокса в R для заданного временного ряда, мы можем использовать функцию Box.test() , которая использует следующие обозначения:
Box.test (x, offset=1, type=c(«Box-Pierce», «Ljung-Box»), fitdf = 0)
Золото:
- x: числовой вектор или одномерный временной ряд
- смещение: указанное количество смещений
- тип: Тест, который необходимо выполнить; варианты включают Бокс-Пирс и Юнг-Бокс.
- 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, но вы можете выбрать любое значение смещения, которое хотите использовать, в зависимости от вашей конкретной ситуации.
Связанный: Как выполнить тест Люнг-Бокса в Python