Тест люнг-бокса: визначення + приклад


Тест Люнг-Бокса , названий на честь статистиків Грети М. Люнг і Джорджа Е. П. Бокса , є статистичним тестом, який перевіряє, чи існує автокореляція в часовому ряді.

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

Основи тесту Люнг-Бокса

Ось основи тесту Люнг-Бокса:

Гіпотези

Тест Люнг-Бокса використовує такі припущення:

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

Приклад: як виконати тест Ljung-Box у R

Щоб виконати тест Ljung-Box у R для заданого часового ряду, ми можемо використати функцію Box.test() , яка використовує наступне позначення:

Box.test (x, offset=1, type=c(“Box-Pierce”, “Ljung-Box”), fitdf = 0)

золото:

  • x: числовий вектор або одновимірний часовий ряд
  • offset: задана кількість зсувів
  • тип: Тест для виконання; варіанти включають 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

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *