Show / Hide Table of Contents

    Class RelevanceTreeInference

    An exact probabilistic inference algorithm for Bayesian networks and Dynamic Bayesian networks, that can compute multiple distributions more efficiently than the VariableEliminationInference algorithm.

    Inheritance
    System.Object
    RelevanceTreeInference
    Implements
    IInference
    System.IDisposable
    Inherited Members
    System.Object.Equals(System.Object)
    System.Object.Equals(System.Object, System.Object)
    System.Object.GetHashCode()
    System.Object.GetType()
    System.Object.MemberwiseClone()
    System.Object.ReferenceEquals(System.Object, System.Object)
    System.Object.ToString()
    Namespace: BayesServer.Inference.RelevanceTree
    Assembly: BayesServer.Inference.dll
    Syntax
    public sealed class RelevanceTreeInference : IInference, IDisposable

    Constructors

    RelevanceTreeInference(Network)

    Initializes a new instance of the RelevanceTreeInference class, with the target Bayesian network.

    Declaration
    public RelevanceTreeInference(Network network)
    Parameters
    Type Name Description
    Network network

    The target Network.

    Exceptions
    Type Condition
    System.ArgumentNullException

    Raised if network is null.

    Properties

    BaseEvidence

    Optional evidence which can be used to calculate the lift of queries. Defaults to null.

    Declaration
    public IEvidence BaseEvidence { get; set; }
    Property Value
    Type Description
    IEvidence
    Remarks

    When Comparison is true queries are adjusted based on marginals calculated with this evidence or no evidence if this value is null.

    See Also
    Comparison

    Evidence

    Represents the evidence, or case data (e.g. row in a database) used in a BayesServer.Inference.IInference.Query.

    Declaration
    public IEvidence Evidence { get; set; }
    Property Value
    Type Description
    IEvidence
    Remarks

    The QueryDistributions are only recalculated by BayesServer.Inference.IInference.Query, not each time evidence is changed.

    For more information see IEvidence.

    Network

    The target Bayesian network.

    Declaration
    public Network Network { get; }
    Property Value
    Type Description
    Network

    QueryDistributions

    Gets or sets the collection of distributions to calculate. See IQueryDistributionCollection.

    Declaration
    public IQueryDistributionCollection QueryDistributions { get; set; }
    Property Value
    Type Description
    IQueryDistributionCollection
    Remarks

    If required, a query distribution collection can be dynamically attached or detached. Also note that individual elements can be enabled or disabled on a per query basis.

    QueryFunctions

    Gets or sets the collection of functions to evaluate, after QueryDistributions have been calculated.

    Declaration
    public IQueryFunctionCollection QueryFunctions { get; set; }
    Property Value
    Type Description
    IQueryFunctionCollection
    Remarks

    If required, a query function collection can be dynamically attached or detached. Also note that individual elements can be enabled or disabled on a per query basis.

    Methods

    Dispose()

    Stops listening to notifications on the underlying Network.

    Declaration
    public void Dispose()

    Finalize()

    Stops listening to notifications on the underlying Network before the RelevanceTreeInference instance is reclaimed by garbage collection.

    Declaration
    protected void Finalize()

    Query(IQueryOptions, IQueryOutput)

    Calculates a number of distributions, e.g. P(A) and P(B) given the IEvidence (case data, e.g. row in a database), and if requested the log-likelihood of the data.

    Declaration
    public void Query(IQueryOptions queryOptions, IQueryOutput queryOutput)
    Parameters
    Type Name Description
    IQueryOptions queryOptions

    Options governing which calculations are performed and how.

    IQueryOutput queryOutput

    Returns any information, in addition to the IQueryDistributionCollection, that is requested. For example the LogLikelihood.

    Remarks

    Each time this method is called the IQueryDistributionCollection have their values replaced, acting like buffers.

    As well as requesting distributions of the form P(A), P(B) it is also possible to request distributions over a number of variables such as P(A,B).

    If CLGaussian distributions are requested that include instantiated discrete variables, an algorithm may legitimately return mean and covariance values equal to NaN for entries corresponding to inconsistent discrete combinations. For example, if a CLGaussian is requested that includes a discrete variable 'Gender' with states 'Male' and 'Female' and evidence is set to 'Female' then any mean and covariance entries that correspond to 'Male' may be set to NaN. NaN values will always be accompanied by a corresponding zero value in the Table.

    Exceptions
    Type Condition
    InvalidNetworkException

    Raised if the network is invalid.

    InconsistentEvidenceException

    Raised if inconsistent evidence is detected, or underflow/overflow occurs when calculating queries or the conflict measure. Note that log-likelihood calculations do not raise this exception, but instead report -Infinity or +Infinity.

    Events

    QueryExecuted

    The event that is fired when the BayesServer.Inference.IInference.Query method completes.

    Declaration
    public event EventHandler<QueryExecutedEventArgs> QueryExecuted
    Event Type
    Type Description
    System.EventHandler<QueryExecutedEventArgs>

    QueryExecuting

    The event that is fired when the BayesServer.Inference.IInference.Query method begins.

    Declaration
    public event EventHandler<QueryExecutingEventArgs> QueryExecuting
    Event Type
    Type Description
    System.EventHandler<QueryExecutingEventArgs>

    Implements

    IInference
    System.IDisposable

    See Also

    IInference
    Back to top Copyright Bayes Server Ltd. All rights Reserved.