时间序列规则法快速入门

最近在做毕业设计的时候正好遇到时间序列问题,看了这篇文章之后有所启发。本文转载自:https://www.jianshu.com/p/31e20f00c26f

基本规则法快速入门

假设给定下面的数据,任务是预测第四周每天的客流量。

周一周二周三周四周五周六周日周均值
第一周20107050250200100100
第二周261866501801408080
第三周1586760270160120100

明显能看到周一到周日的周期波动。预测的核心任务就是尽可能准确的提取这种周期。
第一步: 除以周均值,得到一个比例。
第二步: 按列取中位数。
就可以得到一组鲁棒的周期因子。

周一周二周三周四周五周六周日
第一周0.20.10.70.52.521
第二周0.3250.2250.8250.6252.251.751
第三周0.150.080.670.62.71.61.2
中位数0.20.10.70.62.51.751

做预测时,只要将周期因子,乘以一个base,就可以做下一周的预测啦。比如说,我们取最后一周的平均客流量100作为base,那么我们直接乘上周期因子,就得到下一周的预测:

周一周二周三周四周五周六周日
中位数0.20.10.70.62.51.751
预测(base=100)20107060250175100

这里只拿了三周来举例。实际应用当然要取更长的时段啦。具体取几周以测试集的效果来确定。

针对周期因子的优化

按列提取中位数是一种简单而有效的提取周期因子的方法。中位数十分鲁棒,不受极端值的影响。但中位数损失了很多信息。实践中,可以在此基础上进一步优化。比如可以提取一个均值和一个中位数,然后将均值和中位数融合。融合的比例按照测试集的表现来确定。也可以根据与预测周的时间距离来赋予不同的权重。

针对base的优化

直接用最后一周的平均客流量作为base并不一定是最好的方法。也许最后三天或最后五天的均值能更好的反映最新的情况。但是,我们不能直接对最后三天客流量取均值(最后三天是周末,这样取的base就偏大了)。需要去掉周期性因素后,再取平均。具体做法,就是用客流量除以周期因子。

周一周二周三周四周五周六周日
第三周1586760270160120
中位数0.20.10.70.62.51.751
去周期以后的客流量758095.710010891.4120

这样我们就可以取最后三天的平均,(108+91.4+120)/3=106.5,作为base。具体取多少天的,也要通过测试集的表现来确定。当然也可以按某些函数形式来给每天赋予不同的权重。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值