Package edu.cmu.tetrad.bayes
Class JunctionTreeAlgorithm
java.lang.Object
edu.cmu.tetrad.bayes.JunctionTreeAlgorithm
- All Implemented Interfaces:
TetradSerializable
,Serializable
Junction Tree Algorithm.
This implementation follows the Weka's implementation.
Nov 8, 2019 2:22:34 PM
- Author:
- Kevin V. Bui (kvb2@pitt.edu)
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionJunctionTreeAlgorithm
(BayesIm bayesIm) JunctionTreeAlgorithm
(Graph graph, DataModel dataModel) -
Method Summary
Modifier and TypeMethodDescriptiondouble
getConditionalProbabilities
(int[] nodes, int[] values, int[] parents, int[] parentValues) Get the joint probability of the nodes given their parents.double[]
getConditionalProbabilities
(int iNode, int[] parents, int[] parentValues) Get the conditional probability of a node for all of its values.double
getConditionalProbability
(int iNode, int value, int[] parents, int[] parentValues) double
getJointProbability
(int[] nodes, int[] values) double
getJointProbabilityAll
(int[] nodeValues) Get the joint probability of all nodes (variables).double[]
getMarginalProbability
(int iNode) double
getMarginalProbability
(int iNode, int value) getNodes()
int
void
setEvidence
(int iNode, int value) toString()
-
Constructor Details
-
JunctionTreeAlgorithm
-
JunctionTreeAlgorithm
-
-
Method Details
-
setEvidence
public void setEvidence(int iNode, int value) -
getConditionalProbabilities
public double getConditionalProbabilities(int[] nodes, int[] values, int[] parents, int[] parentValues) Get the joint probability of the nodes given their parents. Example: given x <-- z --> y, we can find P(x,y|z). Another example: given x <-- z --> y <-- w, we can find P(x,y|z,w) -
getConditionalProbabilities
public double[] getConditionalProbabilities(int iNode, int[] parents, int[] parentValues) Get the conditional probability of a node for all of its values. -
getConditionalProbability
public double getConditionalProbability(int iNode, int value, int[] parents, int[] parentValues) -
getJointProbabilityAll
public double getJointProbabilityAll(int[] nodeValues) Get the joint probability of all nodes (variables). Given the nodes are X1, X2,...,Xn, then nodeValues[0] = value(X1), nodeValues[1] = value(X2),...,nodeValues[n-1] = value(Xn).- Parameters:
nodeValues
- an array of values for each node
-
getJointProbability
public double getJointProbability(int[] nodes, int[] values) -
getMarginalProbability
public double[] getMarginalProbability(int iNode) -
getMarginalProbability
public double getMarginalProbability(int iNode, int value) -
getNodes
-
getNumberOfNodes
public int getNumberOfNodes() -
toString
-