Подгонка бимодального распределения к набору значений - PullRequest
6 голосов
/ 01 октября 2009

С учетом одномерного массива значений, какой самый простой способ выяснить, как лучше всего подходит бимодальное распределение для него, где каждый «режим» является нормальным распределением? Или, другими словами, как найти комбинацию двух нормальных распределений, которые лучше всего воспроизводят массив значений 1D?

В частности, я заинтересован в реализации этого на python, но ответы не обязательно должны зависеть от языка.

Спасибо!

Ответы [ 3 ]

4 голосов
/ 01 октября 2009

То, что вы пытаетесь сделать, называется моделью гауссовой смеси. Стандартный подход к решению этой проблемы заключается в максимизации ожиданий, scipy svn включает в себя раздел по машинному обучению и называется «1001 * scikits » Я использую это справедливо.

0 голосов
/ 04 января 2011

Я просто пытаюсь понять, почему нужно разместить бимодальное распределение для одномерного массива? Каковы преимущества этого?

0 голосов
/ 01 октября 2009

Я предлагаю использовать пакет scipy .Он предоставляет несколько методов для оптимизации.

Существует большое упущение при простом применении простого предопределенного наименьшего квадрата или чего-то подобного.

Вот несколько проблем, с которыми вы можете столкнуться:

  1. Шум больше, чем второй / оба пика.
  2. Частичный пик - ваши данные обрезаны на одном изграницы.
  3. Выборка - ширина пиков меньше, чем ваши выборочные данные.
  4. Это не нормально - вы получите некоторый результат ...
  5. Перекрытие -Если пики перекрываются, вы обнаружите, что часто один пик устанавливается правильно, а второй равен нулю ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...