Como encontrar linhas / colunas degeneradas em uma matriz de covariância
Estou usando o numpy.cov para criar uma matriz de covariância a partir de um conjunto de dados de mais de 400 séries temporais. Usando linalg.det me dá um valor de zero, então a matriz é singular. Eu posso usar linalg.svd para ver que a classificação é dois menor que o número de colunas, então em algum lugar na matriz de covariância eu tenho algumas combinações lineares para fazer a matriz degenerar. Eu usei o corrcoef nas séries de tempo subjacentes, mas nenhuma correlação> 0.78 não é óbvia lá. Alguém pode sugerir um método para determinar a localização das colunas degeneradas. Obrigado.