Marrying Kalman Filtering & Machine Learning

When you Google “Kalman Filter AND Machine Learning”, very few interesting references pop up! Perhaps my search terms are not the best, perhaps Fintech guys keep such algorithms close to their vests, perhaps there is not much of work done in bringing these two incredibly powerful tools together...

In any case, Part II of my new book, “Systems Analytics: Adaptive Machine Learning workbook” focuses exactly on this merger.

I am happy to report that pre-publication copy of my book (including MATLAB code) is available for download for FREE. See the end of this blog for how . . .

From the book Epilog . . . 

Purpose of Machine Learning (ML) in Business Applications:

  1. “Condition monitoring”.
  2. “Preventive maintenance”.
  3. “Performance improvement”.

These may seem particularly oriented towards IoT business but they are really quite general!


Condition monitoring = “How is my business doing today?”

Preventive maintenance = “Predict issues and fix them before adverse business impact”.

Performance improvement = “Prescribe actions for customer acquisition & retention.”

When framed as above, ALL business applications of Machine Learning or Data Science are examples of In-Stream Analytics! In Chapter 5, we listed some examples of In-Stream Analytics applications.

  • Fraud Detection.
  • Financial Markets Trading.
  • IoT and Capital Equipment Intensive Industries.
  • Health and Life Sciences.
  • Marketing Effectiveness.
  • Retail Optimization.


In various sections of this book, I have repeated my observation from first-hand experience in Retail business that ML solutions in business are not “one and done” but “like flu shots” - adjust the mix and apply on a regular basis . . . This is because I subscribe to a view of learning as “generalization from past experience AND results of new action” as the true definition of Learning!

In the applications listed above, “time constants” may be different – from milliseconds in Fintech to hours in Health and weeks and months in Retail. But in ALL cases, closed loop updates are necessary. So, I consider every ML application to be a case of In-Stream Analytics!

In this book, we organized ML ontology as shown below.

We discussed two classes of In-Stream Analytics solutions by merging Bayes Theorem and Cover Theorem applications. First was “BRANN” - “Bayes Recurrent Artificial Neural Network”. The main feature was that the Bayes Filter is used to update the “weights” of the artificial neural network.

The other approach (my personal preference) is Kernel Projection Kalman Filter (“KP Kalman Filter”). Kalman Filter operates as the Output Layer of the ML method for nonlinear mapping that implements Cover Theorem. This approach controls the “curse of dimensionality” since the number of Kalman States is not tied to the number of weights of the artificial neural network.

A diagram that combines the two classes is shown below.

Solution summary:

Bayes Filter: Requires to be nonlinear; Dynamics via recurrence.

  1. Mild Non-linear Gaussian case – Extended Kalman Filter (EKF).
  2. Non-linear Gaussian case – Cubature Kalman Filter (CKF), Unscented Kalman Filter (UKF).
  3. Non-linear distribution-free case – Particle Filter, Markov Chain Monte Carlo (MCMC) Filter.


KP-Kalman Filter:

  • Linear filter.
  • Accommodates time-varying dynamics via Kalman Filter State equations & recurrence.


As we have mentioned before, Machine Learning is a “fiddler’s paradise” – KP-Kalman Filter is no exception!

Architectural choices: Number of Kernels (hidden nodes); Number of delayed outputs for recurrence.

Parameter choices: Kalman Filter initialization values.


We have only scratched the surface of Kalman filter applications to Machine Learning here. Earlier, we saw an approach to improve performance using fixed-lag Kalman Smoother in a judicious manner.


Many more opportunities await the careful reader of “Systems Analytics: Adaptive Machine Learning workbook”!


Part I was downloaded by many and many participated in the “crowdsourced” editorial work – thanks. I hope many more will volunteer their help for Part II also.


Go to http://www.jininnovation.com/NEW-Book.html and sign the Guest Book to get the link for download. Please keep in mind that this copy is for your PERSONAL use only!


Go ahead and apply Kernel Projection Kalman Filter algorithm to your business problems; I will be delighted to hear about your success! Also, much improvement and new developments are possible arising from my formulations here - hope you will create breakthrough algorithms! And remember, ALL *business* machine learning problems are “in-stream” scenarios!



PG Madhavan, Ph.D. - “Data Science Player+Coach with deep & balanced track record in Machine Learning algorithms, products & business”



July 2017


Views: 14565


You need to be a member of Data Science Central to add comments!

Join Data Science Central

Comment by Robert R. Tucci on May 29, 2020 at 5:27pm

I think you are right and your search terms are not very good. Try looking under "dynamical Bayesian Networks" https://en.wikipedia.org/wiki/Dynamic_Bayesian_network

and "Probabilistic Programming" https://en.wikipedia.org/wiki/Probabilistic_programming

© 2021   TechTarget, Inc.   Powered by

Badges  |  Report an Issue  |  Privacy Policy  |  Terms of Service