symbolic-pymc icon indicating copy to clipboard operation
symbolic-pymc copied to clipboard

Add log-likelihoods to `RandomVariable`s

Open brandonwillard opened this issue 5 years ago • 0 comments

~~In RandomVariable.make_node, return theano.gof.Apply(self, inputs, (rng.type(), out_var, log_lik))—where log_lik is a graph of the log-likelihood for the given RV. This addition will allow RandomVariables to represent both measure and sample-space graphs.~~

~~In this case, a random variable's—e.g. rv—complete log-likelihood would always be available as rv.owner.outputs[-1].~~

Since owner information needs to be attached to Op outputs, we can't take that approach (e.g. some log-likelihoods may be constants). Instead, we should simply provide a logp function that constructs the measure-space graph for a given RandomVariable output using its RandomVariable.logp implementation.

brandonwillard avatar Jun 06 '20 19:06 brandonwillard