第10章时间序列分析课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第10章时间序列分析课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 10 时间 序列 分析 课件
- 资源描述:
-
1、第10章 时间序列分析2020/4/10常用时间序列模型ARIMA 模型时间序列对象时间序列对象在R软件中,使用时间序列建模前需要先将数据存储到一个时间序列对象中。我们可以使用函数ts()将数值类型的观测对象存储为时间序列对象。使用格式:ts(data=NA,start=1,end=numeric(),frequency=1,)其中,data是时间序列观测值对象,必须为数值类型的向量、矩阵或数据框;start是用来指定时间序列观测值对象的第一个时间点,比如2000年1月,则设置start=c(2000,1);end用来指定时间序列的终止时间点;frequency用来指定数据在一年中的频数。还可
2、以通过函数as.ts()可以将对象转换成时间序列;通过函数is.ts()可以判断对象是否为时间序列对象。时间销量/元0510152025303530004000ARIMA 模型绘制时间序列图绘制时间序列图R软件中,可以使用plot.ts()函数来画出时间序列的时序图。plot.ts()用法同plot。根据平稳时间序列的均值和方差都为常数的性质,平稳序列的时序图显示该序列值始终在一个常数附近随机波动,而且波动的范围有界;如果有明显的趋势性或者周期性那它通常不是平稳序列。ARIMA 模型时间序列检验分析(1)自相关性检验自相关图中的两条虚线标示置信界限是自相关系数的上下界。如果自相关系迅速衰减落入
3、置信区间内,就可能是白噪声;如果自相关系数超出置信区间,那么表示存在相关关系,而且从哪一阶落在置信区间内,就表示自相关的阶数是几阶。使用格式:acf(x,lag.max=NULL,type=c(correlation,covariance,partial),plot=TRUE,na.action=na.fail,demean=TRUE,)pacf(x,lag.max,plot,na.action,)acf()函数中,参数 x为观测值序列,acf()为观测值序列自相关函数,lag.max为与acf对应的最大延迟,type为计算acf的形式,默认为 correlation。当没有输出,即为 acf
4、(Series)时,画观测值序列的自相关系数图。pacf()函数中的输入参数与输出参数的含义同 acf()函数的类似。在 acf()和pacf()中设定plot=FALSE可以得到自相关和偏自相关的真实值。ARIMA模型原始序列时序图原始序列的自相关图时序图时序图显示该序列具有明显的单调递增趋势,可以判断为是非平稳序列;自相关图自相关图 显示自相关系数长期大于零,说明序列间具有很强的长期相关性,可以判断为非平稳序列;ARIMA 模型时间序列检验分析(2)单位根检验对时间序列的平稳性检验通常使用单位根检验的方法。在R软件中,单位根检验使用fUnitRoots包中的unitrootTest()函数
5、可以实现使用格式:unitrootTest(x,lags=1,type=c(c,c,ct),title=NULL,description=NULL)其中,输入参数x为观测值序列,lags为用于校正误差项的最大滞后项,type为单位根的回归类型,返回的参数p值,p值小于0.05表示满足单位根检验。单位根检验统计量对应的 p值显著大于 0.05,判断该序列为非平稳序列(非平稳序列一定不是白噪声序列)。ARIMA 模型ARIMA建模分析(1)非平稳时间序列差分对于非平稳时间序列,首先需要对其进行差分直到得到一个平稳时间序列。在R软件中,可以使用diff()函数对时间序列进行差分运算。diff()函数
6、的使用格式:diff(x,lag=1,differences=1,.)其中,输入参数硜 代表观测值序列;汜条代表差分运算的步数,缺省值代表一步差分;?楤晦牥湥散屳代表差分运算的阶数,缺省值代表一阶差分。对一阶差分后的序列再次做平稳性判断过程同上。时间销量残差/元5101520253035-200-1000100200300051015202530-0.20.00.20.4Series difsalesLagACF一阶差分之后序列的时序图一阶差分之后序列的自相关图结果显示,一阶差分之后的序列的时序图在均值附近比较平稳的波动、自相关图有很强的短期相关性、单位根检验p值小于0.05,所以一阶差分之后
7、的序列是平稳序列。ARIMA模型(2)时间序列模型识别定阶使用 R软件中的acf()和pacf()函数来分别给出时间序列的自相关图和偏自相关图。可根据自相关图和偏自相关图对时间序列模型进行定阶。根据自相关图和偏自相关图对时间序列模型进行定阶:?若平稳序列的偏相关系数是截尾的,而自相关系数是拖尾的,则序列适合AR模型;?若平稳序列的偏相关系数是拖尾的,而自相关系数是截尾的,则序列适合MA模型;?若平稳序列的偏相关系数与自相关系数都是拖尾的,则序列适合ARMA模型;ARIMA 模型051015202530-0.20.00.20.4LagPartial ACFSeries difsales05101
8、5202530-0.20.00.20.4Series difsalesLagACFpacf(difsales,lag.max=30)一阶差分后序列的偏自相关图一阶差分后自相关图中,ACF值在一阶后迅速跌入置信区间,并且数值徘徊在置信区间,没有收敛趋势,显示出拖尾性。偏自相关图中,PACF值在一阶后迅速跌入置信区间,并且有向零收敛的趋势,显示出截尾性,所以可以考虑用AR模型拟合1阶差分后的序列,即对原始序列建立 ARIMA(1,1,0)模型。一阶差分之后序列的自相关图acf(difsales,lag.max=30)ARIMA模型另外,模型还可以通过 BIC进行定阶。此处计算 ARMA(p,q)当
9、p和q均小于等于 5的所有组合的BIC信息量,取其中 BIC信息量达到最小的模型阶数。BIC(Intercept)test-lag1test-lag2test-lag3test-lag4test-lag5error-lag1error-lag2error-lag3error-lag4error-lag5171513129.37.65.73.5一阶差分后序列的 BIC图显示BIC值从下往上,依次递减。模型选用变量的单元格用阴影表示。较好的模型(具有较低的 BIC值)处于较高的行中。第一行中,test-lag1被选入模型,error-lag1到error-lag5均未被选取,取零阶。即在 test
10、-lag1,error-lag0处,取得最小 BIC值。因此p值为1、q值为0时,BIC值最小。p、q定阶完成,,即对原始序列建立 ARIMA(1,1,0)模型。ARIMA 模型(3)ARIMA模型R软件中,arima()函数设置时序模式的建模参数,创建ARIMA时序模型或者把一个回归时序模型转换为ARIMA模型。使用格式:Arima(Series,order,seasonal,period,method,.)其中,Series为观测值序列,order为构建的ARIMA(p,d,q)模型的参数,seasonal为模型的季节性参数,period为观测值序列的周期,method为估计模型参数所使用
11、的方法。ARIMA 模型(4)白噪声检验在使用ARIMA模型定阶完成后,还要对模型进行假设检验,检验残差序列是否为白噪声序列。R软件中,Box.test()函数用于检测序列是否符合白噪声检验。使用格式:Box.test(x,lag=1,type=c(Box-Pierce,Ljung-Box),fitdf=0)其中,x为Arima()函数返回的结果对象的residuals残差。ARIMA 模型p-value 0.05,说明残差为白噪声序列,通过白噪声检验。ARIMA 模型预测(1)模型预测根据参数估计得到的时间序列模型对未来的序列值进行预测,通过forecast包中的函数forecast.Ari
12、ma()来完成。使用格式:forecast.Arima(object,h=10,level=c(80,95),)object 是函数arima()返回的对象;h指定预测的时间点;level指定预测区间的置信水平,默认情况为80%和95%置信水平下的预测区间。Forecast的输入结果是指:通过 arima模型,置信水平为 80%和95%时,预测出未来五天的营业额及营业额区间。ARIMA 模型预测(2)绘制原始值与预测值图形为查看原始值与预测值的图形效果,可以使用plot.forecast()函数绘制原始值与预测值的图形。使用格式:plot.forecast(x,)其中,x为forecast.A
13、rima()函数返回的结果对象。Forecasts from ARIMA(1,1,0)010203040300040005000使用函数plot.forecast()可以查看原始值和预测值的图形效果,例如从图中可以直观地看到营业额的发展趋势。plot.forecast(forecast)其他时间序列模型(1)组合模型时间序列的变化主要受到长期趋势、季节变动、周期变动和噪声变动这四个因素的影响。根据序列的特点,可以构建加法模型和乘法模型。decompose()函数、stl()函数可以估计出时间序列中趋势的、季节性的和不规则的部分,而此时间序列需是可以用相加模型描述的。函数使用格式:decompo
14、se(x,type=c(additive,multiplicative),filter=NULL)在decompose()函数中,x时间序列对象;type指定分解为加法模型还是乘法模型;filter是滤波系数。stl(x,s.window,s.degree=0,)在stl()函数中,x同样为时间序列对;s.window因为没有默认值,所以必须手动设置,可以采用 periodic或Loess方法提取季节跨度,若采用Loess方法,s.window的值必须为大于7的奇数;s.degree可取1或0,为局部多项式拟合季节性提取的程度。sales sales.de=decompose(sales,ty
展开阅读全文