第五名解决方案
作者:康斯坦丁·德米特里耶夫
发布日期:2023年8月1日
得票数:11票
比赛排名:第5名
首先,我要感谢组织者举办了一场非常有趣的比赛。也特别感谢@siukeitin、@paddykb和@ravi20076。与你们的讨论对我帮助很大!
我之前已经发布了几乎所有的解决方案,该方案基于多个不同因素的乘积。
$$y_{t, c, s, p} = \\text{GDP}(c, \\eta) \\cdot \\text{F}(p, t) \\cdot \\text{S}(s) \\cdot \\text{w}(w) \\cdot \\text{Covid}(m, \\eta) \\cdot \\text{D}(d) \\cdot \\text{H}(c, d)$$
- \\( \\text{GDP}(c, \\eta) \\) 是每个国家\\(c\\)和年份\\(\\eta\\)的人均GDP相对值,这个想法来自于这篇文章。
- \\( \\text{F}(p, t) \\) 是每种产品\\(p\\)的平均销量,并应用了傅里叶滤波(只保留少数低频成分);\\(t\\)是从2017-01-01开始的连续天数。
- \\( \\text{S}(s) \\) 是依赖于商店\\(s\\)的常数因子。
- \\( \\text{W}(w) \\) 是依赖于星期几\\(w\\)的常数因子;
- \\( \\text{Covid}(m, \\eta) \\) 是依赖于年份\\( \\eta \\)和月份\\( m \\)的COVID因子。除了2020年外,它始终等于1。在2020年,它等于2020年每月总销量除以其他所有年份的月均总销量;
- \\( \\text{D}(d) = D_1\\cos(\\frac{\\pi d}{365}) + D_2\\sin(\\frac{\\pi d}{365})+D_3\\cos(\\frac{2\\pi d}{365})+D_4\\sin(\\frac{2\\pi d}{365}) \\) 是依赖于一年中的第几天\\(d\\)的因子;它负责降低夏季销量并提高冬季销量。\\(D_j\\)值通过线性回归选择。为此,我们还必须剔除节假日的影响。
- \\( \\text{H}(c, d) \\) 是节假日因子。为了处理它,我注意到每个节假日的响应形式是相同的。它们都具有高斯分布形式,标准差为2,最大值向前偏移4.5。我使用岭回归来估计每个这样的函数的振幅。所有节假日都按照python的holiday库识别的名称进行分组。