This function implements the algorithm of Porat and Friedlander
(1986) to recursively compute the exact expected
information matrix (EIM) of Gaussian time series with stationary
random components.
By default, when the VGLM/VGAM family function
AR1
is used to fit an AR(\(1\)) model
via vglm
, Fisher scoring is executed using
the approximate EIM for the AR process. However, this model
can also be fitted using the exact EIMs computed by
AR1EIM
.
Given \(N\) consecutive data points,
\( {y_{0}, y_{1}, \ldots, y_{N - 1} } \) with probability density \(f(\boldsymbol{y})\),
the Porat and Friedlander algorithm
calculates the EIMs
\( [J_{n-1}(\boldsymbol{\theta})] \),
for all \(1 \leq n \leq N\). This is done based on the
Levinson-Durbin algorithm for computing the orthogonal polynomials of
a Toeplitz matrix.
In particular, for the AR(\(1\)) model, the vector of parameters
to be estimated under the VGAM/VGLM approach is
$$ \boldsymbol{\eta} = (\mu^{*}, loge(\sigma^2), rhobit(\rho)),$$
where \(\sigma^2\) is the variance of the white noise
and \(mu^{*}\) is the drift parameter
(See AR1
for further details on this).
Consequently, for each observation \(n = 1, \ldots, N\), the EIM,
\(J_{n}(\boldsymbol{\theta})\), has dimension
\(3 \times 3\), where the diagonal elements are:
$$ J_{[n, 1, 1]} =
E[ -\partial^2 \log f(\boldsymbol{y}) / \partial ( \mu^{*} )^2 ], $$
$$ J_{[n, 2, 2]} =
E[ -\partial^2 \log f(\boldsymbol{y}) / \partial (\sigma^2)^2 ], $$
and
$$ J_{[n, 3, 3]} =
E[ -\partial^2 \log f(\boldsymbol{y}) / \partial ( \rho )^2 ]. $$
As for the off-diagonal elements, one has the usual entries, i.e.,
$$ J_{[n, 1, 2]} = J_{[n, 2, 1]} =
E[ -\partial^2 \log f(\boldsymbol{y}) / \partial \sigma^2
\partial \rho], $$
etc.
If var.arg = FALSE
, then \(\sigma\) instead of \(\sigma^2\)
is estimated. Therefore, \(J_{[n, 2, 2]}\),
\(J_{[n, 1, 2]}\), etc., are correspondingly replaced.
Once these expected values are internally computed, they are returned
in an array of dimension \(N \times 1 \times 6\),
of the form
$$J[, 1, ] = [ J_{[ , 1, 1]}, J_{[ , 2, 2]}, J_{[ , 3, 3]},
J_{[ , 1, 2]}, J_{[, 2, 3]}, J_{[ , 1, 3]} ]. $$
AR1EIM
handles multiple time series, say \(NOS\).
If this happens, then it accordingly returns an array of
dimension \(N \times NOS \times 6 \). Here,
\(J[, k, ]\), for \(k = 1, \ldots, NOS\), is a matrix
of dimension \(N \times 6\), which
stores the EIMs for the \(k^{th}\)th response, as
above, i.e.,
$$J[, k, ] = [ J_{[ , 1, 1]}, J_{[ , 2, 2]},
J_{[ , 3, 3]}, \ldots ], $$
the bandwith form, as per required by
AR1
.