MARSS R packageDownload the MARSS R package here or directly from your R GUI using the install packages option. This is an R package to fit unconstrained and constrained multivariate autoregressive state-space models via maximum-likelihood (using an Expectation-Maximization algorithm). These models are called vector autoregressive state-space models in the economics literature. The MARSS package was developed by Eli Holmes, Eric Ward and Kellie Wills. It is fully documented with a user guide/manual: Analysis of multivariate time-series using the MARSS package, by E.E. Holmes and E.J. Ward. MARSS has bootstrap AICb and CIs and simulation features. Look on the left navbar for workshops that teach the use of multivariate state-space models for ecological analysis. The derivation of the EM algorithm for multivariate autoregressive state-space models with linear constraints is here: Derivation of the EM algorithm for constrained and unconstrained multivariate autoregressive state-space (MARSS) models.
The development site for MARSS is: MARSS Development Site. This is where bugs are fixed and new features are added before an update is submitted to CRAN. If you are interested in analyzing financial data, then you might want to look at SsfPack which was developed for financial data and models. The MARSS package is different in that is uses an EM algorithm for maximization (sensu Shumway and Stoffer 2000). This algorithm is better suited to the types of model selection research we do.
Kalman-EM in RNote: The "Kalman-EM" code has been replaced by the MARSS R package (above). Kalman-EM algorithms for fitting MSSMs This is an R toolbox. Written by E.E. Holmes and E.J. Ward. The case-studies on the code website are the defacto help files and documentation. An on-line workshop on state-space modeling using the Kalman-EM R toolbox is available here: State-space modeling workshop. The current public 'release' is from Aug 2009, but Kalman-EM will shortly be replaced by the MARSS package, which does much more and is fully documented.
LAMBDALAMBDA: Long-term Assemblage MAR(1)-Based Data Analysis LAMBDA is a MatLab toolkit designed to do MAR-1 based data analysis on long-term datasets (i.e., time series). LAMBDA is designed to allow the user to step through the entire modeling process, from transforming the data, to model selection, to fitting the MAR-1 regression model and obtaining output parameters with bootstrapped CIs (see Ives et al. 2003, Ecological Monographs 73:301-330). Developed by Steven Viscido and Eli Holmes. An on-line workshop on MAR-1 modeling of community data using LAMBDA is available here: MAR workshop
MixSIRMixSIR download and manual page MixSIR is a Bayesian isotope mixing model that incorporates uncertainty in the estimates of mix and source isotope values. The model also provides the opportunity to incorporate prior information for the proportional contribution of each source to the mix. Developed by Brice Semmens and Jon Moore.
BEASTBEAST provides a flexible modelling tool for theoretical biologists to evaluate population models in a Bayesian framework. A variety of models are supported: single stage / age models, stage-structured population models, and age-structured population models. All models support variable change points (broken stick models), time lags, and error may be incorporated in the form of either observation error or process error. A wide range of symmetric and asymmetric likelihoods are supported, and any one of the ~ 25 prior distributions may be placed on any parameter in the model. BEAST also allows the user to do MCMC parameter estimation, population projections, and to conduct formal Bayesian decision analyses. Developed by E.J. Ward.
Searchable code librariesAs part of our Iugo-Cafe project, we have developed searchable ecological code repositories:
- FishBox: ecological code by NWFSC quantitative ecologists.
- EcologyBox: public ecological code server.
Our code on FishBox and EcologyBoxMuch of the work by Brice Semmens, Eric Ward, Steve Viscido and myself (Eli Holmes) has been focused on fitting multivariate autoregressive models (MARMs) and multivariate state-space models (MSSMs). We are developing code/algorithms for maximum-likelihood and Bayesian approaches using Kalman filter and EM, data-cloning, and Gibbs-sampler algorithms. You can use the code (with attribution), but contact us because this is research in progress and we may have bugs/problems/whatever to share. Also we like to collaborate with folks on an analyses of interesting ecological data (firstname.lastname@example.org), so you should feel free to drop us a line.
- Fitting MSSMs via data-cloning
This is an R/BUGS toolbox. Written by Eric Ward.
An Excel tool for getting PVA risk metrics using the kalman filter. Written by Brice Semmens.
- Estimation of risk metrics with posteriors
This is a matlab code package I wrote for generic risk estimation using the methods in Holmes (2004) and Holmes & Fagan (2002) -- and applied in McClure et al. (2003). First thing to read is info.pdf. Then read sampleoutput.pdf. Background literature is also included in the zipfile. If you are using these methods for an ESA-related analysis, I suggest you also look at the report from the “Technical Workshop on Population Trends and Extinction Metrics” Final Report where these methods were discussed and reviewed in the context of a section 7 consultation. Note starting Fall 2006, I will have a programmer working on a complete update and simplification of this code. The goal is a simple user interface to ESA-related risk-estimation code that is maintained on a server.
- Test estimation package
One of the things I need to do often is test time series estimation methods using data from data generated by a matrix model. This code is my latest version of the Holmes (2004) code. It's a little more general than the code supplied with Holmes (2004). Long and probably difficult to follow.
- PVA risk estimation code
Feed some time series data into a kalman filter, slope, dennis or reml estimator. Deals with missing values (designated by -99) and 0s. (updated Feb 2007)
- Generate stochastic population processes
These are function for generating various standard types of stochastic population processes: random walks, Ornstein-Uhlenbeck, discrete Gompertz, etc. Also some random number generators needed by these are here. These matlab files need the Matlat Statistics Toolbox.