openModeller
Version 1.5.0
|
#include <environmental_distance.hh>
Public Member Functions | |
EnvironmentalDistance () | |
~EnvironmentalDistance () | |
int | initialize () |
int | done () const |
Scalar | getValue (const Sample &x) const |
Public Member Functions inherited from AlgorithmImpl | |
AlgorithmImpl (AlgMetadata const *metadata) | |
virtual | ~AlgorithmImpl () |
void | setParameters (int nparam, AlgParameter const *param) |
void | setParameters (const ParamSetType &) |
std::string const | getID () const |
AlgMetadata const * | getMetadata () const |
AlgorithmPtr | getFreshCopy () |
virtual int | supportsModelProjection () const |
Model | createModel (const SamplerPtr &samp, CallbackWrapper *func=0) |
void | setSampler (const SamplerPtr &samp) |
virtual int | iterate () |
virtual int | finalize () |
virtual int | getConvergence (Scalar *const val) const |
virtual float | getProgress () const |
virtual int | needNormalization () |
Normalizer * | getNormalizer () const |
void | setNormalization (const SamplerPtr &samp) const |
void | setNormalization (const EnvironmentPtr &env) const |
virtual Model | getModel () const |
ConfigurationPtr | getConfiguration () const |
void | setConfiguration (const ConstConfigurationPtr &) |
Public Member Functions inherited from Configurable | |
virtual | ~Configurable () |
Protected Member Functions | |
virtual void | _getConfiguration (ConfigurationPtr &) const |
virtual void | _setConfiguration (const ConstConfigurationPtr &) |
Protected Member Functions inherited from AlgorithmImpl | |
int | dimDomain () |
int | getParameter (std::string const &name, std::string *value) |
int | getParameter (std::string const &name, double *value) |
int | getParameter (std::string const &name, float *value) |
int | getParameter (std::string const &name, int *value) |
Private Types | |
enum | DistanceType { EuclideanDistance = FIRST_DISTANCE_TYPE, MahalanobisDistance, ManhattanDistance, ChebyshevDistance } |
Private Member Functions | |
void | _calc_covariance_matrix () |
Scalar | _distance (const Sample &x, const Sample &y) const |
bool | _init_distance_type () |
Scalar | _poz (Scalar z) const |
Scalar | _pochisq (Scalar x, int df) const |
Private Attributes | |
bool | _done |
int | _layer_count |
int | _presence_count |
std::vector< Sample > | _presence_points |
Scalar | _par_dist |
int | _par_dist_type |
int | _par_point_qnt |
bool | _use_chisq |
Matrix * | _cov_matrix |
Matrix * | _cov_matrix_inv |
Sample | _average_point |
Additional Inherited Members | |
Public Types inherited from AlgorithmImpl | |
typedef std::map< icstring, std::string > | ParamSetType |
Protected Attributes inherited from AlgorithmImpl | |
SamplerPtr | _samp |
Normalizer * | _normalizerPtr |
ParamSetType | _param |
Definition at line 38 of file environmental_distance.hh.
|
private |
Enumerator | |
---|---|
EuclideanDistance | |
MahalanobisDistance | |
ManhattanDistance | |
ChebyshevDistance |
Definition at line 71 of file environmental_distance.hh.
EnvironmentalDistance::EnvironmentalDistance | ( | ) |
Definition at line 118 of file environmental_distance.cpp.
References _cov_matrix, _cov_matrix_inv, AlgorithmImpl::_normalizerPtr, DATA_MAX, and DATA_MIN.
EnvironmentalDistance::~EnvironmentalDistance | ( | ) |
Definition at line 124 of file environmental_distance.cpp.
References _cov_matrix, _cov_matrix_inv, _par_dist_type, and MahalanobisDistance.
|
private |
Definition at line 308 of file environmental_distance.cpp.
References _average_point, _cov_matrix, _cov_matrix_inv, _layer_count, _presence_count, _presence_points, Log::error(), and Log::instance().
Referenced by _init_distance_type(), and _setConfiguration().
Definition at line 352 of file environmental_distance.cpp.
References _layer_count, _par_dist_type, _use_chisq, ChebyshevDistance, EuclideanDistance, MahalanobisDistance, ManhattanDistance, and Sample::norm().
Referenced by _init_distance_type(), and getValue().
|
protectedvirtual |
Reimplemented from AlgorithmImpl.
Definition at line 559 of file environmental_distance.cpp.
References _average_point, _done, _par_dist, and _presence_points.
|
private |
Definition at line 418 of file environmental_distance.cpp.
References _calc_covariance_matrix(), _distance(), _layer_count, _par_dist, _par_dist_type, _use_chisq, ChebyshevDistance, DATA_MAX, DATA_MIN, EuclideanDistance, Log::info(), Log::instance(), MahalanobisDistance, ManhattanDistance, PARDISTMAX, PARDISTMIN, and Sample::resize().
Referenced by initialize().
Compute probability of chi square value for the result not being due to chance. Code based on a C implementation in the public domain written by Gary Perlman from the Wang Institute, Tyngsboro, MA: http://www.stat.uchicago.edu/~mcpeek/software/CCQLSpackage1.3/chisq.c Original notes: Adapted from: Hill, I. D. and Pike, M. C. Algorithm 299 Collected Algorithms for the CACM 1967 p. 243 Updated for rounding errors based on remark in ACM TOMS June 1985, page 185
x | obtained chi-square value |
df | degrees of freedom (number of environmental variables - 1) |
Definition at line 519 of file environmental_distance.cpp.
References _poz(), BIGX, ex, I_SQRT_PI, and LOG_SQRT_PI.
Referenced by getValue().
Compute probability of probability of normal z value. Code based on a C implementation in the public domain written by Gary Perlman from the Wang Institute, Tyngsboro, MA: http://www.stat.uchicago.edu/~mcpeek/software/CCQLSpackage1.3/z.c Original notes: Adapted from a polynomial approximation in: Ibbetson D, Algorithm 209 Collected Algorithms of the CACM 1963 p. 616 This routine has six digit accuracy, so it is only useful for absolute z values < 6. For z values >= to 6.0, poz() returns 0.0
z | normal z value |
Definition at line 488 of file environmental_distance.cpp.
References Z_MAX.
Referenced by _pochisq().
|
protectedvirtual |
Reimplemented from AlgorithmImpl.
Definition at line 576 of file environmental_distance.cpp.
References _average_point, _calc_covariance_matrix(), _done, _layer_count, _par_dist, _par_dist_type, _par_point_qnt, _presence_count, _presence_points, _use_chisq, Log::error(), AlgorithmImpl::getParameter(), Log::instance(), MahalanobisDistance, PARDIST, PARDISTTYPE, PARPOINTQNT, and Sample::size().
|
inlinevirtual |
Return != 0 if algorithm finished.
Reimplemented from AlgorithmImpl.
Definition at line 45 of file environmental_distance.hh.
The algorithm must return the occurrence probability at the given environment conditions.
x | Environmental conditions. |
Implements AlgorithmImpl.
Definition at line 224 of file environmental_distance.cpp.
References _average_point, _distance(), _layer_count, _par_dist, _par_point_qnt, _pochisq(), _presence_count, _presence_points, and _use_chisq.
|
virtual |
Initiate a new training.
Implements AlgorithmImpl.
Definition at line 146 of file environmental_distance.cpp.
References _average_point, _done, _init_distance_type(), _layer_count, _par_dist, _par_dist_type, _par_point_qnt, _presence_count, _presence_points, AlgorithmImpl::_samp, _use_chisq, ChebyshevDistance, Log::debug(), Log::error(), EuclideanDistance, AlgorithmImpl::getParameter(), Log::instance(), MahalanobisDistance, ManhattanDistance, PARDIST, PARDISTMAX, PARDISTMIN, PARDISTTYPE, PARPOINTQNT, and Log::warn().
|
private |
Definition at line 68 of file environmental_distance.hh.
Referenced by _calc_covariance_matrix(), _getConfiguration(), _setConfiguration(), getValue(), and initialize().
|
private |
Definition at line 66 of file environmental_distance.hh.
Referenced by _calc_covariance_matrix(), EnvironmentalDistance(), and ~EnvironmentalDistance().
|
private |
Definition at line 67 of file environmental_distance.hh.
Referenced by _calc_covariance_matrix(), EnvironmentalDistance(), and ~EnvironmentalDistance().
|
private |
Definition at line 50 of file environmental_distance.hh.
Referenced by _getConfiguration(), _setConfiguration(), and initialize().
|
private |
Definition at line 51 of file environmental_distance.hh.
Referenced by _calc_covariance_matrix(), _distance(), _init_distance_type(), _setConfiguration(), getValue(), and initialize().
|
private |
Definition at line 56 of file environmental_distance.hh.
Referenced by _getConfiguration(), _init_distance_type(), _setConfiguration(), getValue(), and initialize().
|
private |
Definition at line 57 of file environmental_distance.hh.
Referenced by _distance(), _init_distance_type(), _setConfiguration(), initialize(), and ~EnvironmentalDistance().
|
private |
Definition at line 58 of file environmental_distance.hh.
Referenced by _setConfiguration(), getValue(), and initialize().
|
private |
Definition at line 52 of file environmental_distance.hh.
Referenced by _calc_covariance_matrix(), _setConfiguration(), getValue(), and initialize().
|
private |
Definition at line 53 of file environmental_distance.hh.
Referenced by _calc_covariance_matrix(), _getConfiguration(), _setConfiguration(), getValue(), and initialize().
|
private |
Definition at line 60 of file environmental_distance.hh.
Referenced by _distance(), _init_distance_type(), _setConfiguration(), getValue(), and initialize().