# Software

Here follows a non-exaustive list of software I have produced. First I consider two "bigger" pieces of code and then a list of smaller educational ones, e.g. used for teaching.

`Software for stochastic differential equations simulation and estimation`

During the years I have developed a few MATLAB tools for the simulation and statistical inference of models defined by stochastic differential equations (SDEs). I am not really keeping these updated or state-of-art: they were developed to serve me while they were being created but I am not expanding them nor making changes (unless someone find bugs). The first one is `SDE Toolbox` and the most recent one is `abc-sde`.

These packages serve different purposes and it's *not* that the latest `abc-sde` is somehow "better" than `SDE Toolbox`. The latter was an attempt at offering what (back in 2006-2007) was one of the very few integrated options available to simulate and estimate an SDE, by providing some inferential capabilities for parameter estimation in both one- and multi-dimensional SDE systems. It is still a valid tool for simulating numerically solutions of SDE systems, however its inferential capabilities (Monte Carlo maximum likelihood) are rather outdated and the project is no longer developed.

`abc-sde` instead performs inference based on approximate Bayesian computation (ABC) for stochastic models (including -- but not limited to -- state-space models) whose dynamics are described by SDEs. It uses an efficient "early-rejection" Markov chain Monte Carlo (MCMC) algorithm for ABC and assumes data/observations on which inference is based to be affected by some form of error (e.g. measurement error). Therefore it allows for inference from noisy observations.

`abc-sde`

`abc-sde`a MATLAB toolbox for approximate Bayesian computation (ABC) in stochastic differential equation models. It performs approximate Bayesian computation for stochastic models having latent dynamics defined by stochastic differential equations (SDEs). Both one- and multi-dimensional SDE systems are supported and partially observed systems are easily accommodated. Variance components for the "measurement error" affecting the data/observations can be estimated. A 50-pages Reference Manual is provided with two case-studies implemented and discussed. The methodology is based on the research article available here which also provide an additional example.

`abc-sde` has been partially supported by the Faculty of Science at Lund University during years 2012-2013.

Download `abc-sde` Reference manual A poster Research paper 2013

## sde toolbox

**SDE Toolbox - Simulation and estimation of stochastic differential equations with MATLAB.**

This MATLAB package allows to simulate sample paths of a user defined Itô or Stratonovich SDE, estimate parameters and obtain descriptive statistics of the underlying stochastic process; users can also simulate an SDE chosen from a library of template models.

**Warning: implemented inferential methods are rather outdated and the SDE Toolbox development is discontinued.**

`Supporting code for my publications`

## SAEM-ABC

MATLAB code performing maximum likelihood estimation for state-space models using the SAEM algorithm combined with an ABC filter (ABC=approximate Batesian computation). Available in my GitHub repository https://github.com/umbertopicchini/SAEM-ABC. This is the accompanying code to this publication. Two case studies are implemented and comparison R code performing iterated filtering and Bayesian particle MCMC is also included.

## SAEM-SL

MATLAB code performing maximum likelihood estimation for "incomplete data" models using a likelihood-free version of the SAEM algorithm. The user needs to specify the assumed data-generating model, and sets of "informative" summary statistics. Two case studies are implemented. Available in my GitHub repository https://github.com/umbertopicchini/SAEM-SL. This is the accompanying code to this publication.

`Small teaching projects`

## pseudo-marginal MCMC for exact Bayesian inference

A MATLAB example of particle marginal MCMC algorithm to perform exact Bayesian inference for the parameters of a nonlinear state-space model. Available in my GitHub repository https://github.com/umbertopicchini/pseudomarginalMCMC.

## approximate Bayesian computation for g-and-k distributions

A MATLAB example of approximate Bayesian computation (ABC) MCMC algorithm to estimate parameters of a g-and-k distribution, at https://github.com/umbertopicchini/abc_g-and-k. See also my slides at http://goo.gl/ypAOjs.

## Fitting a stochastic Ricker model using the R pomp package

Several examples using the pomp package to implement several types of inference methods for the parameters of a stochastic Ricker model. Examples include: synthetic likelihoods; particle marginal methods (particle MCMC); iterated filtering. Available at https://github.com/umbertopicchini/pomp-ricker. See also my slides http://goo.gl/ypAOjs.