Skip to content

Confusion with (Sq)Mahalanobis Definition #244

Open
@btmit

Description

@btmit

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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions