Loading [MathJax]/jax/output/HTML-CSS/jax.js

21 - Concentration and covariance matrix in an autoregressive model and in a dynamic linear model

Mikkel Meyer Andersen and Søren Højsgaard

Thu Nov 30 15:39:51 2023

library(caracas)

0.1 Autoregressive model (AR(1))

Consider this model: xi=axi1+ei,i=1,,3 and x0=e0. All terms e0,,e3 are independent and N(0,v2) distributed. Let e=(e0,,e3) and x=(x0,x3). Hence eN(0,v2I). Isolating error terms gives e=[e0e1e2e3]=[1000a1000a1000a1][x0x1x2x3]=L1x

N <- 3
L1 <- diag(4)
L1[cbind(1 + (1:N), 1:N)] <- "-a"
L1 <- as_sym(L1)

Since Var(e)=v2I we have Var(e)=v2I=LVar(x)L so the covariance matrix of x is V1=Var(x)=v2L(L) while the concentration matrix (the inverse covariances matrix) is K=v2LL.

def_sym(v2)
L1inv <- inv(L1)
V1 <- v2 * L1inv %*% t(L1inv)
K1 <- (t(L1) %*% L1) / v2

K1=[a2+1v2av200av2a2+1v2av200av2a2+1v2av200av21v2]V1=[v2av2a2v2a3v2av2v2(a2+1)v2(a3+a)v2(a4+a2)a2v2v2(a3+a)v2(a4+a2+1)v2(a5+a3+a)a3v2v2(a4+a2)v2(a5+a3+a)v2(a6+a4+a2+1)]

0.2 Dynamic linear model

Augment the AR(1) process above with yi=bxi+ui for i=1,2,3. Suppose uiN(0,w2) and all ui are independent and inpendent of e. Then (e,u) can be expressed in terms of (x,y) as (e,u)=[e0e1e2e3u1u2u3]=[1000000a1000000a1000000a10000b0010000b0010000b001][x0x1x2x3y1y2y3]=L2(x,y) where

N <- 3
L2 <- diag("1", 1 + 2*N)
L2[cbind(1 + (1:N), 1:N)] <- "-a"
L2[cbind(1 + N + (1:N), 1 + 1:N)] <- "-b"
L2 <- as_sym(L2)
Veu <- diag(1, 7)
diag(Veu)[1:4] <- "v2"
diag(Veu)[5:7] <- "w2"
Veu
#>      [,1] [,2] [,3] [,4] [,5] [,6] [,7]
#> [1,] "v2" "0"  "0"  "0"  "0"  "0"  "0" 
#> [2,] "0"  "v2" "0"  "0"  "0"  "0"  "0" 
#> [3,] "0"  "0"  "v2" "0"  "0"  "0"  "0" 
#> [4,] "0"  "0"  "0"  "v2" "0"  "0"  "0" 
#> [5,] "0"  "0"  "0"  "0"  "w2" "0"  "0" 
#> [6,] "0"  "0"  "0"  "0"  "0"  "w2" "0" 
#> [7,] "0"  "0"  "0"  "0"  "0"  "0"  "w2"
Veu <- as_sym(Veu)
Veu
#> c: ⎡v₂  0   0   0   0   0   0 ⎤
#>    ⎢                          ⎥
#>    ⎢0   v₂  0   0   0   0   0 ⎥
#>    ⎢                          ⎥
#>    ⎢0   0   v₂  0   0   0   0 ⎥
#>    ⎢                          ⎥
#>    ⎢0   0   0   v₂  0   0   0 ⎥
#>    ⎢                          ⎥
#>    ⎢0   0   0   0   w₂  0   0 ⎥
#>    ⎢                          ⎥
#>    ⎢0   0   0   0   0   w₂  0 ⎥
#>    ⎢                          ⎥
#>    ⎣0   0   0   0   0   0   w₂⎦
L2inv <- inv(L2) 
V2 <- L2inv %*% Veu %*% t(L2inv) 
K2 <- t(L2) %*% inv(Veu) %*% L2

K2=[a2v2+1v2av200000av2a2v2+b2w2+1v2av20bw2000av2a2v2+b2w2+1v2av20bw2000av2b2w2+1v200bw20bw2001w20000bw2001w20000bw2001w2]V2=[v2av2a2v2a3v2abv2a2bv2a3bv2av2a2v2+v2a3v2+av2a4v2+a2v2a2bv2+bv2a3bv2+abv2a4bv2+a2bv2a2v2a3v2+av2a4v2+a2v2+v2a5v2+a3v2+av2a3bv2+abv2a4bv2+a2bv2+bv2a5bv2+a3bv2+abv2a3v2a4v2+a2v2a5v2+a3v2+av2a6v2+a4v2+a2v2+v2a4bv2+a2bv2a5bv2+a3bv2+abv2a6bv2+a4bv2+a2bv2+bv2abv2a2bv2+bv2a3bv2+abv2a4bv2+a2bv2a2b2v2+b2v2+w2a3b2v2+ab2v2a4b2v2+a2b2v2a2bv2a3bv2+abv2a4bv2+a2bv2+bv2a5bv2+a3bv2+abv2a3b2v2+ab2v2a4b2v2+a2b2v2+b2v2+w2a5b2v2+a3b2v2+ab2v2a3bv2a4bv2+a2bv2a5bv2+a3bv2+abv2a6bv2+a4bv2+a2bv2+bv2a4b2v2+a2b2v2a5b2v2+a3b2v2+ab2v2a6b2v2+a4b2v2+a2b2v2+b2v2+w2]