Author: Walter Zucchini & Iain L. MacDonald
Publisher: CRC Press, 2009
Aimed at: Statisticians interested in time series
Pros: Practical approach
Cons: Assumes prior knowledge, R tucked away in appendix
Reviewed by: Mike James
The subtitle of this book "An Introduction Using R" suggests that it might be suitable for anyone considering a practical project. Is this correct?
The first thing to say is that if you are looking for a book that helps with Hidden Markov Models (HMMs) in subjects such as engineering or artificial intelligence, then this probably isn't the book for you. It really does concentrate on time series problems with a very statistical flavour.
The book starts off with an introduction to the idea of fitting mixtures of distributions and the Markov chain is introduced as a way of creating mixtures. While this does include a basic introduction to Markov chains, it isn't sufficient for the complete beginner and indeed there are places that might confuse you if you only have a rough grasp of the ideas.
Chapter 2 moves on to HMMs proper and goes in for definitions and accounts of standard procedures such as computing the likelihood, Chapter 3 uses the expressions for the likelihood to estimate parameters. Chapter 4 explains how to use the EM algorithm for estimation. It is here we meet the forward and the backward algorithms.
Chapter 5 is about forecasting, decoding and state prediction, which is really the core of applied HMMs. The first section of the book comes to a close with a look at model selection and checking, the Bayesian approach to Poisson HMMs, and extensions of the basic ideas. This brings the theoretical presentation of HMMs to a close.
If you prefer a logical theorem-proof style then you will not be happy with this presentation. It doesn't really lay out the ideas behind HMMs in a particularly clear way. Instead it moves from one practical concern to the next, without emphasizing the general model. There some nice examples and for the practical-minded statistician this is a good approach.
If you are looking for extensive R code you might be disappointed. There are mentions of using this or that package to do things with particular models, but there is no general presentation of using R with Markov chains or HMMs. Most, if not all, of the R code is tucked away in an appendix at the very end. This presents the code but doesn't really discuss any of the choices made or techniques used in creating it.
The second part of the book is a set of case studies. How useful you find this will probably determine how valuable you find the book because it is more than half of the total pages. The topics covered include: Epileptic seizures, eruptions of the Old Faithful geyser, Drosophila behavior, wind direction, financial series, births, homicides and animal behaviour. Each case study is quite short, but it is enough for you to understand the problem and evaluate the solution.
Overall this is a practitioner's book. It doesn't present the theory of HMMs clearly enough for it to be useful if you want to apply the ideas to other fields. In particular, it doesn' emphasise ideas like the Viterbi algorithm or state estimation. Its emphasis lies on model fitting and to a lesser extent prediction. It's a mix of a little probability followed by a lot of stats and data analysis. If this is what you are interested in then it's a great book.
If you are looking for either a more theoretical book, or one that focuses on using R to create HMM software, then this isn't for you.