Kalman-EM in R
Kalman-EM algorithms for fitting MSSMs This is an R toolbox. Written by Eric Ward and Eli Holmes. 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 2008, and we are in active code development. We have a stable new version with
many new features (like bootstrap AICb and CIs), but we need to
update our documentation before releasing. Contact Eli or Eric if you want the current code.
LAMBDA
LAMBDA: 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
MixSIR
MixSIR 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.
BEAST

BEAST 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 Eric Ward.
Searchable code libraries
As 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 EcologyBox
Much 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 (first.last@noaa.gov), 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.
- DARTER
An Excel tool for getting PVA risk metrics using the kalman filter. Written by Brice Semmens.
The following is older code that I haven't worked on since 2005-2007. This include the "slope" method (Holmes 2001) approach which
I don't use much for research much now (although I did use it in Holmes et al. 2007). But I do use it for applications. It is a bit ad hoc, but it consistently performs
better than any other approach I know of on very corrupted data. And Steve Ellner and I showed recently (in Ecol Letters) that the slope methods produced estimates that
are very close to the theoretical minimum uncertainty.
- 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.