Measures¶
-
class
stonesoup.measures.
Measure
(mapping=None)[source]¶ Measure base type
A measure provides a means to assess the seperation between two
State
objects state1 and state2.- Parameters
mapping (
numpy.ndarray
, optional) – Mapping array which specifies which elements within the state vectors are to be assessed as part of the measure
-
mapping
: numpy.ndarray¶ Mapping array which specifies which elements within the state vectors are to be assessed as part of the measure
-
class
stonesoup.measures.
Euclidean
(mapping=None)[source]¶ Euclidean distance measure
This measure returns the Euclidean distance between a pair of
State
objects.The Euclidean distance between a pair of state vectors \(u\) and \(v\) is defined as:
\[\sqrt{\sum_{i=1}^{N}{(u_i - v_i)^2}}\]- Parameters
mapping (
numpy.ndarray
, optional) – Mapping array which specifies which elements within the state vectors are to be assessed as part of the measure
-
class
stonesoup.measures.
EuclideanWeighted
(weighting, mapping=None)[source]¶ Weighted Euclidean distance measure
This measure returns the Euclidean distance between a pair of
State
objects, taking into account a specified weighting.The Weighted Euclidean distance between a pair of state vectors \(u\) and \(v\) with weighting \(w\) is defined as:
\[\sqrt{\sum_{i=1}^{N}{w_i|(u_i - v_i)^2}}\]Note
The EuclideanWeighted object has a property called weighting, which allows the method to be called on different pairs of states. If different weightings need to be used then multiple
Measure
objects must be created with the specific weighting- Parameters
weighting (
numpy.ndarray
) – Weighting vector for the Euclidean calculationmapping (
numpy.ndarray
, optional) – Mapping array which specifies which elements within the state vectors are to be assessed as part of the measure
-
weighting
: numpy.ndarray¶ Weighting vector for the Euclidean calculation
-
class
stonesoup.measures.
Mahalanobis
(mapping=None)[source]¶ Mahalanobis distance measure
This measure returns the Mahalanobis distance between a pair of
State
objects taking into account the distribution (i.e. theCovarianceMatrix
) of the firstState
objectThe Mahalanobis distance between a distribution with mean \(\mu\) and Covariance matrix \(\Sigma\) and a point \(x\) is defined as:
\[\sqrt{( {\mu - x}) \Sigma^{-1} ({\mu - x}^T )}\]- Parameters
mapping (
numpy.ndarray
, optional) – Mapping array which specifies which elements within the state vectors are to be assessed as part of the measure
-
class
stonesoup.measures.
SquaredGaussianHellinger
(mapping=None)[source]¶ Squared Gaussian Hellinger distance measure
This measure returns the Squared Hellinger distance between a pair of
GaussianState
multivariate objects.The Squared Hellinger distance between two multivariate normal distributions \(P \sim N(\mu_1,\Sigma_1)\) and \(Q \sim N(\mu_2,\Sigma_2)\) is defined as:
\[\begin{split}H^{2}(P, Q) &= 1 - {\frac{\det(\Sigma_1)^{\frac{1}{4}}\det(\Sigma_2)^{\frac{1}{4}}} {\det\left(\frac{\Sigma_1+\Sigma_2}{2}\right)^{\frac{1}{2}}}} \exp\left(-\frac{1}{8}(\mu_1-\mu_2)^T \left(\frac{\Sigma_1+\Sigma_2}{2}\right)^{-1}(\mu_1-\mu_2)\right)\\ &\equiv 1 - \sqrt{\frac{\det(\Sigma_1)^{\frac{1}{2}}\det(\Sigma_2)^{\frac{1}{2}}} {\det\left(\frac{\Sigma_1+\Sigma_2}{2}\right)}} \exp\left(-\frac{1}{8}(\mu_1-\mu_2)^T \left(\frac{\Sigma_1+\Sigma_2}{2}\right)^{-1}(\mu_1-\mu_2)\right)\end{split}\]Note
This distance is bounded between 0 and 1
- Parameters
mapping (
numpy.ndarray
, optional) – Mapping array which specifies which elements within the state vectors are to be assessed as part of the measure
-
__call__
(state1, state2)[source]¶ Calculate the Squared Hellinger distance multivariate normal distributions
- Parameters
state1 (
GaussianState
) –state2 (
GaussianState
) –
- Returns
Squared Hellinger distance between two input
GaussianState
- Return type
-
class
stonesoup.measures.
GaussianHellinger
(mapping=None)[source]¶ Gaussian Hellinger distance measure
This measure returns the Hellinger distance between a pair of
GaussianState
multivariate objects.The Hellinger distance between two multivariate normal distributions \(P \sim N(\mu_1,\Sigma_1)\) and \(Q \sim N(\mu_2,\Sigma_2)\) is defined as:
\[H(P,Q) = \sqrt{1 - {\frac{\det(\Sigma_1)^{\frac{1}{4}}\det(\Sigma_2)^{\frac{1}{4}}} {\det\left(\frac{\Sigma_1+\Sigma_2}{2}\right)^{\frac{1}{2}}}} \exp\left(-\frac{1}{8}(\mu_1-\mu_2)^T \left(\frac{\Sigma_1+\Sigma_2}{2}\right)^{-1}(\mu_1-\mu_2)\right)}\]Note
This distance is bounded between 0 and 1
- Parameters
mapping (
numpy.ndarray
, optional) – Mapping array which specifies which elements within the state vectors are to be assessed as part of the measure
-
__call__
(state1, state2)[source]¶ Calculate the Hellinger distance between 2 state elements
- Parameters
state1 (
GaussianState
) –state2 (
GaussianState
) –
- Returns
Hellinger distance between two input
GaussianState
- Return type