5 votos

Distancia Mahalanobis: ¿Y si S no es invertible?

La distancia de Mahalanobis es una métrica de distancia utilizada para medir la distancia entre dos puntos en un espacio de características. A diferencia de la distancia euclidiana, utiliza la matriz de covarianza para "ajustar" la covarianza entre las distintas características.

La fórmula de la distancia de Mahalanobis utiliza la inversa de la matriz de covarianza. Qué ocurre si la matriz de covarianza no es invertible?

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.

3voto

Martin Robins Puntos 1893

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:

  1. El uso de la pseudo inversa en lugar de a la inversa. (Sencillo!) md = x' * pinv(Sigma) * x
  2. 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:

  1. Use the pseudo inverse of $\Sigma$
  2. Utilice sólo una de las variables ($x_1$ o $x_2$) y el uso apropiado de la submatriz de a $\Sigma$
  3. Hacer svd cosas mencionadas anteriormente. (Tiene sentido para altas dimensiones, sino más bien tonto para dos dimensiones).

2voto

Hasselhoff Puntos 13

Si usted va a utilizar el ejemplo de la matriz de covarianza y usted no tiene suficiente de muestras, su covarianza es mal condicionado, no será invertible y que se va a obtener MUY BUENOS resultados de la estimación.

Hay muchas maneras de prácticamente lidiar con esto. Aquí están las principales estrategias que yo uso:

1.Hay todo un campo de investigación que tiene como objetivo regularizar este problema y calcular la mejor estimación de la matriz de covarianza cuando usted no tiene suficientes muestras. La cosa más común ver las estadísticas amar a las personas utilizando, ya sea usando la pseudo inversa de la matriz de covarianza o mediante un formulario de contracción. La contracción es muy común. Si usted está buscando algo más reciente, sugiero este papel.

2.Una estrategia alternativa, más relacionadas con el aprendizaje de la máquina del mundo, es el uso de la estrategia adoptada por Bosques Aleatorios llamado Embolsado. En el Embolsado, se selecciona aleatoriamente un pequeño subconjunto de las características, así que, va a necesitar mucho menos muestras para su matriz de covarianza para ser debidamente acondicionado. A continuación, puede utilizar un conjunto de bien acondicionado, clasificadores y obtener un mejor resultado.

Como regla general, usted debe utilizar la x10 veces el número de muestras que hay dimensiones en sus datos. Usted no sólo quiere que su covarianza para estar bien acondicionado, que también lo quiere para ser exactos.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X