Rozkład Poissona obcięty do zera

W teorii prawdopodobieństwa rozkład Poissona odcięty od zera (ZTP) jest pewnym dyskretnym rozkładem prawdopodobieństwa , którego nośnikiem jest zbiór dodatnich liczb całkowitych. Ten rozkład jest również znany jako warunkowy rozkład Poissona lub dodatni rozkład Poissona . Jest to warunkowy rozkład prawdopodobieństwa zmiennej losowej o rozkładzie Poissona , biorąc pod uwagę, że wartość zmiennej losowej nie jest zerowa. Zatem niemożliwe jest, aby zmienna losowa ZTP wynosiła zero. Rozważmy na przykład zmienną losową liczby artykułów w koszyku kupującego przy kasie w supermarkecie. Przypuszczalnie kupujący nie stoi w kolejce, aby nic nie kupować (tj. minimalny zakup to 1 przedmiot), więc zjawisko to może przebiegać zgodnie z rozkładem ZTP.

Ponieważ ZTP jest rozkładem obciętym z obcięciem określonym jako k > 0 , można wyprowadzić funkcję masy prawdopodobieństwa g ( k ; λ ) ze standardowego rozkładu Poissona f ( k ; λ ) w następujący sposób:

Średnia jest _

a wariancja jest

Szacowanie parametrów

Metodę estymatora momentów dla parametru uzyskuje się przez rozwiązanie

gdzie średnią . _

To równanie nie ma rozwiązania w postaci zamkniętej. W praktyce rozwiązanie można znaleźć za pomocą metod numerycznych.

Generowanie obciętych do zera zmiennych losowych o rozkładzie Poissona

Zmienne losowe próbkowane z rozkładu Poissona obciętego do zera można uzyskać za pomocą algorytmów pochodzących z algorytmów próbkowania rozkładu Poissona.

     początek  :  Niech  k ← 1, t ←  mi  −λ  / (1 -  mi  −λ  ) * λ, s ← t. Wygeneruj jednolitą liczbę losową u w [0,1].   natomiast  s < u  zrobić  : k ← k + 1. t ← t * λ / k. s ← s + t.   powrót  K. 

Koszt powyższej procedury jest liniowy w k , co może być duże dla dużych wartości . Mając dostęp do wydajnego próbnika dla nieobciętych zmiennych losowych Poissona, podejście nieiteracyjne polega na próbkowaniu z obciętego rozkładu wykładniczego reprezentującego czas pierwszego zdarzenia w procesie punktu Poissona , pod warunkiem zaistnienia takiego zdarzenia. Prosta NumPy to:

def sample_zero_truncated_poisson(rate): u = np.random.uniform(np.exp(-rate), 1) t = -np.log(u) return 1 + np.random.poisson(rate - t)