You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In this package the SqMahalanobis distance is implemented and documented as $(x - y)' * Q * (x - y)$. However, the documentation refers to $Q$ as the covariance matrix. Unless I'm mistaken, this is incorrect. In this formulation $Q$ is referred to as either the information matrix, precision matrix, or concentration matrix, which is equivalent to the inverse of the covariance matrix. The traditional square Mahalanobis equation reads $(x - y)' * Q^{-1} * (x - y)$.
I can verify this against the implementation in the Distributions package or a hand-coded version.
using Distributions, Distances
q =rand(3,3)
Q = q'q
x =rand(3)
y =rand(3)
d0 = (x-y)'*inv(Q)*(x-y) # hand-coded
d1 =sqmahal(MvNormal(x, Q), y) # Distributions.jl
d2 =sqmahalanobis(x, y, Q)
d3 =sqmahalanobis(x, y, inv(Q))
d0 ≈ d2 # false
d0 ≈ d1 ≈ d3 # true
Am I misunderstanding the intended use or documentation of this function?
The text was updated successfully, but these errors were encountered:
In this package the SqMahalanobis distance is implemented and documented as$(x - y)' * Q * (x - y)$ . However, the documentation refers to $Q$ as the covariance matrix. Unless I'm mistaken, this is incorrect. In this formulation $Q$ is referred to as either the information matrix, precision matrix, or concentration matrix, which is equivalent to the inverse of the covariance matrix. The traditional square Mahalanobis equation reads $(x - y)' * Q^{-1} * (x - y)$ .
I can verify this against the implementation in the
Distributions
package or a hand-coded version.Am I misunderstanding the intended use or documentation of this function?
The text was updated successfully, but these errors were encountered: