STK++ 0.9.13
STK::IStatModelBase Class Reference

Interface base class for all Statistical Models. More...

#include <STK_IStatModelBase.h>

Inheritance diagram for STK::IStatModelBase:
Inheritance graph

Public Member Functions

int nbSample () const
 
Real lnNbSample () const
 
int nbVariable () const
 
Real lnLikelihood () const
 
Real likelihood () const
 
int nbFreeParameter () const
 
Real computeBIC () const
 
Real computeAIC () const
 
Real computeML () const
 

Protected Member Functions

 IStatModelBase ()
 Default constructor.
 
 IStatModelBase (int nbSample)
 Constructor with specified dimension.
 
 IStatModelBase (int nbSample, int nbVariable)
 Constructor with specified dimension.
 
 IStatModelBase (IStatModelBase const &model)
 Copy constructor.
 
 ~IStatModelBase ()
 destructor
 
void setNbFreeParameter (int const &nbFreeParameter)
 set the number of free parameters of the model
 
void setNbSample (int const &nbSample)
 set the number of samples of the model
 
void setNbVariable (int const &nbVariable)
 set the number of variables of the model
 
void setLnLikelihood (Real const &lnLikelihood)
 set the log-likelihood of the model
 
void initialize (int nbSample, int nbVariable)
 set the dimensions of the parameters of the model
 

Private Attributes

int nbSample_
 total available samples
 
int nbVariable_
 total available variables
 
Real lnLikelihood_
 likelihood of the samples
 
int nbFreeParameter_
 number of free parameters of the model
 

Detailed Description

Interface base class for all Statistical Models.

This Interface can be used for any kind of data set. However, it is not allowed to instantiate directly this class. For a concrete class, use a derived class of the IStatMode class.

See also
IStatModel.

When using a model selection criterion like AIC or BIC, this class is self-sufficient.

See also
AICCriterion, BICCriterion, IStatModel, IMixtureComposer.

Definition at line 55 of file STK_IStatModelBase.h.

Constructor & Destructor Documentation

◆ IStatModelBase() [1/4]

STK::IStatModelBase::IStatModelBase ( )
inlineprotected

Default constructor.

Definition at line 59 of file STK_IStatModelBase.h.

59{ initialize(0, 0);}
void initialize(int nbSample, int nbVariable)
set the dimensions of the parameters of the model

References initialize().

◆ IStatModelBase() [2/4]

STK::IStatModelBase::IStatModelBase ( int  nbSample)
inlineprotected

Constructor with specified dimension.

Parameters
nbSampleNumber of samples of the model

Definition at line 63 of file STK_IStatModelBase.h.

References initialize(), and nbSample().

◆ IStatModelBase() [3/4]

STK::IStatModelBase::IStatModelBase ( int  nbSample,
int  nbVariable 
)
inlineprotected

Constructor with specified dimension.

Parameters
nbSample,nbVariableNumber of samples and variables of the model

Definition at line 68 of file STK_IStatModelBase.h.

References initialize(), nbSample(), and nbVariable().

◆ IStatModelBase() [4/4]

STK::IStatModelBase::IStatModelBase ( IStatModelBase const model)
inlineprotected

Copy constructor.

Parameters
modelthe model to copy

Definition at line 73 of file STK_IStatModelBase.h.

74 : nbSample_(model.nbSample_)
75 , nbVariable_(model.nbVariable_)
76 , lnLikelihood_(model.lnLikelihood_)
77 , nbFreeParameter_(model.nbFreeParameter_)
78 {}
int nbFreeParameter_
number of free parameters of the model
int nbSample_
total available samples
Real lnLikelihood_
likelihood of the samples
int nbVariable_
total available variables

◆ ~IStatModelBase()

STK::IStatModelBase::~IStatModelBase ( )
inlineprotected

destructor

Definition at line 80 of file STK_IStatModelBase.h.

80{}

Member Function Documentation

◆ computeAIC()

Real STK::IStatModelBase::computeAIC ( ) const
inline
Returns
computed AIC criteria.

Definition at line 101 of file STK_IStatModelBase.h.

102 { return (-2. * lnLikelihood()+nbFreeParameter());}

References lnLikelihood(), and nbFreeParameter().

Referenced by STK::AICMixtureCriterion::run(), and STK::AICCriterion::run().

◆ computeBIC()

Real STK::IStatModelBase::computeBIC ( ) const
inline
Returns
computed BIC criterion.

Definition at line 98 of file STK_IStatModelBase.h.

99 { return (-2. * lnLikelihood() + nbFreeParameter() * lnNbSample());}

References lnLikelihood(), lnNbSample(), and nbFreeParameter().

Referenced by STK::BICMixtureCriterion::run(), and STK::BICCriterion::run().

◆ computeML()

Real STK::IStatModelBase::computeML ( ) const
inline
Returns
computed ML criteria.

Definition at line 104 of file STK_IStatModelBase.h.

105 { return (-2. * lnLikelihood());}

References lnLikelihood().

◆ initialize()

◆ likelihood()

Real STK::IStatModelBase::likelihood ( ) const
inline
Returns
The likelihood

Definition at line 93 of file STK_IStatModelBase.h.

94 { return (Arithmetic<Real>::isFinite(lnLikelihood_)) ? std::exp((Real)lnLikelihood_) : 0.;}
double Real
STK fundamental type of Real values.
static bool isFinite(Type const &x)

References lnLikelihood_.

◆ lnLikelihood()

◆ lnNbSample()

Real STK::IStatModelBase::lnNbSample ( ) const
inline
Returns
the log of the total number of observations

Definition at line 86 of file STK_IStatModelBase.h.

87 { return (nbSample_ <= 0) ? -Arithmetic<Real>::infinity() : std::log((Real)nbSample_);}

References nbSample_.

Referenced by computeBIC(), and STK::IMixtureStatModel::computeICL().

◆ nbFreeParameter()

◆ nbSample()

◆ nbVariable()

int STK::IStatModelBase::nbVariable ( ) const
inline
Returns
the number of variables

Definition at line 89 of file STK_IStatModelBase.h.

89{ return nbVariable_;}

References nbVariable_.

Referenced by initialize(), IStatModelBase(), and setNbVariable().

◆ setLnLikelihood()

◆ setNbFreeParameter()

◆ setNbSample()

void STK::IStatModelBase::setNbSample ( int const nbSample)
inlineprotected

set the number of samples of the model

Parameters
nbSamplenumber of samples of the model

Definition at line 116 of file STK_IStatModelBase.h.

117 { nbSample_ = nbSample;}

References nbSample(), and nbSample_.

Referenced by STK::IStatModel< Derived >::setData(), and STK::IStatModel< Derived >::setData().

◆ setNbVariable()

void STK::IStatModelBase::setNbVariable ( int const nbVariable)
inlineprotected

set the number of variables of the model

Parameters
nbVariablenumber of variables of the model

Definition at line 121 of file STK_IStatModelBase.h.

References nbVariable(), and nbVariable_.

Referenced by STK::IStatModel< Derived >::setData(), and STK::IStatModel< Derived >::setData().

Member Data Documentation

◆ lnLikelihood_

Real STK::IStatModelBase::lnLikelihood_
private

likelihood of the samples

Definition at line 146 of file STK_IStatModelBase.h.

Referenced by initialize(), likelihood(), lnLikelihood(), and setLnLikelihood().

◆ nbFreeParameter_

int STK::IStatModelBase::nbFreeParameter_
private

number of free parameters of the model

Definition at line 148 of file STK_IStatModelBase.h.

Referenced by initialize(), nbFreeParameter(), and setNbFreeParameter().

◆ nbSample_

int STK::IStatModelBase::nbSample_
private

total available samples

Definition at line 142 of file STK_IStatModelBase.h.

Referenced by initialize(), lnNbSample(), nbSample(), and setNbSample().

◆ nbVariable_

int STK::IStatModelBase::nbVariable_
private

total available variables

Definition at line 144 of file STK_IStatModelBase.h.

Referenced by initialize(), nbVariable(), and setNbVariable().


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