help suchowtest

Title

suchowtest performs successive Chow tests on cross-section and time series data

Syntax

suchowtest
depvar [indepvars]
[if] [in] [weight]
[, options]

Model
thresv(varname) indicates the threshold variable

stub(string) designates a string name from which new variable names will be created

fpctile(#) specifies the lower bound percentile of the threshold variable

lpctile(#) specifies the upper bound percentile of the threshold variable

step(#) indicates the step by which we want to move the sample's break point

sig(#) designates the significance level we want to set for the p-value of the Chow test

Reporting
nographs suppress the display of graphs after the estimations are performed

saving(string) allows to save the graphs that the command displays.

Additional Options
regress_options In addition to the options listed above, all options of the regress command can be used

aweights, fweights, iweights, and pweights are allowed;
see weight.

by is not allowed with suchowtest; see [D] by for more details on by.

indepvars and the thresv(varname) option may contain factor variables; see fvvarlist.

depvar, indepvars and the thresv(varname) option may contain time-series operators; see tsvarlist.

Description

suchowtest performs successive Chow tests on cross-section and time series data. Habitually,
when we are doing the Chow test, we split the sample of study in two subsamples using an
exogenous break point. Unlike the previous method, the command suchowtest
finds the break point endogenously. We do not have to supply a break point.
If there is a threshold, the command finds it by using the information given
by the data. If there is no break point the command will inform us too. This
method of finding thresholds appears to be more reasonable in cases where the
researcher does not know a priori the breaking point. The theory behind the
command suchowtest is provided by Berthelemy and Varoudakis (1996).

Options

Model

thresv(varname) indicates the threshold variable. To form this option,
you put inside the brackets the variable name representing the threshold variable.
You must specify this option in order to get a result. Hence this option is not optional.

stub(string) designates a string name from which new variable names will be
created. To form this option, you put inside the brackets a string name (without the double quotes). Then new
variable names will be created from this string. You must specify this option in
order to get a result. Hence this option is not optional.

fpctile(#) specifies the lower bound percentile of the threshold variable that
must be included in the search for a break point. The default value of this option is 10.
Hence the search for the break point starts at the 10th percentile of the threshold variable.

lpctile(#) specifies the upper bound percentile of the threshold variable that
must be included in the search for a break point. The default value of this option is 90.
Hence the search for the break point starts at the 10th percentile and goes up to the 90th
percentile of the threshold variable.

step(#) indicates the step by which we want to move the sample's break point.
The default value of this option is 1. This means that the sample's break point is
moved forward by one observation every time.

sig(#) designates the significance level we want to set for the p-value of the Chow
test. The default value of this option is 0.10. This means that we want the p-value of the
Chow test to be significant at most at the 10% level.

Reporting

nographs suppress the display of graphs after the estimations are performed. This
option is used when we do not want to display the graphs after the estimations are done.

saving(string) In this option, you specify the complete file path where you want to save the
graphs produced by the command. You must enclose de path in double quotes. If you do not
specify this option, the graphs will be displayed, if you do not choose the nographs
option, but they will not be saved.

Additional Options

regress_options:
noconstant,
hascons,
tsscons,
vce(vcetype),
level(#),
beta,
eform(strings:string), etc.
See [R] regress.
All options of the regress command can be used.

You can use all the options of the command regress. To use them, enter them in the
same manner that you would do with the regress command.

Saved results

suchowtest saves the following in r():

Scalars

r(maxchowfh) Chow Test (F-Test)

r(maxpvchowtest) P-Value of the Chow Test

r(maxbreakpt) Value of the break point parameter

r(maxobsvalue) Observation number corresponding to the break point

r(qlstat) Maximum of the QL Statistic

Macros

r(chowfh) Variable containing all the Chow F-Statistics

r(chowstatpv) Variable containing all the P-Values of the Chow Test

r(breakptpar) Variable containing all the Break Point Parameters

r(qlvariable) Variable containing all the QL Statistics

Examples

Before beginning the estimations, we use the set more off instruction to tell
Stata not to pause when displaying the results.

set more off

We load the data we are going to use and describe them. The description shows that
we have cross section data which represent the average of the variables from 1975 to 2004.

use http://fmwww.bc.edu/repec/bocode/s/suchowtestcross.dta, clear

describe

We estimate a standard conditional convergence growth regression in which the real GDP
per capita growth rate is regressed on initial real GDP per capita, stock market capitalization
(financial development) and human capital. We use financial development as threshold variable
with the option thresv(). We also specify the option stub() in which we put the
string "sct" without the double quotes. Note that these two options are required.

suchowtest croisspibt lninitgdppc lnstmktcap lnyr_sch_sec, thresv(lnstmktcap) stub(sct)

The estimation firstly gives some statistics concerning the threshold. The first
statistic is the observation number at which the break point occurs. The second is the
maximum of the QL statistic. The third is the Chow test and its p-value and the last one
is the value of the threshold variable at the break point. Secondly, the estimation provides
the OLS regression below the break point parameter. Thirdly, the estimation gives the OLS
regression above the break point parameter. The estimation also offers three graphs.
The first titled "QL STATISTIC" draws the QL statistic against the break point parameter.
The green vertical line represents the observation at which the break point occurs.
The second titled "P-VALUES OF THE CHOW TEST" graphs the p-values of the Chow test against
the break point parameter. The green horizontal line is the significance level of the
p-value of the Chow test. The third titled "PV. CHOW TEST AND QL STAT." is the combination
of the two previous graphs. The left y-axis graphs the p-values of the Chow test while
the right y-axis provides the QL statistic.

The estimation also generates variables containing the previously provided
statistics. These variables contain: The break point parameter, the QL statistic, the
p-values of the Chow test and the Chow F-statistic. To see these variables, we type:

describe sct_*

We illustrate the use of options fpctile(#) and lpctile(#). By default
the search for the break point starts at the 10th percentile and goes up to the 90th percentile
of the threshold variable. Now we extend the search range of the threshold. We start from the
5th percentile and goes up to the 95th percentile.

suchowtest croisspibt lninitgdppc lnstmktcap lnyr_sch_sec lngconsgdp lnopenwb, thresv(lnstmktcap) stub(sct) fpctile(5) lpctile(95)

We show the use of the option sig(). We enter the value 0.01 as the significance level of the p-value of the Chow test.

suchowtest croisspibt lninitgdppc lnstmktcap lnyr_sch_sec lngconsgdp lnopenwb, thresv(lnstmktcap) stub(sct) sig(0.01)

The command suchowtest indicates that there is no break point at this significance level. It suggests us to increase the significance
level to augment the chance of obtaining a threshold. Hence we increase the significance level to 0.05.

suchowtest croisspibt lninitgdppc lnstmktcap lnyr_sch_sec lngconsgdp lnopenwb, thresv(lnstmktcap) stub(sct) sig(0.05)

If we do not want to display the graphs, we type:

suchowtest croisspibt lninitgdppc lnstmktcap lnyr_sch_sec lngconsgdp, thresv(lnstmktcap) stub(sct) nographs

In addition to the options cited above, all options of the regress command can be used. For instance we show here how
to compute robust standard errors with the option vce(robust).

suchowtest croisspibt lninitgdppc lnstmktcap lnyr_sch_sec lngconsgdp vtotopen, thresv(lnstmktcap) stub(sct) vce(robust)

In the following, we demonstrate how to use the saving(string) option. Assume that you have Windows as your Operating System and you
want to save the graphs produced by the command suchowtest in a folder named "mystatagraphs" located in the "C:\" drive. So the full path name
is "C:\mystatagraphs". Note that, you must physically create this folder, otherwise the next instructions will not work at all. Also if you have an
Operating System other than Windows, you must supply the correct file path according to your Platform. To save the graphs in the "mystatagraphs" folder, just type
(without forgetting the double quotes):

\mystatagraphs") "'

If you open the folder "mystatagraphs", you will find that it contains three graphs. If you want to save another set of graphs in the
same folder, just change the name that you put in the stub() option. For instance, change it to "robt" and you will have three more graphs
in the folder "mystatagraphs" by executing the following line.

\mystatagraphs") "'

Now let's illustrate how to use the command suchowtest with time series data. We load the data, describe and tsset them.
We observe that we have time series data for France from 1960 to 2013.

use http://fmwww.bc.edu/repec/bocode/s/suchowtesttime.dta, clear

describe

tsset year

Next, we estimate an investment equation in which the first difference of log investment is regressed on the first differences of log
real GDP, real interest rate and inflation. The regression also takes into account a time trend. As usual, the options thresv() and
stub() are included. Here we employ the first difference of the log of real GDP as the threshold variable.

suchowtest d.linvest d.lrgdp d.rirs d.inflati trend, thresv(d.lrgdp) stub(invsb)

References

Berthelemy, J. C. and A. Varoudakis: 1996, "Economic Growth, Convergence Clubs, and the Role
of Financial Development", Oxford Economic Papers 48(2), 300-328.

Author

Diallo Ibrahima Amadou, zavren@gmail.com

Also see

Online: help for regress, chowreg (if installed)