-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Commit cbd718b
Initial refactoring for RandomVariable use in Model, step methods, and basic dists
These changes can be summarized as follows:
- `Model` objects now track fully functional Theano graphs that represent all
relationships between random and "deterministic" variables. These graphs are
called these "sample-space" graphs. `Model.unobserved_RVs`, `Model.basic_RVs`,
`Model.free_RVs`, and `Model.observed_RVs` contain these
graphs (i.e. `TensorVariable`s), which are generated by `RandomVariable` `Op`s.
- For each random variable, there is now a corresponding "measure-space"
variable (i.e. a `TensorVariable` that corresponds to said variable in a
log-likelihood graph). These variables are available as `rv_var.tag.value_var`,
for each random variable `rv_var`, or via `Model.vars`.
- Log-likelihood (i.e. measure-space) graphs are now created for individual
random variables by way of the generic functions `logpt`, `logcdf`,
`logp_nojac`, and `logpt_sum` in `pymc3.distributions`.
- Numerous uses of concrete shape information stemming from `Model`
objects (e.g. `Model.size`) have been removed/refactored.
- Use of `FreeRV`, `ObservedRV`, `MultiObservedRV`, and `TransformedRV` has been
deprecated. The information previously stored in these classes is now tracked
using `TensorVariable.tag`, and log-likelihoods are generated using the
aforementioned `log*` generic functions.1 parent f981db4 commit cbd718bCopy full SHA for cbd718b
File tree
Expand file treeCollapse file tree
2 files changed
+383
-14
lines changedFilter options
- pymc3
- distributions
- tests
Expand file treeCollapse file tree
2 files changed
+383
-14
lines changed
0 commit comments