Cómo encontrar filas / columnas degeneradas en una matriz de covarianza
Estoy usando numpy.cov para crear una matriz de covarianza a partir de un conjunto de datos de más de 400 series de tiempo. Usar linalg.det me da un valor de cero, entonces la matriz es singular. Puedo usar linalg.svd para ver que el rango es dos menos que el número de columnas, por lo que en algún lugar de la matriz de covarianza tengo algunas combinaciones lineales para hacer que la matriz se degenere. He usado corrcoef en la serie temporal subyacente, pero no hay correlación> 0.78, por lo que no es obvio. Alguien puede sugerir un método para determinar la ubicación de las columnas degeneradas. Gracias.