Next: neg2logLarma() Up: Arima Macros Help File Previous: MASIGN   Contents

moveoutroots()

Usage:
moveoutroots(theta), REAL vector theta



Keywords: time domain, arima models
                                  Usage
moveoutroots(theta) where theta is a REAL vector defining the
polynomial P(z) = 1 - sum(theta*z^run(n)), n = length(theta), returns a
new vector theta1 defining a new polynomial P1(z) of the same form which
has the same zeros as P(z) except that any zero z0 with |z0| < 1 is
replaced by 1/z0.

Thus all the zeros of P1(z) are outside the unit circle in the complex
plane and moveoutroots(theta) are the coefficients of an invertible MA
operator and, when no zero has modulus 1, the coefficients of a
stationary (causal) AR operator.

Equivalently, if Q(z) = z^n - sum(theta*z^run(n-1,0)) and Q1(z) =
z^n - sum(theta1*z^run(n-1,0), any zero z0 of Q(z) with |z0| > 1 is
replaced by 1/z0.

                             Sign convention
moveoutroots assumes the sign convention used by Box and Jenkins and
implicit in movavg(), autoreg() and polyroot() (Arsign = -1, Masign =
-1).  When theta are MA coefficients using the sign convention of
Brockwell and Davis (Masign = +1), you should use moveoutroots(-theta).
See topic 'MASIGN'.

                                Examples
Examples:
  Cmd> moveoutroots(2)
  (1)         0.5

This is correct because 1 - 2*z has zero .5 < 1 and 1 - .5*z has zero 2
> 1.

  Cmd> moveoutroots(vector(2,-1.25))
  (1)         1.6        -0.8

This is correct because 1 - 2*z + 1.25*z^2 has zeros z = .8 +- .4*i with
|z| = sqrt(.8) = 0.89443 < 1 and 1 - 1.6*z + .8*z^2) has roots z =
(1+-.5*i) = 1/(.8 -+ .4*i) with |z| = sqrt(1.25) = 1.118 > 1.

                            Cross references
See polyroot(), movavg(), autoreg().


Gary Oehlert 2005-08-12