Во время вычисления модели гауссовой смеси я должен вычислить pdf() многомерного гауссовского распределения. Я делаю это, используя метод scipy multivariate_normal(). Теперь во время вычислений я сталкиваюсь с ситуацией, когда я получаю сообщение об ошибке
LinAlgError: сингулярная матрица
Установка параметра allow_singular scipy multivariate_normal()= True обходит эту ошибку, и я получаю довольно значимый результат:
Итак, как scipy "разрешает" сингулярность и каковы последствия для вычислений? → Если никаких последствий, строго говоря, этот параметр может быть установлен по умолчанию TRUE (но это не так).
Этот ответ не отвечает на вопрос о том, как scipy допускает сингулярность, а также не то, что влияет на это поведение на результаты, но дает немного больше информации о том, что происходит во время вычислений:
EDIT: я опубликовал подробный ответ о том, что происходит, когда мы сталкиваемся с проблемами сингулярности при расчетах GMM здесь