go-estimate
Kalman-and-Bayesian-Filters-in-Pyt
go-estimate | Kalman-and-Bayesian-Filters-in-Pyt | |
---|---|---|
1 | 5 | |
109 | - | |
- | - | |
3.2 | - | |
6 months ago | - | |
Go | ||
Apache License 2.0 | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
go-estimate
Kalman-and-Bayesian-Filters-in-Pyt
-
The Kalman Filter
A fantastic interactive introduction to Kalman filters can be found on the following repo:
https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Pyt...
It explains them from first principles and provides the intuitive rationale for them but doesn't shy away from the math when it feels the student should be ready for it.
-
Kalman Filter Explained Simply
No thread on Kalman Filters is complete without a link to this excellent learning resource, a book written as a set of Jupyter notebooks:
https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Pyt...
That book mentions alpha-beta filters as sort of a younger sibling to full-blown Kalman filters. I recently had need of something like this at work, and started doing a bunch of reading. Eventually I realized that alpha-beta filters (and the whole Kalman family) is very focused on predicting the near future, whereas what I really needed was just a way to smooth historical data.
So I started reading in that direction, came across "double exponential smoothing" which seemed perfect for my use-case, and as I went into it I realized... it's just the alpha-beta filter again, but now with different names for all the variables :(
I can't help feeling like this entire neighborhood of math rests on a few common fundamental theories, but because different disciplines arrived at the same systems via different approaches, they end up sounding a little different and the commonality is obscured. Something about power series, Euler's number, gradient descent, filters, feedback systems, general system theory... it feels to me like there's a relatively small kernel of intuitive understanding at the heart of all that stuff, which could end up making glorious sense of a lot of mathematics if I could only grasp it.
Somebody help me out, here!
-
A Non-Mathematical Introduction to Kalman Filters for Programmers
If you know a bit of Python and you find it sometimes tough to grind through a textbook, take a look here:
https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Pyt...
Interactive examples programmed in Jupyter notebooks.
-
Kalman Filter for Beginners
Thank you, very good resource! Timely too, as I am revising this topic.
My work is mostly in python. I found this interactive book using Jupyter that explains Kalman filters from first principles.
https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Pyt...
-
How a Kalman filter works, in pictures
This article is fantastic.
For those who have some familiarity with Python, I found this to be a great resource for Kalman Filtering: https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Pyt...
What are some alternatives?
gonum/plot - A repository for plotting and visualizing data
kalman-rs - Dead simple implementation of Discrete Kalman filter for object tracking purposes
go-dsp - Digital Signal Processing for Go
goraph - Package goraph implements graph data structure and algorithms.
GoStats - GoStats is a go library for math statistics mostly used in ML domains, it covers most of the statistical measures functions.
PiHex - PiHex Library, written in Go, generates a hexadecimal number sequence in the number Pi in the range from 0 to 10,000,000.
ewma - Exponentially Weighted Moving Average algorithms for Go.
geom - 2d geometry for golang
jsonl-graph - 🏝 JSONL Graph Tools
go.matrix - linear algebra for go
pagerank - Weighted PageRank implementation in Go
calendarheatmap - 📅 Calendar heatmap inspired by GitHub contribution activity