Omega.jl
Omega.jl is a programming language for causal and probabilistic reasoning. It was developed by Zenna Tavares with help from Javier Burroni, Edgar Minasyan, Xin Zhang, Rajesh Ranganath and Armando Solar Lezama.
Quick Start
Omega is built in Julia 1.0. You can easily install it from a Julia repl with:
(v1.0) pkg> add Omega
Check Omega is working and gives reasonable results with:
julia> using Omega
julia> rand(normal(0.0, 1.0))
0.7625637212030862
With that, see the Tutorial for a run through of the main features of Omega.
Contribute
We want your contributions!
- Probabilistic models
Please add probabilistic models and model families to https://github.com/zenna/OmegaModels.jl
- Inference procedures
Citation
If you use Omega, please cite Omega papers:
The Random Conditional Distribution for Uncertain Distributional Properties
@article{tavares2019rcd,
title={The Random Conditional Distribution for Uncertain Distributional Properties},
author={Tavares, Zenna and Burroni, Javier and Minaysan, Edgar and Ranganath, Rajesh and Lezama, Armando Solar},
journal={arXiv},
year={2019}
}
Soft Constraints for Inference with Declarative Knowedlge
@article{tavares2019soft,
title={Soft Constraints for Inference with Declarative Knowledge},
author={Tavares, Zenna and Burroni, Javier and Minaysan, Edgar and Lezama, Armando Solar and Ranganath, Rajesh},
journal={arXiv preprint arXiv:1901.05437},
year={2019}
}
If you use the causal inference features (replace
), please cite:
A Language for Counterfactual Generative Models
@article{tavares2019counterfactual,
title={Soft Constraints for Inference with Declarative Knowledge},
author={Tavares, Zenna and Zhang, Xin and Koppel, James and Lezama, Armando Solar},
year={2019}
}
Acknowledgements
Omega leans heavily on the hard work of many packages and the Julia community as a whole, but in particular Distributions.jl
, Flux.jl
, and Cassette.jl
.
Index
- Advanced Tutorial
- Counterfactuals
- Basic Tutorial
- Callbacks
- Causal Inference
- Counterfactuals
- Cheat Sheet
- Conditional Independence
- Contribution
- Built In Distributions
- Distributional Inference
- Random Distributional Properties
- Omega.jl
- Inference
- Built-in Inference Algorithms
- Overview
- Omega
- Omega vs other Probabilistic Programming Languages
- Omega vs ...
- Performance Tips
- Soft Execution
Omega.Inference.HMCFAST
Omega.Inference.RejectionSample
Omega.Inference.SSMH
Omega.Soft.SoftBool
Omega.Space.SimpleΩ
Omega.Space.Ω
Base.replace
Omega.Higher.rcd
Omega.Higher.rid
Omega.Prim.bernoulli
Omega.Prim.prob
Omega.Prim.uniform
Omega.Soft.d
Omega.Soft.kf1
Omega.Soft.kse
Omega.Soft.withkernel
Omega.ciid
Omega.cond
Omega.constant