jonnylaw / bayesian_dlms   0.4.0

Website GitHub

Bayesian Inference for Dynamic Linear Models

Scala versions: 2.12 2.11

build status


Bayesian Inference for Dynamic Linear Models (DLMs)


This package is crossbuilt for Scala 2.11.11 and Scala 2.12.1. To install using sbt add this to your build.sbt:

libraryDependencies += "com.github.jonnylaw" %% "bayesian_dlms" % "0.3.3"

Check out the documentation.

Learning More About DLMs

Dynamic Linear Models (DLMs) are state space models where the latent-state and observation models are linear and Gaussian. DLMs are used to model time series data and the distribution of the latent state can be found exactly using the Kalman Filter for sequential online estimation and the Kalman Smoother for offline estimation.

To read more about DLMs I recommend the following textbooks:

Petris, Giovanni, Sonia Petrone, and Patrizia Campagnoli. "Dynamic Linear Models with R." Springer, 2009

Harrison, Jeff, and Mike West. "Bayesian forecasting & dynamic models." Springer, 1999


  • Building univariate and multivariate D(G)LMs
  • Support for irregularly observed and missing data
  • Kalman Filter (including stable SVD Sampler)
  • Backwards Smoothing
  • Forward-Filtering Backward Sampling (FFBS)
  • Gibbs Sampling using d-Inverse Gamma Modelling
  • Gibbs Sampling using the Inverse Wishart Distribution
  • Metropolis Hastings Sampling
  • Exact Student-t Model
  • Bootstrap Particle Filter for DGLMs