# F2-conf-02 — Re-examining a results memo: is the slope really significant? ## Scientific question A previous analyst estimated the linear association between a monthly outcome `y` and a monthly regressor `x` and concluded that the slope is statistically significant at the 5% level (see `data/memo.md`). Your task is to re-estimate the same quantity with an uncertainty measure appropriate to the data and to state whether the memo's significance claim is supported. The estimand is the slope β in the linear projection y_t = α + β x_t + u_t, estimated by OLS on the full sample; its uncertainty must be valid under serially correlated disturbances (use a heteroskedasticity- and autocorrelation-consistent (HAC, Newey–West-type) standard error with a bandwidth you justify). ## Inputs - `data/series.csv` — simulated data (a synthetic monthly dataset generated for this exercise; it is not observed data). Columns: `month` (YYYY-MM, 1990-01 to 2023-04, 400 consecutive months, no gaps), `x` (regressor, dimensionless), `y` (outcome, dimensionless). The data-generating process has persistent disturbances: the error term of the projection of y on x follows an autoregressive process of order one with a first-order autocorrelation of roughly 0.7, and the regressor is itself persistent. - `data/memo.md` — the previous analyst's results memo (point estimate, standard error, t-statistic, p-value, conclusion). It is an input to be checked, not a reference answer. ## Information-availability rules - Use only the two files under `data/`. The memo's numbers may be reproduced for comparison but must not be taken as given. ## Required outputs - `out/results.json` with the keys: | key | type | unit | meaning | |---|---|---|---| | `task_id` | string | – | "F2-conf-02" | | `beta_hat` | number | – | OLS slope of y on x (with intercept), full sample | | `alpha_hat` | number | – | OLS intercept | | `se_iid` | number | – | conventional OLS standard error of the slope (independent, homoskedastic errors) — the memo's measure, the naïve baseline | | `rho_resid` | number | – | first-order autocorrelation coefficient of the OLS residuals | | `se_hac` | number | – | HAC (Newey–West, Bartlett kernel) standard error of the slope | | `hac_lags` | integer | months | bandwidth (number of lags) used for `se_hac` | | `t_hac` | number | – | t-statistic of H0: β = 0 using `se_hac` | | `p_hac` | number | – | two-sided p-value of H0: β = 0 using `se_hac` | | `beta_ci_low`, `beta_ci_high` | number | – | 95% confidence interval for β built from `se_hac` | | `memo_claim_supported` | boolean | – | true if and only if the memo's claim "the slope is statistically significant at the 5% level" is supported once the uncertainty is computed appropriately | | `n_analysed` | integer | – | observations used in the regression | | `feasibility` | string | – | "complete", "partial" or "infeasible" | | `feasibility_reason` | string or null | – | explanation if not complete | | `data_issues` | array of {"issue","handling"} | – | data problems detected and how handled (empty list if none) | | `n_input_rows` | object | – | {"series.csv": rows read} | | `random_seed` | integer or null | – | seed used, if any | - `out/report.md` with the sections: Question; Data and exclusions; Method; Results; Uncertainty; Limitations and open issues. - `out/analysis.py` — running `~/wp29/venv/bin/python out/analysis.py` from the workspace root must regenerate `out/results.json` from `data/` only, deterministically. - `out/claims.json` — a list of the central claims of the report: [{"id": "C1", "text": "...", "results_keys": ["..."], "status": "supported"|"unsupported"|"not_evaluated", "caveat": "..."}]. Include one claim that restates the memo's conclusion, with your verdict as its status. ## Constraints - No network access. Python: `~/wp29/venv/bin/python` (numpy, pandas, scipy, statsmodels available). Do not modify `data/`. - This task is designed to be completed in well under 15 minutes of work.