Home  /  Products  /  Features  /  Tests for structural breaks in time-series data

<-  See Stata's other features

Highlights

It's called a structural break when a time series abruptly changes at a point in time. This change could involve a change in mean or a change in the other parameters of the process that produce the series.

structural_stcolor.svg

Being able to detect when the structure of the time series changes can give us insights into the problem we are studying. Structural break tests help us to determine when and whether there is a significant change in our data.

Commands estat sbknown and estat sbsingle test for a structural break after estimation with regress or ivregress. Both are robust to unknown forms of heteroskedasticity, something that cannot be said of traditional Chow tests.

The estat sbcusum command tests for stability in regression coefficients over time after estimation with regress, and the test can be used as a test for structural breaks.

Let's see it work

We want to know whether there is a greater increase in malaria cases than would otherwise be predicted. Suppose we have data on a country where the number of cases varies over time and that variation is in general explained by the population of Anopheles mosquitoes. The model is

. regress malaria anopheles, vce(robust)

To determine whether and when there is a structural break in our data, we type

. tsset month

. estat sbsingle

1 2 3 4 5
.................................................. 50 Test for a structural break: Unknown break date Full sample: 2005m1 thru 2014m12 Trimmed sample: 2006m7 thru 2013m7 Estimated break date: 2013m4 H0: No structural break Number of obs = 120
Test Statistic p-value
Supremum Wald 40966.4180 0.0000
Exogenous variables: anopheles Coefficients included in test: anopheles _cons

The test rejects the null hypothesis of no structural break and detects a break in the fourth month of 2013.

We can also perform a test for more than one structural break if we have ex-ante information about when the breaks might be. It's artificial, but let's use these same data and test for a structural break, pretending that we suspect there might be one on 2013m1, which is close to 2013m4.

. estat sbknown, break(tm(2013m1))

Wald test for a structural break: Known break date
Sample:  2005m1 thru 2014m12
Break date:  2013m1

H0: No structural break

Number of obs =      120
      chi2(2) = 209.0560
  Prob > chi2 =   0.0000

Exogenous variables: anopheles
Coefficients included in test: anopheles _cons

The test rejects the null hypothesis of no structural break.

Tell me more

See [TS] estat sbknown, [TS] estat sbsingle, and [TS] estat sbcusum for more information.