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