时序分析(1)

203 阅读3分钟

这是我参与更文挑战的第 13 天,活动详情查看: 更文挑战

时序预测

概述

时序分析是以分析时间序列的发展过程、方向和趋势,预测将来时域可能达到的目标的方法。此方法运用概率统计中时间序列分析原理和技术,利用时序系统的数据相关性,建立相应的数学模型,描述系统的时序状态,以预测未来。其实虽然时序分析也属于机器学习领域,不过感觉刚偏于数理统计,大部分有效的模型都是统计模型而非深度模型,虽然 RNN 的一些变形的模型也逐步想渗入到这个领域,但是个人认为这个领域还是以统计机器学习为主。

  • 统计理论时序分析
  • 机器学习在时序分析中的应用
  • 深度学习在时序分析中的应用

主要从这三个方面来展开对时序分析

time_predicton_001.png

时序应用

时序分析是一个比较有特点研究领域,这个领域始于对金融业,例如股市趋势预测、投资风险评估。后来有渗透到其他领域,对未来市场预测、动态定价、用电量预测以及在生物医药也有其一席之地。

  • 股市预测
  • 风险评估
  • 销售目标
  • 财务计划
  • 库存管理(Inventory management)
  • 物流管理
  • 动态定价(例如机票)
  • 商业活动
  • 点击率预测
  • 工业用电量
  • 生物医药:心电图
  • 设备损耗,零件更换

考虑因素

颗粒度

  • 产品: 预测每一个产品还是一组产品
  • 时间周期: 每周、每月还是每年,供应链管理可能需要做到前一周或者前一天
  • 空间维度:区域

预测范围

  • 短期预测:个人计划、产品和交易(小时为单位),快餐店,人员排班。
  • 中期预测:新设备购买、资源预定、原材料的购入(月或季度)
  • 长期预测:决策、需要考虑到市场环境、内部资源以及机会等诸多因素的预测

yt:t+T=f(xt1,xt2,,x1,temperaturet,dowt,montht)y_{t:t+T} = f(x_{t-1},x_{t-2},\dots,x_1,temperature_t,dow_t,month_t)

  • x1,,xt1x_1,\dots,x_{t-1} 就是历史观察量
  • 当前可以观察的外部依赖量,例如价格、促销活动

传统时序模型

名称公式
均方误差(MSE)1ni=1n(yiy^i)2\frac{1}{n} \sum_{i=1}^n(y_i - \hat{y}_i)^2
绝对值误差(MAE)1ni=1nyiy^i\frac{1}{n} \sum_{i=1}^n \mid y_i - \hat{y}_i \mid
百分比误差MAPE1ni=1nyiy^iyi\frac{1}{n} \sum_{i=1}^n \mid \frac{y_i - \hat{y}_i}{y_i} \mid
对称百分比误差SMAPE1ni=1nyiy^iyi+y^i\frac{1}{n} \sum_{i=1}^n \frac{ \mid y_i - \hat{y}_i \mid}{ \mid y_i \mid + \mid \hat{y}_i \mid}
分位数误差Quantile Loss
  • 当我们关注大销量的时候,我们就会选择均方误差,但是销量大储量大并不代表利润大,

  • 当我们关注销量的时候,就可以考虑使用绝对值误差

  • yi=0y_i = 0 百分比误差就是无穷大,为了避免出现百分比误差这样问题引入了对称百分比误差,我们就把真是值也放到分母上,这样误差范围就是 0 到 200 范围内,不会出现无穷大的问题。

  • 库存管理,我们并不希望估计平均值,或者中位数,例如可以保证一段时间段保证供应商的需求。

1ni=1n{αyi=y^iyi>yi^(1α)yi=y^iyi<>yi^\frac{1}{n} \sum_{i=1}^n \begin{cases} \alpha \mid y_i = \hat{y}_i \mid & y_i > \hat{y_i} \\ (1 -\alpha) \mid y_i = \hat{y}_i \mid & y_i <> \hat{y_i} \\ \end{cases}