Package edu.cmu.tetrad.bayes
Class CptInvariantUpdater
java.lang.Object
edu.cmu.tetrad.bayes.CptInvariantUpdater
- All Implemented Interfaces:
BayesUpdater
,ManipulatingBayesUpdater
,TetradSerializable
,Serializable
Calculates updated probabilities for variables conditional on their parents as well as single-variable updated
marginals for a Bayes IM using an algorithm that restricts expensive updating summations only to conditional
probabilities of variables with respect to their parents that change from non-updated to updated values.
- Author:
- josephramsey
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionCptInvariantUpdater
(BayesIm bayesIm) CptInvariantUpdater
(BayesIm bayesIm, Evidence evidence) Constructs a new updater for the given Bayes net. -
Method Summary
Modifier and TypeMethodDescriptiondouble[]
calculatePriorMarginals
(int nodeIndex) double[]
calculateUpdatedMarginals
(int nodeIndex) double
getJointMarginal
(int[] variables, int[] values) double
getMarginal
(int variable, int value) boolean
static CptInvariantUpdater
Generates a simple exemplar of this class to test serialization.void
setEvidence
(Evidence evidence) Sets new evidence for the updater.toString()
Prints out the most recent marginal.
-
Constructor Details
-
CptInvariantUpdater
-
CptInvariantUpdater
Constructs a new updater for the given Bayes net.
-
-
Method Details
-
serializableInstance
Generates a simple exemplar of this class to test serialization. -
getBayesIm
- Specified by:
getBayesIm
in interfaceBayesUpdater
- Returns:
- the Bayes instantiated model that is being updated.
-
getManipulatedBayesIm
- Specified by:
getManipulatedBayesIm
in interfaceManipulatingBayesUpdater
- Returns:
- the Bayes instantiated model after manipulations have been applied.
-
getManipulatedGraph
- Specified by:
getManipulatedGraph
in interfaceManipulatingBayesUpdater
- Returns:
- the graph for the manipulated BayesIm.
-
getUpdatedBayesIm
- Specified by:
getUpdatedBayesIm
in interfaceManipulatingBayesUpdater
- Returns:
- the updated Bayes IM--that is, the Bayes IM in which all probabilities of variables conditional on their parents have been updated.
-
getEvidence
- Specified by:
getEvidence
in interfaceManipulatingBayesUpdater
- Returns:
- a defensive copy of the evidence.
-
setEvidence
Description copied from interface:ManipulatingBayesUpdater
Sets new evidence for the updater. Once this is called, old updating results should not longer be available.- Specified by:
setEvidence
in interfaceBayesUpdater
- Specified by:
setEvidence
in interfaceManipulatingBayesUpdater
-
getMarginal
public double getMarginal(int variable, int value) - Specified by:
getMarginal
in interfaceBayesUpdater
- Specified by:
getMarginal
in interfaceManipulatingBayesUpdater
- Returns:
- P(variable = category | evidence) where evidence is getEvidence().
-
isJointMarginalSupported
public boolean isJointMarginalSupported()- Specified by:
isJointMarginalSupported
in interfaceBayesUpdater
- Returns:
- true if the getJointMarginal() method is supported.
-
getJointMarginal
public double getJointMarginal(int[] variables, int[] values) - Specified by:
getJointMarginal
in interfaceBayesUpdater
- Returns:
- P(variables[i] = values[i] | evidence), where evidence is getEvidence().
-
calculatePriorMarginals
public double[] calculatePriorMarginals(int nodeIndex) - Specified by:
calculatePriorMarginals
in interfaceBayesUpdater
-
calculateUpdatedMarginals
public double[] calculateUpdatedMarginals(int nodeIndex) - Specified by:
calculateUpdatedMarginals
in interfaceBayesUpdater
-
toString
Prints out the most recent marginal.
-