*! version 1.3.0 26may2022

*! Sebastian Kripfganz, www.kripfganz.de

*! Jörg Breitung, wisostat.uni-koeln.de/en/institute/professors/breitung

Title

xtdpdbc -- Bias-corrected linear dynamic panel data estimation

Syntax

xtdpdbc depvar [indepvars] [if] [in] [, options]

options

Model
* fe estimate fixed-effects model, the default

* re estimate random-effects model

* hybrid(varlist) estimate hybrid model

lags(#) lags of the dependent variable; default is lags(1)

teffects add time effects to the model

onestep use the one-step instead of the two-step estimator

nocorrection do not apply bias correction

noconstant suppress constant term

SE/Robust
vce(vcetype) vcetype may be conventional, unadjusted, or robust

small make degrees-of-freedom adjustment and report small-sample statistics

Reporting
level(#) set confidence level; default is level(95)

noheader suppress output header

notable suppress coefficient table

display_options control

Minimization
from(init_specs) initial values for the coefficients

reinit(#) perform maximum of # reinitializations; default is reinit(10)

eigtolerance(#) tolerance for the maximum eigenvalue; default is eigtolerance(0)

concentration minimize the concentrated objective function

minimize_options control the minimization process; seldom used

* You can specify at most one of these options.

init_specs is one of

matname [, skip copy]

# [# ...], copy

You must xtset your data before using xtdpdbc; see [XT] xtset.

All varlists may contain factor variables; see fvvarlist.

depvar and all varlists may contain time-series operators; see tsvarlist.

See xtdpdbc postestimation for features available after estimation.

Description

xtdpdbc implements the bias-corrected method-of-moments estimator of Breitung, Kripfganz, and Hayakawa (2021) for linear dynamic panel data models with unobserved group-specific effects,
where all indepvars are strictly exogenous with respect to the idiosyncratic error component. The fixed-effects version of the estimator is equivalent to the adjusted profile likelihood estimator of Dhaene and Jochmans (2016) and,
for models with a single lag of the dependent variable, to the iterative bias-corrected estimator of Bun and Carree (2005).

Options

Model

fe, the default, requests to estimate a dynamic fixed-effects model.

re requests to estimate a dynamic random-effects model.

hybrid(varlist) requests to estimate a hybrid model, in which varlist satisfies a random-effects assumption and all other variables in indepvars satisfy a fixed-effects assumption.

lags(#) specifies the lags of depvar to be used as regressors. The default is lags(1).

teffects requests that time-specific effects are added to the model. The first time period in the estimation sample is treated as the base period.

onestep requests the one-step instead of the two-step GMM estimator to be computed for the random-effects or hybrid model. This option is implied by the fixed-effects model.

nocorrection requests not to apply the bias correction.

noconstant; see [R] estimation options.

SE/Robust

vce(vcetype) specifies the type of standard error reported, which includes types that are derived from asymptotic theory (conventional) and that are robust to some kinds of misspecification (robust).

vce(conventional), the default, uses the conventionally derived variance estimator. This is a sandwich-type estimator unless option nocorrection is specified, but it is not fully robust;
see Theorem 1(i) in Breitung, Kripfganz, and Hayakawa (2021). When option nocorrection is specified, vce(conventional) is equivalent to vce(unadjusted).

vce(unadjusted) uses an unadjusted estimator. This is the conventionally derived variance estimator when no bias correction is applied. It is usually only appropriate if there are many time periods in the estimation sample.

vce(robust) uses the sandwich estimator.

small requests that a degrees-of-freedom adjustment be made to the variance-covariance matrix and that small-sample t and F statistics be reported.
The adjustment factor is (N-1)/(N-K) * M/(M-1), where N is the number of observations, M the number of groups, and K the number of coefficients. By default, no degrees-of-freedom adjustment is made and z and Wald statistics are reported.

Reporting

level(#); see [R] estimation options.

coeflegend; see [R] estimation options.

noheader suppresses display of the header above the coefficient table that displays the number of observations.

notable suppresses display of the coefficient table.

display_options: noci, nopvalues, noomitted, vsquish, noemptycells, baselevels, allbaselevels, nofvlabel, fvwrap(#), fvwrapon(style), cformat(%fmt),
pformat(%fmt), sformat(%fmt), and nolstretch; see [R] estimation options.

Minimization

from(init_specs) specifies initial values for the coefficients; see [R] maximize. By default, initial values are taken from the fixed-effects estimator; see [XT] xtreg.

reinit(#) requests to make a maximum of # attempts to randomly reinitialize the optimization if the algorithm converges to an incorrect solution, which is characterized by a maximum eigenvalue of the gradient
larger than the tolerance specified with option eigtolerance(#). At each reinitialization, a new initial value for the first autoregressive coefficient is drawn from the uniform distribution. All other inital values are set to zero.
The default is reinit(10).

eigtolerance(#) specifies the tolerance for the maximum eigenvalue by which it is allowed to exceed zero. The default is eigtolerance(0).

concentration specifies that the concentrated objective function with the autoregressive coefficients as the only parameters should be minimized.
The coefficient estimates for the strictly exogenous indepvars are obtained from the analytical first-order conditions given the estimates of the autoregressive coefficients.
By default, minimization is done over all coefficients simultaneously.

minimize_options: iterate(#), nolog, showstep, showtolerance, tolerance(#), ltolerance(#), nrtolerance(#), and nonrtolerance; see [R] maximize.
These options are seldom used.

Remarks

xtdpdbc applies a bias correction to the first-order conditions of the fixed-effects estimator in dynamic panel data models. This yields a just-identified method-of-moments estimator with nonlinear moment conditions.
xtdpdbc minimizes the quadratic criterion function numerically with the Gauss-Newton technique.

xtdpdbc can also compute a random-effects version of the bias-corrected estimator. It adds additional orthogonality conditions for the model in levels. This yields an overidentified generalized method-of-moments estimator.
By default, a two-step estimator is used, which computes an optimal weighting matrix in the first step.

Unbalanced panel data are supported, but groups with interior missing values (gaps) are dropped from the estimation sample.
The minimum number of consecutive observations required per group is 1 + 2 * #, where # is the lag order of the dependent variable specified with option lags(#).

Due to the nonlinearity of the moment functions, the estimator has multiple solutions and the numerical algorithm might converge to an incorrect solution. At the correct solution, all eigenvalues of the gradient should be negative.
A warning message is displayed if this is not the case. In such a situation, as discussed by Breitung, Kripfganz, and Hayakawa (2021), alternative initial values should be used until a correct solution is found.
By default, xtdpdbc randomly draws new initial values for the first autoregressive coefficient from the uniform distribution and sets all other initial values to zero.
Alternative initial values can also be provided with the option from().

It sometimes occurs that the correct solution has a maximum eigenvalue close to zero and numerical inaccuracies result in estimates with a marginally positive eigenvalue. In such a situation, as an alternative to a reinitialization,
the tolerance for the maximum eigenvalue can be set to a small positive value, e.g. eigtolerance(1e-4).

In some cases, the numerical algorithm might not converve due to an almost flat criterion function. In such a situation, the option concentration might help to simplify the optimization problem.
Otherwise, formal convergence could be achieved by declaring the option nonrtolerance. However, the results might not be very reliable and the algorithm is more prone for convergence to an incorrect solution.

Example

Setup

. webuse psidextract

Bias-corrected fixed-effects estimator with AR(2) dynamics

. xtdpdbc lwage wks south smsa ms exp exp2 occ ind union, lags(2)

Bias-corrected random-effects estimator with AR(2) dynamics

. xtdpdbc lwage wks south smsa ms exp exp2 occ ind union, re lags(2)

Saved results

xtdpdbc saves the following in e():

Scalars

e(N) number of observations

e(df_r) residual degrees of freedom; not always saved

e(N_g) number of groups

e(g_min) smallest group size

e(g_avg) average group size

e(g_max) largest group size

e(f) value of the objective function

e(chi2_J) overidentification J-statistic; not always saved

e(rank) rank of e(V)

e(zrank) number of moment functions

e(zrank_a) number of moment functions, adjusted for time effects in unbalanced panels; not always saved

e(lags) number of lags of the dependent variable

e(sigma2e) estimate of sigma_e^2; not always saved

e(steps) number of steps

e(ic) number of iterations

e(converged) = 1 if converged, 0 otherwise

e(maxeig) maximum eigenvalue of the score matrix

Macros

e(cmd) xtdpdbc

e(cmdline) command as typed

e(ivar) variable denoting groups

e(tvar) variable denoting time

e(estat_cmd) xtdpdbc_estat

e(predict) xtdpdbc_p

e(marginsok) predictions allowed by margins

e(teffects) time effects created with option teffects

e(model) fe, re, or hybrid(varlist)

e(vce) conventional or robust

e(vcetype) title used to label Std. Err.

e(properties) b V

e(depvar) name of dependent variable

Matrices

e(b) coefficient vector

e(V) variance-covariance matrix of the estimators

e(V_modelbased) model-based variance

e(ilog) iteration log (up to 20 iterations)

Functions

e(sample) marks estimation sample

Authors

Sebastian Kripfganz, University of Exeter, http://www.kripfganz.de

Jörg Breitung, University of Cologne, https://wisostat.uni-koeln.de/en/institute/professors/breitung

References

Breitung, J., S. Kripfganz, and K. Hayakawa. 2021.
Bias-corrected method of moments estimators for dynamic panel data models.
Accepted for publication in Econometrics and Statistics.

Bun, M. J. G., and M. A. Carree. 2005.
Bias-corrected estimation in dynamic panel data models.
Journal of Business & Economic Statistics 23: 200-210.

Dhaene, G., and K. Jochmans. 2016.
Likelihood inference in an autoregression with fixed effects.
Econometric Theory 32: 1178-1215.