Author: Walter Zucchini & Iain L. MacDonald Publisher: CRC Press, 2009 Pages: 288 ISBN: 9781584885733 Aimed at: Statisticians interested in time series Rating: 4 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 theoremproof 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 practicalminded 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.
3D Game Programming for Kids
Author:Chris Strom Publisher: Pragmatic Bookshelf Pages: 250 ISBN: 9781937785444 Audience: Beginners to programming looking for a gamesled approach Rating: 4.5 Reviewer: Mike James
JavaScript is a popular programming language and introducing it to kids is a great idea and what could be better than [ ... ]

Beginning ObjectOriented Programming with C#
Author: Jack Purdum Publisher: Wrox Pages: 624 ISBN: 9781118336922 Audience: Rating: 2.5 Reviewer: Ian Elliot
C# is a great language to learn objectoriented programming because it has so many sophisticated features that it can be used to illustrate most of the ideas that are essential to OOP.
 More Reviews 
