Chapter 8. Modeling dynamic systems
This chapter covers
- Creating a probabilistic model of a dynamic system
- Using different kinds of dynamic models including Markov chains, hidden Markov models, and dynamic Bayesian networks
- Using probabilistic models to create new kinds of dynamic models, such as models with time-varying structure
- Monitoring a dynamic system in an ongoing manner
Over the past few chapters, you’ve learned a good deal about using probabilistic programming to build probabilistic models. At this point, you have many techniques in your pocket, including modeling dependencies, functions, collections, and object-oriented modeling. This chapter builds on these techniques to model a particularly important kind of system: a dynamic system whose state varies over time.
After presenting the general concept of dynamic probabilistic models in section 8.1, section 8.2 builds up the concepts through a series of examples, starting from the simplest time series and ending with systems in which the structure of the state of the system can change over time. At first, the chapter assumes that the dynamic system runs for a fixed length of time, but section 8.3 relaxes this assumption, enabling modeling systems that go on indefinitely. This requires a new Figaro concept, the universe. You’ll see how to use Figaro universes to model and reason about ongoing systems.