Triangle for Parameters of AR(2) Stationary Processes

We’ve seen yesterday conditions on $(\phi_1,\phi_2)$ so that the canonical $AR(2)$ process, $(X_t)$, satisfying

$X_t=\phi_1 X_{t-1}+\phi_2 X_{t-2}+\varepsilon_t$

The condition is rather simple, since $(\phi_1,\phi_2)$ should be a triangular region. But the proof is a bit more tricky…

Recall that we want to parametrize the region

$\{(\phi_1 ,\phi_2)\in\mahtbb{R}^2: 1-\phi_1z-\phi_1z^2\neq 0,\forall z\in\mathbb{C},\vert\vert z\vert\vert \leq 1\}$

Since we have a true $AR(2)$ process, then $\phi_2\neq 0$. Our polynomial is here

$\Phi(z)=1-\phi_1z-\phi_1z^2=\left(1-\frac{z}{\lambda_1}\right)\left(1-\frac{z}{\lambda_2}\right)$

where $\lambda_i$‘s are the roots – in $\mathbb{C}$ – of $\Phi(\cdot)$. Consider now some kind of dual version of that polynomial,

$\tilde\Phi(z)=\left(1-{z}{\lambda_1}\right)\left(1-{z}{\lambda_2}\right)=1+\frac{\phi_1}{\phi_2}z+\frac{1}{\phi_2}z^2$

Having the roots of $\Phi(\cdot)$ outside the unit circle is the same as having the roots of $\tilde\Phi(\cdot)$ inside the unit circle. Obserse that we can write

$\tilde\Phi(z)=\frac{1}{\phi_2}(\underbrace{z^2-\phi_1 z-\phi_2}_{\bar{\Phi}(z)})$

Roots of $\bar{\Phi}(\cdot)}$ are then

$\xi = \frac{1}{2}\left(\phi_1\pm\sqrt{\phi_1^2+4\phi_2}\right)$

From this point, we should discuss a little bit, depending on the value of $\Delta=\phi_1^2+4\phi_2$.

• if $\Delta=\phi_1^2+4\phi_2=0$

Then there is one root, and only one. So we need to have $\vert\phi_1\vert <2$ or equivalently $\phi_2>-1$.

• if $\Delta=\phi_1^2+4\phi_2>0$

Then we got roots in $\mathbb{R}$, and

$-1< \frac{1}{2}\left(\phi_1\pm\sqrt{\phi_1^2+4\phi_2}\right)< 1$

means, equivalently, that

$\phi_2>-1 \ ; \ \phi_2-\phi_1<1 \ ; \ \phi_2+\phi_1<1$

• if $\Delta=\phi_1^2+4\phi_2<0$

Then we have two (conjugate) roots in $\mathbb{C}$, and the square of norm of those roots is $\vert\vert \xi\vert\vert^2=-\phi_2$. Thus, $\phi_2>-1$.

We get what was mention in the course: the canonical $AR(2)$ has a stationary solution if, and only if

$\left\{\begin{array}{l} \phi_2-\phi_1<1 \\\phi_2+\phi_1<1\\ \vert\phi_2\vert<1\end{array}\right.$

which is a triangular region, see

Causal Autoregressive Time Series

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

$X_t=\phi X_{t-1}+\varepsilon_t$

with some white noise $(\varepsilon_t)$, those models are obtained when $\vert \phi\vert <1$. In that case, we’ve seen that $(\varepsilon_t)$ was actually the innovation process, and we can write

$X_t = \sum_{h=0}^{+\infty} \phi^h \varepsilon_{t-h}$

which is actually a mean-square convergent series (using simple Analysis arguments on series). From that expression, we can easily see that $(X_t)$ is stationary, since $\mathbb{E}(X_t)=0$ (which does not depend on $t$) and

$\text{cov}(X_t,X_{t-h})=\frac{\phi^h}{1-\phi^2}\sigma^2$(which does not depend on $t$).

Consider now the case where $\vert \phi\vert >1$. Clearly, we have some problem here, since

$X_t = \sum_{h=0}^{+\infty} \phi^h \varepsilon_{t-h}$

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

$X_t=\frac{1}{\phi} X_{t{\color{Red} +1}}{\color{Red} -\frac{1}{\phi}}\varepsilon_{t{\color{Red} +1}}$But it is possible to iterate (as in the previous case) and write

$X_t = \sum_{h={\color{Red} 1}}^{+\infty} \frac{-1}{\phi^h} \varepsilon_{t{\color{Red} +h}}$

which is actually well defined. And in that case, the sequence of random variables $(X_t)$ obtained from this equation is the unique stationary solution of the recursive equation $X_t=\phi X_{t-1}+\varepsilon_t$. This might be confusing, but the thing is this solution should not be confused with the usual non-stationary solution of $X_t=\phi X_{t-1}+\varepsilon_t$ obtained from $X_0$. As in the code writen to generate a time series, from some starting value $X_0$ 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 $\vert \phi\vert <1$) $(\varepsilon_t)$ was the innovation process. So variable $X_t$ was not correlated with the future of the noise, $\sigma\{\varepsilon_{t+1},\varepsilon_{t+2},\cdots\}$. Which is not the case when $\vert \phi\vert >1$.

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 $\vert \phi\vert >1$

> 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) $AR(1)$ 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 $(\eta_t)$ – such that

$X_t=\frac{1}{\phi}X_{t-1}+\eta_t$

This is what we call the canonical form of the stationary process $(X_t)$.

Visualizing Autoregressive Time Series

In the MAT8181 graduate course on Time Series, we started discussing autoregressive models. Just to illustrate, here is some code to plot $AR(1)$ – causal – process,

> graphar1=function(phi){
+ nf <- layout(matrix(c(1,1,1,1,2,3,4,5), 2, 4, byrow=TRUE), respect=TRUE)
+ e=rnorm(n)
+ X=rep(0,n)
+ for(t in 2:n) X[t]=phi*X[t-1]+e[t]
+ plot(X[1:6000],type="l",ylab="")
+ abline(h=mean(X),lwd=2,col="red")
+ abline(h=mean(X)+2*sd(X),lty=2,col="red")
+ abline(h=mean(X)-2*sd(X),lty=2,col="red")
+ u=seq(-1,1,by=.001)
+ plot(0:1,0:1,col="white",xlab="",ylab="",axes=FALSE,ylim=c(-2,2),xlim=c(-2.5,2.5))
+ polygon(c(u,rev(u)),c(sqrt(1-u^2),rev(-sqrt(1-u^2))),col="light yellow")
+ abline(v=0,col="grey")
+ abline(h=0,col="grey")
+ points(1/phi,0,pch=19,col="red",cex=1.3)
+ plot(0:1,0:1,col="white",xlab="",ylab="",axes=FALSE,ylim=c(-.2,.2),xlim=c(-1,1))
+ axis(1)
+ points(phi,0,pch=19,col="red",cex=1.3)
+ acf(X,lwd=3,col="blue",main="",ylim=c(-1,1))
+ pacf(X,lwd=3,col="blue",main="",ylim=c(-1,1),xlim=c(0,16))}

e.g.

> graphar1(.8)

or

> graphar1(-.7)

(with, on the bottom, the root of the characteristic polynomial, the value of the parameter $\phi_{1}$, the autocorrelation function $h\mapsto\rho(h)$ and the partial autocorrelation function $h\mapsto\psi(h)$).

Of course, it is possible to do something similar with $AR(2)$ processes,

> graphar2=function(phi1,phi2){
+ nf <- layout(matrix(c(1,1,1,1,2,3,4,5), 2, 4, byrow=TRUE), respect=TRUE)
+ e=rnorm(n)
+ X=rep(0,n)
+ for(t in 3:n) X[t]=phi1*X[t-1]+phi2*X[t-2]+e[t]
+ plot(X[1:6000],type="l",ylab="")
+ abline(h=mean(X),lwd=2,col="red")
+ abline(h=mean(X)+2*sd(X),lty=2,col="red")
+ abline(h=mean(X)-2*sd(X),lty=2,col="red")
+ P=polyroot(c(1,-phi1,-phi2))
+ u=seq(-1,1,by=.001)
+ plot(0:1,0:1,col="white",xlab="",ylab="",axes=FALSE,ylim=c(-2,2),xlim=c(-2.5,2.5))
+ polygon(c(u,rev(u)),c(sqrt(1-u^2),rev(-sqrt(1-u^2))),col="light yellow")
+ abline(v=0,col="grey")
+ abline(h=0,col="grey")
+ points(P,pch=19,col="red",cex=1.3)
+ plot(0:1,0:1,col="white",xlab="",ylab="",axes=FALSE,xlim=c(-2.1,2.1),ylim=c(-1.2,1.2))
+ polygon(c(-2,0,2,-2),c(-1,1,-1,-1),col="light green")
+ u=seq(-2,2,by=.001)
+ lines(u,-u^2/4)
+ abline(v=seq(-2,2,by=.2),col="grey",lty=2)
+ abline(h=seq(-1,1,by=.2),col="grey",lty=2)
+ segments(0,-1,0,1)
+ axis(1)
+ axis(2)
+ points(phi1,phi2,pch=19,col="red",cex=1.3)
+ acf(X,lwd=3,col="blue",main="",ylim=c(-1,1))
+ pacf(X,lwd=3,col="blue",main="",ylim=c(-1,1),xlim=c(0,16))}

For example,

> graphar2(.65,.3)

or

> graphar2(-1.4,-.7)

Sequences defined using a Linear Recurrence

In the introduction to the time series course (MAT8181) this morning, we did spend some time on the expression of (deterministic) sequences defined using a linear recurence (we will need that later on, so I wanted to make sure that those results were familiar to everyone).

• First order recurence

The most simple case is the first order recurence, $u_n=a+b u_{n-1}$ where $b\neq 1$ (for convenience). Observe that we can remove the constant, using a simple translation $\underbrace{[u_n-m]}_{v_n} = b \underbrace{[u_{n-1}-m]}_{v_{n-1}}$ if $m=a/(1-b)$. So, starting from this point, we will always remove the constant in the recurent equation. Thus, ${v_n} = b{v_{n-1}}$. From this equation, observe that ${v_n} = b^n{v_{0}}$, which is the general expression of ${v_n}$.

• Second order recurence

Consider now a second order recurence, ${v_n} = a{v_{n-1}}+b{v_{n-2}}$. In order to find the general expression of ${v_n}$, define $\boldsymbol{V}_n =(v_{n}},{v_{n-1}})^{\sffamily T}$. Then $\underbrace{\begin{bmatrix}v_n\\v_{n-1} \end{bmatrix} }_{\boldsymbol{V}_n }= \underbrace{\begin{bmatrix}a& b \\ 1 & 0\end{bmatrix}}_B\underbrace{\begin{bmatrix}v_{n-1} \\v_{n-2} \end{bmatrix} }_{\boldsymbol{V}_{n-1} }$ This time, we have a vectorial linear recurent equation. But what we’ve done previously still holds. For instance, ${\boldsymbol{V}_n }=B{\boldsymbol{V}_{n-1} }=\cdots=B^n\boldsymbol{V}_{0}$ What could we say about $B^n$ ? If $B$ can be diagonalized, then $B=P\Delta P^{-1}$ and $B^n=P\Delta^n P^{-1}$. Thus, $\underbrace{\begin{bmatrix}v_n\\v_{n-1} \end{bmatrix} }_{\boldsymbol{V}_n }= B^n \underbrace{\begin{bmatrix}v_{0} \\v_{-1} \end{bmatrix} }_{\boldsymbol{V}_{0} }= P\underbrace{\begin{bmatrix}\lambda_1^n& 0 \\ 0 & \lambda_2^n\end{bmatrix}}_{\Delta^n} P^{-1}\underbrace{\begin{bmatrix}v_{0} \\v_{-1} \end{bmatrix} }_{\boldsymbol{V}_{0} }$ so what we’ll get here is something like$v_n = \alpha \lambda_1^n +\beta\lambda_2^n$ for some constant $\alpha$ and $\beta$. Recall that $\lambda_1$ and $\lambda_2$ are the eigenvalues of matrix $B$, and they are also the roots of the characteristic polynomial $P(x)=x^2 - ax - b$. Since $a$ and $b$ are real-valued, there are two roots for the polynomial, possibly identical, possibly complex (but then conjugate). An interesting case is obtained when the roots are $re^{\pm i\theta}$. In that case $v_n =r^n(\alpha\cos(n\theta) + \beta\sin(n\theta))$ To visualize this general term, consider the following code. A first strategy is to define the sequence, given the two parameters, and two starting values. E.g.

> a=.5
> b=-.9
> u1=1; u0=1

Then, we iterate to generate the sequence,

> v=c(u1,u0)
> while(length(v)<100) v=c(a*v[1]+b*v[2],v)
> plot(0:99,rev(v))

It is also possible to use the generic expression we’ve just seen. Here, the roots of the characteristic polynomial are

> r=polyroot(c(-b, -a, 1))
> r
[1] 0.25+0.9151503i 0.25-0.9151503i
> plot(r,xlim=c(-1.1,1.1),ylim=c(-1.1,1.1),pch=19,col="red")
> u=seq(-1,1,by=.01)
> lines(u,sqrt(1-u^2),lty=2)
> lines(u,-sqrt(1-u^2),lty=2)

Since, $v_n = \alpha \lambda_1^n +\beta\lambda_2^n$, then $\begin{cases} \alpha + \beta = v_0 \\ \alpha r_1 + \beta r_2 = v_1 \end{cases}$ it is possible to derive numerical expressions for the two parameters. If $v_n =r^n(A\cos(n\theta) + B\sin(n\theta))$, then $A=\lambda+\mu$ while $B=i(\lambda-\mu)$. Thus,

> A=sum(solve(matrix(c(1,r[1],1,r[2]),2,2),c(u0,u1)))
> B=diff(solve(matrix(c(1,r[1],1,r[2]),2,2),c(u0,u1)))* complex(real=0,imaginary=1)

We can plot the sequence of points

> plot(0:99,rev(v))

and then we can also plot the sine wave, too

> t=seq(0,100,by=.1)
> bv=function(t) Mod(r)[1]^t
> fv=function(t) Mod(r)[1]^t*(A*cos(t*Arg(r)[1])+B*sin(t*Arg(r)[1]))
> lines(t,Vectorize(bv)(t-1),col="red",lty=2)
> lines(t,-Vectorize(bv)(t-1),col="red",lty=2)
> lines(t,Vectorize(fv)(t-1),col="blue")

We will see a lot of graph like this in the course, when looking at autocorrelation functions.

• Higher order recurence

More generally, we can write $\underbrace{\begin{bmatrix}v_n\\v_{n-1}\\v_{n-2}\\ \vdots \\ v_{n-p+1} \end{bmatrix} }_{\boldsymbol{V}_n }= \underbrace{\begin{bmatrix}b_{1} & b_{2} &b_3& \cdots & b_{p} \\ 1 & 0 & 0& \cdots &0\\ 0 & 1 & 0& \cdots &0\\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & 0& \cdots & 0\end{bmatrix}}_B\underbrace{\begin{bmatrix}v_{n-1} \\v_{n-2}\\v_{n-3} \\ \vdots \\ v_{n-p} \end{bmatrix} }_{\boldsymbol{V}_{n-1} }$ The matrix is a so called companion matrix. And similar results could be obtained for the expression of the general term of the sequence. If all that is not familar, I strongly recommand to read carefully a textbook on sequences and linear recurence.

Séries chronologiques, syllabus

Le plan de cours pour le cours MAT8181 Séries Chronologiques est en ligne. L’entente d’évaluation sera signée au premier cours, ce lundi à 13:30 (salle SH-3140). D’autre billets seront mis en ligne dans les jours à venir, avec quelques exercices, et les articles qui serviront de base pour les projets, en particulier sur http://freakonometrics.hypotheses.org/courses/series-chronologiques.