I am watching the (fantastic) SLAM lectures of Claus Brenner, where he introduces the Bayes-Filter (Kalman-Filter, Particle-Filter, Histogram-Filter).

He says, that the prediction step involves the convolution of distributions and the correction step a multiplication of distributions (link). $$\text{prediction: }p(x)=\sum_y p(x\mid y)p(y)$$ $$\text{correction: }p(x\mid z)=\alpha p(z\mid x)p(x)$$ My problem is with the convolution. It makes sense the way he derives it, but I cannot make the connection to the standard definition of convolution as give, e.g. at Wikipedia:

$$p(Z=z) = \sum_{k=-\infty}^\infty p(X=k)p(Y=z-k)$$

Is this a mistake in the video, or am I missing something? It just looks like the law of total probability.


1 Answer 1


See this nice tutorial: https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/blob/master/02-Discrete-Bayes.ipynb Using a Bayesian derivation for filtering, the prediction step can be seen as a "Marginalization". Instead the posterior, i.e. the filtered estimate, can be seen as a "Conditioning". The first uses the "Chapman-Kolmorov" equation, while the second one makes use of Bayes' rule.

When dealing with discrete random variables, I guess the integrals are substituted with sums, and the functions of two parameters, e.g. the current time step and the forward time step, can be seen as functions of one variable, e.g. the time lag (the difference between the time instants. This is the case for instance with Markovian stochastic processes, I guess.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.