diff --git a/index.html b/index.html index 6a5afc3..3ac2596 100644 --- a/index.html +++ b/index.html @@ -1,2 +1,3 @@ + diff --git a/previews/PR109/api/index.html b/previews/PR109/api/index.html index 1428cda..37860d8 100644 --- a/previews/PR109/api/index.html +++ b/previews/PR109/api/index.html @@ -1,5 +1,463 @@ -API · AbstractPPL

API

VarNames

AbstractPPL.VarNameType
VarName{sym}(optic=identity)

A variable identifier for a symbol sym and optic optic.

The Julia variable in the model corresponding to sym can refer to a single value or to a hierarchical array structure of univariate, multivariate or matrix variables. The field lens stores the indices requires to access the random variable from the Julia variable indicated by sym as a tuple of tuples. Each element of the tuple thereby contains the indices of one optic operation.

VarNames can be manually constructed using the VarName{sym}(optic) constructor, or from an optic expression through the @varname convenience macro.

Examples

julia> vn = VarName{:x}(Accessors.IndexLens((Colon(), 1)) ⨟ Accessors.IndexLens((2, )))
+API · AbstractPPL
+
+
+
+
+
+

API

VarNames

AbstractPPL.VarNameType
VarName{sym}(optic=identity)

A variable identifier for a symbol sym and optic optic.

The Julia variable in the model corresponding to sym can refer to a single value or to a hierarchical array structure of univariate, multivariate or matrix variables. The field lens stores the indices requires to access the random variable from the Julia variable indicated by sym as a tuple of tuples. Each element of the tuple thereby contains the indices of one optic operation.

VarNames can be manually constructed using the VarName{sym}(optic) constructor, or from an optic expression through the @varname convenience macro.

Examples

julia> vn = VarName{:x}(Accessors.IndexLens((Colon(), 1)) ⨟ Accessors.IndexLens((2, )))
 x[:, 1][2]
 
 julia> getoptic(vn)
@@ -109,3 +567,4 @@
 
 julia> y = ones(2); varname_to_string(@varname(y[:], true))
 "{\"optic\":{\"indices\":{\"values\":[{\"range\":{\"stop\":2,\"type\":\"Base.OneTo\"},\"type\":\"AbstractPPL.ConcretizedSlice\"}],\"type\":\"Base.Tuple\"},\"type\":\"index\"},\"sym\":\"y\"}"
source
AbstractPPL.string_to_varnameFunction
string_to_varname(str::AbstractString)

Convert a string representation of a VarName back to a VarName. The string should have been generated by varname_to_string.

source

Abstract model functions

AbstractPPL.conditionFunction
condition(model, observations)

Condition the generative model model on some observed data, creating a new model of the (possibly unnormalized) posterior distribution over them.

observations can be of any supported internal trace type, or a fixed probability expression.

The invariant

m = decondition(condition(m, obs))

should hold for generative models m and arbitrary obs.

source
AbstractPPL.deconditionFunction
decondition(conditioned_model)

Remove the conditioning (i.e., observation data) from conditioned_model, turning it into a generative model over prior and observed variables.

The invariant

m == condition(decondition(m), obs)

should hold for models m with conditioned variables obs.

source
AbstractPPL.fixFunction
fix(model, params)

Fix the values of parameters specified in params within the probabilistic model model. This operation is equivalent to treating the fixed parameters as being drawn from a point mass distribution centered at the values specified in params.

Conceptually, this is similar to Pearl's do-operator in causal inference, where we intervene on variables by setting them to specific values, effectively cutting off their dependencies on their usual causes in the model.

The invariant

m == unfix(fix(m, params))

should hold for any model m and parameters params.

source
AbstractPPL.unfixFunction
unfix(model)

Remove any fixed parameters from the model model, returning a new model without the fixed parameters.

This function reverses the effect of fix by removing parameter constraints that were previously set. It returns a new model where all previously fixed parameters are allowed to vary according to their original distributions in the model.

The invariant

m == unfix(fix(m, params))

should hold for any model m and parameters params.

source
DensityInterface.logdensityofFunction
logdensityof(model, trace)

Evaluate the (possibly unnormalized) density of the model specified by the probabilistic program in model, at specific values for the random variables given through trace.

trace can be of any supported internal trace type, or a fixed probability expression.

logdensityof should interact with conditioning and deconditioning in the way required by probability theory.

source

Abstract traces

+ diff --git a/previews/PR109/index.html b/previews/PR109/index.html index c00c824..d37a103 100644 --- a/previews/PR109/index.html +++ b/previews/PR109/index.html @@ -1,2 +1,461 @@ -Home · AbstractPPL

AbstractPPL.jl

A lightweight package containing interfaces and associated APIs for modelling languages for probabilistic programming.

+Home · AbstractPPL + + + + + +

AbstractPPL.jl

A lightweight package containing interfaces and associated APIs for modelling languages for probabilistic programming.

+ diff --git a/previews/PR81/api/index.html b/previews/PR81/api/index.html index 03f9db4..51ae43e 100644 --- a/previews/PR81/api/index.html +++ b/previews/PR81/api/index.html @@ -457,6 +457,7 @@ }); +

API

VarNames

AbstractPPL.VarNameType
VarName{sym}(optic=identity)

A variable identifier for a symbol sym and optic optic.

The Julia variable in the model corresponding to sym can refer to a single value or to a hierarchical array structure of univariate, multivariate or matrix variables. The field lens stores the indices requires to access the random variable from the Julia variable indicated by sym as a tuple of tuples. Each element of the tuple thereby contains the indices of one optic operation.

VarNames can be manually constructed using the VarName{sym}(optic) constructor, or from an optic expression through the @varname convenience macro.

Examples

julia> vn = VarName{:x}(Accessors.IndexLens((Colon(), 1)) ⨟ Accessors.IndexLens((2, )))
 x[:, 1][2]
 
diff --git a/previews/PR81/index.html b/previews/PR81/index.html
index f85550b..5bca4d3 100644
--- a/previews/PR81/index.html
+++ b/previews/PR81/index.html
@@ -457,5 +457,6 @@
     });
 
 
+
 

AbstractPPL.jl

A lightweight package containing interfaces and associated APIs for modelling languages for probabilistic programming.