SPB Git

spb/wp29_uqo

Public

# 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.
Files · main
Menu

Theme