Will it support Stochastic Process in future?


#1

moved from https://github.com/blei-lab/edward/issues/512.

@Xeclipse

It’s an amazing tool! I want to know will it support Stochastic Process like Dirichlet Process, Gaussian Process in future? Since tensorflow doesn’t provide these api, I wonder that will you develop it. :slight_smile:


#2

@dustinvtran

Thanks for asking. It’s on the roadmap but not a priority (#464).

That being said, just yesterday I added the key pieces for implementing a Dirichlet process random variable in Edward (#508). The remaining work would be to properly write a class DirichletProcess that uses it for sampling. Contributions welcome.


#3

Is it possible to simple Markov Chains? That would be nice tutorial :slight_smile:


#4

Do you mean continuous time, or discrete time like a typical time series model? Nick Foti and Christopher Prohm have been helping for the latter (https://github.com/blei-lab/edward/pull/480).

(Either would be a nice tutorial.)


#5

Hi @dustin thanks a lot for the heads up, and pointing me in the right direction:slight_smile:

I think Edward’s got the capacity to be very flexible in the model specification? So in the docs, its written, “A probabilistic model is a joint distribution p(x,z) of data x and latent variables z”.

I’m actually interested in doing stuff with models defined and estimated by their joint distribution, p(x_t , x_t-1), over two adjacent time points. So from that definition, you can get the forward transition probability matrix/kernel p(x_t|x_t-1), and the backward p(x_t-1|x_t).

The particular case I’m working with is binary variables, so for example if X_t=(A_t,B_t), since both A_t and B_t are binary, it’s a 4 state system, and the space of joint distribution’s is simply 4x4 matrices with a bit of structure. Basically my problem is to calculate divergence measures, over all partitions of the model. So for example,

d( p(X_t|X_t-1=a) || p(X_t|X_t-1=b )

something like that :slight_smile: When X grows to more than two variables, then things grow exponentially, and the space of matrices/partitions, I have to do things on gets large.

I’ve got the code to calculate the divergence measures, i.e. earth movers distance, KLD, whatever, …, it’s just the combinatorial ‘explosion’ of calculating the conditional probabilities, over all possible partitions, that’s a nightmare :frowning:

So basically I’d like to see if Edward can help with flexible marginalisation/factorisation. I’ve got code in Matlab already, a lot of it based on Kevin Murphy’s Bayes Net toolbox, I just want to port it over to Edward now? I just saw this,

a few minuets ago, looks pretty similar to what I’ve got in Matlab. I wonder if there’s any functionality in Edward like this already?

Cheers,

Ajay


#6

@AjayTalati I would like to try DBNs in Edward, so if you’ve gone somewhere with porting Kevin Murphy’s BNT in Edward, that would be great!