从今天的实验开始,开始论文第二部分,即交通流序列预测问题的研究分析。
相比第一部分交通流聚类,第二部分我看的文章较少,对于怎么做还不甚清楚。相比第一部分,第二部分所处理数据的工作量没有那么大,但难在思路和方法的创新上,并且要考虑到与第一部分结合。
今天的实验主要是3.4节交通流序列生成机制分析的一个探索。所使用的交通流为10月1日交通流。
library(ggplot2) library(TSA)
tml1001all <- read.csv("D:\\data\\thesis\\201610\\tmldata\\tml1001all.csv",header = T) dim(tml1001all)
names(tml1001all)
tml1001 <- tml1001all[,c(5,15)] names(tml1001)
qplot(x = tml1001$时间序号,y = tml1001$机动车当量,geom=c("line","point"))
Dickey-Fuller检验
样本ACF的近似线性衰减通常被认为是时间序列非平稳且需差分的征兆。
定量分析数据生成机制中非平稳的证据也是很有用的。
$$Y_t=\alpha Y_{t-1}+X_t$$
零假设对应AR特征多项式有一个单位根的情况,备择假设对应没有单位根的情况。因此,对差分序列的检验等价于检验$Y_t$的AR特征多项式是否存在单位根。
增强的ADF检验统计量使用最小二乘回归所得估计系数$\alpha$的t统计量。
通常,ADF检验前,近似的AR阶数可以基于一些信息准则AIC/BIC来估计。
某些情况下,过程可能是趋势非平稳的,在某种意义上指它具有一个确定性趋势(比如,线性趋势),否则是平稳的。
进行单位根检验就是为了区分差分平稳性和趋势平稳性,可以通过对去趋势后的数据进行ADF检验来实现这一目的。
首先考虑检验具有单位根的零假设对时间序列是具有位置均值的平稳序列的备择假设。
定义的回归方程中增加一个截距项,从而在备择假设下允许有可能的非零均值。
为了检验的进行,必须确定k值。
data("rwalk") ar(diff(rwalk))
利用对数据一阶差分的AIC,得到k=8。
adf.test(rwalk,k=8)
adf.test(rwalk,k=0)
接受原假设,即差分非平稳;
adf.test(rwalk,k=0)
有较弱证据显示该过程是具有线性趋势的非平稳过程,即该过程是线性时间趋势加上平稳误差,与过程是随机游动、差分非平稳的真实情况相反。这个例子说明在小样本下,很难区分趋势非平稳和差分平稳。
flow <- tml1001$机动车当量
ar(diff(flow))
adf.test(flow)
adf.test(diff(flow))
adf.test(flow,k=0)
对非平稳过程来说,我们根本不清楚样本ACF估计的是什么,样本ACF通常不会随着滞后的增加而迅速衰减。
acf(as.vector(tml1001$机动车当量),xaxp=c(0,24,12))
一阶差分后的ACF
acf(diff(as.vector(tml1001$机动车当量)),xaxp=c(0,24,12))
pacf(diff(as.vector(tml1001$机动车当量)),xaxp=c(0,24,12))
一阶差分后似乎是平稳的序列,并且是MA(1)型的,所以推断原始序列是IMA(1,1)型的。
plot(diff(tml1001$机动车当量),zlag(diff(tml1001$机动车当量)),type="p")
似乎确实存在负相关性
plot(diff(tml1001$机动车当量),zlag(diff(tml1001$机动车当量),2),type="p")
似乎就不存在相关性了。
验证了ACF所说IMA(1,1)模型的假想。
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.