5
$\begingroup$

Say I want to use Kalman filters for predicting the price of items at a supermarket. I have a Kalman filter for each item (apple/beef/brooms/etc). I notice that some items are sort of related, like apple with orange, beef with pork.

My question is how can I make these Kalman filters interact with each other? For example let's say I get observations about the price of beef and they show that they are going up. I want to tell the Kalman filter for pork somehow that it should also update. How can I do this?

Any literature or examples of this usage will be greatly appreciated, thanks

EDIT:

I am actually trying to ask this question in the general sense, but I wanted to frame the problem in a way that would be simpler for others to understand. So I understand that the Kalman filter uses observations to update its state. Suppose I want to incorporate observations for some Kalman filter into another, is there an accepted way of 'transforming' these observations? Or is it more of an art?

$\endgroup$
4
  • $\begingroup$ Welcome to DSP.SE! Your question is an interesting one, but perhaps you might want to show what your individual Kalman filters look like --- or, more to the point, what the signal models you're assuming for each commodity is. The trick will be getting those individual commodity models to interact before applying the Kalman filter --- or having a separate model for how they interact, and applying that to the output of the individual Kalman filters. $\endgroup$ – Peter K. Dec 14 '15 at 9:58
  • $\begingroup$ I am actually trying to ask this question in the general sense, but I wanted to frame the problem in a way that would be simpler for others to understand. So I understand that the Kalman filter uses observations to update its state. Suppose I want to incorporate observations for some Kalman filter into another, is there an accepted way of 'transforming' these observations? Or is it more of an art? $\endgroup$ – Howie Trenton Dec 14 '15 at 20:10
  • $\begingroup$ How "the price of items" varies? Is it linear or nonlinear? Do you have actual measurements regarding the price? How the measurements are related to the price? Is the relation linear or nonlinear? Many things need to be asked before utilizing Kalman filter. $\endgroup$ – CroCo Dec 18 '15 at 7:19
  • $\begingroup$ Votes and best answer validation are required $\endgroup$ – Laurent Duval Jul 28 '19 at 12:03
1
$\begingroup$

I know of no "standard" way of incorporating the output of a set of Kalman filters into another. The reason is that each application will have a different "signal model" (way of combining the multiple outputs into different measurements).

For example, suppose you have two Kalman filters that give you state estimates: $$ \mathbf{x}_k^1 = \mbox{state of first Kalman filter}\\ \mathbf{x}_k^2 = \mbox{state of second Kalman filter}\\ $$ then you'll need to decide the parameters in your new model: $$ \mathbf{x}^{\tt tot}_k = [ {\mathbf{x}^1_k}^T {\mathbf{x}^2_k}^T ]^T\\ \mathbf{x}^{\tt tot}_{k+1} = \mathbf{A} \mathbf{x}^{\tt tot}_k + v_k\\ \mathbf{z}^{\tt tot}_k = \mathbf{C} \mathbf{x}^{\tt tot}_k + w_k $$ where $\mathbf{A}$ is the state update matrix, and $\mathbf{C}$ is the output matrix, $v_k$ is the process noise driving the interactions between the different states and $w_k$ is the measurement noise.

$\endgroup$
4
  • $\begingroup$ I agree with this answer. Following up the OP's use case, I would simply add that assuming a random walk and direct measurment of prices, A and C are straightforward. $v_k$ drives the interactions between the prices and is the difficult part to model, one could estimate the covariance matrix of $v_k$ using the empirical estimator on previous data. $\endgroup$ – Antoine Bassoul Jan 15 '16 at 15:33
  • $\begingroup$ Pay attention that each process is a result of filtration hence the Measurement noise isn't white or independent with the state (Unless the answe is about working with the RAW data of each Kalman filter). $\endgroup$ – Royi Mar 26 '16 at 13:22
  • $\begingroup$ It's been a good while since I looked at it but check out West and Harrison's "bayesian forecasting and dynamic linear models". It used to be the bible for the bayesian version of the KF ( not sure if that's okay with you but you could use their ideas in a non bayesian version anyway ) and I think I remember them talking about ways to handle what you're dealing with. It's kind of old now but was "the bayesian KF" book when it first came out. I think it was 1995 or 1996. $\endgroup$ – mark leeds Jul 8 '18 at 15:05
  • 1
    $\begingroup$ Here is a link to a paper that discusses it so maybe you don't need the text. researchgate.net/publication/… $\endgroup$ – mark leeds Jul 8 '18 at 15:16
1
$\begingroup$

I only provide (yet) one piece of literature: Combination of statistical Kalman filters and data assimilation for improving ocean waves analysis and forecasting, 2012.

It is not about Kalman, but adaptive filters, and was just published, I guess it could be useful (for methods and references): Combinations of Adaptive Filters: Performance and convergence properties, IEEE Signal Processing Magazine, Jan. 2016.

$\endgroup$
1
$\begingroup$

My impression is that you have just to use a single kalman filter whose state correspond to the multiple variables you are considering and the transition matrix considers their interaction (E.g. price of meat rises, price of beans rises..). Then you consider a different observation matrix for each type of measurement.

Hope this helps

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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