Bayesian Networks and Hidden Markov Models
In this chapter, we're going to introduce the basic concepts of Bayesian models, which allow us to work with several scenarios where it's necessary to consider uncertainty as a structural part of the system. The discussion will focus on static (time-invariant) and dynamic methods that can be employed, where necessary, to model time sequences.
In particular, the chapter covers the following topics:
- Bayes' theorem and its applications
- Bayesian networks
- Sampling from a Bayesian network:
- Markov chain Monte Carlo (MCMC), Gibbs, and Metropolis-Hastings
- Modeling a Bayesian network with PyMC3 and PyStan
- Hidden Markov Models (HMMs)
- Examples with the library
hmmlearn
Before discussing more advanced topics, we need to introduce the basic concept of Bayesian statistics with a focus on all those aspects that are exploited by the algorithms discussed in the chapter.