F5-conf-02 — Finite-sample bias of the OLS AR(1) coefficient
Question
In the Gaussian AR(1) y_t = c + ρ y_{t−1} + ε_t (c = 0, σ = 1), how large is the finite-sample bias of the OLS estimator ρ̂ from a regression of y_t on (1, y_{t−1}), and how well does the Marriott–Pope/Kendall approximation −(1+3ρ)/n describe it at the design n = 30, ρ = 0.8?
Data and exclusions
The only input is data/design.csv (7 rows, n_input_rows; SHA-256 recorded in out/state/data_audit.md): n = 30, ρ = 0.8, σ = 1, intercept included, stationary start, R = 20000 replications, seed 20261029 (random_seed). No data issues were found (data_issues = []). The one filtering rule, dropping replications with a non-finite ρ̂, removed 0 replications (out/exclusions.csv). That leaves n_analysed = 20000 = n_replications.
Method
- Analytical baseline.
bias_analytical= −(1+3ρ)/n with n = 30 (the design series length), which gives −0.11333. The textbook asymptotic standard error isse_asymptotic= √((1−ρ²)/n) = 0.1095. - Monte Carlo. We used
numpy.random.default_rng(20261029). The draws come in a fixed order: first y_1 ~ N(0, σ²/(1−ρ²)) for all R series, then an R×(n−1) matrix of N(0, σ²) innovations. Each series is built by recursion with c = 0. For each series, ρ̂ is the OLS slope of y_t on (1, y_{t−1}) for t = 2,…,30 (29 observations). It is computed from demeaned cross-products, and the result was checked againstnumpy.linalg.lstsqon one replication. Thenbias_mc= mean(ρ̂) − ρ andbias_mc_se= sd(ρ̂)/√R. - Nature of the analytical formula. −(1+3ρ)/n is the leading term of an asymptotic expansion of E[ρ̂] − ρ in powers of 1/n: bias = −(1+3ρ)/n + O(n⁻²). It is accurate in the sense that the approximation error shrinks faster than 1/n as n → ∞. It is not an exact formula, and it is not guaranteed to be accurate at any particular small n. The neglected higher-order terms are expected to matter more when n is small and when ρ is close to 1.
Results
- Mean of ρ̂:
rho_hat_mean= 0.6763. Monte Carlo bias:bias_mc= −0.1237. - Analytical approximation:
bias_analytical= −0.1133. The Monte Carlo bias is about 9% larger in magnitude (supp_ratio_bias_mc_to_analytical= 1.092). - Standardised difference:
discrepancy_se_units= −9.85 Monte Carlo standard errors. The formula therefore under-states the magnitude of the true bias at this design, and the gap is far too large to be Monte Carlo noise. - Is the gap just a matter of using n − 1 = 29 (the effective regression sample) in place of n = 30? No. That version of the formula gives −0.1172 (
supp_bias_analytical_n_minus_1), which still leaves a gap of about −6.1 standard errors (computed in the P4 checks). - Size of the bias relative to sampling spread: the bias is roughly the same size as the asymptotic s.e. (
se_asymptotic= 0.1095). The Monte Carlo sd of ρ̂ isrho_hat_sd_mc= 0.1489, about 1.36 times the asymptotic s.e. (supp_ratio_sd_mc_to_se_asymptotic). The distribution of ρ̂ is skewed to the left: its median is 0.699 (supp_rho_hat_median), above its mean.
Uncertainty
The Monte Carlo standard error of the bias is bias_mc_se = 0.00105. A normal-approximation 95% interval for the true bias is therefore about [−0.1258, −0.1216]. This interval does not contain −0.1133 (bias_analytical). With R = 20000 independent replications, the central limit theorem justifies the normal approximation for the mean even though ρ̂ is skewed. bias_analytical and se_asymptotic are deterministic and have no Monte Carlo error. The results are exactly reproducible given the seed. A different seed would move bias_mc by roughly ±1 bias_mc_se.
Limitations and open issues
- Scope of the Monte Carlo evidence. The simulation measures the exact finite-sample bias, up to Monte Carlo error, at a single design point: n = 30, ρ = 0.8, Gaussian errors, stationary start, intercept estimated. It shows that at this point the first-order formula is off by about 0.010, roughly 9% of the bias. It does not show that the formula is "wrong" in its intended asymptotic sense, because a gap at fixed n is consistent with an O(n⁻²) remainder. A single n cannot verify or refute a rate statement. The results also do not carry over to other n, other ρ (especially values near 1), non-Gaussian or heteroskedastic errors, non-stationary starts, or regressions without an intercept, where the leading term is −2ρ/n instead.
- Ambiguity in n. The formula was evaluated at n = 30 as instructed ("at the design values"). The n − 1 variant is reported only as a supplementary check, and it does not change the conclusion.
- Supplementary keys. Keys prefixed
supp_are descriptive extras computed byout/analysis.py. They are not required by the task. - No part of the task was infeasible (
feasibility= "complete").