Có bao nhiêu độ trễ để sử dụng trong thử nghiệm Ljung-Box của một chuỗi thời gian?


20

Sau khi một mô hình ARMA phù hợp với một chuỗi thời gian, người ta thường kiểm tra các phần dư thông qua thử nghiệm portmanteau Ljung-Box (trong số các thử nghiệm khác). Thử nghiệm Ljung-Box trả về giá trị ap. Nó có một tham số, h , là số lượng độ trễ cần kiểm tra. Một số văn bản khuyến nghị sử dụng h = 20; những người khác khuyên dùng h = ln (n); hầu hết không nói h sử dụng cái gì .

Thay vì sử dụng một giá trị duy nhất cho h , giả sử rằng tôi thực hiện kiểm tra Ljung-Box cho tất cả h <50, sau đó chọn h đưa ra giá trị p tối thiểu. Cách tiếp cận đó có hợp lý không? Những lợi thế và bất lợi là gì? (Một nhược điểm rõ ràng là tăng thời gian tính toán, nhưng đó không phải là vấn đề ở đây.) Có tài liệu nào về điều này không?

Để giải thích một chút .... Nếu thử nghiệm cho p> 0,05 cho tất cả h , thì rõ ràng chuỗi thời gian (phần dư) vượt qua thử nghiệm. Câu hỏi của tôi liên quan đến cách diễn giải thử nghiệm nếu p <0,05 cho một số giá trị của h và không cho các giá trị khác.


1
@ user2875, tôi đã xóa câu trả lời của mình. Thực tế là đối với lớn h, bài kiểm tra không đáng tin cậy. Vì vậy, câu trả lời thực sự phụ thuộc vào h , p<0.05 . Hơn nữa giá trị chính xác của p gì? Nếu chúng ta giảm ngưỡng xuống 0.01 , kết quả của thử nghiệm có thay đổi không? Cá nhân trong trường hợp các giả thuyết mâu thuẫn, tôi tìm kiếm các chỉ số khác cho dù mô hình có tốt hay không. Làm thế nào tốt mô hình phù hợp? Làm thế nào để mô hình so sánh với các mô hình thay thế? Các mô hình thay thế có cùng một vấn đề? Đối với những vi phạm khác, bài kiểm tra từ chối null?
mpiktas

1
@mpiktas, Thử nghiệm Ljung-Box dựa trên một thống kê có phân phối không có triệu chứng (khi h trở nên lớn) chi bình phương. Tuy nhiên, khi h lớn hơn n, công suất của phép thử giảm xuống 0. Do đó, mong muốn chọn h đủ lớn để phân phối gần với bình phương nhưng đủ nhỏ để có sức mạnh hữu ích. (Tôi không biết nguy cơ của âm tính giả là gì, khi h nhỏ.)
user2875

@ user2875, đây là lần thứ ba bạn thay đổi câu hỏi. Trước tiên, bạn hỏi về chiến lược chọn với giá trị nhỏ nhất, sau đó làm thế nào để diễn giải thử nghiệm nếu p < 0,05 cho một số giá trị của h , và bây giờ chọn h tối ưu để chọn. Tất cả ba câu hỏi có câu trả lời khác nhau và thậm chí có thể có câu trả lời khác nhau tùy thuộc vào bối cảnh của vấn đề cụ thể. hp<0.05hh
mpiktas

@mpiktas, các câu hỏi đều giống nhau, chỉ là những cách nhìn khác nhau. (Như đã chỉ ra, nếu p> 0,05 cho tất cả h, thì chúng ta biết cách diễn giải p nhỏ nhất; nếu chúng ta biết h tối ưu - chúng ta không - thì chúng ta sẽ không quan tâm đến việc chọn p nhỏ nhất.)
dùng2875

Câu trả lời:


9

Câu trả lời chắc chắn phụ thuộc vào: Thực tế đang cố gắng sử dụng bài kiểm tra để làm gì?Q

Lý do phổ biến là: để được nhiều hơn hoặc ít tự tin về ý nghĩa thống kê chung của giả thuyết không có tự tương quan đến lag (hoặc giả định rằng bạn có một cái gì đó gần một tiếng ồn trắng yếu ) và để xây dựng một tiêu dùng tiết kiệm mô hình, có ít nhất số lượng tham số càng tốt.h

Thông thường dữ liệu chuỗi thời gian có mẫu theo mùa tự nhiên, do đó, quy tắc thực tế sẽ là đặt thành hai lần giá trị này. Một số khác là chân trời dự báo, nếu bạn sử dụng mô hình cho nhu cầu dự báo. Cuối cùng, nếu bạn tìm thấy một số lần khởi hành đáng kể ở độ trễ sau, hãy thử suy nghĩ về các hiệu chỉnh (điều này có thể là do một số hiệu ứng theo mùa hoặc dữ liệu không được sửa cho các ngoại lệ).h

Thay vì sử dụng một giá trị duy nhất cho h, giả sử rằng tôi thực hiện kiểm tra Ljung-Box cho tất cả h <50, sau đó chọn h đưa ra giá trị p tối thiểu.

Đây là một thử nghiệm có ý nghĩa chung , vì vậy nếu lựa chọn là dựa trên dữ liệu, thì tại sao tôi phải quan tâm đến một số lần khởi hành nhỏ (thỉnh thoảng?) Ở bất kỳ độ trễ nào nhỏ hơn h , giả sử rằng nó ít hơn n tất nhiên (công suất của bài kiểm tra mà bạn đề cập). Tìm kiếm để tìm một mô hình đơn giản nhưng phù hợp, tôi đề xuất các tiêu chí thông tin như được mô tả dưới đây.hhn

Câu hỏi của tôi liên quan đến cách diễn giải thử nghiệm nếu cho một số giá trị của h và không cho các giá trị khác.p<0.05h

Vì vậy, nó sẽ phụ thuộc vào bao xa từ hiện tại nó xảy ra. Nhược điểm của khởi hành xa: ước tính nhiều thông số hơn, mức độ tự do ít hơn, khả năng dự đoán kém hơn của mô hình.

Cố gắng ước tính mô hình bao gồm các phần MA và \ hoặc AR ở độ trễ nơi xuất phát VÀ xem xét thêm một trong các tiêu chí thông tin (AIC hoặc BIC tùy thuộc vào kích thước mẫu), điều này sẽ mang đến cho bạn nhiều thông tin chi tiết hơn về mô hình nào tinh ranh. Bất kỳ bài tập dự đoán ngoài mẫu cũng được chào đón ở đây.


+1, đây là những gì tôi đã cố gắng thể hiện nhưng không thể :)
mpiktas

8

Giả sử rằng chúng tôi chỉ định một mô hình AR (1) đơn giản, với tất cả các thuộc tính thông thường,

yt=βyt1+ut

Biểu thị hiệp phương sai lý thuyết của thuật ngữ lỗi là

γjE(ututj)

Nếu chúng ta có thể quan sát thuật ngữ lỗi, thì tự động tương quan mẫu của thuật ngữ lỗi được xác định là

ρ~jγ~jγ~0

Ở đâu

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

Nhưng trong thực tế, chúng tôi không quan sát thuật ngữ lỗi. Vì vậy, tự động tương quan mẫu liên quan đến thuật ngữ lỗi sẽ được ước tính bằng cách sử dụng phần dư từ ước tính, như

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

Thống kê Q của Box-Pierce (Ljung-Box Q chỉ là phiên bản thu nhỏ trung tính không có triệu chứng của nó) là

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

Vấn đề của chúng tôi là chính xác liệu có thể được cho là có phân phối không bình phương (dưới giá trị không có tự động trong thuật ngữ lỗi) trong mô hình này hay không. Đối với điều này xảy ra, mỗi và tất cả mọi người của QBP
phải tiệm tiêu chuẩn bình thường. Một cách để kiểm tra này là để kiểm tra xem liệunρ^j có sự phân bố tiệm cận tương tự nhưnρ^ (được xây dựng bằng cách sử dụng lỗi thật, và do đó có hành vi tiệm cận mong muốn dưới null).nρ~

Chúng tôi có điều đó

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

nơi β là một ước lượng phù hợp. Vì thếβ^

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

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

Mẫu được giả định là đứng yên và ergodic, và các khoảnh khắc được giả sử tồn tại cho đến khi có thứ tự mong muốn. Kể từ khi ước lượng β là phù hợp, điều này là đủ cho hai khoản tiền để đi đến số không. Vì vậy, chúng tôi kết luậnβ^

γ^jpγ~j

Điều này ngụ ý rằng

ρ^jpρ~jpρj

Nhưng điều này không tự động đảm bảo rằng hội tụ để nρ^jnρ~jn

nγ^jdnγ~j

γ0

Chúng ta có

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 thread "Testing for autocorrelation: Ljung-Box versus Breusch-Godfrey" shows that the Ljung-Box test is essentially inapplicable in the case of an autoregressive model. It also shows that Breusch-Godfrey test should be used instead. That limits the relevance of your question and the answers (although the answers may include some generally good points).


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

@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.
Richard Hardy

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?
Richard Hardy

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.


I suppose that you decided to answer the question as it was bumped to the top of the active threads by my recent answer. Curiously, I argue that the test is inappropriate in the setting under consideration, making the whole thread problematic and the answers in it especially so. Do you think it is good practice to post yet another answer that ignores this problem without even mentioning it (just like all the previous answers do)? Or do you think my answer does not make sense (which would justify posting an answer like yours)?
Richard Hardy

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.
Richard Hardy

0

... h should be as small as possible to preserve whatever power the LB test may have under the circumstances. As h increases the power drops. The LB test is a dreadfully weak test; you must have a lot of samples; n must be ~> 100 to be meaningful. Unfortunately I have never seen a better test. But perhaps one exists. Anyone know of one ?

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

Let me suggest you our R package hwwntest. It has implemented Wavelet-based white noise tests that do not require any tuning parameters and have good statistical size and power.

Additionally, I have recently found "Thoughts on the Ljung-Box test" which is excellent discussion on the topic from Rob Hyndman.

Update: Considering the alternative discussion in this thread regarding ARMAX, another incentive to look at hwwntest is the availability of a theoretical power function for one of the tests against an alternative hypothesis of ARMA(p,q) model.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.