{
  "task_id": "F3-dev-01",
  "model_name": "AR2_diff",
  "model_description": "AR(2) with intercept on monthly first differences of UNRATE, estimated by OLS on an expanding window starting with the first available difference (1948-04 as dependent observation) up to the origin, iterated recursively and cumulated to levels for h-step forecasts.",
  "n_origins": 36,
  "first_origin": "2023-07-01",
  "last_origin": "2026-06-01",
  "n_evaluated_h1": 35,
  "n_evaluated_h3": 35,
  "rmse_naive_h1": 0.11710800875382403,
  "mae_naive_h1": 0.09142857142857148,
  "rmse_naive_h3": 0.15856499343441843,
  "mae_naive_h3": 0.12000000000000005,
  "rmse_model_h1": 0.11985758509962682,
  "mae_model_h1": 0.09565579999999999,
  "rmse_model_h3": 0.159770241753767,
  "mae_model_h3": 0.12128480000000005,
  "rel_improvement_rmse_h1": -0.023478977868906847,
  "rel_improvement_rmse_h3": -0.007600973539263922,
  "feasibility": "complete",
  "feasibility_reason": null,
  "data_issues": [
    {
      "issue": "Missing value(s) (empty field) at 2025-10-01",
      "handling": "Excluded from estimation (any regression row whose dependent or lagged difference touches the missing month is dropped); naive uses latest earlier observation; when missing is the latest month at an origin the AR model iterates forward from the last observed month (extra steps); when it is interior to the window it is linearly interpolated from neighbours dated <= origin only to build lag inputs; (origin,horizon) pairs whose target is missing are kept in the ledger with empty actual and excluded from error statistics."
    },
    {
      "issue": "COVID-19 outlier: unemployment jumped from 4.4 (2020-03) to 14.8 (2020-04), extreme first differences in training sample",
      "handling": "Retained in the primary specification (pre-specified, no outlier treatment); a sensitivity variant excluding 2020-03..2020-12 differences from estimation is reported in report.md only."
    }
  ],
  "n_input_rows": {
    "UNRATE.csv": 945
  },
  "n_analysed": 935,
  "random_seed": null
}