Тест люнг-бокса: визначення + приклад
Тест Люнг-Бокса , названий на честь статистиків Грети М. Люнг і Джорджа Е. П. Бокса , є статистичним тестом, який перевіряє, чи існує автокореляція в часовому ряді.
Тест Люнг-Бокса широко використовується в економетриці та інших галузях, у яких поширені дані часових рядів.
Основи тесту Люнг-Бокса
Ось основи тесту Люнг-Бокса:
Гіпотези
Тест Люнг-Бокса використовує такі припущення:
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