ContinuousBayesianNetworkFactory

class otagrum.ContinuousBayesianNetworkFactory(*args)

Estimate a ContinuousBayesianNetwork distribution.

Parameters:
marginalsFactoryDistributionFactory

The model used to estimate each univariate marginal distribution. Default value is HistogramFactory.

copulasFactoryDistributionFactory

The model used to estimate each local conditional copula. Default value is BernsteinCopulaFactory.

namedDAGNamedDAG

The structure of the underlying graphical model. Default value is NamedDAG()

alphafloat

Threshold on the p-value for the conditional independence tests. Default value is 0.1.

maximumConditioningSetSizeint

Maximum conditional set size. Default value is 5.

Notes

A namedDAG parameter of size 0 (ie equal to NamedDAG(), default value) means that the structure has also to be learnt, using the ContinuousPC algorithm. The parameters alpha and maximumConditioningSetSize are used only if the NamedDAG has to be learnt. The following keys in ResourceMap can be used to fine-tune the learning process:

  • ‘ContinuousBayesianNetworkFactory-DefaultAlpha’ to set the p-value threshold for the independence test in ContinuousPC. Default value is 0.1.

  • ‘ContinuousBayesianNetworkFactory-DefaultMaximumConditioningSetSize’ to set the maximum dimension of the parents in the Bayesian network. Default value is 5.

  • ‘ContinuousBayesianNetworkFactory-WorkInCopulaSpace’ to indicate if the estimated distribution should be a copula. Default value is True.

  • ‘ContinuousBayesianNetworkFactory-MaximumDiscreteSupport’ to set the maximum number of different values to consider a marginal distribution as being discrete. Default value is 10.

  • ‘ContinuousBayesianNetworkFactory-UseBetaFactory’ to indicate if the estimated copula should be a Beta copula if a:class:openturns.BernsteinCopulaFactory is provided. Default value is True.

Examples

>>> import otagrum
>>> import openturns as ot
>>> marginalsFactory = ot.NormalFactory()
>>> copulasFactory = ot.NormalCopulaFactory()
>>> ndag = otagrum.NamedDAG()
>>> threshold = 0.1
>>> maxParents = 5
>>> factory = otagrum.ContinuousBayesianNetworkFactory(marginalsFactory, copulasFactory, ndag, threshold, maxParents)

Methods

build(*args)

Build the distribution.

buildAsContinuousBayesianNetwork(*args)

Build as ContinuousBayesianNetwork distribution.

buildEstimator(*args)

Build the distribution and the parameter distribution.

getBootstrapSize()

Accessor to the bootstrap size.

getClassName()

Accessor to the object's name.

getId()

Accessor to the object's id.

getName()

Accessor to the object's name.

getShadowedId()

Accessor to the object's shadowed id.

getVisibility()

Accessor to the object's visibility state.

hasName()

Test if the object is named.

hasVisibleName()

Test if the object has a distinguishable name.

setBootstrapSize(bootstrapSize)

Accessor to the bootstrap size.

setName(name)

Accessor to the object's name.

setShadowedId(id)

Accessor to the object's shadowed id.

setVisibility(visible)

Accessor to the object's visibility state.

__init__(*args)
build(*args)

Build the distribution.

Available usages:

build()

build(sample)

build(param)

Parameters:
sample2-d sequence of float

Data.

paramsequence of float

The parameters of the distribution.

Returns:
distDistribution

The estimated distribution.

In the first usage, the default native distribution is built.

buildAsContinuousBayesianNetwork(*args)

Build as ContinuousBayesianNetwork distribution.

Parameters:
sampleopenturns.Sample

Input sample.

Returns:
distributionContinuousBayesianNetwork

Estimated distribution.

buildEstimator(*args)

Build the distribution and the parameter distribution.

Parameters:
sample2-d sequence of float

Data.

parametersDistributionParameters

Optional, the parametrization.

Returns:
resDistDistributionFactoryResult

The results.

Notes

According to the way the native parameters of the distribution are estimated, the parameters distribution differs:

  • Moments method: the asymptotic parameters distribution is normal and estimated by Bootstrap on the initial data;

  • Maximum likelihood method with a regular model: the asymptotic parameters distribution is normal and its covariance matrix is the inverse Fisher information matrix;

  • Other methods: the asymptotic parameters distribution is estimated by Bootstrap on the initial data and kernel fitting (see KernelSmoothing).

If another set of parameters is specified, the native parameters distribution is first estimated and the new distribution is determined from it:

  • if the native parameters distribution is normal and the transformation regular at the estimated parameters values: the asymptotic parameters distribution is normal and its covariance matrix determined from the inverse Fisher information matrix of the native parameters and the transformation;

  • in the other cases, the asymptotic parameters distribution is estimated by Bootstrap on the initial data and kernel fitting.

getBootstrapSize()

Accessor to the bootstrap size.

Returns:
sizeinteger

Size of the bootstrap.

getClassName()

Accessor to the object’s name.

Returns:
class_namestr

The object class name (object.__class__.__name__).

getId()

Accessor to the object’s id.

Returns:
idint

Internal unique identifier.

getName()

Accessor to the object’s name.

Returns:
namestr

The name of the object.

getShadowedId()

Accessor to the object’s shadowed id.

Returns:
idint

Internal unique identifier.

getVisibility()

Accessor to the object’s visibility state.

Returns:
visiblebool

Visibility flag.

hasName()

Test if the object is named.

Returns:
hasNamebool

True if the name is not empty.

hasVisibleName()

Test if the object has a distinguishable name.

Returns:
hasVisibleNamebool

True if the name is not empty and not the default one.

setBootstrapSize(bootstrapSize)

Accessor to the bootstrap size.

Parameters:
sizeinteger

The size of the bootstrap.

setName(name)

Accessor to the object’s name.

Parameters:
namestr

The name of the object.

setShadowedId(id)

Accessor to the object’s shadowed id.

Parameters:
idint

Internal unique identifier.

setVisibility(visible)

Accessor to the object’s visibility state.

Parameters:
visiblebool

Visibility flag.