Constructor and Description |
---|
LoopyBeliefInference(Network network)
Initializes a new instance of the
LoopyBeliefInference class, with the target Bayesian network. |
Modifier and Type | Method and Description |
---|---|
Evidence |
getBaseEvidence()
Optional evidence which can be used to calculate the lift of queries.
|
Evidence |
getEvidence()
Represents the evidence, or case data (e.g.
|
Network |
getNetwork()
The target Bayesian network.
|
QueryDistributionCollection |
getQueryDistributions()
Gets the collection of distributions to calculate.
|
QueryFunctionCollection |
getQueryFunctions()
Gets the collection of functions to evaluate, after QueryDistributions have been calculated.
|
QueryLifecycle |
getQueryLifecycle()
Optional, allowing callers to hook into query lifecycle events, such as begin query and end query.
|
void |
query(QueryOptions queryOptions,
QueryOutput queryOutput)
Calculates a number of distributions, e.g.
|
void |
setBaseEvidence(Evidence value)
Optional evidence which can be used to calculate the lift of queries.
|
void |
setEvidence(Evidence value)
Represents the evidence, or case data (e.g.
|
void |
setQueryDistributions(QueryDistributionCollection value)
Sets the collection of distributions to calculate.
|
void |
setQueryFunctions(QueryFunctionCollection value)
Sets the collection of functions to evaluate, after QueryDistributions have been calculated.
|
void |
setQueryLifecycle(QueryLifecycle value)
Optional, allowing callers to hook into query lifecycle events, such as begin query and end query.
|
public LoopyBeliefInference(Network network)
LoopyBeliefInference
class, with the target Bayesian network.network
- The target Network
.NullPointerException
- Raised if [network] is null.public Network getNetwork()
getNetwork
in interface Inference
public Evidence getEvidence()
query
.
The distributions
are only recalculated by Inference.query(com.bayesserver.inference.QueryOptions, com.bayesserver.inference.QueryOutput)
, not each time evidence is changed.
For more information see Evidence
.
getEvidence
in interface Inference
public void setEvidence(Evidence value)
query
.
The distributions
are only recalculated by Inference.query(com.bayesserver.inference.QueryOptions, com.bayesserver.inference.QueryOutput)
, not each time evidence is changed.
For more information see Evidence
.
setEvidence
in interface Inference
public Evidence getBaseEvidence()
QueryDistribution.getComparison()
is true
queries are adjusted based on marginals calculated with this evidence or no evidence if this value is null.getBaseEvidence
in interface Inference
QueryDistribution.getComparison()
public void setBaseEvidence(Evidence value)
QueryDistribution.getComparison()
is true
queries are adjusted based on marginals calculated with this evidence or no evidence if this value is null.setBaseEvidence
in interface Inference
QueryDistribution.getComparison()
public QueryLifecycle getQueryLifecycle()
getQueryLifecycle
in interface Inference
public void setQueryLifecycle(QueryLifecycle value)
setQueryLifecycle
in interface Inference
public QueryDistributionCollection getQueryDistributions()
QueryDistributionCollection
.
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.getQueryDistributions
in interface Inference
public void setQueryDistributions(QueryDistributionCollection value)
QueryDistributionCollection
.
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.setQueryDistributions
in interface Inference
public QueryFunctionCollection getQueryFunctions()
getQueryFunctions
in interface Inference
public void setQueryFunctions(QueryFunctionCollection value)
setQueryFunctions
in interface Inference
public void query(QueryOptions queryOptions, QueryOutput queryOutput) throws InconsistentEvidenceException
evidence
(case data, e.g. row in a database), and if requested the log-likelihood of the data.
Each time this method is called the distributions
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 CLGaussian.getTable()
.
query
in interface Inference
queryOptions
- Options governing which calculations are performed and how.queryOutput
- Returns any information, in addition to the distributions
, that is requested. For example the log-likelihood
.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.Copyright © 2023. All rights reserved.