03.时间序列规则

时间序列规则

def isValid(s: 'str') -> 'bool':
    return s

#这里的参数:‘注解内容’ 和 箭头‘注解内容’的用法是为标注了参数和返回值的类型,使代码更具有阅读性

def isValid(s):
        return s

#效果上其实没有区别

支付数据、客流量数据、交通数据等时间序列通常都具有明显的周期性

  • 周期性是核心
  • 确定周期(一周、一月)
  • 确定组成一个周期的元素(周1-周日、1号-31号)
  • 结合STL分解观察周期变化
  • 缺点:不考虑节假日、突发事件等

STL分解

STL (Seasonal-Trend decomposition procedure based on Loess) [1] 为时序分解中一种常见的算法,基于LOESS将某时刻的数据*[Math Processing Error]Yv*分解为趋势分量(trend component)、周期分量(seasonal component)和余项(remainder component):

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

method

  • Step1 获得周期因子

    • 两种方式
      • 除以周均值 ,然后按列取中位数
      • 以季节作为一个小部分,该月那个工作日均值,再除以整体均值
      • 因子的计算就是 该天的均值除以该周的均值
  • Step2 预测

    • 用因子的中位数 乘以 上一个工作周的平均值

    1. 以星期为周期的中位数预测

    method
    • 按照周,对数据进行reshape( N, 7 )的一个重组
    • 再将数据各个星期的那一列的中位数提取出来,之后存入每一天的数据中。作为一个预测。

    2. 基于周期因子(以星期为周期)的预测

    describe
    • 就是说每个weekday都有一个周期因子。我们要算基于星期的周期因子

      method 1
      • 先将每一天的数据除以这个周的平均值就算出了这一天在这一个周的周期因子
      • 将这个周的这个天的周期因子取一个中位数就是我们要的因子
      • base的话就是可以按照weekday去取一个中位数
      method 2
      • 将每一天的数据按照周搞出来 算一个平均 (也就是说在星期一 我知道其平均数值)
      • 将按照星期的平均值 除以按照 全体的平均值 就得到了 我们的平均因子
      • base:前一周的平均值除以平均因子
      • pre:base * 该weekday的一个平均因子

    3. 基于周期因子(以月为周期)的预测

    describe
    • 就是说一个月每个天都有一个周期因子。我们要算基于月份的周期因子

      method
      • 先建立一个 31 * 7 的一个列表 这个列表可以储存 每个月的几号是星期几的一个值 并且将这样一个时间我们需要计算出它的周期因子 这样一个列表完全遍历了所有的情况 以后只需要查表就可。
      • 先建立一个 31 * 7 的一个列表 这个列表可以储存 每个月的几号是星期几的一个值 这样一个列表完全遍历了所有的情况 我们先对这样的两个索引求个sum,之后再进一步处理
      • 统计一个月每一天作为星期几的一个频次,基于星期的加权因子就可以获得这个月每天的一个加权因子
trade_day.loc[i,"purchase_day_rate"] = sum(np.array(purchase_weekday_rate)*np.array(trad_day.loc[i,['w1','w2','w3','w4','w5','w6','w7']]))/sum(trade_day.loc[i,['w1','w2','w3','w4','w5','w6','w7']])
#这里的意思就是用星期的因子去和该日各个星期的值进行乘积,得到一种该日在星期因子下的平均
#再除以该周的平均 就得到了该日在星期因子下的周期因子
#遍历每一天就得到了该月每一天在星期因子下的周期因子
#用月份下每一日的平均值作为base

#base/周期因子 就得到了对月份的每一天的一个预测
 - 根据因子和每日均值进行预测
 - 最后得到一个要预测的月的一个列表 我们只需要将这个列表中的值作为base 然后再称以一个那个月的星期几的一个星期因子 就完成了一个预测。

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

Step1 获得每日(1号-31号)均值

Step2 统计每日为 (周1-周日)的频次

Step3 基于星期周期 因子获得加权均值

Step4 根据因子和每日均值预测

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值