基于周期因子的时间序列预测

一、基于周期因子的时间序列预测

1、场景

很多数据都具有周期性,比如客流量、支付

需要确定周期长短, 比如一周,一个月,结合STL分解 观察周期变化

2、缺点

   没有考虑到节假日、突发事件情况

3、STL分解介绍

将时序图拆解为Trend+Sensoinnal+Residual

4、时间序列规则

选择特征,可以用简单统计量来作为特征,从中提取出有用的信息

a、中位数、均值

b、临近数据,距离待测数据越近的数据对齐影响越大

二、预测步骤

假设给任务是根据前三周的数据预测第四周每天的客流量

Step1,获得周期因子

获得星期几的均值,再除以整体均值

Step2,计算base

Step3,使用base*周期因子进行预测

假如base=100,可以得到第四周的客流量

如果预测下个月每天的情况

如果想预测下个月每天的流量情况,可以基于每个月的规则

(1-30号平均流量)* 周期因子

Step1,计算周期因子(weekday)

Step2,计算每日(1-30号)均值,

Step3,统计星期几(weekday)在每日(day)出现频次

Step4,基于周期因子获得加权值,得到每日的base(去掉周期因子的影响)

Step5,根据每日base和周期因子进行预测

三、特殊日期处理

清明节,2014年4月5-7日 五一,2014年5月1-3日 六一,2014年5月31-6月2日 中秋节:2014年9月6-8日 国庆节:2014年10月1-7日

节假日工具包chinese_calendar

pip install chinesecalendar

import datetime
from chinese_calendar import is_workday, is_holiday
temp  =  datetime.date(2021,1,10)
print(is_workday(temp))
print(is_holiday(temp))

异常情况修正

1)不是真的工作日 => 假日

2)不是真的假日 => 工作日True

  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值