LiTe
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | List of all members
PLInferenceNOIS Class Reference

Pseudo-likelihood inference of a Gibsian T-tessellation with alternate updates. More...

#include <ttessel.h>

Inheritance diagram for PLInferenceNOIS:
PseudoLikDiscrete

Public Member Functions

 PLInferenceNOIS (Energy *, bool=false, double=1.0)
 Generate a PLInferenceNOIS object. More...
 
double GetStepSize ()
 Return step size used in Newton's method.
 
void SetStepSize (double lambda)
 Set step size used in Newton's method.
 
void Step (unsigned int=1)
 Proceed to several iterations of the estimation algorithm. More...
 
CatVector GetEstimate ()
 Access to the current parameter estimate.
 
unsigned int Run (double=0.05, unsigned int=100)
 Iterate the estimation algorithm until convergence. More...
 
std::vector< CatVectorGetEstimates ()
 Return all intermediate parameter estimates.
 
std::vector< double > GetValues ()
 Return all intermediate log-pseudolikelihood values.
 
- Public Member Functions inherited from PseudoLikDiscrete
 PseudoLikDiscrete (Energy *)
 Constructor initializing the model to be considered. More...
 
EnergyGetEnergy ()
 Get the Energy data member.
 
void SetEnergy (Energy *e)
 Set the Energy data member.
 
void AddSplits (Size)
 Increment the sample of dummy splits. More...
 
void AddGivenSplit (TTessel::Split)
 Add a given dummy split. More...
 
std::vector< CatVectorGetSplitStatistics ()
 Return the split term of the discrete approximation of the log-pseudolikelihood.
 
std::vector< CatVectorGetFlipStatistics ()
 Return the flip term of the discrete approximation of the log-pseudolikelihood.
 
void ClearSplits ()
 Remove all dummy splits.
 
double GetValue (CatVector)
 Return log-pseudo-likelihood value. More...
 
CatVector GetGradient (CatVector)
 Return pseudo-likelihood gradient. More...
 
CatMatrix GetHessian (CatVector)
 Return the Hessian of the log-pseudolikelihood.
 

Detailed Description

Pseudo-likelihood inference of a Gibsian T-tessellation with alternate updates.

Numerical maximization of the pseudo-likelihood. Each step consists of a double update. First, dummy splits are added to the discrete approximation of the pseudo-likelihood (see class PseudoLikDiscrete). Second, the current parameter estimate is updated according to Newton's method based on the Hessian of the approximated pseudo-likelihood.

Constructor & Destructor Documentation

PLInferenceNOIS::PLInferenceNOIS ( Energy eng,
bool  store = false,
double  lambda = 1.0 
)

Generate a PLInferenceNOIS object.

Parameters
eng: a pointer to an Energy object defining the model to be fitted
store: whether the intermediate estimates and log-pseudolikelihood approximations should be stored
lambda: stepsize to be used when updating the estimate

Member Function Documentation

unsigned int PLInferenceNOIS::Run ( double  tol = 0.05,
unsigned int  nmax = 100 
)

Iterate the estimation algorithm until convergence.

Parameters
tol: target relative precision. Must be between 0 and 1.
nmax: maximal number of iterations
Returns
the number of performed iterations

Proceed to iterations of the inference algorithm (see documentation of method Step) until the stopping criterion is met. One stops when either nmax iterations have been performed or when the log-pseudolikelihood approximation (lp) has been reduced by a factor less than tol*(abs(lp)+tol).

void PLInferenceNOIS::Step ( unsigned int  n = 1)

Proceed to several iterations of the estimation algorithm.

Parameters
n: number of iterations

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