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
- Version:
- $Id: $Id
- Author:
- Kevin V. Bui (kvb2@pitt.edu)
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionJunctionTreeAlgorithm
(BayesIm bayesIm) Constructor for JunctionTreeAlgorithm.JunctionTreeAlgorithm
(Graph graph, DataModel dataModel) Constructor for JunctionTreeAlgorithm. -
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) getConditionalProbability.double
getJointProbability
(int[] nodes, int[] values) getJointProbability.double
getJointProbabilityAll
(int[] nodeValues) Get the joint probability of all nodes (variables).double[]
getMarginalProbability
(int iNode) getMarginalProbability.double
getMarginalProbability
(int iNode, int value) getMarginalProbability.getNodes()
getNodes.int
getNumberOfNodes.void
setEvidence
(int iNode, int value) setEvidence.toString()
-
Constructor Details
-
Method Details
-
setEvidence
public void setEvidence(int iNode, int value) setEvidence.
- Parameters:
iNode
- a intvalue
- a int
-
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)- Parameters:
nodes
- an array ofint
objectsvalues
- an array ofint
objectsparents
- an array ofint
objectsparentValues
- an array ofint
objects- Returns:
- a double
-
getConditionalProbabilities
public double[] getConditionalProbabilities(int iNode, int[] parents, int[] parentValues) Get the conditional probability of a node for all of its values.- Parameters:
iNode
- a intparents
- an array ofint
objectsparentValues
- an array ofint
objects- Returns:
- an array of
double
objects
-
getConditionalProbability
public double getConditionalProbability(int iNode, int value, int[] parents, int[] parentValues) getConditionalProbability.
- Parameters:
iNode
- a intvalue
- a intparents
- an array ofint
objectsparentValues
- an array ofint
objects- Returns:
- a double
-
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- Returns:
- a double
-
getJointProbability
public double getJointProbability(int[] nodes, int[] values) getJointProbability.
- Parameters:
nodes
- an array ofint
objectsvalues
- an array ofint
objects- Returns:
- a double
-
getMarginalProbability
public double[] getMarginalProbability(int iNode) getMarginalProbability.
- Parameters:
iNode
- a int- Returns:
- an array of
double
objects
-
getMarginalProbability
public double getMarginalProbability(int iNode, int value) getMarginalProbability.
- Parameters:
iNode
- a intvalue
- a int- Returns:
- a double
-
getNodes
getNodes.
- Returns:
- a
List
object
-
getNumberOfNodes
public int getNumberOfNodes()getNumberOfNodes.
- Returns:
- a int
-
toString
-