This repository contains an implementation of the Markov projection methods for the filtering problem for Stochastic Reaction Networks (SRNs). Two methods for dimensionality reduction are developed: standard Markovian Projection (MP) and Filtered Markov Projection (FMP).
A detailed description of the methods is provided in the paper:
Hammouda, C.B., Chupin, M., Münker, S. et al. Filtered Markovian projection: dimensionality reduction in filtering for stochastic reaction networks. Stat Comput 36, 189 (2026). https://doi.org/10.1007/s11222-026-10939-0
Use the main_bistable_network.m or main_linear_cascade.m files to run the simulations.
The main functions and classes are listed below
-
@SRNclass stores the parameters of the stochastic process and provides functions to sample the trajectories using SSA and Tau-leap methods -
@PFclass implements Particle Filter. Used at the first step of projection methods. -
@FFSPclass implements the Filtered Finite State Projection method. Used to obtain the reference solution and at the second step of projection methods. -
markovian_projection_extrapfunction implements the standard MP and returns SRN of lower dimensionality -
generate_observationsfunction generates input data for the filtering problem
- Add parallel implementation of the FFSP and PF (see
@FFSP/A.mand@PF/evolve.m) - Use more efficient extrapolation methods in
extrapolate_a_bar_