SAS学习系列37时间序列分析Ⅰ平稳性及纯随机性检验.docx
《SAS学习系列37时间序列分析Ⅰ平稳性及纯随机性检验.docx》由会员分享,可在线阅读,更多相关《SAS学习系列37时间序列分析Ⅰ平稳性及纯随机性检验.docx(14页珍藏版)》请在冰豆网上搜索。
SAS学习系列37时间序列分析Ⅰ平稳性及纯随机性检验
37.时间序列分析I—平稳性及纯随机性检验
(一)基本概念
一、什么是时间序列?
为了研究某一事件的规律,依据时间发生的顺序将事件在多个时刻的数值记录下来,就构成了一个时间序列。
对时间序列进行观察、研究,找寻它变化发展的规律,预测它将来的发展趋势就是时间序列分析。
例如,国家或地区的年度财政收入,股票市场的每日波动,气象变化,工厂按小时观测的产量等等。
注:
随温度、高度等变化而变化的离散序列,也可以看作时间序列。
二、时间序列的特点
(1)顺序性;
(2)随机性;
(3)前后时刻(不一定相邻)的依存性;
(4)整体呈趋势性和周期性。
三、时间序列的分类
按研究对象的数目:
一元时间序列、多元时间序列;
按序列统计特性:
平稳时间序列、非平稳时间序列;
按分布规律:
高斯时间序列、非高斯时间序列。
四、研究方法
1.平稳时间序列分析;
2.非平稳时间序列分析(确定性分析、随机性分析)。
五、其它
任何时间序列经过合理的函数变换后都可以被认为是由下列三部分叠加而成:
(1)趋势项部分;
(2)周期项部分;
(周期项);随机信号和随机噪声。
时间序列分析的主要任务就是:
上面三部分分解出来,是研究平稳随机过程的变化规律,建立特定的ARIMA模型(要求大体平稳、可能含有周期但不能有规则性的线性指数等类型趋势项)。
六、方法性工具
1.差分运算
(1)k步差分
间隔k期的观察值之差:
A<=xt-xt-k
(2)p阶差分
Axt=xt-xt-i称为一阶差分;
p
pxtp1xtp1xt1
(1)iCipxtpi称为p阶差分;
i0
SAS函数实现:
diffn(x)
2.延迟算子
延迟算子作用于时间序列,时间刻度减小1个单位(序列左移一位):
Bxt=xt-i,,Bt=xt-p.
SAS函数实现:
lagn(x)
用延迟算子表示k步差分和p阶差分为:
Ak=Xt-Xt-k=(1-Bk)xt
p
pxt(IB)p
(1)pCipxti
i0
(二)平稳时间序列
一、概念
平稳时间序列按限制条件的严格程度,分为
严平稳时间序列:
序列所有的统计性质都不会随着时间的推移而发生变化;
宽平稳时间序列:
序列的主要性质近似稳定,即统计性质只要保证序列的二阶矩平稳,即对任意的时间t,s,k,序列Xt满足:
EX:
EX:
—z
Eg-再)(兀-儿)-E(X十从)(兀心-从")
二、平稳时间序列的统计性质
(1)均值为常数;
(2)自协方差只依赖于时间跨度;
若定义自协方差函数为
丫t(s)=E(Xt-卩)(Xs-閒
则可由二元函数简化为一元函数丫t-s),得延迟k自协方差函数:
丫(二Y,t+k)
由此易知平稳时间序列必具有常数方差:
D(Xt)=E(Xt-砧2二丫(二丫(0)
时间序列自相关函数:
延迟k自相关函数:
基本性质:
(1)P(0)=1;
(2)p()=p(k);
(3)自相关阵为对称负定阵;
(4)非唯一性。
Xt,Yt)
在两个不同
注意:
协方差函数和相关函数——度量两个不同事件彼此之间的相互影响的程度。
自协方差函数和自相关函数一一度量用一事件(X时期之间的相互影响的程度。
三、样本估计值
总体均值的估计值:
延迟k自协方差函数的估计值:
n-k
为(旺—壬)(兀鼻—可
7間=旦.
总体方差的估计值:
/(0)-r=1一—
n-k
延迟k自相关函数的估计值:
n-k
辿)
/(0)
£(九-可仗讥-壬)
1=1
n
乞(兀-讦
四、平稳性检验
(1)时序图检验
若无明显的趋势性和周期性,则平稳;
(2)自相关图检验
零均值平稳序列的自相关函数要么截尾要么拖尾;若时间序列零均值化后出现缓慢衰减或周期性衰减,则说明存在趋势性和周期性
(非平稳);
(3)单位根检验就是通过检验时间序列自回归特征方程的特征
根是在单位圆内(平稳)还是在单位圆及单位圆外(非平稳)。
通常
用ADF检验法。
Dickey和Fuller(1979)利用如下的广义自回归模型
其中,纲乙表示x的一阶差分;知-1表示延迟一期;Axj,t-k表示延迟k期再一阶差分;&,t表示扰动项。
上述回归模型生成的九t-1的t值正好对应ADF统计量,做假设检验:
Ho:
非平稳;H仁平稳。
t值在1%,5%,10%置信水平的临界值分别为:
-3.524233,-2.902358,-2.588587.以此判断序列是否平稳。
注:
若Xt不平稳,可以依次对Xt做一阶、二阶…差分,直到序列平稳
例1.平稳性检验一一ADF检验的SAS实现。
代码:
datasimulation;
doi=1to100;
x=rannor(1234);
output;
end;
run;
datatimeseries;
setsimulation;
x_1st_lag=Iag1(x);
x_1st_diff=dif1(x);x_1st_diff_1st_lag=dif1(lag1(x));x_1st_diff_2nd」ag=dif1(lag2(x));x_1st_diff_3rd」ag=dif1(lag3(x));x_1st_diff_4th」ag=dif1(lag4(x));x1stdiff5th」ag=dif1(lag5(x));run;
procregdata=timeseries;modelx1stdiff=x1stlagx1stdiff1stlag
x1stdiff2ndlag
x1stdiff3rdlag
x1stdiff4thlag
x_1st_diff_5th」ag;run;
运行结果:
REG过程
模型:
MODEL1
因变量:
x1stdiff
读取的观测数100
使用的观测数94
具有缺失值的观测数6
方差分析
源
自由度
平方和
均方F值Pr>F
模型
6
111.3808218.5634715.25<.0001
误差
87
105.88424
1.21706
方差分析
源自由度平方和均方F值Pr>F
校正合计93217.26507
均方根误差1.10320R方0.5126
因变量均值0.02507调整R方0.4790
变异系数4399.76165
参数估计值
变量
自由度
参数估计值
标准误差
t值Pr
>|t|
Intercept
1
-0.01634
0.11418-0.14
0.8866
x_1st_lag
1
-0.70975
0.20949
-3.39
0.0011
x1stdiff1stlag
1
-0.26217
0.19212
-1.36
0.1759
x1stdiff2ndlag
1
-0.15780
0.17907
-0.88
0.3806
x1stdiff3rdlag
1
-0.01973
0.16308-0.12
0.9040
x1stdiff4thlag
1
0.07067
0.13938
0.51
0.6134
x1stdiff5thlag
1
0.00340
0.10591
0.03
0.9745
x_1st_lag的t值=-3.39<如)5=-2.902358,(或从P值=0.0011<
0.05判断)故拒绝原假设H。
,即序列平稳。
五、纯随机性检验
若序列值彼此之间没有任何相关性,即过去的行为对未来的发展没有丝毫影响,此时称为纯随机序列。
从统计分析的角度而言,纯随机序列是没有任何分析价值的序列。
因此,为了确保平稳序列还值不值得分析,还需要对平稳序列进行纯随机性检验。
1.纯随机序列(白噪声序列)
若对任取的时间t和s,时间序列Xt满足:
(1)E(Xt)=;(常数均值)
(2)r(t,s)=2,(T若t=s;(方差齐性)
(3)r(t,s)=0,若t丰s.(纯随机性)
则称Xt为纯随机序列或白噪声序列(白光具有该特性),简记为Xt~WN@,2)。
白噪声序列是最简单的平稳时间序列。
随机生成的1000个服从标准正态分布的白噪声序列观察值:
标准正态分布白噪声序列Xt
2.纯随机性检验
Barlett证明:
n个观察值的纯随机时间序列,延迟为k(工0)的自相关函数p(k)近似服从正态分布N(0,1/n).
由此可以构造Qbp统计量(适合样本数n》50)和Qlb统计量(适合小样本)来检验序列的纯随机性:
Qbp=吃02(的〜才伽)
*=i
再做假设检验:
Ho:
p
(1)=p
(2)=…,即延迟<m的序列之间相互独立;
H仁至少有一个p(今0,即延迟wm的序列之间有相关性。
注:
m—般取值为6、12。
这是因为平稳序列通常具有短期相关性,只要序列时期足够长,自相关系数都会收敛于零。
例2.数据如下表,时间间隔为天,起始时间自定义
10
15
10
10
12
10
7
7
10
14
8
17
14
18
r3
9
11
r10
6
12
「14
10
25
r29
33
33
12
19
16
19
19
12
34
15
36
29
26
21
17
19
13
20
24
12
6
14
6
12
9
11
r17
12
8
r14
14
12
P5
8
10
P3
16:
8
8
7
12
6
10
8
10
5
(1)判断该序列xt的平稳性及纯随机性;
(2)判断xt的一阶差分yt的平稳性及纯随机性。
代码:
datadatasl;inputxt@@;
time=intnx('day','01jan2014'd,_n_-1);
format
timemonyy.;
cards;
10
15101012107
710148
17
14
183911106
1214102529
33
3312191619191234153629
26
211719132024126
146
12
9111712814141258103
16887126108105
run;
procgplotdata=datas1;
plotx_t*time;
symboli=joinv=starcv=redci=green;run;
procarimadata=datas1;
identifyvar=xtnlag=24;
run;
datadatas2;
symboli=joinv=starcv=redci=green;run