by brice.semmens, last updated 7/8/08, sharing set to public
This set of Matlab scripts conducts a first order MAR(1) model to estimate interactive effects, and covariate effects, on a time series of data from a community.
It uses a Gibbs sampler to estimate parameters, and currently is set up with diffuse priors on all parameters for the model. It is pretty basic at this point, but it works.
Note on the Gamma distribution:
Going back and forth between Matlab/R/WinBUGS can be confusing, because of the different parameterizations of the gamma pdf. Here's the Matlab/BUGS forms and the R equivalents:
Matlab: X ~ g(a,b) E[X] = ab
R equivalent: X ~ g(shape=a,scale=b)
BUGS: X ~ g(a,b) E[X] = a/b
R equivalent: X ~ g(shape=a,rate=b) OR
X ~ g(shape=a,scale=1/b)
by mdscheuerell, last updated 1/5/11, sharing set to public
We use a multivariate state-space model and a time series of yearly migration dates for sockeye salmon to estimate the heritability coef from the classic breeder's equation.
The 2 files below are the dataset and the R script.
by e2holmes, last updated 9/11/07, sharing set to public
LAMBDA is a MatLab toolkit designed to do MAR-1 based data analysis on long-term datasets and is based on the methods described in Ives et al. 2003, Ecological Monographs 73:301-330. LAMBDA is designed to allow the user to step through the entire modeling process, from importing the data, to obtaining descriptive statistics of the dataset, to, finally, performing a MAR-1 regression model and obtaining output parameters. A MAR-1 process is a Multivariate, Auto-Regressive first (1st) order process. Essentially, it is a means of estimating interactions between multiple variates from time series data, using matrix algebra. A MAR-1 model is a stochastic, non-mechanistic model that uses time series data on species numbers and co-variates to deduce inter-population interactions and the effects of covariates (e.g., physical variables) on populations.
Where does it come from?LAMBDA is a product of the Mathematical Biology program at the Northwest Fisheries Science Center in Seattle, WA, and was developed with support by NOAA/NMFS and the National Research Council. It is open-source software released under the GNU GPL license, meaning you are free to use and modify it in (almost) any way you see fit. LAMBDA was developed by Steven Viscido while on a National Research Council postdoctoral associateship with Elizabeth Holmes.
CreditsLAMBDA is based on the techniques outlined in the paper Ives et al. 2003, Ecological Monographs 73:301-330. The code for the actual MAR-1 regression was based on the "MARbasic.m" MatLab script written by Tony Ives (available at the Ecological Archives). The parameter search code was based on an unpublished script written by Tony Ives. All other code was written by Steven Viscido.
Executable versionDownload the LAMBDA executable along the installation instructions from the links below.
LAMBDA_MCR_pkg.exe 0.9.2 Warning: This is a 138 MB file!
The executable version of LAMBDA does not require MatLab. Its system requirements are Windows XP/2000, 256 MB of RAM, and 150 MB of Hard Drive Space.
If Installation hangsThis is a bug on MatLab's side. To work around it, you will need to install vcredist_x86.exe (32 bit systems) or vcredist_x64.exe (64 bit system) first and then repeat the LAMBDA installation. But read the If_Installation_Hangs.txt readme file if this happens to you. This bug affects about 20% of computers, randomly it would seem.
Matlab Source CodeThis is not needed if you are using the executable version. Current source code version is LAMBDA_0.9.2Beta.zip. The source code can be downloaded below. Requirements for running LAMBDA from the source code are
- MatLab version 7.0.1 (R14) w/service Pack 1, or later
- MatLab's Statistics and Optimization toolboxes
- At least 256 MB of RAM on your system
- 5 MB of Hard Drive space for the LAMBDA installation
by e2holmes, last updated 8/30/12, sharing set to public
This is the DEVELOPMENT site for the MARSS. For the current MARSS release go to CRAN or download straight from the R GUI using "Install Packages" menu.
MARSS fits mulitvariate autoregressive state-space (MARSS) models with Gaussian errors to multivariate time series data. A MARSS model is:
x(t) = B(t) x(t-1) + u(t) + C(t)c(t) + v(t), v(t)~MVN(0,Q)
y(t) = Z(t) x(t) + a(t) + D(t)d(t) + w(t), w(t)~MVN(0,R)
Project news (Feb 26, 2013): MARSS 3.4 uploaded to CRAN. I fixed MARSSkfas to work with the new KFAS package in order to use the Koopman/Durbin filter/smoother algorithms. I also coded up a lag-one covariance smoother using an augmented state-space model that you can then run through the smoother to get the lag-one covariances. I added a coef() and residuals() method to improve output.
Developers: Eli Holmes, Eric Ward, Mark Scheuerell and Kellie Wills
Current known issues:
- When variance is "unconstrained", the covariances can be set to 0 in the degen.test() and this leads to not pos-def matrix and error. Need to block setting to 0 when this happens, or block covariances set to zero? Currently, deal with this by setting allow.degen=FALSE when covariances are estimated.
- demean.states=TRUE is causing the EM algorithm to give drops in logLik. This is not really a bug but perhaps a property of demean.states. Removed the demean.states option in vrs 3.3.
MARSS 4.0 in progress:
- 4.0 involves a substantial change in the model object structure---however the user should not notice the difference. The change allows the developers to more easily code up new model structures.
- Progress continues on writing functions for standard output, e.g. predict function added.
- Integration with LateX begun so that output can be sent to a tex or pdf file instead of just the console.
by e2holmes, last updated 11/9/07, sharing set to public
A series of modules for estimation of PVA parameters from time series data. Uses kalman filters, REML, and slope methods.