Estou tentando implementar um algoritmo EM para o seguinte modelo de análise fatorial;
onde é um vetor aleatório p-dimensional, é um vetor q-dimensional de variáveis latentes e é uma matriz de parâmetros pxq.a j B
Como resultado de outras suposições usadas para o modelo, eu sei que que D é a matriz de covariância de variância dos termos de erro e_j , D = diag ( \ sigma_1 ^ 2 , \ sigma_2 ^ 2 , ..., \ sigma_p ^ 2 ).D
Para o algoritmo EM para o trabalho, eu estou fazendo iterações cúpula envolvendo estimativa de e matrizes e durante estes iterações eu estou calculando o inverso do em cada iteração usando novas estimativas de e . Infelizmente, durante o curso das iterações, perde sua definição positiva (mas não deve ser porque é uma matriz de variância-covariância) e essa situação arruina a convergência do algoritmo. Minhas perguntas são:
Essa situação mostra que há algo errado com meu algoritmo, pois a probabilidade deve aumentar a cada etapa do EM?
Quais são as formas práticas de tornar uma matriz positiva definitiva?
Edit: Estou computando o inverso usando um lema de inversão de matriz que afirma que:
onde o lado direito envolve apenas o inverso de matrizes .