Package edu.cmu.tetrad.bayes
Class Identifiability
java.lang.Object
edu.cmu.tetrad.bayes.Identifiability
- All Implemented Interfaces:
BayesUpdater
,ManipulatingBayesUpdater
,TetradSerializable
,Serializable
Identifiability, based on RowSummingExactUpdater
Jin Tian and Judea Pearl. On the Identification of Causal Effects. Technical Report R-290-L, Department of Computer Science, University of California, Los Angeles, 2002.
- Author:
- Choh Man Teng
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionIdentifiability
(BayesIm bayesIm) Constructs a new updater for the given Bayes net.Identifiability
(BayesIm bayesIm, Evidence evidence) -
Method Summary
Modifier and TypeMethodDescriptiondouble[]
calculatePriorMarginals
(int nodeIndex) double[]
calculateUpdatedMarginals
(int nodeIndex) The BayesIm that this updater bases its update on.double
getJointMarginal
(int[] sVariables, int[] sValues) double
getMarginal
(int variable, int value) The updated BayesIm.boolean
static Identifiability
Generates a simple exemplar of this class to test serialization.void
setEvidence
(Evidence evidence) Sets new evidence for the updater.toString()
-
Constructor Details
-
Identifiability
Constructs a new updater for the given Bayes net. -
Identifiability
-
-
Method Details
-
serializableInstance
Generates a simple exemplar of this class to test serialization. -
getBayesIm
The BayesIm that this updater bases its update on. This BayesIm is not modified; rather, a new BayesIm is created and updated.- Specified by:
getBayesIm
in interfaceBayesUpdater
- Returns:
- the Bayes instantiated model that is being updated.
-
getManipulatedBayesIm
- Specified by:
getManipulatedBayesIm
in interfaceManipulatingBayesUpdater
- Returns:
- the updated BayesIm.
-
getManipulatedGraph
- Specified by:
getManipulatedGraph
in interfaceManipulatingBayesUpdater
- Returns:
- the graph for the manipulated BayesIm.
-
getUpdatedBayesIm
The updated BayesIm. This is a different object from the source BayesIm.- 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.
- See Also:
-
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
-
isJointMarginalSupported
public boolean isJointMarginalSupported()- Specified by:
isJointMarginalSupported
in interfaceBayesUpdater
- Returns:
- true if the getJointMarginal() method is supported.
-
getJointMarginal
public double getJointMarginal(int[] sVariables, int[] sValues) - Specified by:
getJointMarginal
in interfaceBayesUpdater
- Returns:
- P(variables[i] = values[i] | evidence), where evidence is getEvidence().
-
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().
-
calculatePriorMarginals
public double[] calculatePriorMarginals(int nodeIndex) - Specified by:
calculatePriorMarginals
in interfaceBayesUpdater
-
calculateUpdatedMarginals
public double[] calculateUpdatedMarginals(int nodeIndex) - Specified by:
calculateUpdatedMarginals
in interfaceBayesUpdater
-
toString
-