# F5-conf-02 — Finite-sample bias of the OLS AR(1) coefficient ## Question For the Gaussian AR(1) y_t = c + ρ y_{t−1} + ε_t (c = 0 in the DGP, σ = 1), with ρ estimated by OLS of y_t on (1, y_{t−1}), t = 2…n, how does the Marriott–Pope/Kendall approximation E[ρ̂] − ρ ≈ −(1+3ρ)/n compare with the actual finite-sample bias at the design n = 30, ρ = 0.8? ## Data and exclusions The only input is `data/design.csv` (7 parameter rows, `n_input_rows`; SHA-256 recorded in `out/state/data_audit.md`): n = 30, ρ = 0.8, σ = 1, intercept included, stationary initial condition, R = 20000 replications, seed 20261029 (`random_seed`). No data issues were found (`data_issues` = []). The one exclusion rule (drop replications where the variance of y_{t−1} is zero or non-finite) removed 0 replications, so all 20000 were analysed (`n_replications`, `n_analysed`; `out/exclusions.csv`). ## Method - Simulation: `numpy.random.default_rng(20261029)`. The draw order is: first R standard normals for y_1 ~ N(0, σ²/(1−ρ²)), then an R×(n−1) matrix of innovations. Then y_t = ρ y_{t−1} + ε_t. Each replication is a new series of 30 observations. - Estimation: OLS slope with an intercept on the 29 pairs (y_{t−1}, y_t), computed as the demeaned cross-product divided by the demeaned sum of squares. The script checks this against `numpy.linalg.lstsq`. - Monte Carlo bias = mean(ρ̂) − ρ. Its MC standard error is sd(ρ̂)/√R. - Baseline: the textbook asymptotic standard error √((1−ρ²)/n) (`se_asymptotic`). Asymptotic theory treats ρ̂ as unbiased, so its implied bias is 0. - **What the analytical formula is.** −(1+3ρ)/n is the leading (order 1/n) term of an asymptotic expansion of E[ρ̂] − ρ as n → ∞. The neglected remainder is O(n⁻²). It is not an exact finite-sample result. It is accurate in the sense that n × (true bias) → −(1+3ρ) as n grows. At a fixed small n, and especially with ρ near 1 (where the higher-order terms are larger), it can differ noticeably from the true bias. Whether n or n−1 is used in the denominator is itself an O(n⁻²) choice. The task defines it at n = 30. ## Results | quantity | value | key | |---|---|---| | analytical bias −(1+3ρ)/n | −0.11333 | `bias_analytical` | | MC bias | −0.12371 | `bias_mc` | | MC standard error of the bias | 0.00105 | `bias_mc_se` | | mean of ρ̂ | 0.67629 | `rho_hat_mean` | | sd of ρ̂ across replications | 0.14891 | `rho_hat_sd_mc` | | (MC − analytical)/MC SE | −9.85 | `discrepancy_se_units` | | asymptotic SE √((1−ρ²)/n) | 0.10954 | `se_asymptotic` | - The OLS estimator is strongly biased downward. On average ρ̂ ≈ 0.676 against a true value of 0.8 (`rho_hat_mean`, `bias_mc`). That bias is about 0.83 of the asymptotic SE (0.1237/0.1095 from `bias_mc` and `se_asymptotic`). - The analytical approximation captures the sign and most of the size of the bias. The MC bias is about 1.09 times the approximation (`supp_ratio_bias_mc_to_analytical`). - The remaining gap of about −0.0104 is −9.85 MC standard errors (`discrepancy_se_units`). It is therefore not Monte Carlo noise: at this design the first-order formula understates the size of the bias by about 9%. - Using n−1 = 29 in the denominator (−0.1172, `supp_bias_analytical_n_minus_1`) narrows the gap but does not close it: −6.14 MC SEs (`supp_discrepancy_se_units_n_minus_1`). - The sampling distribution of ρ̂ is also wider than first-order theory says: sd(ρ̂) is 1.36 times √((1−ρ²)/n) (`supp_ratio_sd_mc_to_se_asymptotic`). It is left-skewed: the median of 0.699 (`supp_rho_hat_median`) is above the mean. ## Uncertainty The MC standard error of `bias_mc` is 0.00105 (`bias_mc_se`). The normal-approximation 95% interval is [−0.1258, −0.1216] (`supp_bias_mc_ci95`), and it excludes the analytical value −0.1133. MC uncertainty is the only source of uncertainty here, because the design is known exactly. The results depend on the stated seed and draw order. A different seed would change `bias_mc` by roughly ±0.002 (2 SEs), which leaves the conclusion unchanged. ## Limitations and open issues - The Monte Carlo establishes the finite-sample bias only at this one design: n = 30, ρ = 0.8, Gaussian innovations, stationary start, intercept included, c = 0. Because the OLS slope with an intercept does not depend on σ or c, the result also holds for any σ > 0 and any c with a stationary start. It does not show how well the formula works at other n or ρ, with non-Gaussian errors, with a fixed initial condition, or near a unit root. It also does not prove any general rate. The finding that the discrepancy is consistent with an O(n⁻²) remainder is an interpretation, not something tested here (that would require several values of n). - The analytical formula is a large-n approximation. A gap of about 9% at n = 30 with ρ = 0.8 does not mean the formula is "wrong". It means it is first-order accurate rather than exact. The size of the gap should be expected to shrink, both absolutely and relative to the bias, as n grows. - The choice between n and n−1 in the formula is a convention. The task-specified n = 30 is used for `bias_analytical`, and the n−1 variant is reported only as a supplementary result. - No other open issues: the task was completed as specified (`feasibility` = "complete").