Rules implementation

Message update rules

ReactiveMP.ruleFunction
rule(fform, on, vconstraint, mnames, messages, qnames, marginals, meta, __node)

This function is used to compute an outbound message for a given node

Arguments

  • fform: Functional form of the node in form of a type of the node, e.g. ::Type{ <: NormalMeanVariance } or ::typeof(+)
  • on: Outbound interface's tag for which a message has to be computed, e.g. ::Val{:out} or ::Val{:μ}
  • vconstraint: Variable constraints for an outbound interface, e.g. Marginalisation or MomentMatching
  • mnames: Ordered messages names in form of the Val type, eg. ::Val{ (:mean, :precision) }
  • messages: Tuple of message of the same length as mnames used to compute an outbound message
  • qnames: Ordered marginal names in form of the Val type, eg. ::Val{ (:mean, :precision) }
  • marginals: Tuple of marginals of the same length as qnames used to compute an outbound message
  • meta: Extra meta information
  • addons: Extra addons information
  • __node: Node reference

For all available rules, see ReactiveMP.print_rules_table().

See also: @rule, marginalrule, @marginalrule

source
ReactiveMP.@ruleMacro
@rule NodeType(:Edge, Constraint) (Arguments..., [ meta::MetaType ]) = begin
    # rule body
    return ...
end

The @rule macro help to define new methods for the rule function. It works particularly well in combination with the @node macro. It has a specific structure, which must specify:

  • NodeType: must be a valid Julia type. If some attempt to define a rule for a Julia function (for example +), use typeof(+)
  • Edge: edge label, usually edge labels are defined with the @node macro
  • Constrain: DEPRECATED, please just use the Marginalisation label
  • Arguments: defines a list of the input arguments for the rule
    • m_* prefix indicates that the argument is of type Message from the edge *
    • q_* prefix indicates that the argument is of type Marginal on the edge *
  • Meta::MetaType - optionally, a user can specify a Meta object of type MetaType. This can be useful is some attempts to try different rules with different approximation methods or if the rule itself requires some temporary storage or cache. The default meta is nothing.

Here are various examples of the @rule macro usage:

  1. Belief-Propagation (or Sum-Product) message update rule for the NormalMeanVariance node toward the edge with the Marginalisation constraint. Input arguments are m_out and m_v, which are the messages from the corresponding edges out and v and have the type PointMass.
@rule NormalMeanVariance(:μ, Marginalisation) (m_out::PointMass, m_v::PointMass) = NormalMeanVariance(mean(m_out), mean(m_v))
  1. Mean-field message update rule for the NormalMeanVariance node towards the edge with the Marginalisation constraint. Input arguments are q_out and q_v, which are the marginals on the corresponding edges out and v of type Any.
@rule NormalMeanVariance(:μ, Marginalisation) (q_out::Any, q_v::Any) = NormalMeanVariance(mean(q_out), mean(q_v))
  1. Structured Variational message update rule for the NormalMeanVariance node towards the :out edge with the Marginalisation constraint. Input arguments are m_μ, which is a message from the μ edge of type UnivariateNormalDistributionsFamily, and q_v, which is a marginal on the v edge of type Any.
@rule NormalMeanVariance(:out, Marginalisation) (m_μ::UnivariateNormalDistributionsFamily, q_v::Any) = begin
    m_μ_mean, m_μ_cov = mean_cov(m_μ)
    return NormalMeanVariance(m_μ_mean, m_μ_cov + mean(q_v))
end

See also: rule, marginalrule, [@marginalrule], @call_rule

source
ReactiveMP.@call_ruleMacro
@call_rule NodeType(:edge, Constraint) (argument1 = value1, argument2 = value2, ..., [ meta = ..., addons = ... ])

The @call_rule macro helps to call the rule method with an easier syntax. The structure of the macro is almost the same as in the @rule macro, but there is no begin ... end block, but instead each argument must have a specified value with the = operator.

The @call_rule accepts optional list of options before the functional form specification, for example:

@call_rule [ return_addons = true ] NodeType(:edge, Constraint) (argument1 = value1, argument2 = value2, ..., [ meta = ..., addons = ... ])

The list of available options is:

  • return_addons - forces the @call_rule to return the tuple of (result, addons)
  • fallback - specifies the fallback rule to use in case the rule is not defined for the given NodeType and specified arguments

See also: @rule, rule, @call_marginalrule

source
ReactiveMP.call_rule_macro_parse_fn_argsFunction
call_rule_macro_parse_fn_args(inputs; specname, prefix, proxy)

Do not use this function directly. This function is private and does not belong to the public API.

This function is used to parse an arguments tuple for message and marginal calling rules specification.

@call_rule MvNormalMeanPrecision(:out, Marginalisation) (m_μ = NormalMeanPrecision(...), m_τ = PointMass(...)) = begin 
                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                                        `arguments` vector
    ...
end

Accepts a vector of (name, value) elements, specname, name prefix and proxy type. Returns parsed names without prefix and proxied values

See also: @rule

source
ReactiveMP.call_rule_is_node_requiredFunction
call_rule_is_node_required(fformtype)

Returns either CallRuleNodeRequired() or CallRuleNodeNotRequired() depending on if a specific fformtype requires an access to the corresponding node in order to compute a message update rule. Returns CallRuleNodeNotRequired() for all known functional forms by default and CallRuleNodeRequired() for all unknown functional forms.

source
ReactiveMP.rule_macro_parse_on_tagFunction
rule_macro_parse_on_tag(expression)

Do not use this function directly. This function is private and does not belong to the public API.

This function is used to parse an on tag for message rules and marginal rules specification.

@rule MvNormalMeanPrecision(:out, Marginalisation) (...) = begin 
                            ^^^^
                            `on` tag
    ...
end

or

@rule NormalMixture((:m, k), Marginalisation) (...) = begin 
                    ^^^^^^^
                    `on` tag
    ...
end

Accepts either a quoted symbol expressions or a (name, index) tuple expression. Returns name expression, index expression and index initialisation expression.

See also: @rule

source
ReactiveMP.rule_macro_parse_fn_argsFunction
rule_macro_parse_fn_args(inputs; specname, prefix, proxy)

Do not use this function directly. This function is private and does not belong to the public API.

This function is used to parse an arguments tuple for message rules and marginal rules specification.

@rule MvNormalMeanPrecision(:out, Marginalisation) (m_μ::NormalMeanPrecision, m_τ::PointMass) = begin 
                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                                   `arguments` vector
    ...
end

Accepts a vector of (name, type) elements, specname, name prefix and proxy type. Returns parsed names without prefix, proxied types and initialisation code block.

See also: @rule

source
ReactiveMP.rule_macro_check_fn_argsFunction
rule_macro_check_fn_args(inputs; allowed_inputs, allowed_prefixes)

This function checks if all inputs are either in the allowed_inputs or have prefixes in the allowed_prefixes.

See also: @rule

source

Marginal update rules

ReactiveMP.marginalruleFunction
marginalrule(fform, on, mnames, messages, qnames, marginals, meta, __node)

This function is used to compute a local joint marginal for a given node

Arguments

  • fform: Functional form of the node in form of a type of the node, e.g. ::Type{ <: NormalMeanVariance } or ::typeof(+)
  • on: Local joint marginal tag , e.g. ::Val{ :mean_precision } or ::Val{ :out_mean_precision }
  • mnames: Ordered messages names in form of the Val type, eg. ::Val{ (:mean, :precision) }
  • messages: Tuple of message of the same length as mnames used to compute an outbound message
  • qnames: Ordered marginal names in form of the Val type, eg. ::Val{ (:mean, :precision) }
  • marginals: Tuple of marginals of the same length as qnames used to compute an outbound message
  • meta: Extra meta information
  • __node: Node reference

See also: rule, @rule @marginalrule

source
ReactiveMP.@marginalruleMacro
@marginalrule NodeType(:Cluster) (Arguments..., [ meta::MetaType ]) = begin
    # rule body
    return ...
end

The @marginalrule macro help to define new methods for the marginalrule function. It works particularly well in combination with the @node macro. It has a specific structure, which must specify:

  • NodeType: must be a valid Julia type. If some attempt to define a rule for a Julia function (for example +), use typeof(+)
  • Cluster: edge cluster that contains joined edge labels with the _ symbol. Usually edge labels are defined with the @node macro
  • Arguments: defines a list of the input arguments for the rule
    • m_* prefix indicates that the argument is of type Message from the edge *
    • q_* prefix indicates that the argument is of type Marginal on the edge *
  • Meta::MetaType - optionally, a user can specify a Meta object of type MetaType. This can be useful is some attempts to try different rules with different approximation methods or if the rule itself requires some temporary storage or cache. The default meta is nothing.

The @marginalrule can return a NamedTuple in the return statement. This would indicate some variables in the joint marginal for the Cluster are independent and the joint itself is factorised. For example if some attempts to compute a marginal for the q(x, y) it is possible to return (x = ..., y = ...) as the result of the computation to indicate that q(x, y) = q(x)q(y).

Here are various examples of the @marginalrule macro usage:

  1. Marginal computation rule around the NormalMeanPrecision node for the q(out, μ). The rule accepts arguments m_out and m_μ, which are the messages

from the out and μ edges respectively, and q_τ which is the marginal on the edge τ.

@marginalrule NormalMeanPrecision(:out_μ) (m_out::UnivariateNormalDistributionsFamily, m_μ::UnivariateNormalDistributionsFamily, q_τ::Any) = begin
    xi_out, W_out = weightedmean_precision(m_out)
    xi_μ, W_μ     = weightedmean_precision(m_μ)

    W_bar = mean(q_τ)

    W  = [W_out+W_bar -W_bar; -W_bar W_μ+W_bar]
    xi = [xi_out; xi_μ]

    return MvNormalWeightedMeanPrecision(xi, W)
end
  1. Marginal computation rule around the NormalMeanPrecision node for the q(out, μ). The rule accepts arguments m_out and m_μ, which are the messages from the

out and μ edges respectively, and q_τ which is the marginal on the edge τ. In this example the result of the computation is a NamedTuple

@marginalrule NormalMeanPrecision(:out_μ) (m_out::PointMass, m_μ::UnivariateNormalDistributionsFamily, q_τ::Any) = begin
    return (out = m_out, μ = prod(ClosedProd(), NormalMeanPrecision(mean(m_out), mean(q_τ)), m_μ))
end
source
ReactiveMP.@call_marginalruleMacro
@call_marginalrule NodeType(:edge) (argument1 = value1, argument2 = value2, ..., [ meta = ... ])

The @call_marginalrule macro helps to call the marginalrule method with an easier syntax. The structure of the macro is almost the same as in the @marginalrule macro, but there is no begin ... end block, but instead each argument must have a specified value with the = operator.

See also: @marginalrule, marginalrule, @call_rule

source

Testing utilities for the update rules

ReactiveMP.@test_rulesMacro
@test_rules [options] rule [ test_entries... ]

The @test_rules macro generates test cases for message update rules for probabilistic programming models that follow the "message passing" paradigm. It takes a rule specification as input and generates a set of tests based on that specification. This macro is provided by ReactiveMP.

Note: The Test module must be imported explicitly. The @test_rules macro tries to use the @test macro, which must be defined globally.

Arguments

The macro takes three arguments:

  • options: An optional argument that specifies the options for the test generation process. See below for details.
  • rule: A rule specification in the same format as the @rule macro, e.g. Beta(:out, Marginalisation) or NormalMeanVariance(:μ, Marginalisation).
  • test_entries: An array of named tuples (input = ..., output = ...). The input entry has the same format as the input for the @rule macro. The output entry specifies the expected output.

Options

The following options are available:

  • check_type_promotion: By default, this option is set to false. If set to true, the macro generates an extensive list of extra tests that aim to check the correct type promotion within the tests. For example, if all inputs are of type Float32, then the expected output should also be of type Float32. See the paramfloattype and convert_paramfloattype functions for details.
  • atol: Sets the desired accuracy for the tests. The tests use the custom_rule_isapprox function from ReactiveMP to check if outputs are approximately the same. This argument can be either a single number or an array of key => value pairs.
  • extra_float_types: A set of extra float types to be used in the check_type_promotion tests. This argument has no effect if check_type_promotion is set to false.

The default values for the atol option are:

  • Float32: 1e-4
  • Float64: 1e-6
  • BigFloat: 1e-8

Examples


@test_rules [check_type_promotion = true] Beta(:out, Marginalisation) [
    (input = (m_a = PointMass(1.0), m_b = PointMass(2.0)), output = Beta(1.0, 2.0)),
    (input = (m_a = PointMass(2.0), m_b = PointMass(2.0)), output = Beta(2.0, 2.0)),
    (input = (m_a = PointMass(3.0), m_b = PointMass(3.0)), output = Beta(3.0, 3.0))
]

@test_rules [check_type_promotion = true] Beta(:out, Marginalisation) [
    (input = (q_a = PointMass(1.0), q_b = PointMass(2.0)), output = Beta(1.0, 2.0)),
    (input = (q_a = PointMass(2.0), q_b = PointMass(2.0)), output = Beta(2.0, 2.0)),
    (input = (q_a = PointMass(3.0), q_b = PointMass(3.0)), output = Beta(3.0, 3.0))
]

See also: ReactiveMP.@test_marginalrules

source

Rule fallbacks

ReactiveMP.NodeFunctionRuleFallbackType
NodeFunctionRuleFallback(extractfn = mean)

A fallback rule for Stochastic nodes that uses a specified function (default: mean) to transform messages and marginals into a value. It calls the nodefunction method to create the message.

When a node is defined with the @node macro:

1. The nodefunction typically calls logpdf associated with the node's distribution. 2. The first edge in the @node specification is used to evaluate logpdf at. 3. Other edges are used to instantiate the associated distribution object.

julia> using ReactiveMP, BayesBase, Distributions

julia> struct MyBeta{A, B} <: ContinuousUnivariateDistribution
             a::A
             b::B
       end

julia> BayesBase.logpdf(d::MyBeta, x) = logpdf(Beta(d.a, d.b), x)

julia> BayesBase.insupport(d::MyBeta, x::Real) = true

julia> @node MyBeta Stochastic [out, a, b]

julia> message = @call_rule [fallback = NodeFunctionRuleFallback()] MyBeta(:out, Marginalisation) (m_a = Beta(2, 3), m_b = Beta(3, 2));

julia> logpdf(message, 0.5)
-0.5017644952110732

julia> message = @call_rule [fallback = NodeFunctionRuleFallback(mode)] MyBeta(:out, Marginalisation) (m_a = Beta(2, 3), m_b = Beta(3, 2)); # evaluate at `mode`

julia> logpdf(message, 0.5)
-0.5954237415153454
source
ReactiveMP.nodefunctionFunction
nodefunction(::Type{T}) where {T}

Returns a function that represents a node of type T. The function typically takes arguments that represent the node's input and output variables in the same order as defined in the @node macro.

source

Table of available update rules

Note

The list below has been automatically generated with the ReactiveMP.print_rules_table() function.

NodeOutputInputsMeta
dotin2μ(out) :: Union{ExponentialFamily.UnivariateNormalDistributionsFamily{T}, ExponentialFamily.UnivariateGaussianDistributionsFamily{T}} where TUnion{Nothing, MatrixCorrectionTools.AbstractCorrectionStrategy}
μ(in1) :: Union{ExponentialFamily.NormalDistributionsFamily{T}, ExponentialFamily.GaussianDistributionsFamily{T}} where T
dotin2μ(out) :: Union{ExponentialFamily.UnivariateNormalDistributionsFamily{T}, ExponentialFamily.UnivariateGaussianDistributionsFamily{T}} where TUnion{Nothing, MatrixCorrectionTools.AbstractCorrectionStrategy}
μ(in1) :: BayesBase.PointMass
dotin1μ(out) :: Union{ExponentialFamily.UnivariateNormalDistributionsFamily{T}, ExponentialFamily.UnivariateGaussianDistributionsFamily{T}} where TUnion{Nothing, MatrixCorrectionTools.AbstractCorrectionStrategy}
μ(in2) :: Union{ExponentialFamily.NormalDistributionsFamily{T}, ExponentialFamily.GaussianDistributionsFamily{T}} where T
dotin1μ(out) :: Union{ExponentialFamily.UnivariateNormalDistributionsFamily{T}, ExponentialFamily.UnivariateGaussianDistributionsFamily{T}} where TUnion{Nothing, MatrixCorrectionTools.AbstractCorrectionStrategy}
μ(in2) :: BayesBase.PointMass
dotoutμ(in1) :: Union{ExponentialFamily.NormalDistributionsFamily{T}, ExponentialFamily.GaussianDistributionsFamily{T}} where TUnion{Nothing, MatrixCorrectionTools.AbstractCorrectionStrategy}
μ(in2) :: Union{ExponentialFamily.NormalDistributionsFamily{T}, ExponentialFamily.GaussianDistributionsFamily{T}} where T
dotoutμ(in1) :: BayesBase.PointMassUnion{Nothing, MatrixCorrectionTools.AbstractCorrectionStrategy}
μ(in2) :: Union{ExponentialFamily.NormalDistributionsFamily{T}, ExponentialFamily.GaussianDistributionsFamily{T}} where T
dotoutμ(in1) :: Union{ExponentialFamily.NormalDistributionsFamily{T}, ExponentialFamily.GaussianDistributionsFamily{T}} where TUnion{Nothing, MatrixCorrectionTools.AbstractCorrectionStrategy}
μ(in2) :: BayesBase.PointMass
+outμ(in1) :: BayesBase.PointMassNothing
μ(in2) :: ExponentialFamily.MvNormalWeightedMeanPrecision
+outμ(in1) :: ExponentialFamily.MvNormalWeightedMeanPrecisionNothing
μ(in2) :: BayesBase.PointMass
+outμ(in1) :: ExponentialFamily.MvNormalWeightedMeanPrecision{T1, M, P} where {M<:AbstractVector{T1}, P<:AbstractMatrix{T1}}Nothing
μ(in2) :: ExponentialFamily.MvNormalWeightedMeanPrecision{T2, M, P} where {M<:AbstractVector{T2}, P<:AbstractMatrix{T2}}
+outμ(in1) :: BayesBase.PointMassNothing
μ(in2) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where T
+outμ(in1) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where TNothing
μ(in2) :: BayesBase.PointMass
+outμ(in1) :: BayesBase.PointMassNothing
μ(in2) :: Union{ExponentialFamily.UnivariateNormalDistributionsFamily{T}, ExponentialFamily.UnivariateGaussianDistributionsFamily{T}} where T
+outμ(in1) :: Union{ExponentialFamily.UnivariateNormalDistributionsFamily{T}, ExponentialFamily.UnivariateGaussianDistributionsFamily{T}} where TNothing
μ(in2) :: BayesBase.PointMass
+outμ(in1) :: BayesBase.PointMassNothing
μ(in2) :: ExponentialFamily.MvNormalMeanPrecision
+outμ(in1) :: ExponentialFamily.MvNormalMeanPrecisionNothing
μ(in2) :: BayesBase.PointMass
+outμ(in1) :: BayesBase.PointMassNothing
μ(in2) :: ExponentialFamily.NormalMeanPrecision
+outμ(in1) :: ExponentialFamily.NormalMeanPrecisionNothing
μ(in2) :: BayesBase.PointMass
+outμ(in1) :: BayesBase.PointMassNothing
μ(in2) :: BayesBase.PointMass
+outμ(in1) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where TNothing
μ(in2) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where T
+outμ(in1) :: Union{ExponentialFamily.UnivariateNormalDistributionsFamily{T}, ExponentialFamily.UnivariateGaussianDistributionsFamily{T}} where TNothing
μ(in2) :: Union{ExponentialFamily.UnivariateNormalDistributionsFamily{T}, ExponentialFamily.UnivariateGaussianDistributionsFamily{T}} where T
+outμ(in1) :: Distributions.DistributionNothing
μ(in2) :: Distributions.Distribution
+in2μ(out) :: Any
μ(in1) :: Any
-in2μ(out) :: Any
μ(in1) :: Any
-in1μ(out) :: Any
μ(in2) :: Any
-outμ(in1) :: Any
μ(in2) :: Any
+in1μ(out) :: BayesBase.PointMassNothing
μ(in2) :: ExponentialFamily.MvNormalWeightedMeanPrecision
+in1μ(out) :: ExponentialFamily.MvNormalWeightedMeanPrecision{T1, M, P} where {M<:AbstractVector{T1}, P<:AbstractMatrix{T1}}Nothing
μ(in2) :: BayesBase.PointMass
+in1μ(out) :: ExponentialFamily.MvNormalWeightedMeanPrecision{T1, M, P} where {M<:AbstractVector{T1}, P<:AbstractMatrix{T1}}Nothing
μ(in2) :: ExponentialFamily.MvNormalWeightedMeanPrecision{T2, M, P} where {M<:AbstractVector{T2}, P<:AbstractMatrix{T2}}
+in1μ(out) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where TNothing
μ(in2) :: BayesBase.PointMass
+in1μ(out) :: BayesBase.PointMassNothing
μ(in2) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where T
+in1μ(out) :: Union{ExponentialFamily.UnivariateNormalDistributionsFamily{T}, ExponentialFamily.UnivariateGaussianDistributionsFamily{T}} where TNothing
μ(in2) :: BayesBase.PointMass
+in1μ(out) :: BayesBase.PointMassNothing
μ(in2) :: Union{ExponentialFamily.UnivariateNormalDistributionsFamily{T}, ExponentialFamily.UnivariateGaussianDistributionsFamily{T}} where T
+in1μ(out) :: ExponentialFamily.MvNormalMeanPrecisionNothing
μ(in2) :: BayesBase.PointMass
+in1μ(out) :: BayesBase.PointMassNothing
μ(in2) :: ExponentialFamily.MvNormalMeanPrecision
+in1μ(out) :: ExponentialFamily.NormalMeanPrecisionNothing
μ(in2) :: BayesBase.PointMass
+in1μ(out) :: BayesBase.PointMassNothing
μ(in2) :: ExponentialFamily.NormalMeanPrecision
+in1μ(out) :: BayesBase.PointMassNothing
μ(in2) :: BayesBase.PointMass
+in1μ(out) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where TNothing
μ(in2) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where T
+in1μ(out) :: Union{ExponentialFamily.UnivariateNormalDistributionsFamily{T}, ExponentialFamily.UnivariateGaussianDistributionsFamily{T}} where TNothing
μ(in2) :: Union{ExponentialFamily.UnivariateNormalDistributionsFamily{T}, ExponentialFamily.UnivariateGaussianDistributionsFamily{T}} where T
*inμ(out) :: Distributions.UnivariateDistributionUnion{Nothing, MatrixCorrectionTools.AbstractCorrectionStrategy}
μ(A) :: Distributions.UnivariateDistribution
*inμ(out) :: Union{ExponentialFamily.UnivariateNormalDistributionsFamily{T}, ExponentialFamily.UnivariateGaussianDistributionsFamily{T}} where TUnion{Nothing, MatrixCorrectionTools.AbstractCorrectionStrategy}
μ(A) :: Union{ExponentialFamily.UnivariateNormalDistributionsFamily{T}, ExponentialFamily.UnivariateGaussianDistributionsFamily{T}} where T
*inμ(out) :: BayesBase.PointMassUnion{Nothing, MatrixCorrectionTools.AbstractCorrectionStrategy}
μ(A) :: BayesBase.PointMass
*inμ(out) :: ExponentialFamily.GammaDistributionsFamilyUnion{Nothing, MatrixCorrectionTools.AbstractCorrectionStrategy}
μ(A) :: BayesBase.PointMass{<:Real}
*inμ(out) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where TUnion{Nothing, MatrixCorrectionTools.AbstractCorrectionStrategy}
μ(A) :: BayesBase.PointMass{<:AbstractMatrix}
*inμ(out) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where TUnion{Nothing, MatrixCorrectionTools.AbstractCorrectionStrategy}
μ(A) :: BayesBase.PointMass{<:AbstractVector}
*inμ(out) :: FUnion{Nothing, MatrixCorrectionTools.AbstractCorrectionStrategy}
μ(A) :: BayesBase.PointMass{<:Real}
*inμ(out) :: ExponentialFamily.MvNormalMeanCovarianceUnion{Nothing, MatrixCorrectionTools.AbstractCorrectionStrategy}
μ(A) :: BayesBase.PointMass{<:AbstractMatrix}
*inμ(out) :: ExponentialFamily.MvNormalMeanCovarianceUnion{Nothing, MatrixCorrectionTools.AbstractCorrectionStrategy}
μ(A) :: BayesBase.PointMass{<:AbstractVector}
*inμ(A) :: BayesBase.PointMass{<:LinearAlgebra.UniformScaling}Union{Nothing, MatrixCorrectionTools.AbstractCorrectionStrategy}
μ(out) :: Union{ExponentialFamily.NormalDistributionsFamily{T}, ExponentialFamily.GaussianDistributionsFamily{T}} where T
*inμ(A) :: Union{ExponentialFamily.NormalDistributionsFamily{T}, ExponentialFamily.GaussianDistributionsFamily{T}} where TUnion{Nothing, MatrixCorrectionTools.AbstractCorrectionStrategy}
μ(out) :: BayesBase.PointMass{<:Real}
*inμ(A) :: BayesBase.PointMass{<:Real}Union{Nothing, MatrixCorrectionTools.AbstractCorrectionStrategy}
μ(out) :: ExponentialFamily.MvNormalWeightedMeanPrecision
*inμ(A) :: BayesBase.PointMass{<:Real}Union{Nothing, MatrixCorrectionTools.AbstractCorrectionStrategy}
μ(out) :: ExponentialFamily.MvNormalMeanPrecision
*inμ(A) :: BayesBase.PointMass{<:Real}Union{Nothing, MatrixCorrectionTools.AbstractCorrectionStrategy}
μ(out) :: ExponentialFamily.MvNormalMeanCovariance
*inμ(A) :: BayesBase.PointMass{<:Real}Union{Nothing, MatrixCorrectionTools.AbstractCorrectionStrategy}
μ(out) :: Union{ExponentialFamily.UnivariateNormalDistributionsFamily{T}, ExponentialFamily.UnivariateGaussianDistributionsFamily{T}} where T
*outμ(A) :: Distributions.UnivariateDistributionUnion{Nothing, MatrixCorrectionTools.AbstractCorrectionStrategy}
μ(in) :: Distributions.UnivariateDistribution
*outμ(A) :: Union{ExponentialFamily.UnivariateNormalDistributionsFamily{T}, ExponentialFamily.UnivariateGaussianDistributionsFamily{T}} where TUnion{Nothing, MatrixCorrectionTools.AbstractCorrectionStrategy}
μ(in) :: Union{ExponentialFamily.UnivariateNormalDistributionsFamily{T}, ExponentialFamily.UnivariateGaussianDistributionsFamily{T}} where T
*outμ(A) :: BayesBase.PointMass{<:LinearAlgebra.UniformScaling}Union{Nothing, MatrixCorrectionTools.AbstractCorrectionStrategy}
μ(in) :: Union{ExponentialFamily.NormalDistributionsFamily{T}, ExponentialFamily.GaussianDistributionsFamily{T}} where T
*outμ(A) :: Union{ExponentialFamily.NormalDistributionsFamily{T}, ExponentialFamily.GaussianDistributionsFamily{T}} where TUnion{Nothing, MatrixCorrectionTools.AbstractCorrectionStrategy}
μ(in) :: BayesBase.PointMass{<:Real}
*outμ(A) :: BayesBase.PointMass{<:Real}Union{Nothing, MatrixCorrectionTools.AbstractCorrectionStrategy}
μ(in) :: ExponentialFamily.MvNormalWeightedMeanPrecision
*outμ(A) :: BayesBase.PointMass{<:Real}Union{Nothing, MatrixCorrectionTools.AbstractCorrectionStrategy}
μ(in) :: ExponentialFamily.MvNormalMeanPrecision
*outμ(A) :: BayesBase.PointMass{<:Real}Union{Nothing, MatrixCorrectionTools.AbstractCorrectionStrategy}
μ(in) :: ExponentialFamily.MvNormalMeanCovariance
*outμ(A) :: BayesBase.PointMass{<:Real}Union{Nothing, MatrixCorrectionTools.AbstractCorrectionStrategy}
μ(in) :: Union{ExponentialFamily.UnivariateNormalDistributionsFamily{T}, ExponentialFamily.UnivariateGaussianDistributionsFamily{T}} where T
*outμ(A) :: BayesBase.PointMassUnion{Nothing, MatrixCorrectionTools.AbstractCorrectionStrategy}
μ(in) :: BayesBase.PointMass
*outμ(A) :: BayesBase.PointMass{<:Real}Union{Nothing, MatrixCorrectionTools.AbstractCorrectionStrategy}
μ(in) :: ExponentialFamily.GammaDistributionsFamily
*outμ(A) :: ExponentialFamily.GammaDistributionsFamilyUnion{Nothing, MatrixCorrectionTools.AbstractCorrectionStrategy}
μ(in) :: BayesBase.PointMass{<:Real}
*outμ(A) :: BayesBase.PointMass{<:AbstractMatrix}Union{Nothing, MatrixCorrectionTools.AbstractCorrectionStrategy}
μ(in) :: F
*outμ(A) :: FUnion{Nothing, MatrixCorrectionTools.AbstractCorrectionStrategy}
μ(in) :: BayesBase.PointMass{<:AbstractMatrix}
*outμ(A) :: BayesBase.PointMass{<:AbstractVector}Union{Nothing, MatrixCorrectionTools.AbstractCorrectionStrategy}
μ(in) :: Union{ExponentialFamily.UnivariateNormalDistributionsFamily{T}, ExponentialFamily.UnivariateGaussianDistributionsFamily{T}} where T
*outμ(A) :: Union{ExponentialFamily.UnivariateNormalDistributionsFamily{T}, ExponentialFamily.UnivariateGaussianDistributionsFamily{T}} where TUnion{Nothing, MatrixCorrectionTools.AbstractCorrectionStrategy}
μ(in) :: BayesBase.PointMass{<:AbstractVector}
*Aμ(out) :: Distributions.UnivariateDistributionUnion{Nothing, MatrixCorrectionTools.AbstractCorrectionStrategy}
μ(in) :: Distributions.UnivariateDistribution
*Aμ(out) :: Union{ExponentialFamily.UnivariateNormalDistributionsFamily{T}, ExponentialFamily.UnivariateGaussianDistributionsFamily{T}} where TUnion{Nothing, MatrixCorrectionTools.AbstractCorrectionStrategy}
μ(in) :: Union{ExponentialFamily.UnivariateNormalDistributionsFamily{T}, ExponentialFamily.UnivariateGaussianDistributionsFamily{T}} where T
*Aμ(out) :: BayesBase.PointMassUnion{Nothing, MatrixCorrectionTools.AbstractCorrectionStrategy}
μ(in) :: BayesBase.PointMass
*Aμ(out) :: ExponentialFamily.GammaDistributionsFamilyUnion{Nothing, MatrixCorrectionTools.AbstractCorrectionStrategy}
μ(in) :: BayesBase.PointMass{<:Real}
*Aμ(out) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where TUnion{Nothing, MatrixCorrectionTools.AbstractCorrectionStrategy}
μ(in) :: BayesBase.PointMass{<:AbstractMatrix}
*Aμ(out) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where TUnion{Nothing, MatrixCorrectionTools.AbstractCorrectionStrategy}
μ(in) :: BayesBase.PointMass{<:AbstractVector}
*Aμ(out) :: FUnion{Nothing, MatrixCorrectionTools.AbstractCorrectionStrategy}
μ(in) :: BayesBase.PointMass{<:Real}
*Aμ(out) :: ExponentialFamily.MvNormalMeanCovarianceUnion{Nothing, MatrixCorrectionTools.AbstractCorrectionStrategy}
μ(in) :: BayesBase.PointMass{<:AbstractMatrix}
*Aμ(out) :: ExponentialFamily.MvNormalMeanCovarianceUnion{Nothing, MatrixCorrectionTools.AbstractCorrectionStrategy}
μ(in) :: BayesBase.PointMass{<:AbstractVector}
Distributions.InverseGammaoutq(α) :: AnyNothing
q(θ) :: Any
Distributions.Gammaoutq(α) :: AnyNothing
q(θ) :: Any
Distributions.InverseGammaoutμ(α) :: BayesBase.PointMassNothing
μ(θ) :: BayesBase.PointMass
Distributions.Gammaoutμ(α) :: BayesBase.PointMassNothing
μ(θ) :: BayesBase.PointMass
Flowinμ(out) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where TFlowMeta{M, <:Unscented}
Flowinμ(out) :: ExponentialFamily.MvNormalWeightedMeanPrecisionFlowMeta{M, <:Linearization}
Flowinμ(out) :: ExponentialFamily.MvNormalMeanPrecisionFlowMeta{M, <:Linearization}
Flowinμ(out) :: ExponentialFamily.MvNormalMeanCovarianceFlowMeta{M, <:Linearization}
Flowoutμ(in) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where TFlowMeta{M, <:Unscented}
Flowoutμ(in) :: ExponentialFamily.MvNormalWeightedMeanPrecisionFlowMeta{M, <:Linearization}
Flowoutμ(in) :: ExponentialFamily.MvNormalMeanPrecisionFlowMeta{M, <:Linearization}
Flowoutμ(in) :: ExponentialFamily.MvNormalMeanCovarianceFlowMeta{M, <:Linearization}
ExponentialFamily.MvNormalMeanPrecisionΛq(out_μ) :: AnyNothing
ExponentialFamily.MvNormalMeanPrecisionΛq(out) :: AnyNothing
q(μ) :: Any
ExponentialFamily.MvNormalMeanPrecisionoutμ(μ) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where TNothing
q(Λ) :: Distributions.Wishart
ExponentialFamily.MvNormalMeanPrecisionoutμ(μ) :: BayesBase.PointMassNothing
q(Λ) :: Any
ExponentialFamily.MvNormalMeanPrecisionoutμ(μ) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where TNothing
q(Λ) :: Any
ExponentialFamily.MvNormalMeanPrecisionoutq(μ) :: BayesBase.PointMassNothing
q(Λ) :: BayesBase.PointMass
ExponentialFamily.MvNormalMeanPrecisionoutq(μ) :: AnyNothing
q(Λ) :: Any
ExponentialFamily.MvNormalMeanPrecisionoutμ(μ) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where TNothing
μ(Λ) :: BayesBase.PointMass
ExponentialFamily.MvNormalMeanPrecisionoutμ(μ) :: BayesBase.PointMassNothing
μ(Λ) :: BayesBase.PointMass
ExponentialFamily.MvNormalMeanPrecisionμμ(out) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where TNothing
q(Λ) :: Distributions.Wishart
ExponentialFamily.MvNormalMeanPrecisionμμ(out) :: BayesBase.PointMassNothing
q(Λ) :: Any
ExponentialFamily.MvNormalMeanPrecisionμμ(out) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where TNothing
q(Λ) :: Any
ExponentialFamily.MvNormalMeanPrecisionμq(out) :: BayesBase.PointMassNothing
q(Λ) :: BayesBase.PointMass
ExponentialFamily.MvNormalMeanPrecisionμq(out) :: AnyNothing
q(Λ) :: Any
ExponentialFamily.MvNormalMeanPrecisionμμ(out) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where TNothing
μ(Λ) :: BayesBase.PointMass
ExponentialFamily.MvNormalMeanPrecisionμμ(out) :: BayesBase.PointMassNothing
μ(Λ) :: BayesBase.PointMass
GammaMixture{N}outq(switch) :: AnyNothing
q(a) :: ManyOf{<:Tuple{Vararg{Any, N}}}
q(b) :: ExponentialFamily.GammaDistributionsFamily
GammaMixturebq(out) :: AnyNothing
q(switch) :: Any
q(a) :: Any
GammaMixtureaq(out) :: AnyNothing
q(switch) :: Any
q(b) :: ExponentialFamily.GammaDistributionsFamily
GammaMixture{N}switchq(out) :: AnyNothing
q(a) :: ManyOf{<:Tuple{Vararg{Any, N}}}
q(b) :: ExponentialFamily.GammaDistributionsFamily
Probitoutμ(in) :: Union{ExponentialFamily.UnivariateNormalDistributionsFamily{T}, ExponentialFamily.UnivariateGaussianDistributionsFamily{T}} where TUnion{Nothing, ProbitMeta}
Probitoutμ(in) :: BayesBase.PointMassUnion{Nothing, ProbitMeta}
NOToutμ(in) :: Distributions.BernoulliNothing
Probitoutq(in) :: BayesBase.PointMassUnion{Nothing, ProbitMeta}
BIFMHelperoutq(in) :: AnyNothing
Probitinμ(out) :: Union{BayesBase.PointMass, Distributions.Bernoulli}Union{Nothing, ProbitMeta}
μ(in) :: Union{ExponentialFamily.UnivariateNormalDistributionsFamily{T}, ExponentialFamily.UnivariateGaussianDistributionsFamily{T}} where T
Probitinμ(in) :: Union{ExponentialFamily.UnivariateNormalDistributionsFamily{T}, ExponentialFamily.UnivariateGaussianDistributionsFamily{T}} where TUnion{Nothing, ProbitMeta}
q(out) :: BayesBase.PointMass
Probitinμ(out) :: Union{BayesBase.PointMass, Distributions.Bernoulli}Union{Nothing, ProbitMeta}
BIFMHelperinμ(out) :: AnyNothing
NOTinμ(out) :: Distributions.BernoulliNothing
Probitinq(out) :: BayesBase.PointMassUnion{Nothing, ProbitMeta}
Distributions.Betaoutq(a) :: BayesBase.PointMassNothing
q(b) :: BayesBase.PointMass
Distributions.Uniformoutq(a) :: BayesBase.PointMassNothing
q(b) :: BayesBase.PointMass
Distributions.Betaoutμ(a) :: BayesBase.PointMassNothing
μ(b) :: BayesBase.PointMass
Distributions.Uniformoutμ(a) :: BayesBase.PointMassNothing
μ(b) :: BayesBase.PointMass
Distributions.Wishartoutq(ν) :: AnyNothing
q(S) :: Any
InverseWishartoutq(ν) :: AnyNothing
q(S) :: Any
Distributions.Wishartoutμ(ν) :: BayesBase.PointMassNothing
q(S) :: Any
InverseWishartoutμ(ν) :: BayesBase.PointMassNothing
q(S) :: Any
Distributions.Wishartoutμ(S) :: BayesBase.PointMassNothing
q(ν) :: Any
InverseWishartoutμ(S) :: BayesBase.PointMassNothing
q(ν) :: Any
Distributions.Wishartoutμ(ν) :: BayesBase.PointMassNothing
μ(S) :: BayesBase.PointMass
InverseWishartoutμ(ν) :: BayesBase.PointMassNothing
μ(S) :: BayesBase.PointMass
Poissonoutq(l) :: ExponentialFamily.GammaDistributionsFamilyNothing
Poissonoutμ(l) :: BayesBase.PointMassNothing
Poissonlq(out) :: AnyNothing
Poissonlμ(out) :: BayesBase.PointMassNothing
MvNormalMeanScalePrecisionγq(out_μ) :: AnyNothing
MvNormalMeanScalePrecisionγq(out) :: AnyNothing
q(μ) :: Any
MvNormalMeanScalePrecisionμμ(out) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where TNothing
q(γ) :: Any
MvNormalMeanScalePrecisionμq(out) :: AnyNothing
q(γ) :: Any
MvNormalMeanScalePrecisionoutμ(μ) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where TNothing
q(γ) :: Any
MvNormalMeanScalePrecisionoutq(μ) :: AnyNothing
q(γ) :: Any
Transitioninq(out) :: BayesBase.PointMassNothing
q(a) :: BayesBase.PointMass
Transitioninq(out) :: AnyNothing
q(a) :: ExponentialFamily.MatrixDirichlet
Transitioninμ(out) :: Distributions.Categorical{P} where P<:Real
q(a) :: BayesBase.PointMass
Transitioninμ(out) :: Distributions.Categorical{P} where P<:RealNothing
q(a) :: ExponentialFamily.MatrixDirichlet
Transitioninμ(out) :: Distributions.Categorical{P} where P<:RealNothing
μ(a) :: BayesBase.PointMass
Transitionoutμ(in) :: Distributions.DiscreteNonParametric
q(a) :: BayesBase.PointMass
Transitionoutμ(in) :: Distributions.Categorical{P} where P<:RealNothing
q(a) :: Distributions.Distribution{Distributions.Matrixvariate, Distributions.Continuous}
Transitionoutq(in) :: Distributions.Categorical{P} where P<:RealNothing
q(a) :: Any
Transitionoutq(in) :: BayesBase.PointMassNothing
q(a) :: BayesBase.PointMass
Transitionoutμ(in) :: Distributions.Categorical{P} where P<:RealNothing
μ(a) :: BayesBase.PointMass
Transitionaq(out_in) :: BayesBase.ContingencyNothing
Transitionaq(out) :: AnyNothing
q(in) :: Distributions.Categorical{P} where P<:Real
SoftDotγq(y_x) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where TNothing
q(θ) :: Any
SoftDotγq(y) :: AnyNothing
q(θ) :: Any
q(x) :: Any
SoftDotxμ(y) :: Union{ExponentialFamily.UnivariateNormalDistributionsFamily{T}, ExponentialFamily.UnivariateGaussianDistributionsFamily{T}} where TNothing
q(θ) :: Any
q(γ) :: Any
SoftDotxq(y) :: AnyNothing
q(θ) :: Any
q(γ) :: Any
SoftDotyμ(x) :: AnyNothing
q(θ) :: Any
q(γ) :: Any
SoftDotyq(θ) :: AnyNothing
q(x) :: Any
q(γ) :: Any
SoftDotθq(y_x) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where TNothing
q(γ) :: Any
SoftDotθq(y) :: AnyNothing
q(x) :: Any
q(γ) :: Any
ANDoutμ(in1) :: Distributions.BernoulliNothing
μ(in2) :: Distributions.Bernoulli
ORoutμ(in1) :: Distributions.BernoulliNothing
μ(in2) :: Distributions.Bernoulli
ANDin2μ(out) :: Distributions.BernoulliNothing
μ(in1) :: Distributions.Bernoulli
ORin2μ(out) :: Distributions.BernoulliNothing
μ(in1) :: Distributions.Bernoulli
ANDin1μ(out) :: Distributions.BernoulliNothing
μ(in2) :: Distributions.Bernoulli
ORin1μ(out) :: Distributions.BernoulliNothing
μ(in2) :: Distributions.Bernoulli
ExponentialFamily.MvNormalMeanCovarianceoutμ(μ) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where TNothing
q(Σ) :: Any
ExponentialFamily.MvNormalMeanCovarianceoutμ(μ) :: BayesBase.PointMassNothing
q(Σ) :: Any
ExponentialFamily.MvNormalMeanCovarianceoutq(μ) :: BayesBase.PointMassNothing
q(Σ) :: BayesBase.PointMass
ExponentialFamily.MvNormalMeanCovarianceoutq(μ) :: AnyNothing
q(Σ) :: Any
ExponentialFamily.MvNormalMeanCovarianceoutμ(μ) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where TNothing
μ(Σ) :: BayesBase.PointMass
ExponentialFamily.MvNormalMeanCovarianceoutμ(μ) :: BayesBase.PointMassNothing
μ(Σ) :: BayesBase.PointMass
ExponentialFamily.MvNormalMeanCovarianceΣq(out_μ) :: AnyNothing
ExponentialFamily.MvNormalMeanCovarianceΣq(out) :: AnyNothing
q(μ) :: Any
ExponentialFamily.MvNormalMeanCovarianceμμ(out) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where TNothing
q(Σ) :: Any
ExponentialFamily.MvNormalMeanCovarianceμμ(out) :: BayesBase.PointMassNothing
q(Σ) :: Any
ExponentialFamily.MvNormalMeanCovarianceμq(out) :: BayesBase.PointMassNothing
q(Σ) :: BayesBase.PointMass
ExponentialFamily.MvNormalMeanCovarianceμq(out) :: AnyNothing
q(Σ) :: Any
ExponentialFamily.MvNormalMeanCovarianceμμ(out) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where TNothing
μ(Σ) :: BayesBase.PointMass
ExponentialFamily.MvNormalMeanCovarianceμμ(out) :: BayesBase.PointMassNothing
μ(Σ) :: BayesBase.PointMass
ARγq(y) :: AnyARMeta
q(x) :: Any
q(θ) :: Any
ARγq(y_x) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where TARMeta
q(θ) :: Union{ExponentialFamily.NormalDistributionsFamily{T}, ExponentialFamily.GaussianDistributionsFamily{T}} where T
ARxq(y) :: AnyARMeta
q(θ) :: Any
q(γ) :: Any
ARxμ(y) :: Union{ExponentialFamily.NormalDistributionsFamily{T}, ExponentialFamily.GaussianDistributionsFamily{T}} where TARMeta
q(θ) :: Union{ExponentialFamily.NormalDistributionsFamily{T}, ExponentialFamily.GaussianDistributionsFamily{T}} where T
q(γ) :: Any
ARyq(x) :: AnyARMeta
q(θ) :: Any
q(γ) :: Any
ARyμ(x) :: Union{ExponentialFamily.NormalDistributionsFamily{T}, ExponentialFamily.GaussianDistributionsFamily{T}} where TARMeta
q(θ) :: Union{ExponentialFamily.NormalDistributionsFamily{T}, ExponentialFamily.GaussianDistributionsFamily{T}} where T
q(γ) :: Any
ARθq(y) :: AnyARMeta
q(x) :: Any
q(γ) :: Any
ARθq(y_x) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where TARMeta
q(γ) :: Any
Distributions.Bernoullioutq(p) :: AnyNothing
Distributions.Bernoullioutq(p) :: BayesBase.PointMassNothing
Distributions.Categorical{P} where P<:Realoutq(p) :: BayesBase.PointMassNothing
Distributions.Categorical{P} where P<:Realoutq(p) :: Distributions.DirichletNothing
Distributions.Bernoullioutμ(p) :: BayesBase.PointMassNothing
Distributions.Bernoullioutμ(p) :: Distributions.BetaNothing
Distributions.Categorical{P} where P<:Realoutμ(p) :: BayesBase.PointMassNothing
Distributions.Categorical{P} where P<:Realoutμ(p) :: Distributions.DirichletNothing
Distributions.Bernoullipq(out) :: Distributions.Categorical{P} where P<:RealNothing
Distributions.Bernoullipq(out) :: Distributions.BernoulliNothing
Distributions.Bernoullipq(out) :: BayesBase.PointMassNothing
Distributions.Categorical{P} where P<:Realpq(out) :: BayesBase.PointMassNothing
Distributions.Categorical{P} where P<:Realpq(out) :: AnyNothing
Distributions.Bernoullipμ(out) :: BayesBase.PointMassNothing
DeltaFninμ(in) :: AnyDeltaMeta{M}
q(ins) :: BayesBase.FactorizedJoint
DeltaFninμ(in) :: Union{ExponentialFamily.NormalDistributionsFamily{T}, ExponentialFamily.GaussianDistributionsFamily{T}} where TDeltaMeta{M, Nothing}
q(ins) :: ExponentialFamily.JointNormal
DeltaFninμ(in) :: Union{ExponentialFamily.NormalDistributionsFamily{T}, ExponentialFamily.GaussianDistributionsFamily{T}} where TDeltaMeta{M, I}
q(ins) :: ExponentialFamily.JointNormal
DeltaFninμ(out) :: Union{ExponentialFamily.NormalDistributionsFamily{T}, ExponentialFamily.GaussianDistributionsFamily{T}} where TDeltaMeta{M, I}
μ(ins) :: Nothing
DeltaFninμ(out) :: Union{ExponentialFamily.NormalDistributionsFamily{T}, ExponentialFamily.GaussianDistributionsFamily{T}} where TDeltaMeta{M, I}
μ(ins) :: Nothing
DeltaFninμ(out) :: Union{ExponentialFamily.NormalDistributionsFamily{T}, ExponentialFamily.GaussianDistributionsFamily{T}} where TDeltaMeta{M, I}
μ(ins) :: Union{ExponentialFamily.NormalDistributionsFamily{T}, ExponentialFamily.GaussianDistributionsFamily{T}} where T
DeltaFninμ(out) :: Union{ExponentialFamily.NormalDistributionsFamily{T}, ExponentialFamily.GaussianDistributionsFamily{T}} where TDeltaMeta{M, I}
μ(ins) :: Union{ExponentialFamily.NormalDistributionsFamily{T}, ExponentialFamily.GaussianDistributionsFamily{T}} where T
DeltaFnoutq(ins) :: BayesBase.FactorizedJoint{P}DeltaMeta{M}
DeltaFnoutq(ins) :: BayesBase.FactorizedJointDeltaMeta{M}
DeltaFnoutμ(ins) :: Union{ExponentialFamily.NormalDistributionsFamily{T}, ExponentialFamily.GaussianDistributionsFamily{T}} where TDeltaMeta{M}
DeltaFnoutμ(ins) :: Union{ExponentialFamily.NormalDistributionsFamily{T}, ExponentialFamily.GaussianDistributionsFamily{T}} where TDeltaMeta{M}
ExponentialFamily.NormalMeanVariancevq(out_μ) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where TNothing
ExponentialFamily.NormalMeanVariancevq(out) :: AnyNothing
q(μ) :: Any
ExponentialFamily.NormalMeanVariancevμ(out) :: Union{ExponentialFamily.UnivariateNormalDistributionsFamily{T}, ExponentialFamily.UnivariateGaussianDistributionsFamily{T}} where TNothing
μ(μ) :: Union{ExponentialFamily.UnivariateNormalDistributionsFamily{T}, ExponentialFamily.UnivariateGaussianDistributionsFamily{T}} where T
ExponentialFamily.NormalMeanVariancevμ(out) :: Union{ExponentialFamily.UnivariateNormalDistributionsFamily{T}, ExponentialFamily.UnivariateGaussianDistributionsFamily{T}} where TNothing
μ(μ) :: BayesBase.PointMass
ExponentialFamily.NormalMeanVariancevμ(out) :: BayesBase.PointMassNothing
μ(μ) :: Union{ExponentialFamily.UnivariateNormalDistributionsFamily{T}, ExponentialFamily.UnivariateGaussianDistributionsFamily{T}} where T
ExponentialFamily.NormalMeanVarianceoutμ(μ) :: Union{ExponentialFamily.UnivariateNormalDistributionsFamily{T}, ExponentialFamily.UnivariateGaussianDistributionsFamily{T}} where TNothing
q(v) :: BayesBase.PointMass
ExponentialFamily.NormalMeanVarianceoutμ(μ) :: BayesBase.PointMassNothing
q(v) :: Any
ExponentialFamily.NormalMeanVarianceoutμ(μ) :: Union{ExponentialFamily.UnivariateNormalDistributionsFamily{T}, ExponentialFamily.UnivariateGaussianDistributionsFamily{T}} where TNothing
q(v) :: Any
ExponentialFamily.NormalMeanVarianceoutq(μ) :: BayesBase.PointMassNothing
q(v) :: BayesBase.PointMass
ExponentialFamily.NormalMeanVarianceoutq(μ) :: AnyNothing
q(v) :: Any
ExponentialFamily.NormalMeanVarianceoutμ(μ) :: Union{ExponentialFamily.UnivariateNormalDistributionsFamily{T}, ExponentialFamily.UnivariateGaussianDistributionsFamily{T}} where TNothing
μ(v) :: BayesBase.PointMass
ExponentialFamily.NormalMeanVarianceoutμ(μ) :: BayesBase.PointMassNothing
μ(v) :: BayesBase.PointMass
ExponentialFamily.NormalMeanVarianceμμ(out) :: Union{ExponentialFamily.UnivariateNormalDistributionsFamily{T}, ExponentialFamily.UnivariateGaussianDistributionsFamily{T}} where TNothing
q(v) :: Any
ExponentialFamily.NormalMeanVarianceμμ(out) :: BayesBase.PointMassNothing
q(v) :: Any
ExponentialFamily.NormalMeanVarianceμμ(out) :: ReactiveMP.ExponentialLinearQuadratic
q(v) :: Any
ExponentialFamily.NormalMeanVarianceμμ(out) :: Union{ExponentialFamily.UnivariateNormalDistributionsFamily{T}, ExponentialFamily.UnivariateGaussianDistributionsFamily{T}} where TNothing
μ(v) :: BayesBase.PointMass
ExponentialFamily.NormalMeanVarianceμμ(out) :: BayesBase.PointMassNothing
μ(v) :: BayesBase.PointMass
ExponentialFamily.NormalMeanVarianceμμ(out) :: ReactiveMP.ExponentialLinearQuadratic
μ(v) :: BayesBase.PointMass
ExponentialFamily.NormalMeanVarianceμq(out) :: BayesBase.PointMassNothing
q(v) :: BayesBase.PointMass
ExponentialFamily.NormalMeanVarianceμq(out) :: AnyNothing
q(v) :: Any
Mixtureswitchμ(out) :: AnyNothing
μ(inputs) :: ManyOf{<:Tuple{Vararg{Any, N}}}
Mixtureoutμ(inputs) :: ManyOf{<:Tuple{Vararg{Any, N}}}Nothing
q(switch) :: BayesBase.PointMass
Mixtureoutμ(switch) :: AnyNothing
μ(inputs) :: ManyOf{<:Tuple{Vararg{Any, N}}}
Mixtureinputsμ(out) :: AnyNothing
q(switch) :: BayesBase.PointMass
Mixtureinputsμ(out) :: AnyNothing
μ(switch) :: Any
HalfNormaloutq(v) :: BayesBase.PointMassNothing
NormalMixture{N}outq(switch) :: AnyNothing
q(m) :: ManyOf{<:Tuple{Vararg{Any, N}}}
q(p) :: ManyOf{<:Tuple{Vararg{Any, N}}}
NormalMixturepq(out) :: AnyNothing
q(switch) :: Any
q(m) :: Any
NormalMixturemq(out) :: AnyNothing
q(switch) :: Any
q(p) :: Any
NormalMixture{N}switchq(out) :: AnyNothing
q(m) :: ManyOf{<:Tuple{Vararg{Any, N}}}
q(p) :: ManyOf{<:Tuple{Vararg{Any, N}}}
BIFMzprevμ(out) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where TBIFMMeta
μ(in) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where T
μ(znext) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where T
BIFMznextμ(out) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where TBIFMMeta
μ(in) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where T
μ(zprev) :: BayesBase.TerminalProdArgument{<:Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where T}
BIFMoutμ(in) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where TBIFMMeta
μ(zprev) :: BayesBase.TerminalProdArgument{<:Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where T}
μ(znext) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where T
BIFMinμ(out) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where TBIFMMeta
μ(zprev) :: BayesBase.TerminalProdArgument{<:Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where T}
μ(znext) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where T
ExponentialFamily.MatrixDirichletoutq(a) :: BayesBase.PointMassNothing
Distributions.Dirichletoutq(a) :: BayesBase.PointMass{<:AbstractVector}Nothing
ExponentialFamily.MatrixDirichletoutμ(a) :: BayesBase.PointMassNothing
Distributions.Dirichletoutμ(a) :: BayesBase.PointMass{<:AbstractVector}Nothing
Distributions.Uniformoutμ(b) :: BayesBase.PointMassNothing
q(a) :: BayesBase.PointMass
Distributions.Uniformoutμ(a) :: BayesBase.PointMassNothing
q(b) :: BayesBase.PointMass
ContinuousTransitionWq(y) :: AnyContinuousTransitionMeta
q(x) :: Any
q(a) :: Any
ContinuousTransitionWq(y_x) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where TContinuousTransitionMeta
q(a) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where T
ContinuousTransitionaq(y) :: AnyContinuousTransitionMeta
q(x) :: Any
q(a) :: Any
q(W) :: Any
ContinuousTransitionaq(y_x) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where TContinuousTransitionMeta
q(a) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where T
q(W) :: Any
ContinuousTransitionxq(y) :: AnyContinuousTransitionMeta
q(a) :: Any
q(W) :: Any
ContinuousTransitionxμ(y) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where TContinuousTransitionMeta
q(a) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where T
q(W) :: Any
ContinuousTransitionyq(x) :: AnyContinuousTransitionMeta
q(a) :: Any
q(W) :: Any
ContinuousTransitionyμ(x) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where TContinuousTransitionMeta
q(a) :: Union{ExponentialFamily.MultivariateNormalDistributionsFamily{T}, ExponentialFamily.MultivariateGaussianDistributionsFamily{T}} where T
q(W) :: Any
ExponentialFamily.NormalMeanPrecisionoutμ(μ) :: Union{ExponentialFamily.UnivariateNormalDistributionsFamily{T}, ExponentialFamily.UnivariateGaussianDistributionsFamily{T}} where TNothing
q(τ) :: Any
ExponentialFamily.NormalMeanPrecisionoutμ(μ) :: BayesBase.PointMassNothing
q(τ) :: Any
ExponentialFamily.NormalMeanPrecisionoutq(μ) :: BayesBase.PointMassNothing
q(τ) :: BayesBase.PointMass
ExponentialFamily.NormalMeanPrecisionoutq(μ) :: AnyNothing
q(τ) :: Any
ExponentialFamily.NormalMeanPrecisionoutμ(μ) :: Union{ExponentialFamily.UnivariateNormalDistributionsFamily{T}, ExponentialFamily.UnivariateGaussianDistributionsFamily{T}} where TNothing
μ(τ) :: BayesBase.PointMass
ExponentialFamily.NormalMeanPrecisionoutμ(μ) :: BayesBase.PointMassNothing
μ(τ) :: BayesBase.PointMass
ExponentialFamily.NormalMeanPrecisionτq(out_μ) :: AnyNothing
ExponentialFamily.NormalMeanPrecisionτq(out) :: AnyNothing
q(μ) :: Any
ExponentialFamily.NormalMeanPrecisionμμ(out) :: Union{ExponentialFamily.UnivariateNormalDistributionsFamily{T}, ExponentialFamily.UnivariateGaussianDistributionsFamily{T}} where TNothing
q(τ) :: Any
ExponentialFamily.NormalMeanPrecisionμμ(out) :: BayesBase.PointMassNothing
q(τ) :: Any
ExponentialFamily.NormalMeanPrecisionμμ(out) :: ReactiveMP.ExponentialLinearQuadratic
q(τ) :: Any
ExponentialFamily.NormalMeanPrecisionμμ(out) :: Union{ExponentialFamily.UnivariateNormalDistributionsFamily{T}, ExponentialFamily.UnivariateGaussianDistributionsFamily{T}} where TNothing
μ(τ) :: BayesBase.PointMass
ExponentialFamily.NormalMeanPrecisionμμ(out) :: BayesBase.PointMassNothing
μ(τ) :: BayesBase.PointMass
ExponentialFamily.NormalMeanPrecisionμμ(out) :: ReactiveMP.ExponentialLinearQuadratic
μ(τ) :: BayesBase.PointMass
ExponentialFamily.NormalMeanPrecisionμq(out) :: BayesBase.PointMassNothing
q(τ) :: BayesBase.PointMass
ExponentialFamily.NormalMeanPrecisionμq(out) :: AnyNothing
q(τ) :: Any
ExponentialFamily.MvNormalWeightedMeanPrecisionoutq(ξ) :: AnyNothing
q(Λ) :: Any
ExponentialFamily.MvNormalWeightedMeanPrecisionoutμ(ξ) :: BayesBase.PointMassNothing
μ(Λ) :: BayesBase.PointMass
GCVωq(y) :: AnyGCVMetadata
q(x) :: Any
q(z) :: Any
q(κ) :: Any
GCVωq(y_x) :: AnyGCVMetadata
q(z) :: Any
q(κ) :: Any
GCVxq(y) :: AnyUnion{Nothing, GCVMetadata}
q(z) :: Any
q(κ) :: Any
q(ω) :: Any
GCVxμ(y) :: Union{ReactiveMP.ExponentialLinearQuadratic, ExponentialFamily.UnivariateNormalDistributionsFamily, ExponentialFamily.UnivariateGaussianDistributionsFamily}Union{Nothing, GCVMetadata}
q(z) :: Any
q(κ) :: Any
q(ω) :: Any
GCVyq(x) :: AnyUnion{Nothing, GCVMetadata}
q(z) :: Any
q(κ) :: Any
q(ω) :: Any
GCVyμ(x) :: Union{ReactiveMP.ExponentialLinearQuadratic, ExponentialFamily.UnivariateNormalDistributionsFamily, ExponentialFamily.UnivariateGaussianDistributionsFamily}Union{Nothing, GCVMetadata}
q(z) :: Any
q(κ) :: Any
q(ω) :: Any
GCVκq(y) :: AnyGCVMetadata
q(x) :: Any
q(z) :: Any
q(ω) :: Any
GCVκq(y_x) :: AnyGCVMetadata
q(z) :: Any
q(ω) :: Any
GCVzq(y) :: AnyGCVMetadata
q(x) :: Any
q(κ) :: Any
q(ω) :: Any
GCVzq(y_x) :: AnyGCVMetadata
q(κ) :: Any
q(ω) :: Any
ExponentialFamily.GammaShapeRateβq(out) :: AnyNothing
q(α) :: Any
ExponentialFamily.GammaShapeRateαq(out) :: AnyNothing
q(β) :: ExponentialFamily.GammaDistributionsFamily
ExponentialFamily.GammaShapeRateoutq(α) :: AnyNothing
q(β) :: Any
ExponentialFamily.GammaShapeRateoutμ(α) :: BayesBase.PointMassNothing
μ(β) :: BayesBase.PointMass
outμ(in1) :: Distributions.BernoulliNothing
μ(in2) :: Distributions.Bernoulli
in2μ(out) :: Distributions.BernoulliNothing
μ(in1) :: Distributions.Bernoulli
in1μ(out) :: Distributions.BernoulliNothing
μ(in2) :: Distributions.Bernoulli