[R] Chow test(1960)/Structural change test

Achim Zeileis Achim.Zeileis at wu-wien.ac.at
Mon May 18 14:18:56 CEST 2009

On Mon, 18 May 2009, Axel Leroix wrote:

> Thank your for your answer. I try to perform the Chow test with the 
> formula as you suggest and it works. Nevertheless, I would like to ask 
> additional questions please :
> The first one is related to the early one that I have asked to my first 
> message:
> When I try to perform another structural change tests, in particular 
> those ones which are based on the Fstats , I write the following code:
> fsaveF <- Fstats(reg1, from = 7, to = 22, data = data1)
> sctest(fsaveF, type = "aveF")
> which give me the following results :
>         aveF test
> data:  fsaveF
> ave.F = 55.15, p-value = 4.329e-15
> But when I try the same test with sctest(reg1 , type = "aveF", data = 
> data), this does not work although reg1 is already known. When I replace 
> reg1 by a ~ b + c + d the test works. When should I use the fitted model 
> rather than the formula in a structural change test and vis versa ?  I 
> precise that in my case reg1 correspond to a ~ b + c + d.

RTFM. All functions always ask for a formula (= a description of the model 
under the nullhypothesis). Fstats() has been enhanced for convenience so 
that you can also supply a fitted linear model which is not available for 
direct application of the sctest.formula() method.

(Personally, I never use sctest.formula() but always explicitely use 
Fstats(), efp(), or gefp().)

> Second question:
> The structural change tests based on the generalized fluctuation test 
> framework that I have performed (Rec-CUSUM and Rec-MOSUM) give me an 
> opposite results (No structural change) with regard to F test framework 
> (there is a structural change). How to deal with this contradiction?

The tests based on recursive residuals have good power only if a change 
occurs early in the sample. They have very poor power for late changes.

As there are infinitely many possible patterns of deviation from parameter 
stability, there is no test that uniformly dominates all others across all 
conceivable patterns. Which test is used in practice hence depends on the 
patterns you want have good power against. See the references in the 
strucchange package for more details.
> Third question:
> Since I have autocorrelation in my regression, should I perform 
> structural change test before or after correcting for autocorrelation?

Technically you can do both and there are examples for both in the 
strucchange docs.

If you have a good model that can capture all autocorrelation, I would 
recommend to test for structural change in that model. Otherwise if there 
is only little autocorrelation that you don't want/need to model 
explicitely, you can adjust the tests, e.g., by using HAC covariances. 
These can be plugged into both Fstats() and gefp() (but not efp()).


More information about the R-help mailing list