Si la matriz de covarianza no es de rango completo, existe una combinación lineal de las variables que tiene cero de la varianza. Que combinación lineal debe siempre igual algunas constante! (Nota: cualquier vector propio de la matriz de covarianza asociada con un autovalor cero define una combinación lineal que debe tener cero de la varianza.)
Si en su base de datos tiene un punto donde la combinación lineal no ser igual a la constante, en cierto sentido, la Mahlanobis distancia es infinita: en unidades de la desviación estándar (que es cero), el punto es infinitamente lejos de la media.
Por otro lado, si la combinación lineal que debe ser igual a cero es, de hecho, cero, no hay ningún problema. Pero, ¿cómo calcular la distancia? Dos enfoques básicos son:
- El uso de la pseudo inversa en lugar de a la inversa. (Sencillo!)
md = x' * pinv(Sigma) * x
- Reducir el número de dimensiones hasta que todo lo que es de rango completo. Sus datos es en realidad en un menor espacio de dimensiones que el actual número de variables, y puede transformar los datos y matriz de covarianza para operar directamente en que el menor espacio tridimensional.
- Por ejemplo. El uso de la descomposición en valores singulares
[U, S, V] = svd(X)
. $Y = X V$ $\Sigma_Y = V' * \Sigma_X * V$ y, a continuación, colocar las dimensiones asociadas con cero (o casi cero) valores singulares.
(Nota: por encima de las fórmulas de asumir todo lo que ya está degradado)
Ejemplo:
Imaginemos que un simple caso de dos variables, donde a $x_1$ $x_2$ son de media cero, $2 x_1 = x_2 $, y la matriz de covarianza es dada por:
$$\Sigma = \left[ \begin{array}{cc} 1 & 2 \\ 2 & 4\end{array}\right] $$
$2x_1 - x_2$ should always be zero! It has zero variance:
$$ \left[ \begin{array}{c} 2& -1\end{array}\right] \left[ \begin{array}{cc} 1 & 2 \\ 2 & 4\end{array}\right] \left[ \begin{array}{c} 2\\-1\end{array}\right] = 0 $$
In this case, for computing the distance, we could either:
- Use the pseudo inverse of $\Sigma$
- Utilice sólo una de las variables ($x_1$ o $x_2$) y el uso apropiado de la submatriz de a $\Sigma$
- Hacer svd cosas mencionadas anteriormente. (Tiene sentido para altas dimensiones, sino más bien tonto para dos dimensiones).
7 votos
Duplicado de ce ¿Preguntas?
2 votos
@usuario603 Parece que sí, pero esta pregunta es más clara y sucinta; da el paso bastante novedoso de poner una pregunta clara en el título.
0 votos
Podríamos cerrar esto como duplicado, @MatthewGunn, y este hilo ayudaría a los buscadores a encontrar el otro hilo. Es por esa razón que vale la pena tener duplicados cerrados (pero no eliminados) en el sitio.