Package edu.cmu.tetrad.bayes
Class ApproximateUpdater
java.lang.Object
edu.cmu.tetrad.bayes.ApproximateUpdater
- All Implemented Interfaces:
BayesUpdater,ManipulatingBayesUpdater,TetradSerializable,Serializable
Calculates updated marginals for a Bayes net by simulating data and
calculating likelihood ratios. The method is as follows. For P(A | B), enough
sample points are simulated from the underlying BayesIm so that 1000 satisfy
the condition B. Then the maximum likelihood estimate of condition A is
calculated.
- Author:
- Joseph Ramsey
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionApproximateUpdater(BayesIm bayesIm) ApproximateUpdater(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) doublegetJointMarginal(int[] variables, int[] values) doublegetMarginal(int variable, int value) booleanstatic ApproximateUpdatervoidsetEvidence(Evidence evidence) Sets new evidence for the next update operation.toString()Prints out the most recent marginal.
-
Constructor Details
-
ApproximateUpdater
-
ApproximateUpdater
Constructs a new updater for the given Bayes net.
-
-
Method Details
-
serializableInstance
- Returns:
- a simple exemplar of this class to test serialization.
-
getBayesIm
- Specified by:
getBayesImin interfaceBayesUpdater- Returns:
- the Bayes instantiated model that is being updated.
-
getManipulatedBayesIm
- Specified by:
getManipulatedBayesImin interfaceManipulatingBayesUpdater- Returns:
- the Bayes instantiated model after manipulations have been applied.
-
getManipulatedGraph
- Specified by:
getManipulatedGraphin interfaceManipulatingBayesUpdater- Returns:
- the graph for getManipulatedBayesIm().
-
getUpdatedBayesIm
- Specified by:
getUpdatedBayesImin interfaceManipulatingBayesUpdater- Returns:
- the updated Bayes IM, or null if there is no updated Bayes IM.
-
getEvidence
- Specified by:
getEvidencein interfaceManipulatingBayesUpdater- Returns:
- a copy of the getModel evidence.
-
setEvidence
Sets new evidence for the next update operation.- Specified by:
setEvidencein interfaceBayesUpdater- Specified by:
setEvidencein interfaceManipulatingBayesUpdater
-
getMarginal
public double getMarginal(int variable, int value) - Specified by:
getMarginalin interfaceBayesUpdater- Specified by:
getMarginalin interfaceManipulatingBayesUpdater- Returns:
- P(variable = category | evidence) where evidence is getEvidence().
-
isJointMarginalSupported
public boolean isJointMarginalSupported()- Specified by:
isJointMarginalSupportedin interfaceBayesUpdater- Returns:
- true if the getJointMarginal() method is supported.
-
getJointMarginal
public double getJointMarginal(int[] variables, int[] values) - Specified by:
getJointMarginalin interfaceBayesUpdater- Returns:
- the joint marginal.
-
calculatePriorMarginals
public double[] calculatePriorMarginals(int nodeIndex) - Specified by:
calculatePriorMarginalsin interfaceBayesUpdater
-
calculateUpdatedMarginals
public double[] calculateUpdatedMarginals(int nodeIndex) - Specified by:
calculateUpdatedMarginalsin interfaceBayesUpdater
-
toString
Prints out the most recent marginal.
-