Я пытаюсь реализовать алгоритм EM для следующей модели факторного анализа;
где - p-мерный случайный вектор, a j - это q-мерный вектор скрытых переменных, а - матрица параметров pxq.
В результате других предположений, использованных для модели, я знаю, что где D - ковариационная матрица дисперсии ошибочных членов e j , D = diag ( σ 2 1 , σ 2 2 , ..., σ 2 р ).
Для алгоритма EM к работе, я делаю итерации купольные с участием оценки и D матриц и в течение этих итераций я вычисляя обратное B B ' + D на каждой итерации , используя новые оценки B и D . К сожалению, в ходе итераций B B ′ + D теряет свою положительную определенность (но не должно, потому что это матрица дисперсии-ковариации), и эта ситуация разрушает сходимость алгоритма. Мои вопросы:
Показывает ли эта ситуация, что с моим алгоритмом что-то не так, поскольку вероятность должна увеличиваться на каждом шаге ЭМ?
Каковы практические способы сделать матрицу положительно определенной?
Редактировать: я вычисляю обратное с помощью леммы обращения матрицы, которая утверждает, что:
где правая часть включает в себя только обратные матрицы .
источник
Ответы:
Хорошо, так как вы делаете FA, я предполагаю, что имеет полный ранг столбца q и q < pВ Q Q< р . Нам нужно еще несколько деталей, хотя. Это может быть численная проблема; это также может быть проблемой с вашими данными.
Как вы вычисляете обратное? Вам нужно обратное явно, или вы можете повторно выразить расчет как решение для линейной системы? (то есть, чтобы получить решите A x = b для x, который обычно быстрее и более стабилен)A- 1б A x = b
Что происходит с ? Действительно ли оценки малы / 0 / отрицательны? В некотором смысле это критическое звено, потому что B B ′, конечно, имеет недостаток ранга и определяет сингулярную ковариационную матрицу перед добавлением D , поэтому вы не можете ее инвертировать. Добавление положительной диагональной матрицы D технически делает ее полным рангом, но B B ′ + D может быть ужасно плохо обусловлен, если DD B B' D D B B'+ D D мало.
Часто оценка для идиосинкразических дисперсий (ваши , диагональные элементы D ) близка к нулю или даже отрицательна; это так называемые чехлы Heywood. См., Например, http://www.technion.ac.il/docs/sas/stat/chap26/sect21.htm (любой текст FA должен обсуждать это, это очень старая и хорошо известная проблема). Это может произойти из-за неправильной спецификации модели, выбросов, неудачи, солнечных вспышек ... MLE особенно подвержен этой проблеме, поэтому, если ваш EM-алгоритм предназначен для того, чтобы вывести MLE наружу.σ2я D
Если ваш EM-алгоритм приближается к режиму с такими оценками, это возможно для , чтобы потерять свою положительную определенность, я думаю. Есть различные решения; лично я предпочел бы байесовский подход, но даже тогда вы должны быть осторожны с вашими приорами (неправильные приоры или даже правильные приоры со слишком большой массой около 0 могут иметь ту же проблему в основном по той же причине)B B'+ D
источник