Package com.bayesserver.analysis
Class ValueOfInformation
- java.lang.Object
-
- com.bayesserver.analysis.ValueOfInformation
-
public final class ValueOfInformation extends Object
Contains methods to determine what new evidence is most likely to reduce the uncertainty of a variable.Value of information is useful when you have a particular variable of interest (the hypothesis variable) and you want to know what additional evidence is most likely to reduce the uncertainty of that variable.
For example in a medical troubleshooter, you may wish to know which questions to ask or which medical checks to carry out first, in order to determine whether the patient has a particular disease or not.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static ValueOfInformationOutput
calculate(VariableContext hypothesis, List<VariableContext> testVariables, Evidence evidence, InferenceFactory factory, ValueOfInformationOptions options)
Calculates value of information, which can be used to determine which variables are most likely to reduce the uncertainty of a particular variable.static ValueOfInformationOutput
calculate(Variable hypothesis, List<Variable> testVariables, Evidence evidence, InferenceFactory factory, ValueOfInformationOptions options)
Calculates value of information, which can be used to determine which variables are most likely to reduce the uncertainty of a particular variable.
-
-
-
Method Detail
-
calculate
public static ValueOfInformationOutput calculate(Variable hypothesis, List<Variable> testVariables, Evidence evidence, InferenceFactory factory, ValueOfInformationOptions options) throws InconsistentEvidenceException
Calculates value of information, which can be used to determine which variables are most likely to reduce the uncertainty of a particular variable. SeeValueOfInformation
for more information.- Parameters:
hypothesis
- The variable whose uncertaintly you are trying to reduce. E.g. for fault diagnosis / troubleshooting.testVariables
- The variables you wish to consider in order to reduce the uncertainty of the hypothesis variable.evidence
- Any evidence, which can be null.factory
- Determines the type of inference engine to use during the calculations.options
- Options affecting how value of information is calculated.- Returns:
- Information about how the [testVariables] influence the [hypothesis] variable.
- Throws:
InconsistentEvidenceException
- Raised when the hypothesis distribution cannot be calculated given the evidence.
-
calculate
public static ValueOfInformationOutput calculate(VariableContext hypothesis, List<VariableContext> testVariables, Evidence evidence, InferenceFactory factory, ValueOfInformationOptions options) throws InconsistentEvidenceException
Calculates value of information, which can be used to determine which variables are most likely to reduce the uncertainty of a particular variable. SeeValueOfInformation
for more information.- Parameters:
hypothesis
- The variable (and time for temporal variables) whose uncertaintly you are trying to reduce. E.g. for fault diagnosis / troubleshooting.testVariables
- The variables (and associated times for temporal variables) you wish to consider in order to reduce the uncertainty of the hypothesis variable.evidence
- Any evidence, which can be null.factory
- Determines the type of inference engine to use during the calculations.options
- Options affecting how value of information is calculated.- Returns:
- Information about how the [testVariables] influence the [hypothesis] variable.
- Throws:
InconsistentEvidenceException
- Raised when the hypothesis distribution cannot be calculated given the evidence.
-
-