English

Exact Inference in Fixed-Effect Regressions with Concentrated Identifying Variation

Econometrics 2026-08-05 v1

Abstract

In saturated fixed-effects regressions, Gaussian inference depends not on total identifying variation but on its concentration, measured by the self-normalized leverage λn\lambda_n of the residualized treatment. When finitely many score weights remain persistent, the tt-statistic converges to a convolution of raw errors and a Gaussian component. At full concentration, its null distribution varies across symmetric error laws with equal variance, so no fixed critical value is uniformly valid. We instead construct nuisance-annihilating contrasts from the design alone. These eliminate the fixed effects identically and yield finite-sample exact sign-flip inference under symmetric, arbitrarily heteroskedastic errors, with no homogeneity assumptions or restrictions on the fixed-effect dimension. In two-way designs, admissible contrasts form the cycle space of the observation multigraph. Their efficiency is summarized by an observable capture ratio κ\kappa, which equals Pitman efficiency. The resulting design problem involves a capture--granularity trade-off: coarse supports maximize capture but reduce the number of randomization signs. Cycle packing provides sufficiently granular supports. On matched employer--employee data, a structure-exploiting algorithm achieves κ0.51\kappa \approx 0.51, compared with 0.260.26 for naive packing. In the Grunfeld investment regression, realized score concentration is 0.7390.739, corresponding to Neffscore=1.80N_{\mathrm{eff}}^{\mathrm{score}}=1.80, while 3232 valid supports attain κ=0.627\kappa=0.627. The resulting exact 9595% confidence interval is [0.150,0.450][0.150,0.450]. A worker--firm application demonstrates scalability to large networks.

Cite

@article{arxiv.2608.04839,
  title  = {Exact Inference in Fixed-Effect Regressions with Concentrated Identifying Variation},
  author = {Stanisław M. S. Halkiewicz},
  journal= {arXiv preprint arXiv:2608.04839},
  year   = {2026}
}