Generalized Joint Distribution

Skip to first unread message

brandon willard

Jan 31, 2013, 6:20:56 PM1/31/13
I couldn't find anything in the api that looked like a generalized joint distribution.  I was looking because I have a particle filter that's producing a discrete/mixture distribution of state distributions, where the state distributions are simple products of conditionally independent distributions.  

Dixon, Kevin R

Jan 31, 2013, 7:00:32 PM1/31/13

Hi Brandon,


I’m not sure what you mean by “generalized joint distribution”.  Let me take a stab and see if I’m in the ballpark: When I want a joint distribution p(a,b), I’ll just represent it in the Foundry using the chain rule: p(a|b)*p(b)


Data-structure-wise, I usually do this with the prior (p(b)) as the appropriate distribution, a DataDistribution or UnivariateGaussian etc. and then the conditionals (p(a|b)) in a HashMap for discrete b or some type of other lookup for continuous b.


Does that make sense?


Let me know if I can help!




Kevin R. Dixon

Sandia National Laboratories

Critical Systems Security (05621)

MS0672, TA-I: 729/134

tel: (505) 284-5615

fax: (505) 284-3258

You received this message because you are subscribed to the Google Groups "Cognitive Foundry" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
For more options, visit

brandon willard

Jan 31, 2013, 8:07:43 PM1/31/13
I was thinking of an interface or an abstract class implementing Distribution that specifies a support with elements, like (a,b), for which distributions are defined so that operations like "mean" will return a mean in (a,b) and pdf.evaluate returns p(a|b)p(b).
There are a lot of ways to implement this with the current api, but I'm more interested in the interface/generic side of things, because, for instance, it would be nice to build/use compound distributions and know something about their structure.  It would also be possible to generalize more of the basic operations.

As a related aside:
Compound distributions like MultivariateMixtureDensityModel come close, but it stops short by only handling ClosedFormComputableDistribution<Vector>, where Vector is the limiting factor.  Specifying a generic RingType instead of Vector would probably fix that, though.  Then, for my use case, specifying RingType to be my home-made joint distribution would work.

Reply all
Reply to author
0 new messages