机器学习笔记-时间序列基础知识

前言

  本章不会对时间序列所有的内容进行一个全方位的介绍,只会简单的整理部分时间序列的基础知识点。

时间序列的成分

时间序列:按时间顺序记录的一组数据,称为时间序列
  而一条时间序列通常可以分解为下面四个部分:趋势、季节波动、循环波动、不规则波动,又可以将上述的三个部分称作为:趋势性、季节性、周期性和随机波动性。
组合这四种成分的方式主要有两种:乘法模型和加法模型。
乘法模型: Y t = T t × S t × C t × I t Y_t=T_t×S_t×C_t×I_t Yt=Tt×St×Ct×It
加法模型: Y t = T t + S t + C t + I t Y_t=T_t+S_t+C_t+I_t Yt=Tt+St+Ct+It

时间序列的增长率

  要想描述一条时间序列的趋势情况,增长率绝对是一个很好的指标,这里主要介绍增长率和平均增长率。
增长率非常容易理解,即两天数据的增长率,在时间序列中有环比增长率和定基增长率,下面是两种增长率的定义
环比增长率:
G i = Y i − Y i − 1 Y i − 1 × 100 % , i = 1 , 2 ⋯   , n G_i=\frac{Y_i-Y_{i-1}}{Y_{i-1}}×100\%,i=1,2\cdots,n Gi=Yi1YiYi1×100%,i=1,2,n
定基增长率:
G i = Y i − Y 0 Y 0 × 100 % , i = 1 , 2 ⋯   , n G_i=\frac{Y_i-Y_0}{Y_0}×100\%,i=1,2\cdots,n Gi=Y0YiY0×100%,i=1,2,n
其中 Y 0 Y_0 Y0表示用于对比的固定时期的预测值。
平均增长率指的是各逐期环比值得几何平均数减1后得结果,下面是定义:
G ‾ = ( Y 1 Y 0 × Y 2 Y 1 × ⋯ × Y n Y n − 1 − 1 ) × 100 \overline G=(\sqrt {\frac{Y_1}{Y_0}×\frac{Y_2}{Y_1}×\cdots×\frac{Y_n}{Y_{n-1}}}-1)×100 G=(Y0Y1×Y1Y2××Yn1Yn 1)×100
其中, G ‾ \overline G G表示平均增长率, n n n为环比值的个数。
增长率的注意事项

  • 增长率不能使用0值或者负数计算。
  • 不能单独使用增长率来比较两种情况的增量,要注意增长率与绝对水平的结合

对于第二点,其实很好理解,假设两个企业A和B,不能只看A的营销额增长率比B的大,就认为A企业比B企业要强,这是因为没有考虑到两者的营销额数量,比如说B企业的营销额是按亿算的,而A企业是按千万算的,这样就会存在误判。

时间序列的预测方法

  时间序列的预测方法有很多很多,在这里不能一一介绍,最简单的几种就是移动平均、简单指数平滑、回归等等。稍微复杂一点的就有ARIMA模型,现在还可以使用机器学习的方法对时间序列进行预测,例如Prophet,LSTM等等。
本文只介绍几种简单的预测方法。

平滑法预测

  如果时间序列不含趋势、季节和循环变动成分,其波动主要是随机成分所致,序列的平均值不随时间的推移而变化,其预测方法主要有移动平均、简单指数平滑法,这些方法是通过对时间序列进行平滑以消除其随机波动,因而也称平滑法。

移动平均法

  移动平均法是将最近的 k k k期数据加以平均,作为下一期的预测值。设移动间隔为 k k k,则 t t t期的移动平均值为:
Y ‾ t = Y t − k + 1 + Y t − k + 2 + ⋯ + Y t − 1 + Y t k \overline Y_t=\frac{Y_{t-k+1}+Y_{t-k+2}+\cdots+Y_{t-1}+Y_t}{k} Yt=kYtk+1+Ytk+2++Yt1+Yt
这种方法可以描述时间序列的变化形态或者趋势,移动平均法只使用最近的 k k k期数据,在每次的计算移动平均值时,移动的间隔都为 k k k,该方法是比较适合较为平稳的时间序列。

简单指数平滑法

  简单指数平滑法预测是一种加权的方法,即如果我们想知道今天的数据大小,可以采用昨天的数据加上昨天的预测值数据进行加权。
F t + 1 = α Y t + ( 1 − α ) S t F_{t+1}=\alpha Y_t+(1-\alpha)S_t Ft+1=αYt+(1α)St
式中, α \alpha α为平滑系数,取值在0到1之间,在预测时, α \alpha α的取值非常关键,当时间序列有较大波动时,选择较小的 α \alpha α,如果注重使用近期的值进行预测,选择较大的 α \alpha α
上面这两种方法适合短期预测,但是存在很多缺点,比如不能考虑趋势和季节成分。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器学习、深度学习、自然语言处理等人工智能基础知识总结以及源代码.zip 说明 机器学习、深度学习、自然语言处理基础知识总结。 目前主要参考李航老师的《统计学习方法》一书,也有一些内容例如XGBoost、聚类、深度学习相关内容、NLP相关内容等是书中未提及的。 由于github的markdown解析器不支持latex,因此笔记部分需要在本地使用Typora才能正常浏览,也可以直接访问下面给出的博客链接。 Document文件夹下为笔记,Code文件夹下为代码,Data文件夹下为某些代码所使用的数据集,Image文件夹下为笔记部分所用到的图片。 由于时间和精力有限,部分代码来自github开源项目,如Seq2Seq、Transformer等部分的代码,部分章节代码待补充。 机器学习 线性回归(笔记) 感知机(笔记+代码) KNN(笔记+代码) 朴素贝叶斯(笔记+代码) 决策树(笔记+代码) 逻辑回归(笔记+代码) 最大熵(笔记+代码) SVM(笔记+代码) AdaBoost(笔记+代码) GBDT(笔记+代码) EM算法(笔记+代码) 隐马尔可夫模型(笔记+代码) 条件随机场(笔记) 随机森林(笔记+代码) XGBoost(笔记) 聚类(笔记) 特征工程之特征选择(笔记) 特征工程之降维算法(笔记) 深度学习 神经网络(笔记+代码) RNN(笔记) LSTM和GRU(笔记) CNN(笔记) 深度学习中的最优化方法(笔记) 自然语言处理 词嵌入之Word2Vec(笔记) 词嵌入之GloVe(笔记) 词嵌入之FastText(笔记) TextCNN(笔记+代码) Seq2Seq(笔记+代码) Transformer(笔记+代码) BERT(笔记) LSTM+CRF进行序列标注(笔记) 主题模型(笔记

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值