2009-10-01 12 views
6

Biorąc pod uwagę tablicę 1D wartości, jaki jest najprostszy sposób ustalenia, jaki jest najlepszy rozkład bimodalny, gdzie każdy "tryb" jest rozkładem normalnym? Lub, innymi słowy, w jaki sposób można znaleźć połączenie dwóch normalnych dystrybucji, które najlepiej odtwarzają tablicę 1D wartości?Dopasowywanie rozkładu bimodalnego do zestawu wartości

W szczególności jestem zainteresowany implementacją tego w python, ale odpowiedzi nie muszą być specyficzne dla danego języka.

Dzięki!

Odpowiedz

4

To, co próbujesz zrobić, nazywa się modelem mieszaniny Gaussa. Standardowym podejściem do rozwiązania tego problemu jest użycie Expendation Maximization, scipy svn zawiera sekcję o uczeniu maszynowym i em o nazwie scikits. Używam go trochę.

0

Proponuję użyć niesamowitego pakietu scipy. Udostępnia kilka metod optymalizacji.

Istnieje duży problem związany z grubym tłuszczem, polegający na zastosowaniu wstępnie określonego najmniejszego kwadratu dopasowania lub czegoś podobnego.

Oto kilka problemów trafisz na:

  1. Hałas większej niż sekunda/obu szczytów.
  2. Częściowy szczyt - Twoje dane są obcięte na jednej z granic.
  3. Próbkowanie - szerokość pików jest mniejsza niż próbkowanych danych.
  4. To nie jest normalne - dostaniesz jakiś rezultat ...
  5. Nakładanie - Jeśli szczyty pokrywają przekonasz się, że często jeden pik jest prawidłowo zamontowane, ale drugi będzie apporach zera ...
0

Po prostu próbuję zrozumieć, dlaczego trzeba dopasować dystrybucję bimodalną do tablicy 1D? Jakie są zalety tego działania?

+1

Przykład: Załóżmy, że wartości to zmierzone obwody klatki piersiowej 500 kobiet i 500 mężczyzn. –

Powiązane problemy