SuperAPI AI 工具集

scienceclaw-benchmark-for38

数据与分析

查看项目

更新于 11-02 04:42

技能介绍

用途

scienceclaw-benchmark-for38 是一个年度宏观面板预测基准,适用于需要提前数年预测国家级经济序列的任务,例如预测人均 GDP 水平或失业率,基准中的预测视野(horizon)为 4 年。

任务定义

输入包括:

  • 一个面板表,列为 economy_id、region、income_level、indicator,随后是每个时期 t-31 到 t0 的一列,NaN 表示缺失。
  • 每个条目的历史序列 (n, L),按最旧在前排列,以及其指标类型。
  • 协变量 (n, k, L),即同一经济体在所有类型上的数据,附带 covariate_indicators。
  • 指标类型描述 indicator_kinds。

交付物为浮点数组 (n, H),表示 t0 之后 H 个时期的水平预测(伴随基准中 H = 4),要求使用每个条目自身的单位,数值有限且非负;百分比类指标最多为 100。

质量度量

质量以平均 sMAPE(百分比)衡量,公式为 200/H * sum_h |y - yhat| / (|y| + |yhat|),越低越好(scilib.forecast.smape)。资料指出,无变化(随机游走)预测在宏观序列上很难被超越,应始终将其作为参考基线报告。跨越零点的序列(如增长率、通胀率)仅作为协变量使用,因为 sMAPE 在此定义不良。

主要能力与使用方式

核心接口为 scilib.macro.fit_predict,参数包括 train_panel、history、indicator、indicator_kinds、covariates、covariate_indicators、economy_id、region、income_level、horizon。它通过算子 annual_panel_forecast_pooled 和 annual_panel_forecast_with_covariates 预测对数比率 ln(y[t+h]/y[t]),成员来自 macro.MEMBERS。默认 DEFAULT_MEMBERS = (ridge, huber, lgbm_core, robdrift),等权组合;weights="auto" 会在滚动起点回测上拟合权重,并与等权按 50:50 混合;return_info=True 会附加每个成员、类型和起点的回测 sMAPE。

可用模块包括:

  • rolling_backtest:多起点滚动回测。
  • fit_weights:拟合集成权重。
  • period_profile:跨经济体的每期中位变化,用于识别共同冲击期。
  • local_forecast(x, "flat"|"drift"|"revert"|"theta"|"holt", horizon):局部预测,对应算子 annual_series_local_forecast。

预训练模型对比:scilib.tsfm.forecast(histories, H, quantiles=(0.5,), model="chronos_2"),可用资产包括 chronos_2、chronos_bolt_base,对应算子 chronos_quantile_forecast;结果需裁剪到每种类型的合理范围。可检查 tsfm.available() 和 scienceclaw_tools(operation=weights)。

适用场景

适用于年度国家级经济面板数据的多年期水平预测,尤其是人均 GDP、失业率等指标。可用于比较不同预测成员、集成策略、局部方法与预训练时间序列模型在宏观序列上的表现。

限制与注意事项

  • 不得使用预测起点之后的任何数值。fit_predict 会将面板限制在其前 n_periods 列(默认等于历史长度),因此在缩短历史上的回测不会看到后续列;不要将后续值追加到任何历史或面板中。
  • 单起点验证划分是噪声较大的指引:几十个值的目标会受到最后观测期所遭遇冲击的影响。在替换等权默认之前,应在多起点 rolling_backtest(info["backtest_by_origin"])上比较成员,并检查 period_profile。
  • 百分比类指标(如失业率)是难点:共同冲击后,来自其他类型的特征可能分布外,因此在这些指标上应优先使用自身序列成员。
  • 记忆污染风险:这些是公开统计数据,预训练预测器或 LLM 可能已经见过实际值。不得回忆或查找实际值;除非增益在留出区域或经济体组上成立,否则应报告为可能受污染。