BAIPERRON—Multiple change point analysis
Re: BAIPERRON—Multiple change point analysis
Hello Tom,
I am not very clear what is the difference between @BaiPerron and @multiplebreaks codes.
Would you please advise about it?
Regards
Elham
I am not very clear what is the difference between @BaiPerron and @multiplebreaks codes.
Would you please advise about it?
Regards
Elham
Re: BAIPERRON—Multiple change point analysis
@BaiPerron is for a model with breaks in time (entry). @MultipleBreaks is for models which break based upon some other variable (which wouldn't even have to be in the model)---for instance, the type of breaks that you see in threshold models.elhampa wrote:Hello Tom,
I am not very clear what is the difference between @BaiPerron and @multiplebreaks codes.
Would you please advise about it?
Regards
Elham
-
jonasdovern
- Posts: 97
- Joined: Sat Apr 11, 2009 10:30 am
Re: BAIPERRON procedure for multiple change points
Has anybody done that already and can post a modified BAIPERRON.SRC?TomDoan wrote:The Bai-Perron algorithm picks the break based upon homoscedastic errors, but allows for some HAC errors in doing some other calculations. However, if you want to choose breaks allowing for HAC errors, you can use the calculations from the ONEBREAK.RPF example file.pls wrote:Hi Tom:
I also conducted the regression using the Bai-Perron procedure and found that there are breaks.
However, I would like to correct for heteroscedasticity and autocorrelation.
Perhaps I could make a change to the procedure in the linreg statement and add "robust" as an option.
That would be of great help!
Re: BAIPERRON—Multiple change point analysis
Sorry, but what does "that" refer to? (The quote includes two separate ways to handle heteroscedasticity).
-
jonasdovern
- Posts: 97
- Joined: Sat Apr 11, 2009 10:30 am
Re: BAIPERRON—Multiple change point analysis
Oh, I meant using the approach from ONEBREAK.RPF to adapt the BAIPERRON procedure to fully base the test on HAC standard errors. (What I am actually interested in is to obtain test statistics which are robust to autocorrelation; heteroskedasticity is no issue in my application.)
Re: BAIPERRON—Multiple change point analysis
The contribution of Bai-Perron is that it shows how to efficiently locate multiple breaks in a regression. At one break, it's effectively the same calculation as in (say) @APBreakTest. To achieve the efficiency, it relies upon an assumption of homoscedastic errors, which is why the HAC is included in the analysis only after the breaks have been chosen. To allow for HAC errors (and there's no simple way to separate the H and the AC in that) throughout with multiple breaks, you have to go back to the basics of running a whole lot of regressions as is done in the ONEBREAK example for a single break. The general structure for doing multiple breaks is in the User's Guide, Section 11.3.
-
jonasdovern
- Posts: 97
- Joined: Sat Apr 11, 2009 10:30 am
Re: BAIPERRON—Multiple change point analysis
Ok. Thanks for clarifying this, Tom.
What I still do not completely understand is at which point/for which calculations the BAIPERRON procedure does take HAC errors into account (as you mentioned in one of the previous posts). It seems not to be able to activate the robust option in the BPBreakRanges procedure.
But lets say I change this: is it right that then the only thing that would take deviations from iid errors into account would be the calculation of the widths of the error bands for the break date?
What I still do not completely understand is at which point/for which calculations the BAIPERRON procedure does take HAC errors into account (as you mentioned in one of the previous posts). It seems not to be able to activate the robust option in the BPBreakRanges procedure.
But lets say I change this: is it right that then the only thing that would take deviations from iid errors into account would be the calculation of the widths of the error bands for the break date?
Re: BAIPERRON—Multiple change point analysis
That's correct. Just for the break point CI's.
bai perrron breaks
The Bai-Perron procedure prints out the breaks as follows:
Breakpoint Lower 95% Upper 95%
664 569 666
853 852 887
1226 1222 1227
1278 1276 1281
I am not using "Calendar" and the dates corresponding to the break are in another variable "week" which is in the main program.
How can I pass out the breaks--664, 853, 1226, 1278 to the main program so that I can print out the week corresponding to the break?
I think the change has to be made to the bai-perron procedure at the following part
---------------------------------------------------------------------------------------------------
@BPBreakRanges(robust,qhet,omegahet,maxbreaks=maxbreaks,nfix=nfix,nshift=nshift,breaks=breaks) startr endr eqnswitch limits
*
* Display the break points with 95% confidence bands
*
report(use=regreport,atrow=baserow,atcol=1) "Breakpoint" "Lower 95%" "Upper 95%"
do k=1,maxbreaks
report(use=regreport,atrow=baserow+k,atcol=1) %datelabel(breaks(k)) %datelabel(limits(k,1)) %datelabel(limits(k,2))
end do k
-----------------------------------------------------------------------------------------------------------
I have tried the following in the procedure:
compute brk1 = %datelabel(breaks(1))
and a display in the main program as
display brk1
but I get an error message.
Thanks.
Breakpoint Lower 95% Upper 95%
664 569 666
853 852 887
1226 1222 1227
1278 1276 1281
I am not using "Calendar" and the dates corresponding to the break are in another variable "week" which is in the main program.
How can I pass out the breaks--664, 853, 1226, 1278 to the main program so that I can print out the week corresponding to the break?
I think the change has to be made to the bai-perron procedure at the following part
---------------------------------------------------------------------------------------------------
@BPBreakRanges(robust,qhet,omegahet,maxbreaks=maxbreaks,nfix=nfix,nshift=nshift,breaks=breaks) startr endr eqnswitch limits
*
* Display the break points with 95% confidence bands
*
report(use=regreport,atrow=baserow,atcol=1) "Breakpoint" "Lower 95%" "Upper 95%"
do k=1,maxbreaks
report(use=regreport,atrow=baserow+k,atcol=1) %datelabel(breaks(k)) %datelabel(limits(k,1)) %datelabel(limits(k,2))
end do k
-----------------------------------------------------------------------------------------------------------
I have tried the following in the procedure:
compute brk1 = %datelabel(breaks(1))
and a display in the main program as
display brk1
but I get an error message.
Thanks.
Re: BAIPERRON—Multiple change point analysis
The newest versions of @BAIPERRON define %%BREAKPOINTS which is a VECT[INT] with the chosen breaks.
Re: BAIPERRON—Multiple change point analysis
Hello Tom,
The series I am working with are not cointegrated. I have use the ARDL test (Pesaran, MH, Shin, Y & Smith, RJ 2001, 'Bounds Testing Approaches to the Analysis of Level Relationships', Journal of Applied Econometrics, vol. 16, no. 3, pp. 289-326).
As fa as I understand this test is for cointegrated models. In such case there is no point to use Kejriwal and Perron test for multiple structural. However after running the multiple structural break one break was detected and the coefficients are statistically significant over the two regimes.
Would you please advise and correct me if I am wrong.
Thank you very much.
Regards
The series I am working with are not cointegrated. I have use the ARDL test (Pesaran, MH, Shin, Y & Smith, RJ 2001, 'Bounds Testing Approaches to the Analysis of Level Relationships', Journal of Applied Econometrics, vol. 16, no. 3, pp. 289-326).
As fa as I understand this test is for cointegrated models. In such case there is no point to use Kejriwal and Perron test for multiple structural. However after running the multiple structural break one break was detected and the coefficients are statistically significant over the two regimes.
Would you please advise and correct me if I am wrong.
Thank you very much.
Regards
Re: BAIPERRON—Multiple change point analysis
If your series are not cointegrated, then a y on x regression is spurious. If you're doing an ARDL type model (with multiple lags of of x variables), then the model should be written in differences, and then you don't have any issues with I(1) regressors. The problem then is that you may not produce an easily interpretable equation. Seeelhampa wrote:Hello Tom,
The series I am working with are not cointegrated. I have use the ARDL test (Pesaran, MH, Shin, Y & Smith, RJ 2001, 'Bounds Testing Approaches to the Analysis of Level Relationships', Journal of Applied Econometrics, vol. 16, no. 3, pp. 289-326).
As fa as I understand this test is for cointegrated models. In such case there is no point to use Kejriwal and Perron test for multiple structural. However after running the multiple structural break one break was detected and the coefficients are statistically significant over the two regimes.
Would you please advise and correct me if I am wrong.
Thank you very much.
Regards
https://estima.com/ratshelp/spuriousregression.html
Re: BAIPERRON—Multiple change point analysis
Thank you very much Tom,
I think the way I mentioned my questions was a bit vague. What I am asking is:
All I want to show is that y and x are not cointegrated (I am no looking for modelling y and x).
y and x were tested for cointegration using the ARDL model (with multiple lags of of y and x) proposed by (Pesaran, MH, Shin, Y & Smith, RJ 2001, 'Bounds Testing Approaches to the Analysis of Level Relationships', Journal of Applied Econometrics, vol. 16, no. 3, pp. 289-326).
The ARDL test revealed that Y and x are not cointegrated.
Now, considering the ARDL result, is there any point of using Kejriwal and Perron test(esting for Multiple Structural Changes in Cointegrated Regression Models." Journal of Business and Economic) to test whether y and x are cointegrated?
In other way, is Kehriwal and Perron test only for when x and y if they are cointegrated?
Thank you Tom
I think the way I mentioned my questions was a bit vague. What I am asking is:
All I want to show is that y and x are not cointegrated (I am no looking for modelling y and x).
y and x were tested for cointegration using the ARDL model (with multiple lags of of y and x) proposed by (Pesaran, MH, Shin, Y & Smith, RJ 2001, 'Bounds Testing Approaches to the Analysis of Level Relationships', Journal of Applied Econometrics, vol. 16, no. 3, pp. 289-326).
The ARDL test revealed that Y and x are not cointegrated.
Now, considering the ARDL result, is there any point of using Kejriwal and Perron test(esting for Multiple Structural Changes in Cointegrated Regression Models." Journal of Business and Economic) to test whether y and x are cointegrated?
In other way, is Kehriwal and Perron test only for when x and y if they are cointegrated?
Thank you Tom
Re: BAIPERRON—Multiple change point analysis
Kejriwal and Perron is not a test for cointegration. It's a test for structural breaks in an equation with cointegration.