ImageVerifierCode 换一换
格式:DOCX , 页数:60 ,大小:1.69MB ,
资源ID:9549638      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9549638.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基本时间序列分析.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基本时间序列分析.docx

1、基本时间序列分析幻灯片1幻灯片2主要内容时间序列的定义与扩展相关图绘制与白噪声检验移动平均滤波与指数平滑法ARIMA模型SARIMA模型ARIMAX模型单位根检验向量自回归模型协整与向量误差修正模型ARCH族模型幻灯片3实验12-1: 时间序列的定义与扩展实验基本原理在利用stata对时间序列数据进行分析之前,我们通常需要定义时间变量。只有这样,我们才能方便地使用各种时间序列算子以及相关的时间序列分析命令。此外,有些时候,随着时间的推移,我们又获得了新的观测值,或者,我们需要对时间序列进行预测,这时,有必要对时间区间进行扩展。这些,都可以通过stata方便地实现。幻灯片4实验内容及数据来源利用

2、本书附带光盘data文件夹下的“tsexmp.dta”工作文件,我们来讲解时间变量的设定。“tsexmp.dta”中,主要变量包括:time=整数的时间变量,time1=字符串格式的时间变量。利用这些数据,我们会讲解时间序列数据的设定,时间区间的扩展,以及前滞变量、滞后变量、差分变量、季节差分变量的设定等。幻灯片5实验操作指导1 时间序列数据的设定(1)定义时间变量的基本命令设定时间序列(time series set)变量的基本命令格式为:tsset timevar , options其中,tsset是“定义时间变量”的基本命令,timevar为用于标识时间序列数据的变量名,options代

3、表其他选项。可用的options选项主要分两类,一类设定时间变量的单位(units of timevar),一类设定时间变量的周期(period of timevar)。表12.2给出了各个单位选项(unit options)。幻灯片6幻灯片7其中,默认规则意味着,如果事先通过format命令设定了timevar的显示格式为%t*格式,则不必再设定单位选项(unit options),stata会根据时间变量的显示格式自动获得时间变量的单位;否则,可以设定单位选项。周期选项(delta options)设定时间变量相邻观测值之间的间隔时间为几个单位,表12.3给出了各个具体的选项。幻灯片8下面

4、,我们利用“tsexmp.dta”的数据,对tsset命令及选项做进一步说明。如果我们要设定时间变量为time,输入命令:tsset time进行时间变量的设定之后,stata会自动将数据按设定的时间变量从小到大排序,从而方便相关命令的使用。如果要查看已设定的时间变量,可键入不带后缀的tsset命令。在数据被重新排序之后,想要恢复按时间序列排序,也可以通过tsset命令实现。也就是说,设定time为时间变量之后,如下两条命令会产生相同的效果。 tsset sort time在设定时间变量之后,我们可以保存一下数据,这样,下次使用时,就不必再重新设定时间变量。幻灯片9(2)调整时间设定的初始值我

5、们注意到,变量time的起始值为1,事实上,我们可以通过函数将起始时间调整到任何一个我们想要的时间。如过time=1代表2003年6月,那么我们可以生成一个新变量让其起始值为2003年6月。输入命令:generate newm=tm(2003m6)+time-1list time newm in 1/5其中,第一步为生成新变量newm,并令其第一个值代表2003年6月。函数tm()可将时间转换成stata系统默认的格式。第二步列出变量time和newm的前5个值。我们可以将变量newm转换成%tm格式使其更易读。键入命令:format newm %tmlist time newm in 1/5

6、其中,format命令用于定义变量的格式。幻灯片10之后,我们可以重新将newm设定为时间变量:tsset newm当然,如果我们不先使用format命令,直接键入:tsset newm, monthly 或 tsset newm, format(%tm)也可以实现相同的效果。在前面的讲解中,我们假定time为月度变量,并使用了函数tm()以及格式%tm,与之对应,如果数据单位为毫秒、日、周、季度、半年、年,我们有相应的函数tc()、td()、tw()、tq()、th()、ty()以及相应的格式%tc、%td、%tw、%tq、%th、%ty。幻灯片11(3)将字符串变量转换为时间变量在“tse

7、xmp.dta”中,time1为字符串格式的变量,如果我们要将其变为时间变量,可以通过如下的命令实现:gen double newc=clock(time1,”MDYhms”)注意,我们这里将产生的新变量设为“双精度”(double)格式。这是因为以毫秒为单位的时间非常大,如果使用默认的“float”格式,新变量newc将被四舍五入,造成结果的不精确甚至是错误。因为变量time1是按照“月-日-年 小时:分:秒”的格式呈现的,所以我们在clock()命令中使用选项”MDYhms”告诉stata数据的书写格式。与clock命令对应,当数据的单位为日、周、月、季度、半年、年,我们有命令date()

8、、weekly()、monthly()、quarterly()、halfyearly()、yearly();选项的格式依数据的具体书写格式而定。幻灯片12在此之后,可以通过如下命令将newc设为时间变量。tsset newc, clocktime其中,选项clocktime表明,我们设定时间序列数据的单位为毫秒。但事实上,数据是每隔20分钟记录一次的,这样,我们有必要将其周期变为20分,以方便滞后算子L、差分算子D等运算符号的使用。选项delta()可以做到这一点。命令为:tsset newc, delta(1000*60*20)其中,选项delta()中的表达式(1000*60*20)表明,

9、我们设定数据的周期为1000*60*20个单位,这里即1000*60*20毫秒,即20分钟。幻灯片132 扩展时间区间扩展时间区间的基本命令格式为:tsappend, add(#)| last(date| clock) tsfmt(string)其中,选项add()指定要增加的观测值的个数。如果不设定选项add(),就必须同时设定last(date| clock)和tsfmt(string)。last()指定我们要将时间扩展到的日期,tsfmt()用于将last()选项中的日期转化成stata默认时间所对应的整数,可用的string包括tc、td、tw、tm、tq、th和ty。需要注意的一点是

10、,在使用tsappend命令之前必须先用tsset设置时间变量。例如,对于“tsexmp.dta”的数据,我们先按照前面所讲,设定时间变量:generate newm=tm(2003m6)+time-1tsset newm, monthly这时,时间变量的区间为2003年6月到2005年11月。如果我们想增加12个观测值,可键入命令:tsappend, add(12)这样,时间变量被扩展到2006年11月。幻灯片14当然,我们也可以使用另一种方式:tsappend, last(2006m11) tsfmt(tm)这里,选项last(2006m11)用于指定扩展后时间变量的最后一个观测值为200

11、6年11月,tsfmt(tm)指定变量格式为月数据。如果时间变量有间隔(gaps),例如,在上面的例子中03年6月和03年9月之间缺失了两个月,tsappend命令也会自动补齐。当然,对于有间隔(gaps)的时间变量,我们也可以通过专门的命令tsfill将其补齐。命令格式为:tsfill在使用命令tsfill之前,也需要先用tsset定义时间序列。幻灯片153 时间序列算子在进行时间序列分析时,我们经常要用到某变量的滞后值或差分值等,这可以通过时间序列算子实现。常用的算子及其含义列于表12.4中。幻灯片16实验12-2:相关图绘制与白噪声检验 实验基本原理幻灯片17幻灯片18实验内容及数据来源

12、本书附带光盘data文件夹下的“wpi1.dta”工作文件包括了1960年第1季度到1990年第4季度的美国批发价格指数的数据。主要的变量包括:t=时间,wpi=批发价格指数, ln_wpi=wpi的对数。利用这些数据,我们将讲解自相关函数和偏自相关函数的绘图以及白噪声的检验。幻灯片19实验操作指导1 计算并绘制自相关函数与偏自相关函数图计算自相关函数、偏自相关函数以及Q统计量的命令为:corrgram varname if in , corrgram_options其中,corrgram代表“计算自相关与偏自相关函数以及Q统计量”的基本命令语句,varname代表要分析的变量的名称,if代表

13、条件语句,in代表范围语句,corrgram_options代表其他选项。表12.6列示了各主要选项。幻灯片20此外,我们还可以对自相关和偏自相关图分别进行绘制。绘制带置信区间的自相关函数的命令为:ac varname if in , ac_options绘制带置信区间的偏自相关函数的命令为:pac varname if in , pac_options表12.7 给出了这两个命令的选项。幻灯片21下面,我们对数据文件“wpi1.dta”中的变量ln_wpi计算自相关与偏自相关函数以及Q统计量的值。输入命令:corrgram ln_wpi, lags(20)其中,选项lags(20)表明设置滞

14、后期为20。当然,我们也可以在变量名上加上滞后算子。例如,我们要对ln_wpi的一阶差分值绘制带置信区间的自相关函数值和偏自相关函数值。可输入命令:ac D.ln_wpipac D.ln_wpi幻灯片222 白噪声检验corrgram命令可以同时汇报Q统计量,用于白噪声检验。此外,我们还有专门的命令来进行白噪声检验。用Q统计量进行白噪声检验的基本命令为:wntestq varname if in , lags(#)其中,wntestq代表“Q统计量白噪声检验”的基本命令语句,varname代表要分析的变量的名称,if代表条件语句,in代表范围语句,选项lags(#)用于设定滞后期为#。通过Ba

15、rtlett检验来判断序列是否为白噪声的基本命令为:wntestb varname if in , table level(#)其中,wntestb代表“Bartlett白噪声检验”的基本命令语句,选项table表示用列表而非图形来展示结果,level(#)用于设置置信度。幻灯片23下面,我们分别使用Q统计量和Bartlett检验来对序列D.ln_wpi进行白噪声的检验。用Q统计量检验的命令为:wntestq D.ln_wpi用Bartlett检验的命令为:wntestb D.ln_wpi幻灯片24实验12-3:移动平均滤波与指数平滑法实验基本原理幻灯片25幻灯片26幻灯片27幻灯片28实验内

16、容及数据来源本书附带光盘data文件夹下的“sales.dta”工作文件给出了某50个月的图书销售数据。变量主要包括:t=时间,sales=销售额。对于这些销售数据,我们想分析其随时间的变化趋势,并希望通过模型对其进行拟合及预测。这样,利用“sales.dta”的数据,我们来讲解移动平均滤波、单指数平滑法、双指数平滑法以及Holt-Winters平滑法的操作和相关的预测。幻灯片29实验操作指导1 移动平均滤波幻灯片30对于“sales.dta”的销售数据,我们想把其分解成两部分:信号和噪声。通过移动平均滤波,我们可以消除噪声。输入命令:tssmooth ma sm = sales, windo

17、w(2 1 2)其中,生成的平滑变量被命名为sm,选项window(2 1 2)说明我们利用两期滞后值、当期值和两期领先值来做移动平均,且各个值的权重相同。在进行移动平均滤波分析的时候,我们通常希望噪声中没有自相关。下面,我们对其进行检验:gen noise=sales-smac noise这里,第一步生成一个新变量noise,其值为原序列与平滑序列之差,也就是噪声;第二步绘制变量noise的自相关图。幻灯片31考虑重新指定权重,进行移动平均:tssmooth ma sm2 = sales, weights(1 2 2 1)这里,选项weight设置各个值的权重。可以验证,这种形式的平滑之后,

18、噪声没有自相关。我们可以将变量sm2和sales绘制到一个图上进行比较:line sm2 sales t这里,y轴变量为sm2和sales,x轴变量为t。幻灯片322 单指数平滑法幻灯片33下面,我们对变量sales用单指数平滑法进行平滑,并进行三期的预测:tssmooth exponential se=sales, forecast(3)这里,生成的新变量被命名为se,选项forecast(3)表明我们要进行3期的预测。通过作图,我们可以对单指数平滑法的拟合程度有更为直观的认识:line se sales t幻灯片343 双指数平滑法双指数平滑法的基本命令格式与单指数平滑法相似,为:tssm

19、ooth dexponential type newvar = exp if in , options其中,tssmooth dexponential代表“双指数平滑法”的基本命令语句。可用的options选项与单指数平滑法也基本相同,详见表12.9。只是选项s0()要设定两个参数为初始值,形式为s0(#1 #2)。虽然单指数平滑法已经可以对变量sales较好地拟合,但这里我们再用双指数平滑法拟合一下,并比较其与两次单指数模型的拟合结果。输入命令:tssmooth exponential double se1=sales, p(0.5) s0(1031)tssmooth exponential

20、 double se2=se1, p(0.5) s0(1031)tssmooth dexponential double sd=sales, p(0.5) s0(1031 1031)其中,第一步对变量sales用单指数平滑法进行平滑,并生成平滑变量se1,选项p(0.5)用于指定平滑参数,s0(1031)用于设定初始值,这里,设定这两个选项是为了方便比较两种平滑方法的结果。此外,double指定生成的新变量se1的类型为双精度。命令的第二行是对变量se1用单指数平滑法进行平滑,并生成新变量se2。第三步是用双指数平滑法对变量sales进行平滑。幻灯片35因为单指数平滑法将起始值视为时间零点(t

21、ime-zero)值,所以,在对单指数平滑序列再进行平滑时,我们共失去了两个观测值。这样,我们生成变量se2的两期领先变量并与双指数平滑变量进行比较。输入命令:generate double fse2 = f2.se2list fse2 sd in 1/5其中,第一步为生成se2的两期领先变量,并将其命名为fse2。注意,这里,变量类型double必不可少,否则,四舍五入会使变量值不精确,从而可能导致显示的结果不同。第二步列出了变量fse2和sd的前5个值。与单指数平滑法不同一点的是,双指数平滑法的预测值与其平滑值不相同。幻灯片36在实际的运用中,我们可以不必设定初始值和平滑参数,直接用默认的

22、方法进行平滑或预测即可。下面,我们用默认值进行平滑及预测,并作图比较。输入命令:tssmooth dexponential double sd1=salestssmooth dexponential double fsd1=sales, forecast(4) line sd1 fsd1 sales t幻灯片374 HoltWinters平滑法下面,我们对变量sales用HoltWinters平滑法进行拟合及预测:tssmooth hwinters hw=sales, forecast(4)line sales hw t其中,第一步是用HoltWinters法平滑,并生成新变量hw;选项for

23、ecast(4)表明我们要进行4步预测。第二步为作图,y轴为sales和hw,x轴为t。幻灯片38我们在前面讲过,对于双指数平滑法,是否加forecast()选项会影响生成的序列值。而对于HoltWinters平滑法,是否有forecast()选项并不影响平滑值。此外,虽然多种方法都可以得到单变量时间序列的预测值,但在实际运用当中,HoltWinters法还是使用得最多的。幻灯片395 HoltWinters季节平滑法幻灯片40其中,如果不设定选项period(#),季节效应的周期会从tsset命令的选项daily, weekly, , yearly中获得。如果之前的tsset命令没有设定这类

24、选项,则必须使用选项period()。例如,数据为月度数据,而tsset命令没有设定选项monthly,那么,这里就必须使用选项period(12)。此外,选项sn0_0(varname)和sn0_v(newvar)不可同时使用。因为销售数据sales并没有呈现季节效应,我们这里就不再举例说明了。幻灯片41实验12-4:ARIMA模型实验基本原理幻灯片42幻灯片43幻灯片44幻灯片45实验内容及数据来源本书附带光盘data文件夹下的“wpi1.dta”工作文件给出了批发价格指数的季度数据。主要的变量包括:t=时间,wpi=批发价格指数, ln_wpi=wpi的对数。我们考虑用模型对批发价格指数

25、的变动进行拟合,并对其未来值进行预测。利用“wpi1.dta”的数据,我们将讲解arima模型的拟合及预测。幻灯片46实验操作指导1 作图观察时间序列的趋势通常情况下,我们可以通过观察时间序列的趋势线对序列是否平稳有一个大致的认识。键入命令:line wpi t, yline(0) 其中,yline(0)表示在y=0处做一条水平线作为参照。对其一阶差分作图:line d.wpi t, yline(0)观察变量的自相关图和偏自相关图可以帮我们确定模型的阶数。输入命令:ac D.wpipac D.wpi其中,第一步是绘制wpi一阶差分的自相关图,第二步绘制wpi一阶差分的偏自相关图。幻灯片472

26、ARIMA回归的操作ARIMA模型的基本命令为:arima varname , ar(numlist) ma(numlist) 或 arima varname, arima(#p, #d, #q)完全的命令格式为:arima varname if in weight ,options其中,arima代表“拟合ARIMA模型”的基本命令语句,varname代表要分析的变量的名称,if代表条件语句,in代表范围语句,weight代表权重语句,options代表其他选项。主要的选项列于表12.11中。幻灯片48其中,选项arima(#p, #d, #q)意味着,将变量进行d阶差分,并包括1到p阶自回

27、归项以及1到q阶移动平均项。幻灯片49对于序列wpi,我们判断应使用ARIMA(p,1,q)模型,而p、q阶数的判断则可以通过信息准则。首先假定模型为ARIMA(1,1,1),键入命令:arima wpi, arima(1,1,1)为了列示该模型的信息准则值,我们键入命令:estat ic幻灯片50下面,我们依次对wpi拟合ARIMA(2,1,1)、ARIMA(1,1,2)、ARIMA(2,1,2),并计算其信息准则,得到如表12.12所示的结果。可以看到,对于AIC准则和BIC准则,ARIMA(1,1,1)的值都是最小的,从而应该选择模型ARIMA(1,1,1)。在拟合完模型之后,我们要检验

28、残差是否为白噪声。输入命令:predict r, residualwntestq r其中,第一步是对残差进行预测,并将其命名为r;第二步检验变量r是否为白噪声。幻灯片513 模型的改进ARIMA(1,1,1)对模型的拟合已经不错,但鉴于wpi一阶差分的方差比较大(见图12.21),我们考虑对wpi取对数重新进行拟合。因为wpi为季度数据,考虑到本年的某一季度对下一年同一季度有一定影响,我们在ar(1)、ma(1)项之外,再加入ma(4)项来拟合剩余的季度效应。键入命令:arima D.ln_wpi, ar(1) ma(1 4)为了确认模型的改进,我们来看一下信息准则值,键入:estat ic幻

29、灯片524 模型的预测对模型进行预测的基本命令为:predict type newvar if in , statistic options 其中,predict代表“预测”的基本命令,type代表新变量的类型,newvar代表生成的新变量的名称,if代表条件语句,in代表范围语句,statistic代表可用的统计量,options代表其他选项。主要的statistic统计量被列示在表12.13中。幻灯片53幻灯片54为了得到对预测结果的直观认识,键入命令:list D.ln_wpi xb sxb ln_wpi y sy in 1/10幻灯片55实验12-5:SARIMA模型实验基本原理幻灯片

30、56幻灯片57实验内容及数据来源Box, Jenkins, and Reinsel (1994)给出了一个乘积SARIMA的例子,主要变量包括:air=1949年1月到1960年12月的国际航线乘客数量,t=时间(为该数据文件的时间变量),time=另一种格式的时间。全部数据见本书附带光盘data文件夹下的“airpsn.dta”工作文件。利用“airpsn.dta”的数据,我们讲解SARIMA模型的拟合及预测。幻灯片58实验操作指导1 模型定阶为了使数据更平稳,我们对变量air取对数:gen lnair=ln(air)做lnair的时间趋势图:line lnair t对lnair进行1阶差分和12阶季节差分,并作出差分后的序列的时间趋势图:line DS12.lnair t, yline(0)其中,DS12.lnair表

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1