4

I'm trying to write autocovariance matrix of AR(1) process in R and I'm having difficulty. The autocovariance matrix that I'm using in my project takes the form as shown in the picture:

enter image description here

I also formed an example matrix of size n=5 for simplification and that's what I'm trying to code on R. I'm new to forming equations and matrices on R. I have an idea on where to start in terms of forming a diagonal matrix but my problem is in the power of the elements of the matrix, I'm unable to come up with a method to automate the power of each element. Any ideas here?

Rali
  • 75
  • 1
  • 8
  • @Rali could you explain what your notation stands for. In particular, what these $\delta_i$s are. – Taylor Jul 29 '17 at 20:14
  • @Taylor the matrix represents variance covariance matrix of an unevenly spaced time series. The deltas represent the time gaps between the observations. e.g. delta_1 is the space between observations y_1 and y_2. I'm assuming an AR(1) process and Phi is the parameter. – Rali Jul 29 '17 at 20:29
  • 1
    @Rali ok cool then this is not a toeplitz matrix. Idk if the function still handles this situation, though – Taylor Jul 29 '17 at 20:47

1 Answers1

10

The covariance between an observation at time $t_i$ and time $t_j$ is $$ \frac{\sigma^2}{1-\phi^2}\phi^{|t_i-t_j|} $$ If the delta's are time gaps between the time points $t_1,t_2,\dots,t_5$, then each $t_i$ are given by cumulative sums of the delta's. In R do

delta <- c(0,1,3,4,8)
phi <- .5
sigma <- 1
t <- cumsum(delta)
Sigma <- sigma^2/(1-phi^2)*phi^abs(outer(t,t,"-"))
Jarle Tufto
  • 7,989
  • 1
  • 20
  • 36