AIC for MARSS Models
MARSSaic.Rd
Calculates AIC, AICc, a parametric bootstrap AIC (AICbp) and a non-parametric bootstrap AIC (AICbb). If you simply want the AIC value for a marssMLE
object, you can use AIC(fit)
.
Arguments
- MLEobj
An object of class
marssMLE
. This object must have a$par
element containing MLE parameter estimates from e.g.MARSSkem()
.- output
A vector containing one or more of the following: "AIC", "AICc", "AICbp", "AICbb", "AICi", "boot.params". See Details.
- Options
A list containing:
nboot
Number of bootstraps (positive integer)return.logL.star
Return the log-likelihoods for each bootstrap? (T/F)silent
Suppress printing of the progress bar during AIC bootstraps? (T/F)
Details
When sample size is small, Akaike's Information Criterion (AIC) under-penalizes more complex models. The most commonly used small sample size corrector is AICc, which uses a penalty term of \(K n/(n-K-1)\), where \(K\) is the number of estimated parameters. However, for time series models, AICc still under-penalizes complex models; this is especially true for MARSS models.
Two small-sample estimators specific for MARSS models have been developed. Cavanaugh and Shumway (1997) developed a variant of bootstrapped AIC using Stoffer and Wall's (1991) bootstrap algorithm ("AICbb"). Holmes and Ward (2010) developed a variant on AICb ("AICbp") using a parametric bootstrap. The parametric bootstrap permits AICb calculation when there are missing values in the data, which Cavanaugh and Shumway's algorithm does not allow. More recently, Bengtsson and Cavanaugh (2006) developed another small-sample AIC estimator, AICi, based on fitting candidate models to multivariate white noise.
When the output
argument passed in includes both "AICbp"
and "boot.params"
, the bootstrapped parameters from "AICbp"
will be added to MLEobj
.
Value
Returns the marssMLE
object that was passed in with additional AIC components added on top as specified in the 'output' argument.
References
Holmes, E. E., E. J. Ward, and M. D. Scheuerell (2012) Analysis of multivariate time-series using the MARSS package. NOAA Fisheries, Northwest Fisheries Science
Center, 2725 Montlake Blvd E., Seattle, WA 98112 Type RShowDoc("UserGuide",package="MARSS")
to open a copy.
Bengtsson, T., and J. E. Cavanaugh. 2006. An improved Akaike information criterion for state-space model selection. Computational Statistics & Data Analysis 50:2635-2654.
Cavanaugh, J. E., and R. H. Shumway. 1997. A bootstrap variant of AIC for state-space model selection. Statistica Sinica 7:473-496.
Examples
dat <- t(harborSealWA)
dat <- dat[2:3, ]
kem <- MARSS(dat, model = list(
Z = matrix(1, 2, 1),
R = "diagonal and equal"
))
#> Success! abstol and log-log tests passed at 18 iterations.
#> Alert: conv.test.slope.tol is 0.5.
#> Test with smaller values (<0.1) to ensure convergence.
#>
#> MARSS fit is
#> Estimation method: kem
#> Convergence test: conv.test.slope.tol = 0.5, abstol = 0.001
#> Estimation converged in 18 iterations.
#> Log-likelihood: 12.91451
#> AIC: -15.82903 AICc: -13.82903
#>
#> Estimate
#> A.SJI 0.7985
#> R.diag 0.0153
#> U.U 0.0699
#> Q.Q 0.0124
#> x0.x0 5.9632
#> Initial states (x0) defined at t=0
#>
#> Standard errors have not been calculated.
#> Use MARSSparamCIs to compute CIs and bias estimates.
#>
kemAIC <- MARSSaic(kem, output = c("AIC", "AICc"))