Paper Tables#
macroforecast.reporting turns a PipelineReport into publication-facing
tables without changing the evaluation state. The helpers are post-processing
adapters over report frames, so they work the same way on a freshly run report,
a rescored report, or a report loaded from disk.
Accuracy Horse-Race Table#
Use paper_accuracy_table for the standard models-by-horizons accuracy table:
relative RMSE, Diebold-Mariano stars, and Model Confidence Set markers.
table = mf.reporting.paper_accuracy_table(report, target="INDPRO")
print(table.data)
print(table.to_latex(booktabs=True))
The function reads report.accuracy, report.significance, and report.mcs.
If the report has multiple targets, pass target=...; if it was scored with
EvalSpec.subsamples, pass subsample=... to select one evaluation window.
Pairwise Test Matrix#
Use pairwise_test_table when a paper prints a K-by-K matrix of pairwise test
p-values or statistics across all models, rather than benchmark-vs-contender
rows.
matrix = mf.reporting.pairwise_test_table(
report,
target="INDPRO",
horizon=4,
models=["AR", "FM", "RF"],
test="dm",
value="p_value",
test_options={"hac_lags": 4},
)
print(matrix)
print(matrix.to_latex())
Rows and columns are model names. The diagonal is missing by construction. For
DM p-values the matrix is symmetric; for DM statistics the sign flips when row
and column are swapped. Set stars=True to render p-values with significance
markers before calling to_latex().
The adapter recomputes each cell from report.forecasts by calling the same
public test functions in macroforecast.tests that the pipeline uses. It does
not add pipeline state and does not require rerunning the forecasting stage.
Reference#
Reporting reference page — table helper signatures.
Evaluation guide — test selection and
test_options.