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)