Hacker News new | past | comments | ask | show | jobs | submit login
Using A Kalman Filter To Make Sense Of Noisy Data (seatgeek.com)
89 points by jack7890 on May 9, 2012 | hide | past | favorite | 18 comments



If you want to understand Kalman filter in simplest term, check out the article at http://credentiality2.blogspot.com/2010/08/simple-kalman-fil...


Yet another blog which, if visited without JS enabled, displays a rather disconcertingly unrelated page (ticket search).

Noscript -> seatgeek.com -> Temp

(For anyone else confused by the apparent topic/content discrepancy).

And for those interested in a more readable technical explanation, there's the Wikipedia article (linked from the seatgeek blog): https://duckduckgo.com/lite


Good point, we will absolutely fix this.

If you don't mind me asking, why are you visiting websites without JS?


There are a variety of reasons:

* Safety - not everyone protects their website from XSS attacks

* Speed - Downloading 30 or more script files from all over the planet slows down browsing

* Tracking/privacy - it doesn't make your browsing private, it cuts down the more obvious things - https://www.youtube.com/watch?v=f_f5wNw-2c0

* Principle - browsers render HTML - nobody should be forced to require javascript ONLY to read the content or just to have access to the correct page. If you have fancy effects or some additional functionality or if it's required to provide core functionality (e.g. maps) then fine, but JUST rendering text?


Short version: principle of least privilege.

I crank down perms and open them as little as possible, for as brief a time as possible.

If your site's annoying enough to visit, I won't.


Too many slow javascripts on too many pages, the web is ridiculous these days.


Costs >> Benefits


If there are other folks interested in using this approach, drop us a line. We're happy to try to help other startups make sense of their data.


I was working with Kalman filters for a hardware project and had serious trouble wrapping my head around the topic.

I ended up confusing a Kalman Filter with a plain old Low Pass Filter at first (and you can reduce a Kalman filter to that if you don't have enough inputs) but it really is quite a powerful tool.

It's neat to see it applied to a different problem that might make it easier for novices (like myself) to understand. Thanks for posting!


Kalman filters are a simple idea when viewed from the right angle, at least for someone with a good grasp of linear algebra.

You have a linear dynamical system with normal-distributed dynamical noise. You then take linear measurements of that system over time, and again those measurements are subject to noise that is normally distributed. The question is then, given the series of measurements, what is the best estimate of the state of the dynamical system? When written out like this, it's just a least squares problem. What makes it efficiently solvable is that the matrix structure is block tridiagonal. If you apply the block version of Gaussian elimination to that block tridiagonal system, you get the Kalman filtering equations. That's all there is to it.


The best introduction I have seen so far is the Udacity course on robotic cars, although it touches very slightly the Kalman filter. I think the exposition, starting with the general case of bayesian filtering and then deriving from it several types of filters is very clear.

If you want to dig more I think the best book, by far, is "Applied Optimal Estimation" by Arthur Gelb. (I have not read yet Probabilistic Robotics, though).

Finally, a finer point of Kalman filtering which is not normally mentioned is that you don't need your distributions to be gaussian. If your distributions are gaussian the Kalman filter is optimal, if they are not gaussian then the Kalman filter is not generally optimal, but it is still the best linear filter.


Do you know a reference that presents state estimation from this point of view? I have painstakingly arrived to this myself, following somewhat sketchy remarks in Gilbert Strang's "Computational Science and Engineering".

The classical exposition is a perfect example of confounding the model and the algorithm but it just refuses to die.


Thank you, it makes sense now. Sometimes it is useful to describe things in terms of their derivation.


Thanks for your kind words. As somewhat of a novice myself, I found the lack of documented real-world use cases frustrating, so I'm super happy to see this kind of feedback! I hope this can help you down the road should you make a second attempt at Kalman filtering.


Any thoughts on writing up similar articles about more advanced nonlinear filters, like particle filters?


Useful.

I'd love to find FAAS - Kalman (and other) filtering as a service.

For instance: I run daily backups on various databases. I expect the backup size to increase roughly linearly, but I'm just going to look in on the backups at random, likely ignoring them for months at a time.

It'd be great to be able to run the backup size series through a filter that would alert me when something unexpected happened, e.g. slope changes significantly or some unusual step change.


great post, and thanks for sharing it. i came across the kalman filter after developing an algorithm to detect worm propagation. it applies equally well in that scenario, basically predictions.


Very nice post, thanks!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: