|
| LaplaceDistribution () |
| Default constructor, which creates a Laplace distribution with zero dimension and zero scale parameter.
|
|
| LaplaceDistribution (const size_t dimensionality, const double scale) |
| Construct the Laplace distribution with the given scale and dimensionality. More...
|
|
| LaplaceDistribution (const arma::vec &mean, const double scale) |
| Construct the Laplace distribution with the given mean and scale parameter. More...
|
|
size_t | Dimensionality () const |
| Return the dimensionality of this distribution.
|
|
double | Probability (const arma::vec &observation) const |
| Return the probability of the given observation. More...
|
|
void | Probability (const arma::mat &x, arma::vec &probabilities) const |
| Evaluate probability density function of given observation. More...
|
|
double | LogProbability (const arma::vec &observation) const |
| Return the log probability of the given observation. More...
|
|
void | LogProbability (const arma::mat &x, arma::vec &logProbabilities) const |
| Evaluate log probability density function of given observation. More...
|
|
arma::vec | Random () const |
| Return a randomly generated observation according to the probability distribution defined by this object. More...
|
|
void | Estimate (const arma::mat &observations) |
| Estimate the Laplace distribution directly from the given observations. More...
|
|
void | Estimate (const arma::mat &observations, const arma::vec &probabilities) |
| Estimate the Laplace distribution from the given observations, taking into account the probability of each observation actually being from this distribution. More...
|
|
const arma::vec & | Mean () const |
| Return the mean.
|
|
arma::vec & | Mean () |
| Modify the mean.
|
|
double | Scale () const |
| Return the scale parameter.
|
|
double & | Scale () |
| Modify the scale parameter.
|
|
template<typename Archive > |
void | serialize (Archive &ar, const uint32_t) |
| Serialize the distribution.
|
|
The multivariate Laplace distribution centered at 0 has pdf.
\[ f(x|\theta) = \frac{1}{2 \theta}\exp\left(-\frac{\|x - \mu\|}{\theta}\right) \]
given scale parameter \(\theta\) and mean \(\mu\). This implementation assumes a diagonal covariance, but a rewrite to support arbitrary covariances is possible.
See the following paper for more information on the non-diagonal-covariance Laplace distribution and estimation techniques:
@article{eltoft2006multivariate,
title={{On the Multivariate Laplace Distribution}},
author={Eltoft, Torbj\orn and Kim, Taesu and Lee, Te-Won},
journal={IEEE Signal Processing Letters},
volume={13},
number={5},
pages={300--304},
year={2006}
}
Note that because of the diagonal covariance restriction, much of the algebra in the paper above becomes simplified, and the PDF takes roughly the same form as the univariate case.