时间序列分析上机操作题电子教案
- 格式:docx
- 大小:2.09 MB
- 文档页数:18
第五章时间序列分析时间序列分析是应用十分广泛的数量分析方法,它主要用来评价现象动态变化的特征和规律。
第一节时间数列的概念和种类一、时间数列的概念客观物质世界中的一切事物都处在不断发展变化之中。
社会经济现象作为客观物质世界的一个重要组成部分,它的规模、结构、以及现象间的相互联系,随着时间的推移,也都在不断的发展变化着。
统计作为认识社会的重要武器,不仅要从现象的相互联系之中进行静态研究,而且还要从它们的发展变化过程进行动态研究。
要实现统计的这一任务,就必须借助于时间数列。
所谓时间数列,又称动态数列,它是将社会经济现象某种统计指标的数值,按照时间的先后顺序加以排列而形成的统计数列。
例如,表8 — 1 资料所表现的就是四种不同的时间数列。
表8 —1 资料某市1994 —1998年的经济指标上表中,国内生产总值、年末人口数、市区人口比重、职工年平均工资和时间结合形成了四个时间数列。
时间数列由两个要素构成,一个是现象所属的时间、另一个是现象的发展水平的指标数值。
时间数列是我们研究事物发展状况及预测未来发展趋势的基础和前提条件,在现象动态分析中有着十分重要的作用,其主要作用是:1、.时间数列可以表明社会经济现象的发展变化趋势及规律性。
如把相邻几年各季空调的销售量进行排列,通过比较不仅会发现空调的销售量有不断增长的趋势,而且还会发现每年第二季度和第三季度销售量要大于第一季度和第四季度的销售量。
即夏秋两季为空调的销售旺季,冬春为销售淡季的规律。
2、.可以根据时间数列,计算各种时间动态指标值,以便具体深入地揭示现象发展变化的数量特征。
3、通过时间数列可以反映工作进度,帮助各级领导及时掌握情况,以便更好地指导今后的工作。
4、.运用时间数列可以预测现象的发展方向和发展速度,为宏观调控和科学决策提供数量依据。
二、时间数列的种类根据编制时间数列所采用的统计指标形式不同,时间数列可分为:绝对数时间数列、相对数时间数列和平均数时间数列。
第四章时间序列分析(一)教学目的通过本章的学习,掌握时间序列的概念、类型,学会各种动态分析指标的计算方法。
(二)基本要求要求学会各种水平和速度指标的计算方法,并能对时间序列的长期趋势进行分析和预测。
(三)教学要点1、时间序列的概念与种类;2、动态分析指标的计算;3、长期趋势、季节变动的测定。
(四)教学时数7——10课时(五)教学内容本章共分四节:第四章时间数列分析本章前一部分利用时间数列,计算一系列分析指标,用以描述现象的数量表现。
后一部分根据影响事物发展变化因素,采用科学的方法,将时间数列受各类因素(长期趋势、季节变动、循环变动和不规则变动)的影响状况分别测定出来,研究现象发展变化的原因及其规律性,为预测未来和决策提供依据。
第一节时间数列分析概述一、时间数列的概念时间数列:亦称为动态数列或时间序列(Time Series),就是把反映某一现象的同一指标在不同时间上的取值,按时间的先后顺序排列所形成的一个动态数列。
时间数列的构成要素:1.现象所属的时间。
时间可长可短,可以以日为时间单位,也可以以年为时间单位,甚至更长。
2.统计指标在一定时间条件下的数值。
二、时间数列的分类时间数列的分类在时间数列分析中具有重要的意义。
因为,在很多情况下,时间数列的种类不同,则时间数列的分析方法就不同。
因此,为了能够保证对时间数列进行准确分析,则首先必须正确判断时间数列的类型。
而要正确判断时间数列的类型,其关键又在于对有关统计指标的分类进行准确理解。
由于时间数列是由统计指标和时间两个要素所构成,因此时间数列的分类实际上和统计指标的分类是一致的。
时间数列分为:总量指标时间数列、相对指标时间数列和平均指标时间数列。
(一)总量指标时间数列总量指标时间数列:又称为绝对数时间数列,是指由一系列同类的总量指标数值所构成的时间数列。
它反映事物在不同时间上的规模、水平等总量特征。
总量指标时间数列又分为时期数列和时点数列。
1.时期数列:是指由反映某种社会经济现象在一段时期内发展过程累计量的总量指标所构成的总量指标时间数列。
上机指导第五章5.8.1 拟合ARIMA模型由于ARMA模型是ARIMA模型的一种特例,所以在SAS系统中这两种模型的拟合都放在了ARIMA 过程中。
我们已经在第3章进行了ARMA模型拟合时介绍了ARIMA过程的基本命令格式。
再次以临时数据集example5_1的数据为例介绍ARIMA模型拟合与ARMA模型拟合的不同之处。
data example5_1;input x@@;difx=dif(x);t=_n_;cards;1.05 -0.84 -1.42 0.202.81 6.72 5.40 4.385.52 4.46 2.89 -0.43 -4.86 -8.54 -11.54 -16.22-19.41 -21.61 -22.51 -23.51 -24.49 -25.54 -24.06 -23.44-23.41 -24.17 -21.58 -19.00 -14.14 -12.69 -9.48 -10.29-9.88 -8.33 -4.67 -2.97 -2.91 -1.86 -1.91 -0.80proc gplot;plot x*t difx*t;symbol v=star c=black i=join;run;输出时序图显示这是一个典型的非平稳序列。
如图5-49所示时序图49 -序列x图5在原程序基础上添加同时考察查分后序列的平稳性,1阶差分运算,考虑对该序列进行相关命令,程序修改如下:data example5_1;input x@@;difx=dif(x);t=_n_;cards;1.05 -0.84 -1.42 0.202.81 6.72 5.40 4.385.52 4.46 2.89 -0.43 -4.86 -8.54 -11.54 -16.22-19.41 -21.61 -22.51 -23.51 -24.49 -25.54 -24.06 -23.44-23.41 -24.17 -21.58 -19.00 -14.14 -12.69 -9.48 -10.29-9.88 -8.33 -4.67 -2.97 -2.91 -1.86 -1.91 -0.80proc gplot;plot x*t difx*t;symbol v=star c=black i=join;proc arima;identify var=x(1);estimate p=1;forecast lead=5 id=t ;run;语句说明:(1)DATA步中的命令“difx=dif(x);”,这是指令系统对变量x进行1阶差分,差分后的序列值赋值给变量difx。
应用时间序列分析上机实验教案第一次实验:(2014.9.22)Exercise 1.1要求:在R软件中命名、输入时间序列数据,并图示;案例:在R软件中将样本容量为10的数据:10,20,30,40,50,60,70,80,90,100赋值给变量X;命令:X<-c(10,20,30,40,50,60,70,80,90,100)Plot(X)运行结果:图1.1Exercise 1.2要求:在Exercise 1.1的图1.1中对X轴与Y轴重新标注;案例:在图1.1中将X轴标注为:“序号”,将Y轴标注为:“10-100的整10倍数”命令:X<-c(10,20,30,40,50,60,70,80,90,100) (略,若没有上前的命令,要写)plot(X,xlab='序号',ylab='10-100的整十倍数')注解:注意:1、xlab与ylab的标注是单引号;2、汉字不能用五笔输入法;运行结果:图1.2Exercise 1.3要求:将Exercise 1.2的图1.2转换为拆线图;案例:在图1.2中的plot命令中加入选项“type=’o’;命令:plot(X,xlab='序号',ylab='10-100的整十倍数',type=’o’)注解:没有“type=’o’”时,图形为点图,加入后将点连接为线,即拆线;运行结果:图1.3Exercise 1.4要求:改变Exercise 1.3的图1.3的高与宽及图中点的大小;案例:图1.4的高度为2.5,宽度为4.875,点大小为10;命令:win.graph(width=4.875, height=2.5,pointsize=10)plot(X,xlab='序号',ylab='10-100的整十倍数',type=’o’)注解:“width=4.875”--宽度为4.875,“height=2.5”--高度为2.5,“pointsize=10”--点大小为10;运行结果:图1.4Exercise 1.5要求:画出两个变量的散点图;案例:输入变量X、Y,画散点图;命令:X<-c(10,20,30,40,50,60,70,80,90,100)Y<-c(100,201,300,410,500,1200,710,820,900,1000)win.graph(width=4.875, height=4.5,pointsize=10)plot(X,Y)运行结果:图1.5Exercise 1.6要求:在Exercise 1.5的图1.5中加入X轴、Y轴标注;案例:将散点图1.5的X轴标注为“整十倍数”、Y轴标注为“奇异值”;命令:plot(X,Y,xlab='整十倍数',ylab='奇异值')运行结果:图1.6Exercise 1.7要求:从“*.TXT”文件中读取数据;案例:将1978-2012年我国的GDP时间序列数据赋给变量GDP;操作:先将数据源转换为“*.TXT”文件,比如:“GDP78-12.TXT”;保存于路径“E:\”下;在R 中修改当前目录于“E:\”;命令:点击“文件”/“改变当前目录”GDP<-read.table(“GDP78-12.txt”,head=TRUE)GDP运行结果:GDP1978年3,645.221979年4,062.581980年4,545.621981年4,891.561982年5,323.35...Exercise 1.8要求:利用scan( )函数从“*.TXT”文件中读取数据;案例:将100,200,300,400,500,600,700,1800,900,1000存于文件“1000.TXT”中,利用scan( )函数从文件“1000.TXT”中读取数据,赋于变量X1;操作:先将数据源保存于“1000.TXT”文件,比如:保存于路径“E:\”下(为方便起见,其它类同);在R中修改当前目录于“E:\”;命令:点击“文件”/“改变当前目录”X1<-scan(“1000.txt”);X1运行结果:[1] 100 200 300 400 500 600 700 1800 900 1000Exercise 1.9要求:在R中作出P1中图E1.1;操作:先打开library(TSA)---TSA是R的外部程序包,设定图宽、高等,调用数据--data(larain),作图plot(larain,ylab='Inches',xlab='Year',type='o')命令:library(TSA)win.graph(width=4.875, height=2.5,pointsize=8)data(larain); plot(larain,ylab='Inches',xlab='Year',type='o')运行结果:Exercise 1.10要求:在R中作出P2中图E1.2;操作:若第一次作图,先打开library(TSA),第二次即不需要,定图宽、高等,调用数据--data(larain),作图plot(larain,ylab='Inches',xlab='Year',type='o')命令:library(TSA)win.graph(width=3,height=3,pointsize=8)plot(y=larain,x=zlag(larain),ylab='Inches', xlab='Previous Year Inches')运行结果:注:字符用汉字:library(TSA)win.graph(width=3,height=3,pointsize=8)plot(y=larain,x=zlag(larain),ylab='英寸', xlab='上一年英寸')Exercise 1.11要求:在R中作出P2中图E1.3;命令:library(TSA)win.graph(width=4.875, height=2.5,pointsize=8)data(color)plot(color,ylab='Color Property',xlab='Batch',type='o') 运行结果:Exercise 1.12要求:在R中作出P3中图E1.4;命令:library(TSA)win.graph(width=3,height=3,pointsize=8)plot(y=color,x=zlag(color),ylab='Color Property', xlab='Previous Batch Color Property') 运行结果:。
第四章时间序列分析(一)教学目的通过本章的学习,掌握时间序列的概念、类型,学会各种动态分析指标的计算方法。
(二)基本要求要求学会各种水平和速度指标的计算方法,并能对时间序列的长期趋势进行分析和预测。
(三)教学要点1、时间序列的概念与种类;2、动态分析指标的计算;3、长期趋势、季节变动的测定。
(四)教学时数7——10课时(五)教学内容本章共分四节:第四章时间数列分析本章前一部分利用时间数列,计算一系列分析指标,用以描述现象的数量表现。
后一部分根据影响事物发展变化因素,采用科学的方法,将时间数列受各类因素(长期趋势、季节变动、循环变动和不规则变动)的影响状况分别测定出来,研究现象发展变化的原因及其规律性,为预测未来和决策提供依据。
第一节时间数列分析概述一、时间数列的概念时间数列:亦称为动态数列或时间序列(Time Series),就是把反映某一现象的同一指标在不同时间上的取值,按时间的先后顺序排列所形成的一个动态数列。
时间数列的构成要素:1.现象所属的时间。
时间可长可短,可以以日为时间单位,也可以以年为时间单位,甚至更长。
2.统计指标在一定时间条件下的数值。
二、时间数列的分类时间数列的分类在时间数列分析中具有重要的意义。
因为,在很多情况下,时间数列的种类不同,则时间数列的分析方法就不同。
因此,为了能够保证对时间数列进行准确分析,则首先必须正确判断时间数列的类型。
而要正确判断时间数列的类型,其关键又在于对有关统计指标的分类进行准确理解。
由于时间数列是由统计指标和时间两个要素所构成,因此时间数列的分类实际上和统计指标的分类是一致的。
时间数列分为:总量指标时间数列、相对指标时间数列和平均指标时间数列。
(一)总量指标时间数列总量指标时间数列:又称为绝对数时间数列,是指由一系列同类的总量指标数值所构成的时间数列。
它反映事物在不同时间上的规模、水平等总量特征。
总量指标时间数列又分为时期数列和时点数列。
1.时期数列:是指由反映某种社会经济现象在一段时期内发展过程累计量的总量指标所构成的总量指标时间数列。
20.1971年9月一1993年6月澳大利亚季度常住人口变动(单位:千人)情况如下表。
问题:(1)判断该序列的平稳性与纯随机性。
(2)选择适当模型拟合该序列的发展。
(3)绘制该序列拟合及未来5年预测序列图针对问题一:将以下程序输入SAS编辑窗口,然后运行后可得图1.data example3_1;in put x@@; |time=_ n_;cards63.2 67.9 55.8 49.5 50.2 55.4 49.9 45.3 48.1 61.7 55.2 53.1 49.5 59.9 30.6 30.4 33.8 42.1 35.8 28.4 32.9 44.1 45.5 36.6 39.5 49.8 48.8 29 37.3 34.2 47.6 37.3 39.2 47.6 43.9 49 51.2 60.8 67 48.9 65.4 65.4 67.6 62.5 55.1 49.6 57.3 47.3 45.5 44.5 48 47.9 49.1 48.8 59.4 51.6 51.4 60.9 60.9 55.8 58.6 62.1 64 60.3 64.6 71 79.4 59.9 83.4 75.4 80.2 55.9 58.5 65.2 69.5 59.1 21.5 62.5 170 -47.4 62.2 60 33.1 35.3 43.4 42.7 58.4 34.4proc gplot data =example3_1;plot x*time= 1;symboll c=red I =join v=star; run ;图1该序列的时序图由图1可读出:除图中170和-47.4这两个异常数据外,该时序图显示澳大利亚季度常住人口变动一般在在60附近随机波动,没有明显的趋势或周期,基本可视为平稳序列。
再接着输入以下程序运行后可输出五方面的信息。
具体见表1-表5.proc arima data = example3_1;iden tify Var =x nlag =8;run ;表1分析变量的描述性统计从表1可读出分析变量的名称、该序列的均值;标准差及观察值的个数(样本容量)。
20.1971年9月—1993年6月澳大利亚季度常住人口变动(单位:千人)情况如下表。
问题:(1)判断该序列的平稳性与纯随机性。
(2)选择适当模型拟合该序列的发展。
(3)绘制该序列拟合及未来5年预测序列图。
针对问题一:将以下程序输入SAS编辑窗口,然后运行后可得图1.data example3_1;input x@@;time=_n_;cards;63.2 67.9 55.8 49.5 50.2 55.4 49.9 45.3 48.1 61.7 55.2 53.1 49.5 59.9 30.6 30.4 33.8 42.1 35.8 28.4 32.9 44.1 45.5 36.6 39.5 49.8 48.8 29 37.3 34.2 47.6 37.3 39.2 47.6 43.9 49 51.2 60.8 67 48.9 65.4 65.4 67.6 62.5 55.1 49.6 57.3 47.3 45.5 44.5 48 47.9 49.1 48.8 59.4 51.6 51.4 60.9 60.9 55.8 58.6 62.1 64 60.3 64.6 71 79.4 59.9 83.4 75.4 80.2 55.9 58.5 65.2 69.5 59.1 21.5 62.5 170 -47.4 62.2 60 33.1 35.3 43.4 42.7 58.4 34.4;proc gplot data=example3_1;plot x*time=1;symbol1c=red I=join v=star;run;图1 该序列的时序图由图1可读出:除图中170和-47.4这两个异常数据外,该时序图显示澳大利亚季度常住人口变动一般在在60附近随机波动,没有明显的趋势或周期,基本可视为平稳序列。
再接着输入以下程序运行后可输出五方面的信息。
具体见表1-表5.proc arima data= example3_1;identify Var=x nlag=8;run;表1 分析变量的描述性统计从表1可读出分析变量的名称、该序列的均值;标准差及观察值的个数(样本容量)。
表2 样本自相关图由表2可知:样本自相图延迟3阶之后,自相关系数都落入2倍标准差范围以内,而且自相关系数向零衰减的速度非常快,故可以认为该序列平稳。
表3 样本自相关系数该图从左到右输出的信息分别为:延迟阶数、逆自相关系数值和逆自相关图。
表4 样本偏自相关图该图从左到右输出信息是:延迟阶数、偏自相关系数值和偏自相关图。
表5 纯随机性检验结果由上表可知在延迟阶数为6阶时,LB检验统计量的P值很小,所以可以断定该序列属于非白噪声序列。
针对问题二:将IDENTIFY命令中增加一个可选命令MINIC,运行以下程序可得到表6.表6 IDENTIFY命令输出的最小信息量结果通过上表可知:在自相关延迟阶数小于等于5,移动平均延迟阶数也小于等于5的所有ARMA(p,q)模型中,BIC信息量相对最小的是ARMA(1,3)模型。
进行参数估计,输入以下命令,运行可得到表7—表10estimate p=1q=3;run;表7 ESTIMATE命令输出的位置参数估计结果表8 ESTIMATE命令输出的拟合统计量的值表9 ESTIMATE命令输出的系数相关阵表10 ESTIMATE命令输出的残差自相关检验结果拟合模型的具体形式如表11所示。
表11 ESTIMATE命令输出的拟合模型形式针对问题三:对拟合好的模型进行短期预测。
输入以下命令,运行可得表12和图2.forecast lead=5id=time out=results;run;proc gplot data=results;plot x*time=1 forecast*time=2 l95*time=3 u95*time=3/overlay;symbol1c=black i=none v=star;symbol2c=red i=join v=none;symbol3c=green i=join v=none l=32;run;表12 forecast命令输出的预测结果图2 拟合效果图5.我国1949-2008年末人口总数(单位:万人)序列如下表。
选择合适模型拟合该序列的长期趋势,并作5期预测。
采用SAS软件运行下列程序:data example5_1;input x@@;t=_n_;cards;54167 55196 56300 57482 58796 60266 61465 62828 64653 65994 67207 66207 65859 67295 69172 70499 72538 74542 76368 78534 80671 82992 85229 87177 89211 90859 92420 93717 94974 96259 97542 98705 100072 101654 103008 104357 105851 107507 109300 111026 112704 114333 115823 117171 118517 119850 121121 122389 123626 124761 125786 126743 127627 128453 129227 129988 130756 131448 132129 132802;proc gplot;plot x*t=1;symbol1i=join v=none c=blavk;run;图3 该序列的时序图通过时序图可以得知,该序列有明显的线性递增趋势,故用线性回归模型来拟合。
在接着在编辑窗口输入以下命令,运行程序:proc autoreg data=example5_1;model x=t;run;表12 AUTOREG过程输出线性拟合结果通过该表可得知:(1)因变量的名称,本例中因变量为x。
(2)(3)普通最小二乘统计量,误差平方和、均方误差、SBC信息量、回归模型的R^2、DW统计量、误差平方和的自由度、均方根误差、AIC信息量、包括自回归误差过程在内的整体模型R^2。
(4)参数估计量。
该部分从左到右输出的信息分别是:变量名、自由度、估计值、估计值的标准差、t值以及统计量的t值的近似概率P值。
对于进行5期预测,再接着输入以下命令运行:proc forecast data=example5_1 method=stepar trend=2 lead=5out=out outfull outtest=est;id t;var x;proc gplot data=out;plot x*t= _type_ / href=2008;symbol1i=none v=star c=black;symbol2i=join v=none c=red;symbol3i=join v=none c=green l=2;symbol4i=join v=none c=green l=2;run;表13 FORECAST过程OUT命令输出数据集图示该表有四个变量:时间变量,类型变量,预测时期标示变量,序列值变量。
表14 FORECAST过程OUTSET命令输出数据集图示此表可以查看预测过程中相关参数及拟合效果。
这些信息分为三部分:(1)关于序列的基本信息。
序列样本个数、非缺失数据个数、拟合模型自由度、残差标准差。
(2)关玉预测模型的参数估计信息。
线性模型的常数估计值、线性模型的斜率、残差自回归的参数估计值。
(3)拟合优度统计量信息。
图4 FORECAST过程预测效果图7.某地区1962-1970年平均每头奶牛的月度产奶量数据(单位:磅)如下表。
问题:(1)绘制该序列时序图,直观考察该序列的特点。
(2)使用X-11方法,确定该序列的趋势。
针对问题一:运行以下程序可得到该序列的时序图,见图5。
data example4_3;input x@@;time=intnx ('month','01jan1962'd, _n_-1);format time data;cards;589 561 640 656 727 697 640 599 568 577 553 582600 566 653 673 742 716 660 617 583 587 565 598628 618 688 705 770 736 678 639 604 611 594 634658 622 709 722 782 756 702 653 615 621 602 635677 635 736 755 811 798 735 697 661 667 645 688713 667 762 784 837 817 767 722 681 687 660 698717 696 775 796 858 826 783 740 701 706 677 711734 690 785 805 871 845 801 764 725 723 690 734750 707 807 824 886 859 819 783 740 747 711 751;proc gplot data=example4_3;plot x*time=1;symbol1c=red I=join v=star;run;图5 1962-1970年平均每头奶牛的月度产奶量的时序图通过时序图,我们可以发现1962-1970年平均每头奶牛的月度奶产量随着月度的变动有着非常明显的规律变化,此外该序列有线性递增趋势,故此时序图具有“季节”效应。
针对问题二:采用x-11过程。
在编辑窗口输入以下命令,然后运行后可得到以下几个表和图。
data example4_3;input x@@;t=intnx ('monthly','1jan1962'd, _n_-1);cards;589 561 640 656 727 697 640 599 568 577 553 582600 566 653 673 742 716 660 617 583 587 565 598628 618 688 705 770 736 678 639 604 611 594 634658 622 709 722 782 756 702 653 615 621 602 635677 635 736 755 811 798 735 697 661 667 645 688713 667 762 784 837 817 767 722 681 687 660 698717 696 775 796 858 826 783 740 701 706 677 711734 690 785 805 871 845 801 764 725 723 690 734750 707 807 824 886 859 819 783 740 747 711 751;proc x11 data=example4_3;monthly date=t;var x;output out=out b1=x d10=season d11=adjusted d12=trend d13=irr; data out;set out;estimate=trend*saeson/100;proc gplot data=out;plot x*t=1 estimate*t=2/overlay;plot adjusted*t=1trend *t=1irr*t=1;symbol1c=black i=join v=star;symbol2c=red i=join v=none w=2l=3;run;消除季节趋势,得到调整后的序列图,见图6。