ar.RdThese functions convert between the AR(p) coefficients phi,
the partial autorcorrelation coefficients pacf and the
autocorrelation function acf.
The phi-parameterization is the same as used for arima-models in R; see ?arima
and the parameter-vector a in Details.
inla.ar.pacf2phi returns phi for given pacf.
inla.ar.phi2pacf returns pac for given phi.
inla.ar.phi2acf returns acf for given phi.
inla.ar.pacf2acf returns acf for given pacf.
pac = runif(5)
phi = inla.ar.pacf2phi(pac)
pac2 = inla.ar.phi2pacf(phi)
print(paste("Error:", max(abs(pac2-pac))))
#> [1] "Error: 1.11022302462516e-16"
print("Correlation matrix (from pac)")
#> [1] "Correlation matrix (from pac)"
print(toeplitz(inla.ar.pacf2acf(pac)))
#> [,1] [,2] [,3] [,4] [,5] [,6]
#> [1,] 1.00000000 0.08075014 0.83541328 0.25992219 0.64233806 0.38701695
#> [2,] 0.08075014 1.00000000 0.08075014 0.83541328 0.25992219 0.64233806
#> [3,] 0.83541328 0.08075014 1.00000000 0.08075014 0.83541328 0.25992219
#> [4,] 0.25992219 0.83541328 0.08075014 1.00000000 0.08075014 0.83541328
#> [5,] 0.64233806 0.25992219 0.83541328 0.08075014 1.00000000 0.08075014
#> [6,] 0.38701695 0.64233806 0.25992219 0.83541328 0.08075014 1.00000000
print("Correlation matrix (from phi)")
#> [1] "Correlation matrix (from phi)"
print(toeplitz(inla.ar.phi2acf(phi)))
#> [,1] [,2] [,3] [,4] [,5] [,6]
#> [1,] 1.00000000 0.08075014 0.83541328 0.25992219 0.64233806 0.38701695
#> [2,] 0.08075014 1.00000000 0.08075014 0.83541328 0.25992219 0.64233806
#> [3,] 0.83541328 0.08075014 1.00000000 0.08075014 0.83541328 0.25992219
#> [4,] 0.25992219 0.83541328 0.08075014 1.00000000 0.08075014 0.83541328
#> [5,] 0.64233806 0.25992219 0.83541328 0.08075014 1.00000000 0.08075014
#> [6,] 0.38701695 0.64233806 0.25992219 0.83541328 0.08075014 1.00000000