1# F5-conf-02 — Finite-sample bias of the OLS AR(1) coefficient23## Question4In the Gaussian AR(1) model y_t = c + ρ y_{t−1} + ε_t, ε_t ~ iid N(0, σ²), with an estimated intercept, how large is the finite-sample bias of the OLS estimator ρ̂, and how close is it to the Marriott–Pope/Kendall approximation −(1+3ρ)/n at the design n = 30, ρ = 0.8?56## Data and exclusions7The only input is `data/design.csv` (7 rows, `n_input_rows`; SHA-256 2f459c53…, which matches `bundle.json`). Design: n = 30, ρ = 0.8, σ = 1, intercept included, stationary start y_1 ~ N(0, σ²/(1−ρ²)), R = 20000 replications, seed 20261029 (`random_seed`). The DGP sets c = 0. I found no data issues (`data_issues` = []). One exclusion rule (drop replications where OLS is degenerate) removed 0 replications, so 20000 were analysed (`n_replications`, `n_analysed`; see `out/exclusions.csv`).89## Method10- **Analytical approximation (baseline).** `bias_analytical` = −(1+3ρ)/n, evaluated with n = 30 as the task specifies. This is a *first-order asymptotic (large-n) expansion* of the bias: E[ρ̂] − ρ = −(1+3ρ)/n + O(n⁻²). It gets the leading 1/n term right, but it is not an exact finite-sample formula. Its relative error shrinks only as n grows, and the neglected higher-order terms are largest when n is small and ρ is near 1. It is derived for the stationary Gaussian model with an estimated mean. The baseline sampling scale is the textbook asymptotic SE, `se_asymptotic` = √((1−ρ²)/n).11- **Monte Carlo.** I used `numpy.random.default_rng(20261029)` to draw one 20000×30 standard-normal matrix. Column 1 gives the stationary y_1 (scaled by σ/√(1−ρ²)). Columns 2–30 give the innovations, and y_t = ρ y_{t−1} + ε_t. In each replication ρ̂ is the OLS slope from regressing y_t on (1, y_{t−1}) for t = 2,…,n (29 pairs), computed as a demeaned cross-product ratio (Frisch–Waugh–Lovell). `bias_mc` = mean(ρ̂) − ρ; `bias_mc_se` = sd(ρ̂)/√R; `discrepancy_se_units` = (bias_mc − bias_analytical)/bias_mc_se. Everything is generated by `out/analysis.py`.1213## Results14| quantity | key | value |15|---|---|---|16| analytical bias −(1+3ρ)/n | `bias_analytical` | −0.11333 |17| MC bias | `bias_mc` | −0.12234 |18| MC SE of bias | `bias_mc_se` | 0.00105 |19| mean ρ̂ | `rho_hat_mean` | 0.67766 |20| sd ρ̂ across reps | `rho_hat_sd_mc` | 0.14792 |21| discrepancy (SE units) | `discrepancy_se_units` | −8.61 |22| asymptotic SE √((1−ρ²)/n) | `se_asymptotic` | 0.10954 |2324- OLS clearly underestimates ρ. The mean of ρ̂ is 0.678 against a true value of 0.8 (`rho_hat_mean`, `bias_mc`). About 79% of the estimates fall below ρ (`supp_share_rho_hat_below_rho`), and the median is 0.699 (`supp_rho_hat_median`).25- The analytical formula captures most of the bias, but the MC bias is about 8% larger in magnitude (`supp_ratio_bias_mc_to_analytical` = 1.08). The difference is −0.0090, which is 8.6 Monte Carlo SEs (`discrepancy_se_units`). It is therefore not Monte Carlo noise.26- Plugging the effective sample size n−1 = 29 into the formula gives −0.1172 (`supp_bias_analytical_neff`). That moves it closer but still leaves a gap of about 5 MC SEs, so the remaining difference is consistent with neglected O(n⁻²) terms rather than with how n is counted alone.27- The bias is large relative to the sampling spread: about 0.83 sd of ρ̂ (`supp_bias_mc_over_sd`). The Monte Carlo sd of ρ̂ is 1.35 times the textbook asymptotic SE (`supp_ratio_sd_mc_to_se_asymptotic`), and the RMSE is 0.192 (`supp_rmse_mc`).2829## Uncertainty30The MC standard error of the bias estimate is 0.00105 (`bias_mc_se`), giving an approximate 95% interval of [−0.1244, −0.1203] (`supp_bias_mc_ci95_low`, `supp_bias_mc_ci95_high`). The interval excludes the analytical value −0.1133. The analytical value has no sampling uncertainty because it is deterministic. Results are exactly reproducible with the fixed seed. I checked them by an independent per-replication least-squares recomputation (`out/state/checks.md`).3132## Limitations and open issues33- **What the approximation is.** −(1+3ρ)/n is a leading-order asymptotic expansion, accurate up to O(n⁻²). It is not meant to be exact at any fixed n. A statistically significant discrepancy at n = 30, ρ = 0.8 is therefore what the expansion itself allows for. It does not show that the formula is "wrong". It shows that at this design the higher-order terms are about 8% of the bias, enough to resolve with R = 20000.34- **What the Monte Carlo can and cannot establish.** The MC estimates the exact finite-sample bias at **this single design point only** (n = 30, ρ = 0.8, Gaussian errors, stationary start, intercept). It cannot establish how the approximation behaves at other values of n or ρ, under non-Gaussian or heteroskedastic errors, with a fixed or non-stationary initial condition, without an intercept, or with a trend. It also cannot establish the O(n⁻²) rate itself; that would need a grid over n, which this task did not request.35- The ±1.96·SE interval relies on a normal approximation for the mean of 20000 draws. This is unproblematic here, even though the distribution of ρ̂ is left-skewed.36- The −8.6 SE discrepancy uses n = 30 in the formula, as the task specifies. Other conventions (n−1 effective observations) change its size but not its sign or significance.37