Próbuję zaimplementować algorytm EM dla następującego modelu analizy czynnikowej;
gdzie oznacza p-wymiarowy wektor losowej, J jest P-wymiarowy wektor zmiennych utajonych i B jest macierzą PxQ parametrów.
W wyniku innych założeń zastosowanych w modelu wiem, że gdzie D jest macierzą wariancji kowariancji macierzy składników błędów e j , D = diag ( σ 2 1 , σ 2 2 , ..., σ 2 p ).
Dla algorytmu EM do pracy, robię iteracji kopułkowych obejmujące ocenę i D matryc i podczas tych iteracji jestem obliczania odwrotności B B ' + D w każdej iteracji przy użyciu nowych oszacowań B i D . Niestety w trakcie iteracji B B ′ + D traci swoją pozytywną definitywność (ale nie powinno tak być, ponieważ jest to macierz wariancji-kowariancji) i ta sytuacja rujnuje zbieżność algorytmu. Moje pytania to:
Czy ta sytuacja pokazuje, że coś jest nie tak z moim algorytmem, ponieważ prawdopodobieństwo powinno wzrosnąć na każdym etapie EM?
Jakie są praktyczne sposoby na zdefiniowanie dodatniej macierzy?
Edycja: Obliczam odwrotność za pomocą lematu inwersji macierzy, który stwierdza, że:
gdzie prawa strona obejmuje tylko odwrotności macierzy .