Class 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 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. See ValueOfInformation 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. See ValueOfInformation 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.