Скільки лагів слід використати при тесті Люнг-Бокса часового ряду?


20

Після того, як модель ARMA підходить до часового ряду, звичайно перевіряти залишки за допомогою тесту на портманто Ljung-Box (серед інших тестів). Тест Ljung-Box повертає значення ap. Він має параметр, h , яка є кількістю лагів, які підлягають тестуванню. У деяких текстах рекомендується використовувати h = 20; інші рекомендують використовувати h = ln (n); більшість не кажуть, що h використовувати.

Замість того, щоб використовувати одне значення для h , припустимо, що я роблю тест Ljung-Box для всіх h <50, а потім вибираю h, що дає мінімальне значення p. Чи розумний такий підхід? Які переваги та недоліки? (Одним із очевидних недоліків є збільшення часу на обчислення, але це не проблема.) Чи існує література з цього приводу?

Щоб трохи уточнити .... Якщо тест дає p> 0,05 за всі години , то, очевидно, часовий ряд (залишки) проходять тест. Моє запитання стосується того, як інтерпретувати тест, якщо р <0,05 для деяких значень h, а не для інших значень.


1
@ user2875 я видалив свою відповідь. Справа в тому, що для великих h тест не є надійним. Тож відповідь дійсно залежить, для якої h , p<0.05 . Крім того, що є точним значенням p ? Якщо ми знизимо поріг до 0.01 , чи змінюється результат тесту? Особисто у випадку суперечливих гіпотез я шукаю інші показники, хороша модель чи ні. Наскільки добре підходить модель? Як модель порівнюється з альтернативними моделями? Чи мають альтернативні моделі ті самі проблеми? Для яких інших порушень тест відхиляє нуль?
mpiktas

1
@mpiktas, тест Ljung-Box ґрунтується на статистиці, розподіл якої є асимптотично (у міру, коли h стає великою) чи-квадратом. Оскільки h стає великим відносно n, то потужність тесту зменшується до 0. Отже, бажання вибрати h достатньо велике, щоб розподіл був близьким до квадратичного чи, але досить малого, щоб мати корисну потужність. (Я не знаю, який ризик виникнення помилкового негативу, коли h невеликий.)
користувач2875

@ user2875, це втретє ви змінили питання. Спочатку ви запитаєте про стратегію вибору h з найменшим значенням, потім як інтерпретувати тест, якщо p<0.05 для деяких значеньh , а тепер, який оптимальний вибрати. Усі три запитання мають різні відповіді і навіть можуть мати різні відповіді залежно від контексту конкретної проблеми. h
mpiktas

@mpiktas, питання все одно, просто різні погляди на це. (Як зазначалося, якщо p> 0,05 для всіх h, то ми знаємо, як інтерпретувати найменший p; якби ми знали оптимальну h - ми цього не робимо - тоді ми б не переймалися вибором найменшого p.)
користувач2875

Відповіді:


9

Відповідь безумовно залежить від: Для чого насправді намагаються використовувати тест ?Q

Поширена причина: бути більш-менш впевненим у спільній статистичній значущості нульової гіпотези про відсутність автокореляції аж до відставання (альтернативно, якщо вважати, що у вас є щось, близьке до слабкого білого шуму ) та створити парсимонізовану модель, маючи якнайменше кількість можливих параметрів.h

Зазвичай дані часових рядів мають природний сезонний малюнок, тому практичним правилом роботи буде встановити у два рази більше цього значення. Ще один - горизонт прогнозування, якщо ви використовуєте модель для прогнозування потреб. Нарешті, якщо ви знайдете якісь значні відхилення в останніх відставаннях, спробуйте подумати про виправлення (чи це може бути пов’язано з деякими сезонними наслідками, або дані не виправлені для людей, що втратили життя).h

Замість того, щоб використовувати одне значення для h, припустимо, що я роблю тест Ljung-Box для всіх h <50, а потім вибираю h, що дає мінімальне значення p.

Це спільний тест на значущість , тому якщо вибір визначається даними, то чому я повинен дбати про деякі невеликі (випадкові?) Відхилення в будь-якому відстані менше ніж h , припускаючи, що це набагато менше n звичайно згаданого вами тесту). Прагнучи знайти просту, але релевантну модель, я пропоную інформаційні критерії, як описано нижче.hhn

Моє запитання стосується того, як інтерпретувати тест, якщо для деяких значень h, а не для інших значень.p<0.05h

Тож це буде залежати від того, наскільки далеко від сьогодення це відбувається. Недоліки далеких вильотів: більше параметрів для оцінювання, менший ступінь свободи, гірша прогнозована потужність моделі.

Спробуйте оцінити модель, включаючи деталі MA та \ або AR в відстані, де відбувається виїзд. Крім того, подивіться на один із інформаційних критеріїв (або AIC, або BIC залежно від розміру вибірки), це дасть вам більше уявлення про те, яка модель більше парсимонічний. Тут також вітаються будь-які позабіржові вправи з прогнозування.


+1, це те, що я намагався висловити, але не зміг :)
mpiktas

8

Припустимо, що ми вказали просту модель AR (1) з усіма звичними властивостями,

ут=βут-1+ут

Позначимо теоретичну коваріацію члена помилки як

γjЕ(утут-j)

Якщо ми могли спостерігати термін помилки, то зразок автокореляції терміна помилки визначається як

ρ~jγ~jγ~0

де

γ~j1nt=j+1nututj,j=0,1,2...

Але на практиці ми не дотримуємося терміна помилки. Отже, автокореляція вибірки, пов'язана з терміном помилки, буде оцінена, використовуючи залишки, отримані з оцінки, як

γ^j1nt=j+1nu^tu^tj,j=0,1,2...

Q-статистика Box-Pierce (Ljung-Box Q - це лише асимптотично нейтральна версія)

QBP=nj=1pρ^j2=j=1p[nρ^j]2d???χ2(p)

Наше питання полягає саме в тому, чи можна сказати, що має асимптотично розподіл chi-квадрата (під нулем неавтокореляції в терміні помилки) у цій моделі. Щоб це сталося, кожен і кожен QBP
повинні бути асимптотично стандартний нормальний. Спосіб перевірити це - перевірити, чи єnρ^j має таке ж асимптотическое розподілякnρ^ (який побудований за допомогою істинних помилок, і таким чином має бажану асимптотичну поведінку під нулем).nρ~

У нас це є

u^t=ytβ^yt1=ut(β^β)yt1

де β є спроможною оцінкою. Такβ^

γ^j1nt=j+1n[ut(β^β)yt1][utj(β^β)ytj1]

=γ~j1nt=j+1n(β^β)[utytj1+utjyt1]+1nt=j+1n(β^β)2yt1ytj1

The sample is assumed to be stationary and ergodic, and moments are assumed to exist up until the desired order. Since the estimator β^ is consistent, this is enough for the two sums to go to zero. So we conclude

γ^jpγ~j

This implies that

ρ^jpρ~jpρj

But this does not automatically guarantee that nρ^j converges to nρ~j (in distribution) (think that the continuous mapping theorem does not apply here because the transformation applied to the random variables depends on n). In order for this to happen, we need

nγ^jdnγ~j

(the denominator γ0 -tilde or hat- will converge to the variance of the error term in both cases, so it is neutral to our issue).

We have

nγ^j=nγ~j1nt=j+1nn(β^β)[utytj1+utjyt1]+1nt=j+1nn(β^β)2yt1ytj1

So the question is : do these two sums, multiplied now by n, go to zero in probability so that we will be left with nγ^j=nγ~j asymptotically?

For the second sum we have

1nt=j+1nn(β^β)2yt1ytj1=1nt=j+1n[n(β^β)][(β^β)yt1ytj1]

Since [n(β^β)] converges to a random variable, and β^ is consistent, this will go to zero.

For the first sum, here too we have that [n(β^β)] converges to a random variable, and so we have that

1nt=j+1n[utytj1+utjyt1]pE[utytj1]+E[utjyt1]

The first expected value, E[utytj1] is zero by the assumptions of the standard AR(1) model. But the second expected value is not, since the dependent variable depends on past errors.

So nρ^j won't have the same asymptotic distribution as nρ~j. But the asymptotic distribution of the latter is standard Normal, which is the one leading to a chi-squared distribution when squaring the r.v.

Therefore we conclude, that in a pure time series model, the Box-Pierce Q and the Ljung-Box Q statistic cannot be said to have an asymptotic chi-square distribution, so the test loses its asymptotic justification.

This happens because the right-hand side variable (here the lag of the dependent variable) by design is not strictly exogenous to the error term, and we have found that such strict exogeneity is required for the BP/LB Q-statistic to have the postulated asymptotic distribution.

Here the right-hand-side variable is only "predetermined", and the Breusch-Pagan test is then valid. (for the full set of conditions required for an asymptotically valid test, see Hayashi 2000, p. 146-149).


1
You wrote "But the second expected value is not, since the dependent variable depends on past errors." That's called strict exogeneity. I agree that it's a strong assumption, and you can build AR(p) framework without it, just by using weak exogeneity. This the reason why Breusch-Godfrey test is better in some sense: if the null is not true, then B-L loses power. B-G is based on weak exogeneity. Both tests are not good for some common econometric, applications, see e.g. this Stata's presentation, p. 4/44.
Aksakal

3
@Aksakal Thanks for the reference. The point exactly is that without strict exogeneity, the Box-Pierce/Ljung-Box do not have an asymptotic chi-square distribution, this is what the mathematics above show. Weak exogeneity (which holds in the above model) is not enough for them. This is exactly what the presentation you link to says in p. 3/44.
Alecos Papadopoulos

2
@AlecosPapadopoulos, an amazing post!!! Among the few best ones I have encountered here at Cross Validated. I just wish it would not disappear in this long thread and many users would find and benefit from it in the future.
Richard Hardy

3

Before you zero-in on the "right" h (which appears to be more of an opinion than a hard rule), make sure the "lag" is correctly defined.

http://www.stat.pitt.edu/stoffer/tsa2/Rissues.htm

Quoting the section below Issue 4 in the above link:

"....The p-values shown for the Ljung-Box statistic plot are incorrect because the degrees of freedom used to calculate the p-values are lag instead of lag - (p+q). That is, the procedure being used does NOT take into account the fact that the residuals are from a fitted model. And YES, at least one R core developer knows this...."

Edit (01/23/2011): Here's an article by Burns that might help:

http://lib.stat.cmu.edu/S/Spoetry/Working/ljungbox.pdf


@bil_080, the OP does not mention R, and help page for Box.test in R mentions the correction and has an argument to allow for the correction, although you need to supply it manualy.
mpiktas

@mpiktas, Oops, you're right. I assumed this was an R question. As for the second part of your comment, there are several R packages that use Ljung-Box stats. So, it's a good idea to make sure the user understands what the package's "lag" means.
bill_080

Thanks--I am using R, but the question is a general one. Just to be safe, I was doing the test with the LjungBox function in the portes package, as well as Box.test.
user2875

2

Нитка "Тестування на автокореляцію: Люнг-Бокс проти Бреша-Годфрі" показує, що тест Люнга-Бокса по суті є непридатним у випадку авторегресивної моделі. Це також показує, що замість цього слід використовувати тест Бруша-Годфрі. Це обмежує актуальність Вашого запитання та відповідей (хоча відповіді можуть містити деякі загалом хороші моменти).


The trouble with LB test is when autoregressive models have other regressors, i.e. ARMAX not ARM models. OP explicitly states ARMA not ARMAX in the question. Hence, I think that your answer is incorrect.
Аксакал

@Aksakal, I clearly see from Alecos Papadopoulos answer (and comments under it) in the above-mentioned thread that Ljung-Box test is inapplicable in both cases, i.e. pure AR/ARMA and ARX/ARMAX. Therefore, I cannot agree with you.
Річард Харді

Alecos Papadopoulos's answer is good, but incomplete. It points out to Ljung-Box test's assumption of strict exogeneity but it fails to mention that if you're fine with the assumption, then L-B test is Ok to use. B-G test, which he and I favor over L-B, relies on weak exogeneity. It's better to use tests with weaker assumptions in general, of course. However, even B-G test's assumptions are too strong in many cases.
Aksakal

@Aksakal, The setting of this question is quite definite -- it considers residuals from an ARMA model. The important thing here is, L-B does not work (as shown explicitly in Alecos post in this as well as the above-cited thread) while B-G test does work. Of course, things can happen in other settings (even B-G test's assumptions are too strong in many cases) -- but that is not the concern in this thread. Also, I did not get what the assumption is in your statement if you're fine with the assumption, then L-B test is Ok to use. Is that supposed to invalidate Alecos point?
Річард Харді

1

Escanciano and Lobato constructed a portmanteau test with automatic, data-driven lag selection based on the Pierce-Box test and its refinements (which include the Ljung-Box test).

The gist of their approach is to combine the AIC and BIC criteria --- common in the identification and estimation of ARMA models --- to select the optimal number of lags to be used. In the introduction of they suggest that, intuitively, ``test conducted using the BIC criterion are able to properly control for type I error and are more powerful when serial correlation is present in the first order''. Instead, tests based on AIC are more powerful against high order serial correlation. Their procedure thus choses a BIC-type lag selection in the case that autocorrelations seem to be small and present only at low order, and an AIC-type lag section otherwise.

The test is implemented in the R package vrtest (see function Auto.Q).


1

The two most common settings are min(20,T1) and lnT where T is the length of the series, as you correctly noted.

The first one is supposed to be from the authorative book by Box, Jenkins, and Reinsel. Time Series Analysis: Forecasting and Control. 3rd ed. Englewood Cliffs, NJ: Prentice Hall, 1994.. However, here's all they say about the lags on p.314: enter image description here

It's not a strong argument or suggestion by any means, yet people keep repeating it from one place to another.

The second setting for a lag is from Tsay, R. S. Analysis of Financial Time Series. 2nd Ed. Hoboken, NJ: John Wiley & Sons, Inc., 2005, here's what he wrote on p.33:

Several values of m are often used. Simulation studies suggest that the choice of m ≈ ln(T ) provides better power performance.

This is a somewhat stronger argument, but there's no description of what kind of study was done. So, I wouldn't take it at a face value. He also warns about seasonality:

This general rule needs modification in analysis of seasonal time series for which autocorrelations with lags at multiples of the seasonality are more important.

Summarizing, if you just need to plug some lag into the test and move on, then you can use either of these setting, and that's fine, because that's what most practitioners do. We're either lazy or, more likely, don't have time for this stuff. Otherwise, you'd have to conduct your own research on the power and properties of the statistics for series that you deal with.

UPDATE.

Here's my answer to Richard Hardy's comment and his answer, which refers to another thread on CV started by him. You can see that the exposition in the accepted (by Richerd Hardy himself) answer in that thread is clearly based on ARMAX model, i.e. the model with exogenous regressors xt:

yt=xtβ+ϕ(L)yt+ut

However, OP did not indicate that he's doing ARMAX, to contrary, he explicitly mentions ARMA:

After an ARMA model is fit to a time series, it is common to check the residuals via the Ljung-Box portmanteau test

One of the first papers that pointed to a potential issue with LB test was Dezhbaksh, Hashem (1990). “The Inappropriate Use of Serial Correlation Tests in Dynamic Linear Models,” Review of Economics and Statistics, 72, 126–132. Here's the excerpt from the paper:

enter image description here

As you can see, he doesn't object to using LB test for pure time series models such as ARMA. See also the discussion in the manual to a standard econometrics tool EViews:

If the series represents the residuals from ARIMA estimation, the appropriate degrees of freedom should be adjusted to represent the number of autocorrelations less the number of AR and MA terms previously estimated. Note also that some care should be taken in interpreting the results of a Ljung-Box test applied to the residuals from an ARMAX specification (see Dezhbaksh, 1990, for simulation evidence on the finite sample performance of the test in this setting)

Yes, you have to be careful with ARMAX models and LB test, but you can't make a blanket statement that LB test is always wrong for all autoregressive series.

UPDATE 2

Alecos Papadopoulos's answer shows why Ljung-Box test requires strict exogeneity assumption. He doesn't show it in his post, but Breusch-Gpdfrey test (another alternative test) requires only weak exogeneity, which is better, of course. This what Greene, Econometrics, 7th ed. says on the differences between tests, p.923:

The essential difference between the Godfrey–Breusch and the Box–Pierce tests is the use of partial correlations (controlling for X and the other variables) in the former and simple correlations in the latter. Under the null hypothesis, there is no autocorrelation in εt , and no correlation between xt and εs in any event, so the two tests are asymptotically equivalent. On the other hand, because it does not condition on xt , the Box–Pierce test is less powerful than the LM test when the null hypothesis is false, as intuition might suggest.


Я припускаю, що ви вирішили відповісти на запитання, як це було наштовхнулося на вершину активних ниток моєю останньою відповіддю. Цікаво, я стверджую, що тест є недоцільним у розглянутій обстановці, що робить цілу нитку проблематичною та особливо відповіді в ній. Як ви вважаєте, чи є хорошою практикою опублікувати ще одну відповідь, яка ігнорує цю проблему, навіть не згадуючи її (як і всі попередні відповіді)? Або ви вважаєте, що моя відповідь не має сенсу (що могло б виправдати публікацію відповіді, як ваша)?
Річард Харді

Thank you for an update! I am not an expert, but the argumentation by Alecos Papadopoulos in "Testing for autocorrelation: Ljung-Box versus Breusch-Godfrey" and in the comments under his answer suggests that Ljung-Box is indeed inapplicable on residuals from pure ARMA (as well as ARMAX) models. If the wording is confusing, check the maths there, it seems fine. I think this is a very interesting and important question, so I would really like to find agreement between all of us here.
Річард Харді

0

... h повинно бути якомога менше, щоб зберегти будь-яку потужність, яку може мати тест на ЛБ за обставин. З ростом h падає потужність. Тест на ЛБ - жахливо слабкий тест; у вас повинно бути багато зразків; n має бути ~> 100, щоб мати значення. На жаль, я ніколи не бачив кращого тесту. Але, можливо, один існує. Хтось знає одного?

Paul3nt


0

There's no correct answer to this that works in all situation for the reasons other have said it will depend on your data.

That said, after trying to figure out to reproduce a result in Stata in R I can tell you that, by default Stata implementation uses: min(n22,40). Either half the number of data points minus 2, or 40, whichever is smaller.

All defaults are wrong, of course, and this will definitely be wrong in some situations. In many situations, this might not be a bad place to start.


0

Дозвольте запропонувати вам наш пакет R hwwntest . Він реалізував тести білого шуму на основі Wavelet, які не потребують будь-яких параметрів настройки та мають хороший статистичний розмір та потужність.

Крім того, я нещодавно знайшов "Думки про тест на Люнг-Коробці", які є чудовим обговоренням на тему від Роб Хайндман.

Оновлення: Розглядаючи альтернативну дискусію в цій темі щодо ARMAX, ще одним стимулом для перегляду hwwntest є наявність теоретичної функції живлення для одного з тестів проти альтернативної гіпотези моделі ARMA (p, q).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.