Как сгенерировать целевое количество выборок из распределения по критерию отклонения

r count simulate

122 просмотра

1 ответ

Я пытаюсь rnbinomкак ниже

x<- rnbinom(500, mu = 4, size = .1)
xtrunc <- x[x>0]

тогда я просто получаю 125 наблюдений.

Однако я хочу сделать 500 наблюдений, исключая 0 (ноль) с тем же условием ( mu = 4, size =.1).

Автор: lee Источник Размещён: 08.11.2019 11:01

Ответы (1)


1 плюс

Решение

Это делает работу:

N <- 500    ## target number of samples

## set seed for reproducibility
set.seed(0)
## first try
x <- rnbinom(N, mu = 4, size = .1)
p_accept <- mean(success <- x > 0)  ## estimated probability of accepting samples
xtrunc <- x[success]
## estimated further sampling times
n_further <- (N - length(xtrunc)) / p_accept
## further sampling
alpha <- 1.5   ## inflation factor
x_further <- rnbinom(round(alpha * n_further), mu = 4, size = .1)
## filter and combine
xtrunc <- c(xtrunc, (x_further[x_further > 0])[seq_len(N - length(xtrunc))])

## checking
length(xtrunc)
# [1] 500

summary(xtrunc)
#   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
#   1.00    2.00    5.00   12.99   16.00  131.00 

Выше, выборка проходит в два этапа. Результат начального этапа используется для оценки вероятности скорости принятия, чтобы определить выборку второго этапа.

Тем не менее, поскольку лежащее в основе распределение явно известно, теоретическая вероятность принятия ставки известна. Следовательно, в этом случае нет необходимости выполнять двухэтапный подход. Пытаться:

p <- 1 - pnbinom(0, mu = 4, size = .1)  ## theoretical probability
alpha <- 1.5
n_try <- round(alpha * N / p)
set.seed(0)
x <- rnbinom(n_try, mu = 4, size = .1)
xtrunc <- (x[x > 0])[1:N]

## checking
length(xtrunc)
# [1] 500

summary(xtrunc)
#   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
#   1.00    2.00    5.00   12.99   16.00  131.00

Идея заключается в теории геометрического распределения. Мой ответ здесь тесно связан. Прочитайте раздел «Более эффективный векторизованный метод» для подробного объяснения.

Автор: 李哲源 Размещён: 20.08.2016 07:50
Вопросы из категории :
32x32