Why Bootstrap Inference for GMM?
GMM inference often relies on a large-sample approximation to the estimator’s sampling distribution. In a limited sample, that approximation may not represent the estimator’s skewness or other finite-sample features well. The bootstrap offers a way to approximate sampling variation by repeatedly resampling the observed data and re-estimating the model. Its usefulness depends on more than the number of replications: the resampling scheme must reflect how the observations were generated, and the estimation procedure must be repeated faithfully.
This tutorial develops bootstrap confidence intervals and tests for GMM, distinguishes resampling for independent and dependent observations, and explains conditions that make the approximation credible. A bootstrap is not an automatic repair for weak identification, invalid moments, or an inappropriate dependence assumption.
What the Bootstrap Approximates
For independent, identically distributed observations, the usual nonparametric bootstrap draws \(n\) rows with replacement from the observed rows. Each row must retain all variables used to construct its moment contributions. In each replication, the estimator’s sampling error is approximated by the difference \(\hat\theta^*-\hat\theta\), conditional on the observed sample. Here \(\hat\theta\) is the estimate from the original data.
Under correct moment conditions, identification, smoothness, and suitable finite-moment conditions, GMM has a locally linear approximation. Write \(D=E[\partial g_i(\theta_0)/\partial\theta']\), where \(\theta_0\) is the true parameter, and suppose \(D'WD\) is nonsingular for the limiting weight matrix \(W\). To first order, the estimation error is a linear transformation of the sample average of the moment contributions:
The iid bootstrap replaces the empirical average with an average drawn from the empirical distribution. When the regularity conditions hold, the conditional distribution of \(\sqrt{n}(\hat\theta^*-\hat\theta)\) then approximates the sampling distribution of \(\sqrt{n}(\hat\theta-\theta_0)\). This is the central justification for using bootstrap quantiles or standard errors. It is an approximation as sample size grows, not a guarantee of accurate coverage in every finite sample.
Bootstrap Confidence Intervals
For a scalar component \(\theta_j\), generate \(B\) bootstrap estimates \(\hat\theta_1^*,\ldots,\hat\theta_B^*\). A percentile interval takes the lower and upper quantiles of these estimates. A basic interval instead reflects the quantiles of the centered errors \(\hat\theta_b^*-\hat\theta\) around the original estimate. A studentized interval uses bootstrap estimates divided by their bootstrap standard errors; it can account for changing scale, but requires a reliable standard error in every replication.
Here \(Q_u\) is the empirical \(u\)-quantile of the bootstrap values. The confidence level is a repeated-sampling target: under the stated conditions, the procedure is intended to cover the fixed parameter in the stated proportion of repeated samples. It does not mean that, after observing the interval, the parameter has a corresponding probability of lying inside it.
Worked Example: A Percentile Interval in a Just-Identified GMM Model
Suppose five hypothetical independent observations are \(x=(2,4,5,7,12)\), and the parameter is the population mean. Use the moment \(g_i(\theta)=x_i-\theta\), so solving the sample moment equation gives \(\hat\theta=\bar x\). The sample estimate is \(\hat\theta=(2+4+5+7+12)/5=6\).
For a small arithmetic illustration, consider eight iid bootstrap resamples, each of size five. Suppose the resamples, written as their selected observations, are \((2,4,5,7,12)\), \((2,2,4,5,7)\), \((4,5,5,7,12)\), \((2,4,4,7,12)\), \((2,5,7,12,12)\), \((4,4,5,5,7)\), \((5,5,7,7,12)\), and \((2,2,4,12,12)\). Their means are respectively \(6, 4, 6.6, 5.8, 7.6, 5, 7.2,\) and \(6.4\).
Ordered, the bootstrap estimates are \(4,5,5.8,6,6.4,6.6,7.2,7.6\). Using the nearest-rank empirical quantile convention, the 2.5th percentile is the first ordered value and the 97.5th percentile is the eighth, giving the illustrative percentile interval \([4,7.6]\) in the units of \(x\). Eight replications are far too few for dependable tail quantiles; this calculation demonstrates the construction, not a recommended replication count.
Repeating the GMM Procedure
In overidentified or multi-step GMM, the bootstrap estimate is generally not obtained by holding every intermediate estimate fixed. For example, two-step GMM estimates a weight matrix from data and then minimizes the resulting criterion. If that is the procedure used on the original sample, the weight matrix should normally be estimated anew in each resample. This carries the sampling variation of the full estimator into the bootstrap distribution. A deliberately fixed-weight procedure is different, and its bootstrap should hold the weight fixed if that is part of the defined estimator.
Worked Example: Re-estimating a Fixed-Weight GMM Estimate
Consider three hypothetical observations \((y_i,z_i)=(1,-1),(2,0),(4,1)\), the scalar parameter \(\theta\), and the two moment contributions \(g_i(\theta)=(y_i-\theta,\ z_i(y_i-\theta))'\). Use the identity matrix as a fixed weight, so the criterion is the sum of the squares of the two sample average moments. This is a one-step illustration; it does not estimate an efficient weight matrix.
In the original sample, \(\bar g_n(\theta)=(7/3-\theta,\ 1)'\). Therefore the criterion is \((7/3-\theta)^2+1\), which is minimized at \(\hat\theta=7/3\). Now consider the bootstrap resample that selects observation 1 twice and observation 3 once. Its rows are \((1,-1),(1,-1),(4,1)\), and its moments average to \(\bar g_n^*(\theta)=(2-\theta,\ (2+\theta)/3)'\).
The resampled estimator minimizes \((2-\theta)^2+((2+\theta)/3)^2\). Differentiating and setting the derivative to zero gives \(-2(2-\theta)+2(2+\theta)/9=0\), hence \(18-9\theta=2+\theta\) and \(\hat\theta^*=1.6\). The bootstrap estimation error in this replication is \(1.6-7/3\approx-0.7333\). The example shows why one must recalculate the sample moments and minimize the criterion for each resample; substituting the original estimate would omit the very variation the bootstrap is meant to approximate.
Bootstrap Tests
A bootstrap test compares an observed statistic with a bootstrap approximation to its distribution under the null hypothesis. For a scalar restriction \(H_0:r(\theta)=0\), one approach uses a studentized statistic. In each ordinary bootstrap replication, compute \(T_b^*=[r(\hat\theta_b^*)-r(\hat\theta)]/SE_b^*\), where \(SE_b^*\) is the bootstrap-sample standard error for the restriction. Compare it with the observed \(T_{\mathrm{obs}}=r(\hat\theta)/SE\). This centered bootstrap statistic approximates estimation error around the fitted value; under the null and regularity conditions, it can approximate the null distribution of the observed statistic. A restricted or null-imposed bootstrap is another option, particularly when the null changes how the data or nuisance parameters should be generated. The chosen construction must be stated and justified for the model.
For a two-sided test with \(B\) replications, a common finite-replication estimate of the bootstrap p-value is \((1+\#\{|T_b^*|\ge |T_{\mathrm{obs}}|\})/(B+1)\). It is an approximation to the probability, under the null approximation, of a statistic at least as extreme as the observed one. It is not the probability that \(H_0\) is true.
Worked Example: A Centered Bootstrap Test of a GMM Restriction
Suppose a hypothetical GMM analysis estimates an effect in outcome units as \(\hat\theta=0.42\), with standard error \(SE=0.20\). Test \(H_0:\theta=0\) against \(H_a:\theta\ne0\). The observed statistic is \(T_{\mathrm{obs}}=0.42/0.20=2.10\).
Generate \(B=999\) bootstrap samples, re-estimate the GMM model and the standard error in each, and calculate the centered studentized values \(T_b^*=(\hat\theta_b^*-\hat\theta)/SE_b^*\). Suppose 41 of the 999 values satisfy \(|T_b^*|\ge2.10\). The estimated two-sided p-value is \((1+41)/(999+1)=42/1000=0.042\).
At significance level \(\alpha=0.05\), this bootstrap procedure gives evidence against the zero-effect null, conditional on the approximation and its assumptions. It does not establish that the effect is causal, nor does the p-value give the probability that the null is true. The hypothetical count of 41 is a stated output of the specified resampling calculation, not a claim about any real study.
Choose Resampling to Match Dependence
Resampling individual rows independently is appropriate only when the rows are independent draws from the relevant population. If observations are dependent over time, iid resampling destroys serial dependence and can give an incorrect standard error and interval. For a stationary time series with sufficiently weak dependence, block bootstrap methods resample consecutive blocks so that nearby observations remain together. Moving-block and circular-block schemes are common choices; block length must grow with sample size while remaining small relative to it, under standard asymptotic designs. In practice, the block length affects the bias-variance trade-off and should be examined rather than selected mechanically.
For clustered data, resample whole independent clusters, not individual observations within clusters, when dependence may occur inside a cluster. For panel data, the appropriate scheme depends on which dimension is independent and on the intended sampling population. The dependence structure of the moment contributions matters: the bootstrap should preserve the structure relevant to the GMM estimator and its long-run variance.
Worked Example: A Moving-Block Resample for a Dependent Mean
Consider the hypothetical time series \(2,3,4,5,7,8,10,11\), with estimated mean \((2+3+4+5+7+8+10+11)/8=6.25\). Suppose neighboring observations may be dependent, so resample circular blocks of length two rather than individual observations. The available circular blocks include \((2,3),(4,5),(7,8),(10,11)\).
One bootstrap draw selects blocks starting at positions 1, 1, 5, and 7, producing \(2,3,2,3,7,8,10,11\). Its mean is \(46/8=5.75\). Another draw selects blocks starting at positions 3, 3, 5, and 5, producing \(4,5,4,5,7,8,7,8\), with mean \(48/8=6.00\). Blocks preserve the within-block adjacent pairs, unlike iid row resampling. These two draws illustrate the scheme only; many replications and a justified block length are needed for inference.
When Is the Bootstrap Credible?
Bootstrap validity is a sampling statement. For standard GMM bootstrap inference, a useful checklist is:
- Identification: the parameter is locally identified, and the relevant derivative matrix has full column rank. The estimator should not be near a singular identification problem.
- Regularity: moment functions are sufficiently smooth near the target, and the sampling distribution has finite moments adequate for the asymptotic approximation being used.
- Sampling design: resampling reflects independent sampling, clustering, or time dependence as appropriate. A large number of replications cannot fix a mismatch here.
- Estimator construction: the bootstrap repeats weight estimation, nuisance estimation, and other data-dependent steps that form part of the original estimator.
- Stable computation: optimization converges in the resamples, and enough replications are used to estimate the relevant quantiles or tail probabilities with tolerable Monte Carlo error.
Ordinary bootstrap approximations may fail or perform poorly under weak identification, parameter boundaries, nonsmooth estimators, severe small-sample distortions, or a growing number of moment conditions without suitable theory. Moment misspecification also changes the target and the relevant sampling approximation; one should not presume that a conventional correctly specified-moment bootstrap remains valid. The bootstrap is a method of approximation, not a remedy for a model or design that does not support the intended inference.
Common Mistake: Resampling the Wrong Units
A common error is to resample every observation independently because the data appear in rows. That reasoning confuses a data layout with a sampling design. If rows are repeated measurements within people or adjacent observations in a time series, independent row resampling breaks the dependence and generally misrepresents uncertainty. The correction is to identify the independent sampling units first, then resample clusters or blocks accordingly. Another error is to bootstrap only the final coefficient while leaving an estimated weight matrix unchanged, even though it was estimated as part of the stated procedure. Repeat all data-dependent estimation steps, or clearly define an estimator that holds them fixed.
Check Your Understanding
Answer each question by identifying both the resampling operation and the inferential principle involved.
- In an iid sample, why should all variables used to form a moment contribution be resampled together as one row?
- What additional estimation steps should be repeated in a bootstrap replication of two-step GMM?
- In what sense does the percentile interval’s confidence level describe repeated sampling, and what does it not say about a realized interval?
- Why can iid resampling be inappropriate for a time series, and what feature does a block bootstrap preserve?
- A bootstrap test counts the fraction of centered statistics at least as extreme as the observed statistic. What null-based quantity does the resulting p-value approximate, and what does it not represent?