ClosedFormExpectations.jl
is a Julia package that provides closed-form expressions for computing the expectation of a function (e.g pdfs) with respect to another distribution, i.e.,
You can install ClosedFormExpectations.jl
using the Julia package manager. From the Julia REPL, type ]
to enter the Pkg REPL mode and run:
pkg> add ClosedFormExpectations
The package exports the following:
ClosedFormExpectation
: A struct representing the closed-form expectation
ClosedWilliamsProduct
: A struct representing the closed-form expectation of the product of score function and a target function (the gradient of the ClosedFormExpectation
)
Logpdf
: A struct to represent the logpdf function of a distribution
using ClosedFormExpectations
using Distributions
mean(ClosedFormExpectation(), log, Exponential(10))
mean(ClosedFormExpectation(), Logpdf(LogNormal(1, 10)), Exponential(10))
mean(ClosedFormExpectation(), Base.Fix1(logpdf, Exponential(1)), Exponential(10))