Estoy trabajando en algunas técnicas de agrupamiento, donde para un grupo dado de vectores de dimensión d supongo una distribución normal multivariada y calculo el vector medio d-dimensional de la muestra y la matriz de covarianza de la muestra.
Luego, cuando trato de decidir si un nuevo vector d-dimensional invisible, pertenece a este grupo, estoy verificando su distancia a través de esta medida:
Lo que requiere que calcule el inverso de la matriz de covarianza . Pero dadas algunas muestras, no puedo garantizar que la matriz de covarianza sea invertible, ¿qué debo hacer en caso de que no lo sea?
Gracias
Respuestas:
Si la dimensionalidad de sus muestras es menor que la dimensionalidad del espacio vectorial, pueden surgir matrices singulares. Si tiene menos muestras que (cuando es su dimensionalidad), esta situación incluso se presentará necesariamente: muestras abarcan como máximo un hiperplano dimensional. Dada una muestra tan pequeña, obviamente no puede calcular una varianza en el espacio ortogonal.d+1 d k+1 d
Es por eso que es común no usar PCA literal, sino realizar una descomposición de valores singulares , que puede usarse para calcular el pseudoinverso de una matriz. Si la matriz es invertible, el pseudoinverso será el inverso.
Sin embargo, si está viendo matrices no invertibles, lo más probable es que su distancia desde el grupo no tenga sentido si el vector está fuera del hiperplano que el grupo repite, porque no conoce la varianza en el espacio ortogonal (puede pensar en esta variación como 0!) SVD puede calcular el pseudoinverso, pero las "variaciones" aún no serán determinadas por sus datos.
En este caso, probablemente debería haber estado haciendo primero la reducción de la dimensionalidad global. Aumentar el tamaño de la muestra solo ayudará cuando tenga dimensiones no redundantes: no importa cuántas muestras extraiga de una distribución con , la matriz siempre será no invertible y no podrá juzgar la desviación. con respecto a una desviación estándar (que es 0).y=x x−y
Además, dependiendo de cómo calcule la matriz de covarianza, es posible que se encuentre con problemas numéricos debido a una cancelación catastrófica. La solución más simple es centrar siempre los datos primero, para obtener la media cero.
fuente