FisherInformation-methods {sarima}R Documentation

Fisher information

Description

Compute the Fisher information for the parameters of a model.

Usage

FisherInformation(model, ...)

## S3 method for class 'Arima'
FisherInformation(model, ...)

Arguments

model

a fitted or theoretical model for which a method is available.

...

further arguments for methods.

Details

FisherInformation computes the information matrix for the parameters of model. This is a generic function. The methods for objects from S4 classes are listed in section ‘Methods’.

Currently package sarima defines methods for objects representing fitted or theoretical ARMA and seasonal ARMA models. For integrated models the result should be interpreted as the information matrix after differencing.

For ARMA models the implementation is based on Friedlander (1984) and (for the seasonal specifics) Godolphin and Godolphin (2007).

Value

a square matrix with attribute "nseasons"

Methods

This section lists FisherInformation methods for S4 classes.

signature(model = "ANY")
signature(model = "SarimaModel")
signature(model = "ArmaModel")

Author(s)

Georgi Boshnakov

References

Friedlander B (1984). “On the computation of the Cramer-Rao bound for ARMA parameter estimation.” IEEE Transactions on Acoustics, Speech, and Signal Processing, 32(4), 721-727. doi:10.1109/TASSP.1984.1164391.

Godolphin EJ, Godolphin JD (2007). “A Note on the Information Matrix for Multiplicative Seasonal Autoregressive Moving-Average Models.” Journal of Time Series Analysis, 28, 783-791. doi:10.1111/j.1467-9892.2007.00531.x.

Examples

## a fitted model (over-parameterised)
seas_spec <- list(order = c(1,0,1), period = 4)
fitted <- arima(rnorm(100), order = c(1,0,1), seasonal = seas_spec)
(fi <- FisherInformation(fitted))
## asymptotic covariance matrix of the ARMA parameters:
fitted$sigma2 * solve(fi) / 100

## a theoretical seasonal ARMA model:
sarima1 <- new("SarimaModel", ar = 0.9, ma = 0.1, sar = 0.5, sma = 0.9, nseasons = 12)
FisherInformation(sarima1)

## a non-seasonal ARMA model:
arma2a1 <- ArmaModel(ar = 0.5, ma = c(0.3, 0.7), sigma2 = 1)
FisherInformation(arma2a1)
## sigma2 is not needed for the information matrix:
arma2a1a <- ArmaModel(ar = 0.5, ma = c(0.3, 0.7))
FisherInformation(arma2a1a) # same as above

[Package sarima version 0.9.3 Index]