# Causal Autoregressive Time Series

January 21, 2014
By

(This article was first published on Freakonometrics » R-english, and kindly contributed to R-bloggers)

In the MAT8181 graduate course on Time Series, we will discuss (almost) only causal models. For instance, with ,

with some white noise , those models are obtained when . In that case, we’ve seen that was actually the innovation process, and we can write

which is actually a mean-square convergent series (using simple Analysis arguments on series). From that expression, we can easily see that is stationary, since (which does not depend on ) and

(which does not depend on ).

Consider now the case where . Clearly, we have some problem here, since

cannot be defined (the series does not converge, in ). Nevertheless, it is still possible to write

But it is possible to iterate (as in the previous case) and write

which is actually well defined. And in that case, the sequence of random variables obtained from this equation is the unique stationary solution of the recursive equation . This might be confusing, but the thing is this solution should not be confused with the usual non-stationary solution of obtained from . As in the code writen to generate a time series, from some starting value in the previous post.

Now, let us spent some time with this stationary time series, considered as unatural in Brockwell and Davis (1991). One point is that, in the previous case (where ) was the innovation process. So variable was not correlated with the future of the noise, . Which is not the case when .

All that looks nice, if you’re willing to understand thing at some theoretical level. What does all that mean from a computational perspective ? Consider some white noise (this noise actually does exist whatever you want to define, based on that time series)

> n=10000
> e=rnorm(n)
> plot(e,type="l",col="red")

> phi=.8
> X=rep(0,n)
> for(t in 2:n) X[t]=phi*X[t-1]+e[t]

The time series – the latest 1,000 observations – looks like

Now, if we use the cumulated sum of the noise,

> Y=rep(0,n)
> for(t in 2:n) Y[t]=sum(phi^((0:(t-1)))*e[t-(0:(t-1))])

we get

Which is exactly the same process ! This should not surprise us because that’s what the theory told us. Now, consider the problematic case, where

> phi=1.1
> X=rep(0,n)
> for(t in 2:n) X[t]=phi*X[t-1]+e[t]

Clearly, that series is non-stationary (just look at the first 1,000 values)

Now, if we look at the series obtained from the cumulated sum of future values of the noise

> Y=rep(0,n)
> for(t in 1:(n-1)) Y[t]=sum((1/phi)^((1:(n-t)))*e[t+(1:(n-t))])

We get something which is, actually, stationary,

So, what is this series exactly ? If you look that the autocorrelation function,

> acf(Y)

we get the autocorrelation function of a (stationary) process,

> acf(Y)[1]

Autocorrelations of series ‘Y’, by lag

1
0.908

> 1/phi
[1] 0.9090909

Observe that there is a white noise – call it – such that

This is what we call the canonical form of the stationary process .

R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...