STK++ 0.9.13
STK::DiagGaussianBridge< Id, Data > Class Template Reference

template implementation of the IMixture interface allowing to bridge a STK++ mixture with the composer. More...

#include <STK_DiagGaussianBridge.h>

Inheritance diagram for STK::DiagGaussianBridge< Id, Data >:
Inheritance graph

Public Types

enum  { idMixtureClass_ = Clust::DiagGaussian_ }
 
typedef IMixtureBridge< DiagGaussianBridge< Id, Data > > Base
 
typedef hidden::MixtureBridgeTraits< DiagGaussianBridge< Id, Data > >::Mixture Mixture
 
typedef hidden::MixtureBridgeTraits< DiagGaussianBridge< Id, Data > >::Parameters Parameters
 
typedef hidden::MixtureBridgeTraits< DiagGaussianBridge< Id, Data > >::Type Type
 
typedef std::vector< std::pair< int, int > >::const_iterator ConstIterator
 
- Public Types inherited from STK::IMixtureBridge< DiagGaussianBridge< Id, Data > >
enum  
 
typedef hidden::MixtureBridgeTraits< DiagGaussianBridge< Id, Data > >::Mixture Mixture
 
typedef hidden::MixtureBridgeTraits< DiagGaussianBridge< Id, Data > >::Data Data
 
typedef hidden::MixtureBridgeTraits< DiagGaussianBridge< Id, Data > >::Type Type
 
typedef hidden::MixtureBridgeTraits< DiagGaussianBridge< Id, Data > >::Parameters Parameters
 
typedef hidden::MixtureBridgeTraits< DiagGaussianBridge< Id, Data > >::MissingIndexes MissingIndexes
 
typedef hidden::MixtureBridgeTraits< DiagGaussianBridge< Id, Data > >::MissingValues MissingValues
 
typedef MissingIndexes::const_iterator ConstIterator
 

Public Member Functions

 DiagGaussianBridge (Data *p_dataij, String const &idData, int nbCluster)
 default constructor.
 
 DiagGaussianBridge (DiagGaussianBridge const &bridge)
 copy constructor
 
virtual ~DiagGaussianBridge ()
 destructor
 
virtual DiagGaussianBridgeclone () const
 This is a standard clone function in usual sense.
 
virtual DiagGaussianBridgecreate () const
 This is a standard create function in usual sense.
 
Type safeValue (int j) const
 
- Public Member Functions inherited from STK::IMixtureBridge< DiagGaussianBridge< Id, Data > >
Mixture constmixture () const
 
MissingIndexes constv_missing () const
 
Data *const p_dataij () const
 
int nbMissing () const
 
void getMissingValues (MissingValues &data) const
 get the (imputed) missing values of a data set.
 
void getParameters (Parameters &param) const
 get the parameters of the model
 
void getParameters (Array &param) const
 This function is used in order to get the current values of the parameters in an array.
 
void setParameters (Parameters const &param)
 set the parameters of the model
 
void setParameters (ExprBase< Array > const &param)
 This function is used in order to set the current values of the parameters to the parameters using an array.
 
virtual void initializeStep ()
 Initialize the mixture model before its use by the composer.
 
virtual Real lnComponentProbability (int i, int k)
 This function must be defined to return the component probability distribution function (PDF) for corresponding sample i and cluster k.
 
virtual void paramUpdateStep ()
 This function is equivalent to Mstep and must be defined to update parameters.
 
virtual void randomInit ()
 This function should be used in order to initialize randomly the parameters of the mixture.
 
virtual int nbFreeParameter () const
 This function must return the number of free parameters.
 
virtual int nbMissingValues () const
 This function must return the number of missing value in data set identified by idData_.
 
virtual void storeIntermediateResults (int iteration)
 This function should be used to store any intermediate results during various iterations after the burn-in period.
 
virtual void releaseIntermediateResults ()
 This step can be used to signal to the mixtures that they must release the stored results.
 
virtual void setParametersStep ()
 set the parameters of the model.
 
virtual void finalizeStep ()
 This step can be used by developer to finalize any thing.
 
virtual void imputationStep ()
 This function should be used for imputation of data.
 
virtual void samplingStep ()
 This function must be defined for simulation of all the latent variables and/or missing data excluding class labels.
 
virtual void writeParameters (ostream &os) const
 This function can be used to write summary of parameters to the output stream.
 
- Public Member Functions inherited from STK::IMixture
 IMixture (String const &idData=String())
 Constructor with identification character.
 
 IMixture (IMixture const &mixture)
 copy constructor.
 
virtual ~IMixture ()
 Virtual destructor.
 
String constidData () const
 
IMixtureStatModel const *const p_composer () const
 
void setMixtureModel (IMixtureStatModel const *p_composer)
 set the mixture composer to the mixture
 
virtual void writeParameters (std::ostream &out) const
 This function can be used to write summary of parameters on to the output stream.
 
- Public Member Functions inherited from STK::IRecursiveTemplate< Derived >
Derived & asDerived ()
 static cast : return a reference of this with a cast to the derived class.
 
Derived constasDerived () const
 static cast : return a const reference of this with a cast to the derived class.
 
Derived * asPtrDerived ()
 static cast : return a ptr on a Derived of this with a cast to the derived class.
 
Derived constasPtrDerived () const
 static cast : return a ptr on a constant Derived of this with a cast to the derived class.
 
Derived * clone () const
 create a leaf using the copy constructor of the Derived class.
 
Derived * clone (bool isRef) const
 create a leaf using the copy constructor of the Derived class and a flag determining if the clone is a reference or not.
 

Private Member Functions

 DiagGaussianBridge (Mixture const &mixture, String const &idData, int nbCluster)
 protected constructor to use in order to create a bridge.
 

Additional Inherited Members

- Protected Member Functions inherited from STK::IMixtureBridge< DiagGaussianBridge< Id, Data > >
 IMixtureBridge (Data *p_data, String const &idData, int nbCluster)
 default constructor.
 
 IMixtureBridge (IMixtureBridge const &bridge)
 copy constructor
 
 IMixtureBridge (Mixture const &mixture, String const &idData, int nbCluster)
 protected constructor to use in order to create a bridge.
 
virtual ~IMixtureBridge ()
 destructor
 
virtual std::vector< std::pair< int, int > >::size_type findMissing ()
 utility function for lookup the data set and find missing values coordinates.
 
virtual void removeMissing ()
 This function will be used once for imputation of missing data at the initialization step (.
 
- Protected Member Functions inherited from STK::IMixture
int nbSample () const
 This function can be used in derived classes to get number of samples.
 
int nbCluster () const
 This function can be used in derived classes to get number of classes.
 
CPointX constp_pk () const
 This function can be used in derived classes to get estimated number of individuals from the framework.
 
CPointX constp_tk () const
 This function can be used in derived classes to get proportions from the framework.
 
CArrayXX constp_tik () const
 This function can be used in derived classes to get posterior probabilities from the framework.
 
CVectorXi constp_zi () const
 This function can be used in derived classes to get class labels from the framework.
 
- Protected Member Functions inherited from STK::IRecursiveTemplate< Derived >
 IRecursiveTemplate ()
 constructor.
 
 ~IRecursiveTemplate ()
 destructor.
 
- Protected Attributes inherited from STK::IMixtureBridge< DiagGaussianBridge< Id, Data > >
Mixture mixture_
 The Mixture to bridge with the composer.
 
MissingIndexes v_missing_
 vector with the coordinates of the missing values
 
Datap_dataij_
 pointer on the data set
 

Detailed Description

template<int Id, class Data>
class STK::DiagGaussianBridge< Id, Data >

template implementation of the IMixture interface allowing to bridge a STK++ mixture with the composer.

This class inherit from the interface IMixtureBridge and delegate almost all the treatments to the wrapped class. The only treatments implemented by this final class is the

Type safeValue( int j) const;
hidden::MixtureBridgeTraits< DiagGaussianBridge< Id, Data > >::Type Type
The MultidimRegression class allows to regress a multidimensional output variable among a multivariat...

method computing safely a value for the j-th variables. This method is called once at the beginning of the estimation process if there is missing values in this column.

Template Parameters
Idis any identifier of a model defined in STK::Clust::Mixture enumeration.
Datacontainer of the data used by the STK::DataBridge class

Definition at line 187 of file STK_DiagGaussianBridge.h.

Member Typedef Documentation

◆ Base

◆ ConstIterator

template<int Id, class Data >
typedef std::vector<std::pair<int,int>>::const_iterator STK::DiagGaussianBridge< Id, Data >::ConstIterator

Definition at line 202 of file STK_DiagGaussianBridge.h.

◆ Mixture

◆ Parameters

Definition at line 194 of file STK_DiagGaussianBridge.h.

◆ Type

Member Enumeration Documentation

◆ anonymous enum

template<int Id, class Data >
anonymous enum
Enumerator
idMixtureClass_ 

Definition at line 198 of file STK_DiagGaussianBridge.h.

Constructor & Destructor Documentation

◆ DiagGaussianBridge() [1/3]

template<int Id, class Data >
STK::DiagGaussianBridge< Id, Data >::DiagGaussianBridge ( Data p_dataij,
String const idData,
int  nbCluster 
)
inline

default constructor.

Remove the missing values from the data set and initialize the mixture by setting the data set.

Parameters
p_dataijpointer on the data set that will be used by the bridge.
idDataid name of the mixture model
nbClusternumber of cluster

Definition at line 215 of file STK_DiagGaussianBridge.h.

217 {
218 removeMissing(); // remove missing from data only once at creation
219 mixture_.setData(*p_dataij_);
220 }
IMixtureBridge< DiagGaussianBridge< Id, Data > > Base
virtual void removeMissing()
This function will be used once for imputation of missing data at the initialization step (.
Mixture mixture_
The Mixture to bridge with the composer.
String const & idData() const
int nbCluster() const
This function can be used in derived classes to get number of classes.

References STK::IMixtureBridge< DiagGaussianBridge< Id, Data > >::mixture_, STK::IMixtureBridge< DiagGaussianBridge< Id, Data > >::p_dataij_, and STK::IMixtureBridge< DiagGaussianBridge< Id, Data > >::removeMissing().

◆ DiagGaussianBridge() [2/3]

template<int Id, class Data >
STK::DiagGaussianBridge< Id, Data >::DiagGaussianBridge ( DiagGaussianBridge< Id, Data > const bridge)
inline

copy constructor

Definition at line 222 of file STK_DiagGaussianBridge.h.

222 : Base(bridge)
223 {}

◆ ~DiagGaussianBridge()

template<int Id, class Data >
virtual STK::DiagGaussianBridge< Id, Data >::~DiagGaussianBridge ( )
inlinevirtual

destructor

Definition at line 226 of file STK_DiagGaussianBridge.h.

226{}

◆ DiagGaussianBridge() [3/3]

template<int Id, class Data >
STK::DiagGaussianBridge< Id, Data >::DiagGaussianBridge ( Mixture const mixture,
String const idData,
int  nbCluster 
)
inlineprivate

protected constructor to use in order to create a bridge.

Parameters
mixturethe mixture to copy
idDataid name of the mixture
nbClusternumber of cluster

Definition at line 258 of file STK_DiagGaussianBridge.h.

Member Function Documentation

◆ clone()

template<int Id, class Data >
virtual DiagGaussianBridge * STK::DiagGaussianBridge< Id, Data >::clone ( ) const
inlinevirtual

This is a standard clone function in usual sense.

It must be defined to provide new object of your class with values of various parameters equal to the values of calling object. In other words, this is equivalent to polymorphic copy constructor.

Returns
New instance of class as that of calling object.

Implements STK::IMixture.

Definition at line 233 of file STK_DiagGaussianBridge.h.

233{ return new DiagGaussianBridge(*this);}
DiagGaussianBridge(Data *p_dataij, String const &idData, int nbCluster)
default constructor.

◆ create()

template<int Id, class Data >
virtual DiagGaussianBridge * STK::DiagGaussianBridge< Id, Data >::create ( ) const
inlinevirtual

This is a standard create function in usual sense.

It must be defined to provide new object of your class with correct dimensions and state. In other words, this is equivalent to virtual constructor.

Returns
New instance of class as that of calling object.

Implements STK::IMixture.

Definition at line 239 of file STK_DiagGaussianBridge.h.

240 {
241 DiagGaussianBridge* p_bridge = new DiagGaussianBridge( mixture_, this->idData(), this->nbCluster());
242 p_bridge->p_dataij_ = p_dataij_;
243 p_bridge->mixture_.setData(*p_dataij_);
244 p_bridge->v_missing_ = v_missing_;
245 return p_bridge;
246 }
MissingIndexes v_missing_
vector with the coordinates of the missing values

References STK::IMixture::idData(), STK::IMixtureBridge< DiagGaussianBridge< Id, Data > >::mixture_, STK::IMixture::nbCluster(), STK::IMixtureBridge< Derived >::p_dataij_, STK::IMixtureBridge< DiagGaussianBridge< Id, Data > >::p_dataij_, STK::IRunnerSupervised< YArray_, XArray_, Weights_ >::setData(), and STK::IMixtureBridge< DiagGaussianBridge< Id, Data > >::v_missing_.

◆ safeValue()

template<int Id, class Data >
Type STK::DiagGaussianBridge< Id, Data >::safeValue ( int  j) const
inline
Returns
a safe value for the jth variable
Parameters
jindex of the column with the safe value needed

Definition at line 249 of file STK_DiagGaussianBridge.h.

250 { return p_dataij_->col(j).meanSafe();}

References STK::IMixtureBridge< DiagGaussianBridge< Id, Data > >::p_dataij_.


The documentation for this class was generated from the following file: