第16章RapidMiner时间序列.docx
《第16章RapidMiner时间序列.docx》由会员分享,可在线阅读,更多相关《第16章RapidMiner时间序列.docx(26页珍藏版)》请在冰点文库上搜索。
![第16章RapidMiner时间序列.docx](https://file1.bingdoc.com/fileroot1/2023-6/8/e12e47a7-e7e5-471e-a7ab-8241c7c86579/e12e47a7-e7e5-471e-a7ab-8241c7c865791.gif)
第16章RapidMiner时间序列
第16章时间序列
16.1时序模式
就餐饮企业而言,经常会碰到这样的问题:
由于餐饮行业是生产和销售同时进行的,因此销售预测对于餐饮企业十分必要。
如何基于菜品
历史销售数据,做好餐饮销售预测?
以便减少菜品脱销现象和避免因备料不足而造成的生产延误,从而减少菜品生产等待时间,提供给客户更优质的服务,同时可以减少安全库存量,做到生产准时
制,降低物流成本。
餐饮销售预测可以看作是基于时间序列的短期数据预测,预测对象为具体菜品销售量。
常用按时间顺序排列的一组随机变量x1,x2JH,xt来表示一个随机事件的时间序列,简记为
{Xt};用X1,X2,|[|,Xn或{Xt,t=1,2,|||,n}表示该随机序列的n个有序观察值,称之为序列长度为n的观察值序列。
本章应用时间序列分析的目的就是给定一个已被观测了的时间序列,预测该序列的未来值。
16.1.1时间序列算法
常用的时间序列模型见表16-1。
表16-1常用时间序列模型
模型名称
描述
平滑法
平滑法常用于趋势分析和预测,利用修匀技术,削弱短期随机波动对序列的影响,使序列平滑化。
根据所用平滑技术的不同,可具体分为移动平均法和指数平滑法。
趋势拟合法
趋势拟合法把时间作为自变量,相应的序列观察值作为因变量,建立回归模型。
根据序列的特征,可具体分为线性拟合和曲线拟合。
组合模型
时间序列的变化主要受到长期趋势(T)、季节变动
(S)、周期变动(C)和不规则变动(e)这四个因素的
影响。
根据序列的特点,可以构建加法模型和乘法模型。
加法模型:
K=Tt+s+ct十气
乘法模型:
片=T^Ct汉§
AR模型
Xt=%+©lXt_L+%人/+|||+%人」+色
以前P期的序列值Xt_L,Xt-2J||,Xtj为自变量、随机变
量Xt的取值Xt为因变量建立线性回归模型。
MA模型
K=卩+—日1色4—日2$t_2—111—Bq^t_q
随机变量Xt的取值Xt与以前各期的序列值无关,建立
Xt与前q期的随机扰动的线性回归模型。
ARMA模型
Xt=%+$Xt_t+%Xt/+|il+%Xt7+备
一日1勒」一日2$t_2—lil一Bq$t_q
随机变量xt的取值Xt不仅与以前P期的序列值有关,还与前q期的随机扰动有关。
ARIMA模型
许多非平稳序列差分后会显示出平稳序列的性质,称这个非平稳序列为差分平稳序列。
对差分平稳序列可以使用ARIMA模型进行拟合。
ARCH模型
ARCH模型能准确地模拟时间序列变量的波动性的变化,适用于序列具有异方差性并且异方差函数短期自相关。
GARCH模型
及其衍生模型
GARCH模型称为广义ARCH模型,是ARCH模型的拓展。
相比于ARCH模型,GARCH模型及其衍生模型更能反映实际序列中的长期记忆性、信息的非对称性等性质。
本章将重点介绍AR模型、MA模型、ARMA模型和ARIMA模型。
16.1.2时间序列的预处理
拿到一个观察值序列后,首先要对它的纯随机性和平稳性进行检验,这两个重要的检验称为序
列的预处理。
根据检验结果可以将序列分为不同的类型,对不同类型的序列会采取不同的分析方法。
对于纯随机序列,又叫白噪声序列,序列的各项之间没有任何相关关系,序列在进行完全无序
的随机波动,可以终止对该序列的分析。
白噪声序列是没有信息可提取的平稳序列;
对于平稳非白噪声序列,它的均值和方差是常数,现已有一套非常成熟的平稳序列的建模方法。
通常是建立一个线性模型来拟合该序列的发展,借此提取该序列的有用信息。
ARMA模型是最常
用的平稳序列拟合模型;
对于非平稳序列,由于它的均值和方差不稳定,处理方法一般是将其转变为平稳序列,这样就
可以应用有关平稳时间序列的分析方法,如建立ARMA模型来进行相应的研究。
如果一个时间序
列经差分运算后具有平稳性,成该序列为差分平稳序列,可以使用ARIMA模型进行分析。
1.平稳性检验
(1)平稳时间序列的定义
对于随机变量X,可以计算其均值(数学期望)」、方差二2;对于两个随机变量量X和Y,
可以计算X,Y的协方差cov(X,Y)=E[(X」x)(Y」y)]和相关系数珥X,Y)=C0V竖卫,它
°xJ
们度量了两个不同事件之间的相互影响程度。
对于时间序列{Xt,t•T},任意时刻的序列值Xt都是一个随机变量,每一个随机变量都会有均值和方差,记Xt的均值为叫,方差为G;任取t,s・T,定义序列{Xt}的自协方差函数
(t,s)二E[(Xt-£(Xs-亠)]和自相关系数’Us)二。
。
心风)(特别地,
(t,t)二(0)=1,订=1),之所以称它们为自协方差函数和自相关系数,是因为它们衡量的是同一
个事件在两个不同时期(时刻t和S)之间的相关程度,形象地讲就是度量自己过去的行为对自己
现在的影响。
如果时间序列{Xt,rT}在某一常数附近波动且波动范围有限,即有常数均值和常数方差,并
且延迟k期的序列变量的自协方差和自相关系数是相等的或者说延迟k期的序列变量之间的影响
程度是一样的,则称{Xt,rt}为平稳序列。
(2)平稳性的检验
对序列的平稳性的检验有两种检验方法,一种是根据时序图和自相关图的特征做出判断的图检
验,该方法操作简单、应用广泛,缺点是带有主观性;另一种是构造检验统计量进行的方法,目前最常用的方法是单位根检验。
时序图检验
根据平稳时间序列的均值和方差都为常数的性质,平稳序列的时序图显示该序列值始终在一个
常数附近随机波动,而且波动的范围有界;如果有明显的趋势性或者周期性那它通常不是平稳序列。
自相关图检验
平稳序列具有短期相关性,这个性质表明对平稳序列而言通常只有近期的序列值对现时值得影
响比较明显,间隔越远的过去值对现时值得影响越小。
随着延迟期数k的增加,平稳序列的自相关
系数匚(延迟k期)会比较快的衰减趋向于零,并在零附近随机波动,而非平稳序列的自相关系
数衰减的速度比较慢,这就是利用自相关图进行平稳性检验的标准。
单位根检验
单位根检验是指检验序列中是否存在单位根,因为存在单位根就是非平稳时间序列了。
2.纯随机性检验
如果一个序列式纯随机序列,那么它的序列值之间应该没有任何关系,即满足
(k)=0,k=0,这是一种理论上才会出现的理想状态,实际上纯随机序列的样本自相关系数不会绝对为零,但是很接近零,并在零附近随机波动。
纯随机性检验也称白噪声检验,一般是构造检验统计量来检验序列的纯随机性,常用的检验统
计量有Q统计量、LB统计量,由样本各延迟期数的自相关系数可以计算得到检验统计量,然后计算出对应的p值,如果p值显著大于显著性水平:
•,则表示该序列不能拒绝纯随机的原假设,可以停止对该序列的分析。
16.1.3平稳时间序列分析
ARMA模型的全称是自回归移动平均模型,它是目前最常用的拟合平稳序列的模型。
它又可
以细分为AR模型、MA模型和ARMA三大类。
都可以看作是多元线性回归模型。
1.AR模型
具有如下结构的模型称为p阶自回归模型,简记为AR(p):
Xt「0•必J「2%/•川•\Xt_p•;t(16-1)
即在t时刻的随机变量Xt的取值xt是前p期xtJ,xt^JH,xt^的多元线性回归,认为xt主要是受过去p期的序列值的影响。
误差项是当期的随机干扰[,为零均值白噪声序列。
平稳AR模型的性质见表16-2:
表16-2平稳AR模型的性质
统计量
性质
均值
常数均值
方差
常数方差
自相关系数(ACF)
拖尾
偏自相关系数(PACF)
p阶截尾
361
均值
对满足平稳性条件的AR(p)模型的方程,两边取期望,得:
E(xJ二E(b•必」「2X2•丨|丨\Xt_p•;t)(16-2)
已知E(xJ=:
.jE(;t)=0,所以有丿二JJ「2「川.■■/,
平稳AR(p)模型的方差有界,等于常数。
自相关系数(ACF)
平稳AR(p)模型的自相关系数
-:
-(t,t-k)-呈指数的速度衰减,始终有非
◎tW_k
零取值,不会在k大于某个常数之后就恒等于零,这个性质就是平稳AR(p)模型的自相关系数;-k
具有拖尾性。
偏自相关系数(PACF)
对于一个平稳AR(p)模型,求出延迟k期自相关系数J时,实际上的得到的并不是Xt与X—之间单纯的相关关系,因为Xt同时还会受到中间k-1个随机变量Xt」,Xt/,川,Xt±彳的影响,所以自相关系数匚里实际上掺杂了其他变量对Xt与Xt±的相关影响,为了单纯地测度Xt上对Xt的影响,引进偏自相关系数的概念。
可以证明平稳AR(p)模型的偏自相关系数具有p阶截尾性。
这个性质连同前面的自相关系数的拖尾性是AR(p)模型重要的识别依据。
2.MA模型
具有如下结构的模型称为q阶自回归模型,简记为MA(q):
若二亠572一巧2一川一毙;=(16-4)
即在t时刻的随机变量Xt的取值xt是前q期的随机扰动2,2,川,的多元线性函数,误差项是当期的随机干扰=,为零均值白噪声序列,'是序列{Xt}的均值。
认为Xt主要是受过去q
期的误差项的影响。
平稳MA(q)模型的性质见表16-3:
表16-3平稳MA模型的性质
统计量
性质
均值
常数均值
方差
常数方差
自相关系数(ACF)
q阶截尾
偏自相关系数(PACF)
拖尾
3.ARMA模型
具有如下结构的模型称为自回归移动平均模型,简记为ARMA(p,q):
Xt=0■伙」■2Xt_2,ll「pXt_p,"-耳江」…・2气_2-|||一rq;t_q(16-5)
即在t时刻的随机变量Xt的取值Xt是前p期xt」,xt?
iH,xt」和前q期;t」,2,川,g的多元线性函数,误差项是当期的随机干扰;t,为零均值白噪声序列。
认为xt主要是受过去p期的序列值和过去q期的误差项的共同影响。
特别的,当q=0时,是AR(p)模型;当p=0时,是MA(q)模型。
平稳ARMA(p,q)的性质见表16-4:
表16-4平稳ARMA模型的性质
统计量
性质
均值
常数均值
方差
常数方差
自相关系数(ACF)
拖尾
偏自相关系数(PACF)
拖尾
4.平稳时间序列建模
某个时间序列经过预处理,被判定为平稳非白噪声序列,就可以利用ARMA模型进行建模。
计算出平稳非白噪声序列{Xt}的自相关系数和偏自相关系数,再由AR(p)模型、MA(q)和
ARMA(p,q)的自相关系数和偏自相关系数的性质,选择合适的模型。
平稳时间序列建模步骤见图
1。
1)计算ACF和PACF
PACF)
先计算非平稳白噪声序列的自相关系数(ACF)和偏自相关系数(
2)ARMA模型识别
也叫模型定阶,由AR(p)模型、MA(q)和ARMA(p,q)的自相关系数和偏自相关系数的
性质,选择合适的模型。
识别的原则见表16-5:
表16-5ARMA模型识别原则
模型
自相关系数
(ACF)
偏自相关系数
(PACF)
AR(p)
拖尾
p阶截尾
MA(q)
q阶截尾
拖尾
ARMA(p,q)
拖尾
拖尾
3)估计模型中未知参数的值并进行参数进行检验。
4)模型检验。
5)模型优化。
6)模型应用:
进行短期预测。
16.1.4非平稳时间序列分析
前面介绍了对平稳时间序列的分析方法。
实际上,在自然界中绝大部分序列都是非平稳的。
因
而对非平稳序列的分析更普遍、更重要,创造出来的分析方法也更多。
对非平稳时间序列的分析方法可以分为确定性因素分解的时序分析和随机时序分析两大类:
确定性因素分解的方法把所有序列的变化都归结为四个因素(长期趋势、季节变动、循环变动
和随机波动)的综合影响,其中长期趋势和季节变动的规律性信息通常比较容易提取,而由随机因
素导致的波动则非常难以确定和分析,对随机信息浪费严重,会导致模型拟合精度不够理想。
随机时序分析法的发展就是为了弥补确定性因素分解方法的不足。
根据时间序列的不同特点,
随机时序分析可以建立的模型有ARIMA模型、残差自回归模型、季节模型、异方差模型、等。
本
节重点介绍ARIMA模型对非平稳时间序列进行建模。
1.差分运算
p阶差分
相距一期的两个序列值之间的减法运算称为1阶差分运算。
k步差分
相距k期的两个序列值之间的减法运算称为k步差分运算。
2.ARIMA模型
差分运算具有强大的确定性信息提取能力,许多非平稳序列差分后会显示出平稳序列的性质,
这时称这个非平稳序列为差分平稳序列。
对差分平稳序列可以使用ARMA模型进行拟合。
ARIMA
模型的实质就是差分运算与ARMA模型的组合,掌握了ARMA模型的建模方法和步骤以后,对序列建立ARIMA模型是比较简单的。
差分平稳时间序列建模步骤见图16-2:
图16-2差分平稳时间序列建模步骤
F面应用以上的理论知识,对表16-6中2015/1/1到2015/2/6某餐厅的销售数据进行建模。
表16-6某餐厅的销量数据
日期
销量
日期
销量
2015/1/1
3023
2015/1/20
3443
2015/1/2
3039
2015/1/21
3428
2015/1/3
3056
2015/1/22
3554
2015/1/4
3138
2015/1/23
3615
2015/1/5
3188
2015/1/24
3646
2015/1/6
3224
2015/1/25
3614
2015/1/7
3226
2015/1/26
3574
2015/1/8
3029
2015/1/27
3635
2015/1/9
2859
2015/1/28
3738
2015/1/10
2870
2015/1/29
3707
2015/1/11
2910
2015/1/30
3827
2015/1/12
3012
2015/1/31
4039
2015/1/13
3142
2015/2/1
4210
2015/1/14
3252
2015/2/2
4493
2015/1/15
3342
2015/2/3
4560
2015/1/16
3365
2015/2/4
4637
2015/1/17
3339
2015/2/5
4755
2015/1/18
3345
2015/2/6
4817
2015/1/19
3421
(1)检验序列的平稳性
图16-3时序图显示该序列具有明显的单调递增趋势,可以判断为是非平稳序列;图16-4的自
相关图显示自相关系数长期大于零,说明序列间具有很强的长期相关性;表16-7单位根检验统计
量对应的p值显著大于0.05,最终将该序列判断为非平稳序列(非平稳序列一定不是白噪声序列)c
101520253035
时间
图16-3原始序列的时序图
Seriessales
510
Lag
图16-4原始序列的自相关图
表16-7原始序列的单位根检验
stat
cValue
p值
3.6862
-1.9486
0.9748
(2)对原始序列进行一阶差分,并进行平稳性和白噪声检验
对一阶差分后的序列再次做平稳性判断
过程同第一次的检测。
结果显示,一阶差分之后的序列的时序图(见图16-5)在均值附近比较平稳的波动、自相关图(见图16-6)有很强的短期相关性,单位根检验(见表16-8)p值小于0.05,所以一阶差分之后的序列是平稳序列。
05101520253035
时间
图16-5一阶差分之后序列的时序图
Seriesdifsales
Lag
图16-6一阶差分之后序列的自相关图
表16-8一阶差分之后序列的单位根检验
stat
cValue
p值
-2.6532
-1.9489
0.0169
对一阶差分后的序列做白噪声检验(见表16-9)
表16-9一阶差分之后序列的白噪声检验
stat
cValue
p值
101.6541
12.5916
0.0007
输出的p值为0.0007,所以一阶差分之后的序列是平稳非白噪声序列。
(3)对一阶差分之后的平稳非白噪声序列拟合ARMA模型
模型定阶
模型定阶就是确定p和q。
第一种方法:
人为识别。
根据表16-5ARMA模型识别原则进行模型定阶。
Seriesdifsales
2468101214
Lag
图16-7一阶差分后序列的偏自相关图
一阶差分后自相关图显示出1阶截尾,偏自相关图显示出拖尾性,所以可以考虑用MA
(1)
模型拟合1阶差分后的序列,即对原始序列建立ARIMA(0,1,1)模型。
第二种方法:
相对最优模型识别。
计算ARMA(p,q)当p和q均小于等于5的所有组合的BIC信息量,取其中BIC信息量达到最小的模型阶数。
计算完成BIC图是:
图16-8一阶差分后序列的BIC图
p值为1、q值为0时,BIC值最小。
p、q定阶完成!
用AR
(1)模型拟合一阶差分后的序列,即对原始序列建立ARIMA(1,1,0)模型。
虽然两种方法建立的模型是不一样的,但是可以检验两个模型均通过了检验。
实际上ARIMA
(1,1,1)模型也是通过检验的,说明模型具有非唯一性。
下面对合一阶差分后的序列拟合AR
(1)模型进行分析。
模型检验
残差为白噪声序列,p值为:
0.627016
参数检验和参数估计
对时间序列使用ARIMA(1,1,0)模型,那就意味着我们对一阶时间序列使用了ARMA(1,
0)模型。
估计的参数为0.6353,AIC值为417.68。
(4)ARIMA模型预测
应用ARIMA(1,1,0)对表16-6中2015/1/1到2015/2/6某餐厅的销售数据做为期5天的预
测,结果如下:
2015/2/7
2015/2/8
2015/2/9
2015/2/1
0
2015/2/1
1
4856.4
4881.4
4897.3
4907.4
4913.8
需要说明的是,利用模型向前预测的时期越长,预测误差将会越来越大,这是时间预测的典型特点。
16.2实例一一利用时间序列模型分析金融数据
操作步骤:
第一步:
移动平均
首先将训练数据调入操作流畅,通过查看"GSPCTimeSeriesTrainingData”数据,我们从图
16.9可以看出数据是由时间,开盘价、最高价、最低价、收盘价及市值组成。
ExampleSei(RetrieveGSPCTimeSeriesTrainingData)
ExampieSet(992examples.0specialattributes,6regularaflnbutes)
RowtlD.
Date
Open
High
Low
Close
Volume
1
Apr11.2006...
1296.600
1300.710
1282960
1286.570
2232880000
2
Apr12,2006...
1286570
1290J30
1286.450
1280.120
1930100000
3
Apr13.20Q6...
1283.120
1292.090
1283.370
12S9.120
1891940000
4
Apr17,2006...
1289120
1292.450
1280.740
12&5.330
1794650000
5
Apr佩2006...
12B5330
1309020
1285330
1307280
2595440000
6
Apr19,2006...
1307.650
131DJ90
1302790
1309.930
2447310000
图16.9训练数据信息
接下来我们对数据进行分析,调用"MovingAverage”移动平均值操作符,在与数据连接后设
置windowwidth为5,输出的图16.10
图16.105日移动平均线
Process
Process
图16.12移动平均操作流程图
第二步:
指数平滑
将"ExponentialSmoothing”指数平滑操作符连接到处理页面,如图16.13,执行后如图16.14,我
们可以发现,指数平滑操作不受窗口大小影响,参数alpha的大小,决定了平滑曲线的圆润程度。
Process
图16.13添加指数平滑处理
CI口!
5«avaragafCloEe)^exponentiaiBmDcrthing(Ck3iKB:
i
O
40
層・20的SBP-2D06Jan-2007Ma^2Q07Sep«2007Jan^OOSMay-2OOBSep^20QSJan-2D0SMay-2003Sisp-2009Jan^2010May=201(]
图16.14叠加指数平滑曲线后的效果图
第三步:
趋势线
添加“FitTrend”趋势线操作符,该操作符的执行需要添加子流程,在子流程中我们设置为神经网
络操作符,如图16.15,运行结果如图16.16
Process
第四步:
模型预测
调用"Windowing”操作符,设置时间窗大小及步长,如图16.17
然后添加"SlidingWindowValidation”滑动窗口验证操作符,该操作符需要设置子流程,我们
把“SVM”支持向量机模型放入训练栏,应用模型和时间序列自己的性能操作符放入测试栏,如
图16.18,最后调入测试数据,连接应用模型,操作流程如图16.19,输出结果视图如16.20
Parameters
£Windowing
windowsize
2
stepsize
1
seriesrepresentation
en匚ode_series_by_exampies▼
jcreatesingieattnbutes
createlabel
selectlabelbydimension
labelattribute
horizon
addincompleteL7/ridow,s
stopontoosmal!
dataset
图16.17
窗口设置参数
OProre?
9kValidalion►
Tidining