jonnylaw / bayesian_dlms

Bayesian Inference for Dynamic Linear Models

Website GitHub

build status

bayesian_dlms

Bayesian Inference for Dynamic Linear Models (DLMs)

Install

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

Features

  • 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