Page 1 of 1
MULTIPLEBREAKS—Breaks based upon threshold
Posted: Mon Jun 28, 2010 10:12 pm
by TomDoan
@MultipleBreaks does multiple change point calculations on a linear model using a threshold variable other than time.
Detailed description
The following is an example. This uses the same data set as the Hansen ECM 1996 threshold autoregression replication.
Code: Select all
open data gnp.asc
calendar(q) 1947
data(format=free,org=columns) 1947:01 1990:03 gnp dontknow
*
set ggrowth = log(gnp/gnp{1})*400.0
*
@tar(laglist=||1,2,5||,nreps=1000) ggrowth
set lagtwo = ggrowth{2}
@multiplebreaks(thresh=lagtwo,max=3) ggrowth
# constant ggrowth{1 2 5}
THRESHTEST - Regression with threshold breaks
Posted: Mon Oct 27, 2014 9:37 pm
by Ana_Rita
TomDoan wrote:There's really no good way to modify @THRESHTEST, since it uses LM calculations to keep the computing time down. It would be easier to modify @MULTIPLEBREAKS. That does calculations based upon calculations of the regressions across each regime. Instead of keeping track of the sum of squared residuals for each interval:
compute intervalrss(s,e)=%rss
you would keep track of (minus the) subsample log likelihoods (since it's written to do a minimization rather than a maximization):
compute intervalrss(s,e)=%nobs=(e-s+1),+.5*%nobs*(log(%rss/%nobs)+1)
That will figure out the optimal regime breaks; you'll have to figure out how to adapt the output to handle the log likelihood
Hi Tom,
Since i want to perform the @THRESHTEST assuming heteroscedasticity and using one of the regressors as the threshold variable, i followed your advice and modified the procedure (attached). The output gives me RSS for 0 and 1 break, and according to BIC it finds one break to be the best (also, the break values output gives NA...not sure why).
In order to now adapt this result to get the Hansen test allowing for heteroscedastic errors, i believe i need to use the value i got for RSS from the @MULTIPLEBREAKS test (which is 0.756) so that in the @THRESHTEST procedure instead of having:
Code: Select all
* Convert everything to F statistics
*
compute sigma = (%rss-ssqmax)/(%nobs-2*%nreg)
compute fmax = (ssqmax/%nreg)/sigma
set ftests nb ne = (ssq/%nreg)/sigma
I would have something like:
Code: Select all
* Convert everything to F statistics
*
compute sigma = (0.756-ssqmax)/(%nobs-2*%nreg)
compute fmax = (ssqmax/%nreg)/sigma
set ftests nb ne = (ssq/%nreg)/sigma
This would then give me the corrected likelihood ratio. According to Hansen's paper the bootstrap technique under heteroscedastic errors also needs to be modified, could you please give some advice on how to do that?
I appreciate any help you can provide me with this!!
Many thanks!
Ana
MULTIPLEBREAKS procedure (revised) Question
Posted: Tue Feb 20, 2018 2:28 pm
by e1983
Hi. Is it possible to get confidence intervals around the break points?
Re: MULTIPLEBREAKS procedure (revised) Question
Posted: Thu Jun 05, 2025 8:52 am
by TomDoan
e1983 wrote:Hi. Is it possible to get confidence intervals around the break points?
Not that I'm aware. The calculations of those in Bai-Perron rely on the fact that the potential break locations in that are equally spaced.