Выборка случайных частот из распределения Пуассона с учетом наблюдаемых подсчетов с помощью Python

Я хочу генерировать скорости, которые согласуются с наблюдаемыми подсчетами в соответствии с распределением Пуассона.

С помощью scipy легко сделать обратное. Я могу делать подсчеты по фиксированной ставке

counts = scipy.stats.poisson.rvs(mu)

но я не могу найти простой способ с подсчетами в качестве аргумента, возвращающего случайные ставки.


person Matthew Hill    schedule 10.02.2016    source источник


Ответы (2)


Счетчик рисунков из scipy.stats.poisson.rvs(mu) представляет собой выборку из распределения Пуассона. Если у вас есть набор выборок (отсчетов) из одного распределения Пуассона и вам нужна скорость, вы пытаетесь оценить распределение Пуассона. Чтобы оценить распределение Пуассона, вычислите среднее значение: λ. Тогда распределение такое:

P(k) = λk e / k!

Затем распределение можно использовать для вычисления вероятности наблюдения некоторого числа (k) в интервале.

Если вместо этого предполагается, что каждое из значений взято из отдельного распределения Пуассона, тогда у вас будет только одна выборка из каждого, и наилучшая оценка распределения будет получена при выборе выборки в качестве среднего значения λ.

См. https://en.wikipedia.org/wiki/Poisson_distribution.

person Keith Brodie    schedule 10.02.2016
comment
Возможно, рисование из распределения Пуассона - неправильная формулировка. Учитывая k отсчетов, вероятность того, что l является основной скоростью процесса, также равна P(l) = l^k e^-l / k! Итак, моя цель — нарисовать возможные базовые ставки с частотой в соответствии с этой вероятностью. - person Matthew Hill; 11.02.2016
comment
Я не уверен, что понимаю - если вам нужны образцы из распределения Пуассона - почему нельзя использовать метод .rvs? - person Keith Brodie; 11.02.2016
comment
Я не пытаюсь рисовать счетчики, я пытаюсь рисовать лямбды для фиксированного k. - person Matthew Hill; 11.02.2016
comment
Да, но вы заявили, что функция вероятности для скорости — это распределение Пуассона. Поэтому, если вам нужны образцы «скоростей» в соответствии с этим распределением, вы можете позвонить scipy.stats.poisson.rvs(k) - person Keith Brodie; 11.02.2016

Оказалось, что на самом деле я искал гамма-распределение, имеющее ту же функциональную форму, но непрерывное. Чтобы выполнить то, что я пытался сделать с помощью scipy:

mu = scipy.stats.gamma.rvs(counts+1)

counts+1 просто из-за того, как мощность определяется в распределении

Scipy Docs< /а>

person Matthew Hill    schedule 11.02.2016