Powiedzmy, że mam populację 50 milionów unikalnych rzeczy i pobieram 10 milionów próbek (z wymianą) ... Pierwszy wykres, do którego załączyłem pokazuje, ile razy próbkuję tę samą „rzecz”, co jest stosunkowo rzadkie populacja jest większa niż moja próba.
Jeśli jednak moja populacja liczy tylko 10 milionów rzeczy, a ja pobieram 10 milionów próbek, jak pokazuje drugi wykres, częściej próbuję tę samą rzecz wielokrotnie.
Moje pytanie brzmi - z mojej tabeli obserwacji częstotliwości (dane na wykresach słupkowych) można uzyskać oszacowanie pierwotnej wielkości populacji, gdy jest ona nieznana? Byłoby wspaniale, gdybyś mógł wskazać, jak to zrobić w R.
r
sampling
expectation-maximization
Aaron Statham
źródło
źródło
Odpowiedzi:
Jak tam Garvan?
Problem polega na tym, że nie wiemy, ile zaobserwowano zliczeń zerowych. Musimy to oszacować. Klasyczną procedurą statystyczną dla takich sytuacji jest algorytm Expectation-Maximization.
Prosty przykład:
Załóżmy, że czerpiemy z nieznanej populacji (1 000 000) ze stałą poissona równą 0,2.
Ale nie obserwujemy zera. Zamiast tego obserwujemy to:
Możliwe zaobserwowane częstotliwości
Zainicjuj średnią rozkładu Poissona - po prostu zgadnij (wiemy, że tutaj jest 0.2).
Oczekiwanie - rozkład Poissona
Maksymalizacja
Druga iteracja
Teraz iteruj aż do konwergencji:
Nasza szacunkowa liczba ludności wynosi 1003774, a wskaźnik Poissona szacowany jest na 0,1994473 - jest to szacunkowy odsetek populacji, z której pobrano próbki. Głównym problemem, jaki będziesz mieć w typowych problemach biologicznych, z którymi masz do czynienia, jest założenie, że współczynnik Poissona jest stały.
Przepraszamy za długi post - ta wiki nie nadaje się do kodu R.
źródło
To brzmi jak forma „mark and recapture”, czyli „capture-recapture”, dobrze znana technika w ekologii (i niektórych innych dziedzinach, takich jak epidemiologia). Nie moja dziedzina, ale artykuł Wikipedii na temat oznaczania i przechwytywania wygląda rozsądnie, chociaż twoja sytuacja nie jest tą, do której ma zastosowanie wyjaśniona tam metoda Lincolna-Petersena.
Myślę, że shabbychef jest właściwą ścieżką dla twojej sytuacji, ale użycie rozkładu Poissona do przybliżenia dwumianu prawdopodobnie uprościłoby sprawę i powinno być bardzo dobrym przybliżeniem, jeśli populacja jest bardzo duża, jak w twoich przykładach. Wydaje mi się, że uzyskanie wyraźnego wyrażenia dla oszacowania maksymalnego prawdopodobieństwa wielkości populacji powinno być dość proste (patrz ponownie np. Wikipedia ), chociaż nie mam teraz czasu, aby dopracować szczegóły.
źródło
źródło