innovations(gamma [,lag:m] [,final:T]), REAL vector gamma, integer m > 0 |

innovations() computes the "innovation" algorithm given on p. 71 of Brockwell, and Davis, computing a M by M matrix containing coefficients and prediction variances. It actually uses Cholesky decomposition rather than the algorithm as given in Brockwell and Davis. innovations(gamma [,lag:M] [,final:T]), returns structure(theta:Theta, v:V) where Theta is a M by M REAL matrix and V is a vector of length M+1. gamma is either a REAL n by n covariance matrix or a REAL vector of length n containing an autocovariance function (ACVF). M < n is a positive integer with default value n - 1. When gamma is an ACFV, innovations(gamma [,lag:M]) is the same as innovations(toeplitz(gamma) [,lag:M]) The result is not affected by variables MASIGN if it exists. Suppose {X[1], X[2], ..., X[M+1]} is a sequence of random variables with covariance matrix gamma (toeplitz(gamma) in ACVF case). Then Theta is the M by M matrix with the property that Theta[j,j]*Z[j] + Theta[j,j-1]*Z[j-1] + ... + Theta[j,1]*Z[1] is the best one step predictor of X[j+1] based on prediction errors Z[1] = X[1], Z[2] = X[2] - Theta[1,1]*X[1], ..., Z[j] = Theta[j-1,j-1]*Z[j-1]+Theta[j-1,j-2]*Z[j-2]+...+Theta[j-1,1]*Z[1]. Note that Z[j] could be expressed as a linear combination of X[j], X[j-1], ..., X[1] so that the prediction is also the best prediction of X[j+1] as a linear combination of X[j], X[j-1], ..., X[1]. V is a length M+1 vector with V[1] = gamma[1,1] = Var[X[1]] and V[j+1] = prediction error variance when X[j+1] is predicted using X[1], X[2], ..., X[j] (or Z[1], ..., Z[j]). When final:T is an argument, the result is structure(theta:vector(Theta[m,]), v:V[m+1]) See also innovest().

Gary Oehlert 2003-01-15