Я думаю, что вы спрашиваете, как смоделировать время прибытия процесса Poission с заданной лямбдой. Время между поступлениями в пуассоновском процессе определяется экспоненциальным распределением, поэтому, если вы хотите смоделировать x последовательных времен прихода пуассоновского процесса с lamba = 5, вы просто сделаете:
cumsum(rexp(x, lambda))
Итак, например, предположим, что я хочу смоделировать процесс прибытия Пуассона на основе имеющихся у меня данных о Пуассоне. (Нет, поэтому я создам случайную выборку):
set.seed(69)
existing_poisson_data <- rpois(50, 5)
existing_poisson_data
#> [1] 5 7 6 7 4 8 3 7 3 1 8 4 8 3 3 3 2 6 2 7 4 3 6 4 3 3 6
#> [28] 6 2 4 6 8 4 5 4 6 6 5 4 5 11 4 5 6 3 1 2 3 4 3
Я хочу смоделировать время прибытия для пуассоновского процесса с той же лямбдой и таким же количеством поступлений. Поэтому я могу сделать это:
number_of_arrivals <- sum(existing_poisson_data)
lambda <- mean(existing_poisson_data)
simulated_time_diffs <- rexp(number_of_arrivals, lambda)
arrivals <- cumsum(simulated_time_diffs)
Теперь мы можем видеть, соответствует ли наше прибытие распределению Пуассона:
simulated_histogram <- hist(arrivals, breaks = 0:ceiling(max(arrivals)))
Это выглядит хорошо. Если счетчики на самом деле распределены по Пуассону, их среднее значение должно быть примерно таким же, как их дисперсия:
mean(simulated_histogram$counts)
#> [1] 5.418605
var(simulated_histogram$counts)
#> [1] 5.487265
Вам не нужен дисперсионный тест, чтобы убедиться, что эти данные распределены по Пуассону. Так что теперь вы можете безопасно использовать вашу переменную arrivals
в качестве имитации времени прибытия пуассоновского процесса с лямбда-выражением 5.
Итак, если вы хотите смоделировать n
поступление для пуассоновского процесса на основе в другом процессе Пуассона с данной lambda
и переменной Бернулли p
вы бы сделали
arrivals <- cumsum(rexp(n, p * lambda))
В качестве альтернативы, вы можете использовать переменную Бернулли для выборки некоторых поступлений, как это:
arrivals <- arrivals[as.logical(rbinom(length(arrivals), 1, p))]