MARSS Development site

New work on MARSS before posting to CRAN is at the GitHub repo. See issues posted there.

MARSS 3.11.4 (GitHub master development branch)

This release is focused on improving the plotting functions for marssMLE, marssResiduals and marssPredict objects. The website links also needed to be updated to the new GitHub organization home for MARSS (and the other ATSA material): atsa-es.

ENHANCEMENTS

BUGS

DOCUMENTATION

MARSS 3.11.3 (released 2020-10-20 on CRAN)

This is an update based on version 3.11.2 (GitHub release). It is mainly focused on providing graceful exiting for models that report errors due to ill-conditioned variance matrices and for models with fixed parameters. The testing and output (plot, residuals, tsSmooth, fitted) was made less reliant on MARSSkfss(), which involves an inversion of Vtt1 and which can become ill-conditioned and report an error. The update also fixes a bug in the log-likelihood calculation due to not specifying the tol=0 in SSModel() call. This bug would come up only for variance matrices with extremely high condition numbers fit with method=BFGS. Data and covariates can now be a ts object and the time information will be used for plotting.

ENHANCEMENTS

BUGS

DOCUMENTATION

OTHER

MARSS 3.11.2 (released 2020-10-02 on GitHub)

This is an update is focused on graceful exiting for models that report errors due to ill-conditioned variance matrices or for models with fixed parameters. The testing and output (plots, residuals, tsSmooth, fitted) was made less reliant on MARSSkfss(), which involves an inversion of Vtt1 and which can become ill-conditioned and report an error. The update also fixes a bug in the log-likelihood calculation due to not specifying the tol=0 in SSModel() call. This bug would come up only for variance matrices with extremely high condition numbers fit with method=BFGS. Data and covariates can now be a ts object and the time information will be used for plotting.

See notes above for version 3.11.3 (CRAN release).

MARSS 3.11.1 (released 2020-08-25 on CRAN)

Version 3.11.1 is focused on addition of the predict, forecast, fitted and residuals functions along with plotting functions for the output. Documentation for these functions along with background literature and the derivation of the residuals algorithms have been updated. Residuals in state-space models are complex as there are two processes (observation and state), three types of conditioning (data to t-1, t or T), and four types of standardization used in the literature (none, marginal, Cholesky on the full variance matrix, and Cholesky on only model or state residual variance). The MARSS package computes all the variants of residuals. Many of the predict changes are listed below for 3.10.13 release on GitHub. New chapters illustrating structural equation models using MARSS versus StructTS and the KFAS package were added. The KFAS chapter compares the KFAS residuals functions to the MARSS residuals functions. The two packages use different algorithms and different semantics to compute the same residuals.

ENHANCEMENTS

BUGS

DOCUMENTATION and MAN FILES

OTHER

MARSS 3.10.13 (GitHub 2-25-2020)

Version 3.10.13 mainly has to do with the predict() and forecast() functions along with plotting and printing methods.

ENHANCEMENTS

MARSS 3.10.12 (CRAN 2-3-2020)

Version 3.10.12 update mainly has to do with the tidy(), fitted() and augment() enhancements which clarify ytT, xtT and residual intervals for MARSS models. This was a major update though probably users will not notice much as it only affects residuals output. A few minor bugs were fixed which caused errors to be thrown in some rare time-varying cases. One bug that affected bootstrap confidence intervals was fixed. The documentation got a major clean-up. The Residuals report has been heavily edited to improve precision and clarity (with added verbosity). The help files and automated manual from the help files were cleaned-up and some of the internal functions moved out of the manual.

BUGS

ENHANCEMENTS

DOCUMENTATION and MAN FILES

MARSS 3.10.11 (GitHub 8-3-2019)

Minor update. Version 3.10.11 has some edits to speed up the code by minimizing calls to expensive checking functions and fixes a bug in MARSSharveyobsFI() that appeared if a parameter was fixed and time-varying and MARSSparamCIs() was called.

BUGS

ENHANCEMENTS

MARSS 3.10.10 (CRAN 11-2-2018)

Minor update to declare S3 objects if user has broom package installed. A few minor changes also made.

ENHANCEMENTS

BUGS

MARSS 3.10.8 (CRAN 4-14-2018)

Major update over 3.9. The main changes have to do with with errors in the Hessian matrix whenever the Cholesky of the R or Q matrix was used (when they weren’t diagonal). This affected all the residuals and confidence intervals calculations for non-diagonal R and Q. Hessian for non-diagonal Z was also bad. Version 3.10.8 completely abandons working with the Cholesky transformed variance-covariance matrices for the Hessian calculation. The Cholesky transformation was not necessary for computing the Hessian since the Hessian is computed at the MLEs and localized. Also the default Hessian computation now uses the Harvey et al. analytical algorithm for the Hessian rather than a numerical estimate.

BUGS

residuals.marssMLE()

inits functions

Kalman filter functions

Confidence intervals and std error for R and Q

Fix: I completely abandoned working with the Cholesky-transformed variance-covariance matrices for the Hessian calculation. The Cholesky-transformation was not necessary for computing the Hessian since the Hessian is computed at the MLEs and localized.

  1. Created a new function MARSSharveyobsFI() which uses the Harvey (1989) recursion to analytically compute the observed Fisher Information matrix. This is the Hessian for the untransformed variance-covariance matrix parameters. So CIs on variances can be negative since the variance of the MLE is being approximated by a MVN (which can lead to negative lower CIs).

  2. Harvey1989 is now the default function when method=‘hessian’. In later vrs of MARSS, this is changed to Holmes2014.

  3. The user can also select method=‘hessian’ and hessian.fun=‘fdHess’ or hessian.fun=‘optim’. This will compute the Hessian (of the log-LL function at the MLEs) numerically using these functions. The variance-covariance matrices are NOT Cholesky transformed. These are numerically estimated Hessian matrices of the untransformed variance-covariance matrices.

  4. Added MARSSinfo(26) which discusses the reason for NAs in the Hessian.

MISC MINOR BUGS

IMPROVEMENTS

DOCUMENTATION

MISC

MARSS 3.9 (CRAN 3-21-2014)

none. resubmission due to missing file

MARSS 3.8 (CRAN 3-18-2014)

ENHANCEMENTS

DOCUMENTATION

BUGS

MARSS 3.7 (CRAN 12-14-2013)

Version 3.7 update was required due to new version of KFAS that changed its API.

ENHANCEMENTS

DOCUMENTATION

BUGS

MARSS 3.6 (CRAN 11-26-2013)

Version 3.6 update is mainly concerned with speeding up MARSS() for problems with large number of time series (n > 100) and where many R elements are being estimated (e.g. R=“diagonal and unequal”). This comes up in dynamic factor analyses often. The changes also improve speed for small R problems by about 25%, but speed increase is 10 fold for problems with R matrices that are 100x100 with 100 estimated R elements.

ENHANCEMENTS

DOCUMENTATION

BUGS

MARSS 3.5

Version 3.5 is mainly concerned with formalizing the internal structure of model objects. marssMODEL objects have been formalized with attributes. A form definition along with associated form functions have been defined. This won’t be noticeable to users but makes writing functions that use marssMODEL objects easier and more versatile.

ENHANCEMENTS

DOCUMENTATION

BUGS

MARSS 3.3 and 3.4 (CRAN 1-16-2013)

This version update is mainly concerned with adding generic functions (coef, residuals, predict), hooking back up KFAS package filters into MARSS functions, and customizing print functions for different model forms.

ENHANCEMENTS

BUGS

MARSS 3.2 (CRAN 08-28-2012)

Version 3.2 is a minor update to the documentation

DOCUMENTATION

BUGS

OTHER

MARSS 3.0 (CRAN 07-10-2012)

Version 3.0 is a major update and clean-up. Besides the clean-up, the changes were to allow time-varying parameters and a way for the user to specify linear constraints using an eqn like a+2*b in the parameter matrix.

The changes are extensive but are internal and should be largely invisible to users of MARSS 2.X. The MARSS() 3.0 call is backwards compatible to 2.9 except that kf.x0 changed to tinitx and moved from control list to model list. Use of KFAS remains disabled until I can update to the new version of KFAS. This slows down method=“BFGS”, but does not affect method=“kem”.

INTERNAL CHANGES

DOCUMENTATION

OTHER CHANGES

BUGS

MARSS 2.9 (2012-03-20)

Version 2.9 was a temporary update to deal with a major change to the API of the KFAS package. Needed to disable use of MARSSkfas() until that function was rewritten.

ENHANCEMENTS

DOCUMENTATION

BUGS

MARSS 2.8 (2012-01-23)

Version 2.8 improved default initial conditions functions and fixed bugs in the Shumway and Stoffer Kalman filter/smoother function.

BUGS

DOCUMENTATION

MARSS 2.7 and 2.6 (2011-10-21)

Versions 2.7 and 2.6 focused on misc. bugs.

MARSS 2.5

Version 2.5 focused on switching model specification to use list matrices.

MARSS 2.2

Version 2.2 focused on incorporating the KFAS Kalman filter/smoother functions which are faster and more stable.

MARSS 2.0

Version 2.0 implements changes to allow B and Z estimation and more element sharing in Q and R matrices.

ENHANCEMENTS

DOCUMENTATION

BUGS

MARSS 1.1