Discrete approximation of the log-pseudolikelihood of a Gibbsian T-tessellation. More...
#include <ttessel.h>
Public Member Functions | |
PseudoLikDiscrete (Energy *) | |
Constructor initializing the model to be considered. More... | |
Energy * | GetEnergy () |
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< CatVector > | GetSplitStatistics () |
Return the split term of the discrete approximation of the log-pseudolikelihood. | |
std::vector< CatVector > | GetFlipStatistics () |
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. | |
Friends | |
std::ostream & | operator<< (std::ostream &, const PseudoLikDiscrete &) |
Send T-tessellation pseudolikelihood data to an output stream. More... | |
Discrete approximation of the log-pseudolikelihood of a Gibbsian T-tessellation.
The Gibbs model to be considered is stored in a private data member as an Energy object. The pseudolikelihood involves an integral over the space of splits that can be applied to the observed T-tessellation. The discrete approximation consists in replacing the integral by a discrete sum computed on a sample of dummy splits. Dummy splits are drawn independently and uniformly.
PseudoLikDiscrete::PseudoLikDiscrete | ( | Energy * | e | ) |
Constructor initializing the model to be considered.
Some components of the discrete approximation of the pseudolikelihood related to merges and flips are precomputed.
void PseudoLikDiscrete::AddGivenSplit | ( | TTessel::Split | s | ) |
Add a given dummy split.
void PseudoLikDiscrete::AddSplits | ( | Size | n | ) |
Increment the sample of dummy splits.
n | : the number of dummy splits to be added. |
Terms of the approximation of the pseudolikelihood related to splits are updated.
Return pseudo-likelihood gradient.
theta | : parameter where the gradient of the log-pseudolikelihood has to be computed. |
double PseudoLikDiscrete::GetValue | ( | CatVector | theta | ) |
Return log-pseudo-likelihood value.
theta | : parameter for which the likelihood is computed. |
|
friend |
Send T-tessellation pseudolikelihood data to an output stream.
os | : output stream |
pld | : the pseudolikelihood of a T-tessellation |