Comparison of Bayesian networks¶
To compare Bayesian network, one can compare the structure of the BNs (see pyAgrum.lib.bn_vs_vb.GraphicalBNComparator). However BNs can also be compared as probability distributions.
-
class
pyAgrum.
ExactBNdistance
(*args)¶ Class representing exacte computation of divergence and distance between BNs
- ExactBNdistance(P,Q) -> ExactBNdistance
- Parameters:
- P (pyAgrum.BayesNet) a Bayesian network
- Q (pyAgrum.BayesNet) another Bayesian network to compare with the first one
- ExactBNdistance(ebnd) -> ExactBNdistance
- Parameters:
- ebnd (pyAgrum.ExactBNdistance) the exact BNdistance to copy
Raises: gum.OperationNotAllowed
– If the 2BNs have not the same domain size of compatible node sets-
compute
(ExactBNdistance self)¶ Returns: a dictionnary containing the different values after the computation. Return type: dict
-
class
pyAgrum.
GibbsBNdistance
(*args)¶ Class representing a Gibbs-Approximated computation of divergence and distance between BNs
- GibbsBNdistance(P,Q) -> GibbsBNdistance
- Parameters:
- P (pyAgrum.BayesNet) – a Bayesian network
- Q (pyAgrum.BayesNet) – another Bayesian network to compare with the first one
- GibbsBNdistance(gbnd) -> GibbsBNdistance
- Parameters:
- gbnd (pyAgrum.GibbsBNdistance) – the Gibbs BNdistance to copy
Raises: gum.OperationNotAllowed
– If the 2BNs have not the same domain size of compatible node sets-
burnIn
(GibbsBNdistance self)¶ Returns: size of burn in on number of iteration Return type: int
-
compute
(GibbsBNdistance self)¶ Returns: a dictionnary containing the different values after the computation. Return type: dict
-
continueApproximationScheme
(ApproximationScheme self, double error)¶ Continue the approximation scheme.
Parameters: error (double) –
-
currentTime
(GibbsBNdistance self)¶ Returns: get the current running time in second (double) Return type: double
-
disableEpsilon
(ApproximationScheme self)¶ Disable epsilon as a stopping criterion.
-
disableMaxIter
(ApproximationScheme self)¶ Disable max iterations as a stopping criterion.
-
disableMaxTime
(ApproximationScheme self)¶ Disable max time as a stopping criterion.
-
disableMinEpsilonRate
(ApproximationScheme self)¶ Disable a min epsilon rate as a stopping criterion.
-
enableEpsilon
(ApproximationScheme self)¶ Enable epsilon as a stopping criterion.
-
enableMaxIter
(ApproximationScheme self)¶ Enable max iterations as a stopping criterion.
-
enableMaxTime
(ApproximationScheme self)¶ Enable max time as a stopping criterion.
-
enableMinEpsilonRate
(ApproximationScheme self)¶ Enable a min epsilon rate as a stopping criterion.
-
epsilon
(GibbsBNdistance self)¶ Returns: the value of epsilon Return type: double
-
history
(GibbsBNdistance self)¶ Returns: the scheme history Return type: tuple Raises: gum.OperationNotAllowed
– If the scheme did not performed or if verbosity is set to false
-
initApproximationScheme
(ApproximationScheme self)¶ Initiate the approximation scheme.
-
isDrawnAtRandom
(GibbsBNdistance self)¶ Returns: True if variables are drawn at random Return type: bool
-
isEnabledEpsilon
(ApproximationScheme self)¶ Returns: True if epsilon is used as a stopping criterion. Return type: bool
-
isEnabledMaxIter
(ApproximationScheme self)¶ Returns: True if max iterations is used as a stopping criterion Return type: bool
-
isEnabledMaxTime
(ApproximationScheme self)¶ Returns: True if max time is used as a stopping criterion Return type: bool
-
isEnabledMinEpsilonRate
(ApproximationScheme self)¶ Returns: True if epsilon rate is used as a stopping criterion Return type: bool
-
maxIter
(GibbsBNdistance self)¶ Returns: the criterion on number of iterations Return type: int
-
maxTime
(GibbsBNdistance self)¶ Returns: the timeout(in seconds) Return type: double
-
messageApproximationScheme
(GibbsBNdistance self)¶ Returns: the approximation scheme message Return type: str
-
minEpsilonRate
(GibbsBNdistance self)¶ Returns: the value of the minimal epsilon rate Return type: double
-
nbrDrawnVar
(GibbsBNdistance self)¶ Returns: the number of variable drawn at each iteration Return type: int
-
nbrIterations
(GibbsBNdistance self)¶ Returns: the number of iterations Return type: int
-
periodSize
(GibbsBNdistance self)¶ Returns: the number of samples between 2 stopping Return type: int Raises: gum.OutOfLowerBound
– If p<1
-
remainingBurnIn
(ApproximationScheme self)¶ Returns: the number of remaining burn in Return type: int
-
setBurnIn
(GibbsBNdistance self, int b)¶ Parameters: b (int) – size of burn in on number of iteration
-
setDrawnAtRandom
(GibbsBNdistance self, bool _atRandom)¶ Parameters: _atRandom (bool) – indicates if variables should be drawn at random
-
setEpsilon
(GibbsBNdistance self, double eps)¶ Parameters: eps (double) – the epsilon we want to use Raises: gum.OutOfLowerBound
– If eps<0
-
setMaxIter
(GibbsBNdistance self, int max)¶ Parameters: max (int) – the maximum number of iteration Raises: gum.OutOfLowerBound
– If max <= 1
-
setMaxTime
(GibbsBNdistance self, double timeout)¶ Parameters: tiemout (double) – stopping criterion on timeout (in seconds) Raises: gum.OutOfLowerBound
– If timeout<=0.0
-
setMinEpsilonRate
(GibbsBNdistance self, double rate)¶ Parameters: rate (double) – the minimal epsilon rate
-
setNbrDrawnVar
(GibbsBNdistance self, int _nbr)¶ Parameters: _nbr (int) – the number of variables to be drawn at each iteration
-
setPeriodSize
(GibbsBNdistance self, int p)¶ Parameters: p (int) – number of samples between 2 stopping Raises: gum.OutOfLowerBound
– If p<1
-
setVerbosity
(GibbsBNdistance self, bool v)¶ Parameters: v (bool) – verbosity
-
startOfPeriod
(ApproximationScheme self)¶ Returns: True if it is a start of a period Return type: bool
-
stateApproximationScheme
(ApproximationScheme self)¶ Returns: the state of the approximation scheme Return type: int
-
stopApproximationScheme
(ApproximationScheme self)¶ Stop the approximation scheme.
-
updateApproximationScheme
(ApproximationScheme self, unsigned int incr=1)¶ Update the approximation scheme.
-
verbosity
(GibbsBNdistance self)¶ Returns: True if the verbosity is enabled Return type: bool