{smcl}
{* version 1.0.0, 25Apr2024 }{...}
{cmd:help xtnondynthreshsfa}
{hline}
{title:Title}
{pstd}
{hi: Performs Estimations of Threshold Effects in Non-Dynamic Panel Data Stochastic Frontier Models}
{title:Syntax}
{pstd}
{cmd:xtnondynthreshsfa}
{depvar}
[{indepvars}]
{ifin}
{cmd:,} {it:options}
{synoptset 27 tabbed}{...}
{synopthdr}
{synoptline}
{synopt: {it:{help xthreg:xthreg_options}}}all options of the command {bf:{help xthreg}} (if installed) can be used{p_end}
{synopt :{it:{help xtreg:xtreg_fe_options}}}all options of the command {hi:xtreg, fe} ({bf:{manhelp xtreg XT}}) can be used{p_end}
{synoptline}
{p2colreset}{...}
{p 4 6 2}
where {depvar} is the dependent variable and {indepvars} are the regime-independent variables. {p_end}
{title:Description}
{pstd}
{cmd:xtnondynthreshsfa} performs estimations of threshold effects in non-dynamic panel data stochastic
frontier models. This command estimates fixed-effects non-dynamic panel data stochastic frontier models
with threshold effects. It allows to obtain both single and multiple thresholds estimates alongside the
slope coefficients. It also tests for the existence of threshold effects. After estimation, the command
permits to calculate both the time-invariant technical inefficiency and the individual-specific efficiency
scores. {cmd:xtnondynthreshsfa} is an extension of Wang (The Stata Journal, 2015) {cmd:xthreg} command to
the world of panel data stochastic frontier models in the presence of threshold effects. The theory behind
the command {cmd:xtnondynthreshsfa} is provided by Yelou, Larue and Tran (Economic Modelling, 2010).
{title:Important Advice}
{pstd}
The package {bf:xtnondynthreshsfa} rely on the package {bf:xthreg}.
Hence you must install {bf:xthreg} to make {bf:xtnondynthreshsfa} work.
To install the package {bf:xthreg} from within {bf:Stata}, please proceed as follows.
First, connect your computer to the Internet, and second, click on these two lines successively:
{p 4 8 2}{stata `"quietly net from http://www.stata-journal.com/software/sj15-1"'}{p_end}
{p 4 8 2}{stata `"net install st0373, replace"'}{p_end}
{title:Options for xtnondynthreshsfa}
{phang}
{it:{help xthreg:xthreg_options}} all options of the command {bf:{help xthreg}} (if installed) can be
used. Assuming that you have correctly installed the command {bf:xthreg} by following the instructions
above, you can view the {it:options} for the command {bf:xthreg} by clicking on: {bf:{help xthreg}}. You
can form the {it:options} for the command {bf:xtnondynthreshsfa} in exactly the same way as you would do
with the command {bf:xthreg}. Simply enter them as if you were using the
command {bf:xthreg}. Please, see {bf:{help xthreg}} for more details.
{phang}
{it:{help xtreg:xtreg_fe_options}} all options of the command {hi:xtreg, fe} ({bf:{manhelp xtreg XT}}) can
be used. In addition to the {it:options} of the command {bf:xthreg}, you can use all the {it:options} for
the command {hi:xtreg, fe}: meaning all options available with the command {hi:xtreg} with the fixed-effects
estimator option but not the {hi:fe} {it:option} itself. This, because the {hi:fe} {it:option} is already
internally used by the command {bf:xtnondynthreshsfa}. But all the other ones are allowed to be used
like, for example, the {hi:vce(robust)} {it:option}. The command {hi:xtreg, fe} is already part
of {hi:Official Stata}, so you do not have to install it. To view the {it:options} of the
command {hi:xtreg, fe}, please click on: {bf:{manhelp xtreg XT}}.
{title:Syntax for xtnondynthreshsfacomps}
{p 8 16 2}{cmd:xtnondynthreshsfacomps}
{cmd:,} {cmdab:stub:(}string{cmd:)}
{title:Description for xtnondynthreshsfacomps}
{pstd}
{cmd:xtnondynthreshsfacomps} allows us to calculate both the time-invariant technical inefficiency and
the individual-specific efficiency scores after we perform the estimations with the command {cmd:xtnondynthreshsfa}.
{title:Options for xtnondynthreshsfacomps}
{phang}
{opt stub(string)} designates a string name from which new variable names will be
created. To form this option, you put inside the parentheses 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 required.
{title:Warnings}
{pstd}
Since the command {cmd:xtnondynthreshsfa} is based on the command {bf:{help xthreg}}, it requires strongly
balanced panel data to work. Hence, you need to strongly balance your data before using the
command {cmd:xtnondynthreshsfa}. If you want to balance your panel data in {hi:Stata}, you can
use, for example, the following commands, if installed: {bf:{help xtbalance}} and/or {bf:{help xtbalance2}}.
{pstd}
The command {cmd:xtnondynthreshsfa}, like many panel data threshold effects estimation techniques, is
highly computationally intensive and may for that reason take a very long time to run on a sluggish machine.
So, please, be patient when using this command.
{title:Return values for xtnondynthreshsfa}
{pstd}
{cmd:xtnondynthreshsfa} saves the following in {cmd:e()}. The command {cmd:xtnondynthreshsfa} saves all the
Stored Results returned by the commands {bf:{help xthreg}} and {hi:xtreg, fe} ({bf:{manhelp xtreg XT}}).
So, I advise you to look at the Stored Results of these two commands to see the descriptions and the
explanations of all the Stored Results returned by the command {cmd:xtnondynthreshsfa}, please.
{title:Examples}
{p 4 8 2} Before beginning the estimations, we use the {hi:set more off} instruction to tell
{hi:Stata} not to pause when displaying the output. {p_end}
{p 4 8 2}{stata "set more off"}{p_end}
{p 4 8 2} We illustrate the use of the command {cmd:xtnondynthreshsfa} with the dataset {hi:xtnondynthreshsfadata.dta}. This
dataset contains a sample of strongly balanced panel data for developed and developing countries in the World. It contains
yearly panel data for 15 years from 2005 to 2019. {p_end}
{p 4 8 2}{stata "use http://fmwww.bc.edu/repec/bocode/x/xtnondynthreshsfadata.dta, clear"}{p_end}
{p 4 8 2} Next we describe the dataset to see the definition of each variable. {p_end}
{p 4 8 2}{stata "describe"}{p_end}
{p 4 8 2} Now, we estimate a single threshold model. We start by writing the name of the
command {cmd:xtnondynthreshsfa}, followed by the dependent variable {hi:lggdpcstd}. Then, we specify the
regime-independent variables: {hi:lgcapital} and {hi:lgpoptot}. After that, we indicate the options of
the command: we specify the regime-dependent variable in {hi:rx(lgnatresrenlev)}, the threshold variable
in {hi:qx(lgdomcredpslev)}, the number of thresholds in {hi:thnum(1)} (one threshold in this case), the
trimming proportion to estimate each threshold in {hi:trim(0.01)}, the number of grid points
in {hi:grid(400)} and the number of bootstrap replications in {hi:bs(300)}. Please, see the help
file of the command {bf:{help xthreg}} for further details on how to specify the regressions. {p_end}
{p 4 8 2}{stata "xtnondynthreshsfa lggdpcstd lgcapital lgpoptot, rx(lgnatresrenlev) qx(lgdomcredpslev) thnum(1) trim(0.01) grid(400) bs(300)"}{p_end}
{p 4 8 2} Let us interpret the results we just found in this estimation. As explained in Wang (2015), page 131, the
results given by the command {cmd:xtnondynthreshsfa} are composed of four parts. The first part gives the estimation
and bootstrap results. The second part provides the threshold estimators and their confidence intervals. {hi:Th-1}
represents the estimator in single threshold models. The third part presents the threshold effect test, including
the {hi:RSS}, the mean squared error {hi:(MSE)}, the F statistic {hi:(Fstat)}, the probability value of
the F statistic {hi:(Prob)}, and critical values at 10%, 5%, and 1% significance
levels ({hi:Crit10}, {hi:Crit5}, and {hi:Crit1}, respectively). The fourth part exhibits the
fixed-effect regression. {p_end}
{p 4 8 2} Thus, in this estimation, we see that the single threshold is equal to {hi:22.8782}. This threshold is
statistically significant because {hi:0} ({hi:zero}) is not included in its 95% confidence interval. Remember that
this threshold corresponds to the variable {it:Log of Domestic Credit Private Sector Constant 2015 USD},
meaning {it:financial development}. In this estimation, we also see that the threshold effect exists since
the probability value of the F statistic {hi:(Prob)} is significant at the 5% statistical significance
level. In this estimation, we finally see that the Fixed-effects (within) regression shows that the
coefficients of capital ({it:Log of Physical Capital Stock Constant 2015 USD}) and
labor ({it:Log of Population Total}) are positive and statistically significant at
the 1% significance level. The next two coefficients are for the
interaction {it:_cat#c.lgnatresrenlev}. They show that below the threshold
of {hi:22.8782} for {it:financial development}, the
variable {it:Log of Total Natural Resources Rents Constant 2015 USD} has a positive and
significant impact on the {it:Log of GDP Constant 2015 USD}. We also see that above the
threshold of {hi:22.8782} for {it:financial development}, the
variable {it:Log of Total Natural Resources Rents Constant 2015 USD} has a positive and significant impact
on the {it:Log of GDP Constant 2015 USD}. Both of these impacts are significant at the 1% significance
level. But the magnitude of the impact above the threshold is bigger than that below the threshold. {p_end}
{p 4 8 2} Next, we demonstrate how to utilize
an {hi:xtreg, fe} option (please, see the help file of the command {bf:{manhelp xtreg XT}}). In particular
the {hi:vce(robust)} option. {p_end}
{p 4 8 2}{stata "xtnondynthreshsfa lggdpcstd lgcapital lgpoptot, rx(lgnatresrenlev) qx(lgdomcredpslev) thnum(1) trim(0.01) grid(400) bs(300) vce(robust)"}{p_end}
{p 4 8 2} In the following line, we estimate a triple threshold model directly. {p_end}
{p 4 8 2}{stata "xtnondynthreshsfa lggdpcstd lgcapital lgpoptot, rx(lgnatresrenlev) qx(lgdomcredpslev) thnum(3) trim(0.01 0.01 0.05) bs(300 300 300) vce(robust)"}{p_end}
{p 4 8 2} The probability value of the F statistic {hi:(Prob)} shows us that there exists a single threshold but
there does not exist a double and triple threshold for our sample of data that we are using in
this {hi:Examples} section. Hence, in the subsequent regressions, we will stick to the single threshold model. {p_end}
{p 4 8 2} Now, we illustrate how to calculate both the time-invariant technical inefficiency and
the individual-specific efficiency scores. First, we run the following regression. {p_end}
{p 4 8 2}{stata "xtnondynthreshsfa lggdpcstd lgcapital lgpoptot, rx(lgnatresrenlev) qx(lgdomcredpslev) thnum(1) trim(0.01) grid(400) bs(300)"}{p_end}
{p 4 8 2} Second, we use the command {cmd:xtnondynthreshsfacomps} to compute the both the time-invariant technical
inefficiency and the individual-specific efficiency scores. In this command, we put the string {hi:mesc} without
the double quotes in the option {cmd:stub()}. {p_end}
{p 4 8 2}{stata "xtnondynthreshsfacomps, stub(mesc)"}{p_end}
{p 4 8 2} We describe all the previously created variables to see their labels. {p_end}
{p 4 8 2}{stata "describe Inefficiency_mesc Efficiency_mesc"}{p_end}
{p 4 8 2} We summarize these variables. {p_end}
{p 4 8 2}{stata "summarize Inefficiency_mesc Efficiency_mesc"}{p_end}
{p 4 8 2} We observe that, estimated average inefficiency is 152.09% and estimated average efficiency is 27.81%. Keep in
mind that, by construction, one country is 100% efficient and therefore efficiency scores are dependent
to dropping or adding outlier countries. {p_end}
{p 4 8 2} Third, we plot a histogram of the efficiency scores. {p_end}
{p 4 8 2}{stata "histogram Efficiency_mesc, bin(100) normal"}{p_end}
{p 4 8 2} We notice that, we have a right-skewed or positively-skewed distribution for the efficiency
scores. Hence, the mean efficiency is greater than the median efficiency scores. {p_end}
{p 4 8 2} Fourth, we only keep the World Bank codes, the countries and the efficiency scores. {p_end}
{p 4 8 2}{stata "keep pbm lbpbm Efficiency_mesc"}{p_end}
{p 4 8 2} Fifth, we keep only the first observation in each country. {p_end}
{p 4 8 2}{stata "bysort pbm lbpbm: keep if _n == 1"}{p_end}
{p 4 8 2} Sixth, we sort by descending order of the efficiency sores and by ascending order of the World Bank codes and
the countries. {p_end}
{p 4 8 2}{stata "gsort -Efficiency_mesc pbm lbpbm"}{p_end}
{p 4 8 2} Seventh, we list the World Bank codes, the countries and the efficiency sores from the most efficient
country and the least efficient country in our dataset. {p_end}
{p 4 8 2}{stata "list pbm lbpbm Efficiency_mesc, separator(0)"}{p_end}
{p 4 8 2} We see that the classification of the efficiency scores is, generally, plausible and close to what
is expected, with developed countries or developed administrative areas ranked first, followed by developing
countries ranked second. {p_end}
{p 4 8 2} Now, we show how to plot the confidence interval using the likelihood-ratio (LR) statistics. We start, by
reloading our examples dataset we described above. {p_end}
{p 4 8 2}{stata "use http://fmwww.bc.edu/repec/bocode/x/xtnondynthreshsfadata.dta, clear"}{p_end}
{p 4 8 2} Then, we run the following regression. {p_end}
{p 4 8 2}{stata "xtnondynthreshsfa lggdpcstd lgcapital lgpoptot, rx(lgnatresrenlev) qx(lgdomcredpslev) thnum(1) trim(0.01) grid(400) bs(300)"}{p_end}
{p 4 8 2} Finally, we use the {hi:Stata} command {bf:{help _matplot}} to plot the confidence interval using the
likelihood-ratio (LR) statistics stored in {hi:e(LR)} for the single threshold model. The quantile for which
we plot the confidence interval is equal to {hi:7.35} corresponding to the 5% critical value in this
regression. These quantiles are tabulated by Hansen (1999) and Wang (2015). Please, see these references and
the help file of the command {bf:{help _matplot}} for further details. {p_end}
{p 4 8 2}{stata `"_matplot e(LR), columns(1 2) yline(7.35, lpattern(dash)) connect(direct) msize(small) mlabp(0) mlabs(zero) ytitle("LR Statistics") xtitle("First Threshold") recast(line)"'}{p_end}
{p 4 8 2} The graphic indicates the confidence interval construction for the single threshold model. In this
graphic, the blue curve represents the likelihood-ratio (LR) statistics. The red dashed horizontal line
represents the quantile {hi:7.35}. The intersection of the two curves in this graphic correspond to the
confidence interval. The point at which the blue curve touches the x-axis corresponds to the estimated
threshold parameter. {p_end}
{p 4 8 2} Let us explain how to use the {cmd:xtnondynthreshsfa} command with the {bf:{manhelp if U}}
qualifier. We run the regressions for {it:year >= 2006}. {p_end}
{p 4 8 2}{stata "xtnondynthreshsfa lggdpcstd lgcapital lgpoptot if year >= 2006 , rx(lgnatresrenlev) qx(lgdomcredpslev) thnum(1) trim(0.01) grid(400) bs(300)"}{p_end}
{p 4 8 2} To finish this {hi:Examples} section, we now illustrate how to include a {it:Time Trend} when using the
command {cmd:xtnondynthreshsfa}. For this, we include the variable {hi:trend} in our usual Cobb-Douglas production
function with threshold effects specification. {p_end}
{p 4 8 2}{stata "xtnondynthreshsfa lggdpcstd lgcapital lgpoptot trend, rx(lgnatresrenlev) qx(lgdomcredpslev) thnum(1) trim(0.01) grid(400) bs(300) vce(robust)"}{p_end}
{p 4 8 2} The coefficient of the variable {hi:trend} {it:(0.0100663)} indicates that total factor
productivity (meaning, GDP for a given level of capital and labor) has augmented in real
terms by 1% annually, on average, through all countries in the period 2005-2019. {p_end}
{p 4 8 2} {hi:EPILOGUE} {p_end}
{p 4 8 2} In writing this {hi:Examples} section, we had two goals. The first, was to show how to
effectively use the command {cmd:xtnondynthreshsfa} through simple and clear examples. The second, was to
undertake an original study on stochastic frontier models with threshold effects for panel data and
contribute to this literature. But, despite our efforts, we have only scratched the surface of what can be
done with the commands {cmd:xtnondynthreshsfa} and {cmd:xtnondynthreshsfacomps}, the accompanying
dataset, and the use of the command {cmd:xtnondynthreshsfa} in conjunction with
other {hi:Stata} commands. We leave these avenues of research to the reader/user to explore
at her/his will ! {p_end}
{title:References}
{pstd}
{hi:Hansen Bruce E.: 1999,} "Threshold Effects in Non-Dynamic Panels: Estimation, Testing, and Inference", {it:Journal of Econometrics} {bf:93}(2), 345-368.
{p_end}
{pstd}
{hi:Wang Qunyong: 2015,} "Fixed-Effect Panel Threshold Model using Stata", {it:The Stata Journal} {bf:15}(1), 121-134.
{p_end}
{pstd}
{hi:Yelou Clement, Larue Bruno and Tran Kien C.: 2010,} "Threshold Effects in Panel Data Stochastic Frontier Models of Dairy Production in Canada", {it:Economic Modelling} {bf:27}(3), 641-647.
{p_end}
{title:Citation}
{pstd}
The commands {cmd:xtnondynthreshsfa} and {cmd:xtnondynthreshsfacomps} are not {hi:Official Stata}
commands. Like a paper, they are a free contribution to the research community. If you find the
commands {cmd:xtnondynthreshsfa} and {cmd:xtnondynthreshsfacomps} and their accompanying dataset
useful and utilize them in your works, please cite them like a paper as it is explained in
the {hi:Suggested Citation} section of the {hi:IDEAS/RePEc} {it:webpage} of the
commands. Please, also cite {hi:Hansen (1999)}, {hi:Wang (2015)} and {hi:Yelou, Larue and Tran (2010)} in your
works.{it:Thank you infinitely, in advance, for doing all these gestures!} Please, note that citing these
commands and these references are a good way to disseminate their use and their discovery by other
researchers and analysts. Doing these actions, could also, potentially, help us, as a community, to solve
challenging current problems and those that lie ahead in the future.
{title:Acknowledgements}
{pstd}
I thank Bruce E. Hansen; Qunyong Wang; Clement Yelou, Bruno Larue and Kien C. Tran; and StataCorp LLC for writing
and making their programs, data and articles available through official and commercial
channels. This current {hi:Stata} package is based and inspired by their works. The usual disclaimers
apply: all errors and imperfections in this package are mine and all comments are very welcome.
{title:Author}
{p 4}Diallo Ibrahima Amadou {p_end}
{p 4 4}FERDI (Fondation pour les Etudes et Recherches sur le Developpement International) {p_end}
{p 4}63 Boulevard Francois Mitterrand {p_end}
{p 4}63000 Clermont-Ferrand {p_end}
{p 4}France {p_end}
{p 4}{hi:E-Mail}: {browse "mailto:zavren@gmail.com":zavren@gmail.com} {p_end}
{title:Also see}
{psee}
Online: help for {bf:{manhelp xtreg XT}}, {bf:{manhelp xtfrontier XT}}, {bf:{help _matplot}},
{bf:{help xthreg}} (if installed), {bf:{help xtendothresdpd}} (if installed), {bf:{help xthenreg}} (if installed),
{bf:{help xtbalance}} (if installed), {bf:{help xtbalance2}} (if installed)
{p_end}