这个例子展示了如何检验单变量时间序列模型的平稳性。它展示了如何模拟四种模型的数据:趋势平稳模型、差异平稳模型、平稳模型(AR(1))和异方差随机漫步模型。它还表明,测试产生了预期的结果。
模拟四个时间序列。
t = 1E3;%样本大小t = (1: t) ';%的时间多rng (142857);再现性的百分比Y1 = RANDN(T,1)+ .2 * T;%趋势稳定MDL2 = Arima(' D ',1,“不变”, 0.2,“方差”1);y2 =模拟(Mdl2 T“Y0”, 0);%不同固定Mdl3 = arima (基于“增大化现实”技术的, 0.99,“不变”, 0.2,“方差”1);y3 =模拟(Mdl3 T“Y0”, 0);% AR (1)Mdl4 = arima (' D ',1,“不变”, 0.2,“方差”1);标准差= (sint /200) + 1.5)/2;%性病偏差e = randn (T) 1)。*σ;%的创新Y4 =滤波器(MDL4,E,“Y0”, 0);异方差的百分比
绘制每个系列中的前100点。
Y = [y1 y2 y3 y4];图;plot1 =情节(y (1:10 0,:));plot1(1)。线宽= 2;plot1(3)。线型=“:”;plot1(3)。线宽= 2;plot1(4)。线型=“:”;plot1(4)。线宽= 2;标题'{\bf每个系列的前100个周期}';传奇(的趋势平稳,不同固定的,“AR(1)”,...“异方差的”,“位置”,“西北”);
所有模型都呈现出不存在的并且表现类似。因此,您可能会发现难以通过查看其初始段来区分哪些系列来自哪个模型。
绘制整个数据集。
plot2 =情节(y);plot2(1)。线宽= 2;plot2(3)。线型=“:”;plot2(3)。线宽= 2;plot2(4)。线型=“:”;Plot2(4).LineWidth = 2;标题'{\ bf每个整个系列}';传奇(的趋势平稳,不同固定的,“AR(1)”,...“异方差的”,“位置”,“西北”);
这一系列的区别在这里很明显:
趋势平稳序列与平均趋势的偏差很小。
差异平稳和异方差序列有持续偏离趋势线。
AR(1)系列表现出长期平稳行为;其他的是线性增长的。
差分平稳序列与异方差序列具有相似性。而异方差序列在300周期附近的局部变率较大,900周期附近的局部变率较小。时模型方差最大 在时间 .模型方差最小时 在时间 .因此,视觉可变性与模型匹配。
在三个成长系列上使用增强的Dicky-Fuller测试(日元
,y2
,y4
)评估该系列是否有单位根。由于该系列正在增长,因此指定存在趋势。在这种情况下,空假设是
另一个假设是
.为了演示,将滞后次数设置为2。
hy1 = Adftest(Y1,“模型”,“t”,'滞后'2)
hY1 =逻辑1
hY2 = adftest (y2,“模型”,“t”,'滞后'2)
hY2 =逻辑0
hy4 = Adftest(Y4,“模型”,“t”,'滞后'2)
hY4 =逻辑0
hY1 = 1
表明有足够的证据表明日元
是趋势平稳。这是正确的决定,因为日元
为结构上固定的趋势。
hY2 = 0
表明没有足够的证据表明y2
是趋势平稳。这是自以来的正确决定y2
是根据结构固定的差异。
hY4 = 0
表明没有足够的证据表明y4
是趋势平稳。这是正确的决定,然而,dicky - fuller检验不适合一个异方差的级数。
在AR(1)系列上使用增强Dickey-Fuller测试(y3
)评估该系列是否具有单位根。由于该系列不变,因此指定该系列是具有漂移项的自回归。在这种情况下,空假设是
另一个假设是
.为了演示,将滞后次数设置为2。
hY3 = adftest (y3,“模型”,“ard”,'滞后'2)
hY3 =逻辑1
hY3 = 1
表示有足够的证据表明这一点y3
是一个具有漂移项的平稳的自回归过程。这是正确的决定,因为y3
是一个具有绘制术语的自回归过程。
使用KPSS测试来评估该系列是否为单位根非平稳。指明在成长系列中有一个趋势(日元
,y2
,y4
).KPSS测试假定以下模型:
在哪里 是一个平稳的过程吗 是一个均值为0,方差为0的独立同分布过程吗 .是否存在模型中的趋势,零假设是 (该系列是趋势静止),替代假设是 (不趋势静止)。为了演示,将滞后次数设置为2。
hY1 = kpsstest(日元'滞后'2,“趋势”,真正的)
hY1 =逻辑0
hY2 = kpsstest (y2,'滞后'2,“趋势”,真正的)
hY2 =逻辑1
hY3 = kpsstest (y3,'滞后'2)
hY3 =逻辑1
hY4 = kpsstest (y4,'滞后'2,“趋势”,真正的)
hY4 =逻辑1
所有测试都是正确的决定。
使用AL四系列的方差比测试来评估该系列是否随机散步。null假设是
:
是常数,另一个假设是
:
不是常数。具体说明这些创新是独立的,并且对所有人都是相同的,但是日元
.测试y4
两种方法。
hY1 = vratiotest(日元)
hY1 =逻辑1
hY2 = vratiotest (y2,“IID”,真正的)
hY2 =逻辑0
hy3 = vratiotest(y3,“IID”,真正的)
hY3 =逻辑0
hY4NotIID = vratiotest (y4)
hY4NotIID =逻辑0
hY4IID = vratiotest (y4,“IID”,真正的)
hY4IID =逻辑0
所有测试的结果都是正确的,除了hY4_2 = 0
.该测试不会拒绝异源过程是IID随机行走的假设。这种不一致可能与随机种子相关联。
或者,你也可以用PPTEST.
这个例子展示了如何测试一个单位根的单变量时间序列。它使用了制造业的工资数据(1900-1970年)。这个系列在Nelson-Plosser数据集中。
加载Nelson-Plosser数据。提取名义工资数据。
负载Data_NelsonPlosser工资= DataTable.WN;
修剪南
序列的值和相应的日期(此步骤是可选的,因为测试忽略南
值)。
wDates =日期(isfinite(工资));工资=工资(isfinite(工资));
绘制数据以寻找趋势。
情节(wDates,工资)标题(“工资”)
这张图显示出指数增长。
使用log函数转换数据以线性化级数。
logWages =日志(工资);情节(wDates logWages)标题(“日志工资”)
从图中可以看出,时间序列具有线性趋势。
对不存在单位根(趋势平稳)的原假设与该序列是具有趋势(差异平稳)的单位根过程的备择假设进行检验。集'LAG',7:2:11
,正如Kwiatkowski等人,1992年提出的。
[h1, pValue1] = kpsstest (logWages,“滞后”7:2:11)
h1 =1x3逻辑阵列0 0 0
pValue1 =1×30.1000 0.1000 0.1000
kpsstest
未能拒绝零假设,即工资系列是趋势固定。
测试NULL假设,即该系列是一个单位根过程(差异静止),替代该系列是趋势稳定性的替代假设。
(h2, pValue2) = adftest (logWages,“模型”,“t”)
h2 =逻辑0
pvalue2 = 0.8327
adftest
不能拒绝工资序列是单位根过程的无效假设。
因为两个测试的结果不一致,所以尚不清楚工资系列具有单位根。这是许多宏观经济系列测试的典型结果。
kpsstest
有一组有限的计算临界值。当它计算出一个超出这个范围的测试统计值时,测试报告在适当端点的p值。在这种情况下,pValue
反映最接近的表列值。当测试统计量位于表列值的范围内时,kpsstest
线性插值p值。
这个例子展示了如何评估一个时间序列是否是一个随机漫步。它使用2000年1月1日至2005年11月7日期间的股票和现金(货币市场)的日收益率的市场数据。
加载数据。
负载CAPMuniverse
提取两个系列进行测试。数据的第一栏是科技股的日回报率。最后一栏(第14栏)是每日现金回报率(每日货币市场利率)。
tech1 =数据(:1);金钱=数据(:,14);
回报是一天结束时的值与一天开始时的值之比的对数。
将数据转换为价格(值)而不是返回。vratiotest
将价格作为投入,而不是回报。
tech1 = cumsum (tech1);金钱= cumsum(钱);
绘制数据,看看它们是否似乎是静止的。
子图(2,1,1)绘图(日期,Tech1);标题(的日志(相对股票价值)) datetick (“x”)举行在次要情节(2,1,2);情节(日期、金钱)标题('日志(累计现金)') datetick (“x”)举行从
现金的可变性较小,而且似乎具有长期趋势。该系列股票有很大的变异性,并没有确定的趋势,虽然它似乎增加到接近尾声。
测试库存系列是否与随机散步匹配。
[h, pValue,统计,cValue比率)= vratiotest (tech1)
h =逻辑0
pValue = 0.1646
统计= -1.3899
cvalue = 1.9600.
率= 0.9436
vratiotest
不否认随机漫步是股票系列的合理模型的假设。
测试是否是i.i.d.随机步行是股票系列的合理模型。
[h, pValue,统计,cValue比率)= vratiotest (tech1,“IID”,真正的)
h =逻辑1
pValue = 0.0304
stat = -2.1642.
cvalue = 1.9600.
率= 0.9436
vratiotest
拒绝了I.I.D.随机游走是一个合理的模型的假设tech1
股票系列在5%的水平。因此,vratiotest
表示最合适的模型tech1
级数是异方差随机漫步。
测试现金序列是否与随机漫步相匹配。
[h,pvalue,stat,cvalue,比率] = vratiotest(钱)
h =逻辑1
pValue = 4.6093 e - 145
统计= 25.6466
cvalue = 1.9600.
率= 2.0006
vratiotest
强调拒绝随机游走是现金序列的合理模型的假设(pValue = 4.6093 e - 145
).从序列中删除趋势并不影响最终的统计数据。
Kwiatkowski, D. P. C. B. Phillips, P. Schmidt和Y. Shin。"用单位根替代检验平稳性的无效假设"中国经济学杂志.1992年第54卷,159-178页。
adftest
|kpsstest
|PPTEST.
|vratiotest