返回列表

My Forecasting Strategy

559. GoDaddy - Microbusiness Density Forecasting | godaddy-microbusiness-density-forecasting

开始: 2022-12-16 结束: 2023-06-16 销量与需求预测 数据算法赛

我的预测策略

作者:Vitaly Kudelya(Grandmaster)
发布时间:2023年3月15日
论坛投票:19票赞同
竞赛排名:第4名

趋势(Trend)

我的交叉验证表明,复杂的梯度提升模型并没有比简单方法显示出显著更好的结果。在某些月份,梯度提升的表现甚至比"上一个值"基线更差,而简单方法表现出更稳定的性能。

以下公式展示了我如何为cfips(县)估计趋势:

active_quantile_group_21_last_6m_trend 表示在之前6个月中,针对活跃数量分组的21个组之一,预测下一个月 microbusiness_density 的最佳乘数常数(限制在1到1.006之间)。state 和具体 cfips 组采用相同的逻辑。
forward_2 表示预测未来2个月的最佳乘数常数(限制在1到1.012之间)。

df_features_data['trend'] = (
    df_features_data['active_quantile_group_21_last_6m_trend'] * 0.16
    + df_features_data['active_quantile_group_21_last_3m_trend'] * 0.16
    + df_features_data['state_last_6m_trend'] * 0.14 + df_features_data['state_last_3m_trend'] * 0.14
    + df_features_data['cfips_last_6m_trend'] * 0.20 + df_features_data['cfips_last_3m_trend'] * 0.20
) * 0.5 + ((
    df_features_data['active_quantile_group_21_last_6m_trend_forward_2'] * 0.4
    + df_features_data['state_last_6m_trend_forward_2'] * 0.4
    + df_features_data['cfips_last_6m_trend_forward_2'] * 0.2
)**0.5) * 0.5

使用最佳公开提交作为预测起点

由于公开排行榜数据未发布,对于时间序列数据,使用最佳公开提交作为起点应该是有利的。

选择2个提交:正向与负向

选择2个提交来覆盖不同场景是个好主意。我将它们称为正向提交(我们低估了趋势)和负向提交(我们高估了趋势)。
例如,对于正向提交:* (trend + 0.0005)**(month_number)

五月季节性

由于过去两年五月都出现了数值下降,我直接对四月预测值乘以 * (1 - 0.0025) 来得到正向提交的五月预测。

活跃数小于150的县

我的交叉验证表明,对这些县使用"上一个值"基线(许多公开基线都这样做)仅对一个月的前瞻预测有效。对于三月、四月、五月,我使用了一些乘法常数。

下图显示:对于活跃数 < 75 的县,使用"上一个值"基线进行3个月预测效果最好;对于75-150的县,使用趋势更好。

活跃数与预测方法效果关系图

希望随机性能够帮忙 🤞

祝大家好运!

同比赛其他方案