Получение случайной выборки из биномиального распределения на основе выборочной статистики

РЕДАКТИРОВАТЬ: перефразированный вопрос для ясности того, чего я хотел достичь.

У меня есть наблюдаемый набор данных, из которого я хочу использовать некоторую информацию для ввода в симуляцию Монте-Карло. Я использую R. для этого исследования.

например 8/8 человек имеют особую характеристику в моем наблюдаемом наборе данных.

Что я хочу сделать, так это использовать распределение выборки из этих наблюдаемых данных, чтобы выбрать некоторые возможные пропорции населения для подачи в генератор случайных чисел, посредством чего я могу затем сгенерировать несколько смоделированных подсчетов (где мне также нужно использовать больший знаменатель).

Наблюдаемые данные и 95% доверительный интервал следующие:

binom.test(8, 8)
## gives point estimate of 1 and 95% CI 0.63, 1

Затем я хотел бы взять (например) 1000 случайных выборок из этого распределения выборки для подачи в генератор случайных двоичных результатов для большего знаменателя (например, 12 попыток на итерацию). Допустим, у первого случайного розыгрыша была вероятность события 0,75 (код ниже просто иллюстрирует одну итерацию):

set.seed(456)    
rbinom(1, 12, 0.75)
## Gives a count of 11 events out of 12 for this single iteration.

Тогда мой вопрос заключается в том, как заставить R извлекать вероятности из распределения выборки наблюдаемых данных (т.е. 95% этих нарисованных вероятностей должны находиться между 0,63 и 1, с формой, определенной базовой статистической теорией), которую я затем могу использовать. для генерации случайных чисел с большим знаменателем (возможно, используя rbinom).

РЕДАКТИРОВАТЬ: Мой исходный пост был более запутанным и запутанным: я не до конца продумал значение rbinom с использованием параметра совокупности, хотя я был почти уверен, что это было источником моей «проблемы» с rbinom. Спасибо Дэвиду Робинсону и DWin за комментарии / ответы, которые прояснили мой ответ, а также мой измененный вопрос ...


person James Stanley    schedule 18.12.2012    source источник
comment
Если я не ошибаюсь, для этого вам потребуется предварительная запись (обычно используется предварительная процедура для биномиальной выборки Beta(1, 1)). Затем он будет обновлен с использованием ваших свидетельств до апостериорного распределения вероятностей (в случае предшествующей бета-версии это будет Beta(8, 9)). Затем вы можете выбрать из этого свой истинный параметр совокупности. Но распределение будет зависеть от вашего приора.   -  person David Robinson    schedule 18.12.2012
comment
@DavidRobinson Спасибо за комментарий - это привело меня на правильный путь и отправило меня к книге по байесовскому анализу. Я отправлю ответ, когда разберусь с этим.   -  person James Stanley    schedule 19.12.2012
comment
@DavidRobinson Еще раз спасибо, в качестве ответа я опубликовал работающую реализацию.   -  person James Stanley    schedule 19.12.2012


Ответы (2)


Вы сбиты с толку ... поскольку ваш первый вопрос - ерунда ... и это неподходящее место для обсуждения. Есть много теоретических популяций, которые могли бы правдоподобно и даже неправдоподобно дать начало наблюдаемой серии бернуллиевских вытяжек 8/8 из биномиальной популяции. Скажем, у вас было 99 черных шаров и один белый шар в урне. Было бы разумно получить 8/8 черных шаров за 8 ничьих с заменой. Вероятность такой последовательности будет (99/100) ^ 8 = 0,923.

Этот код показывает, как это работает на "практике" R

> set.seed(123)
> sum(rbinom(10000, 8, .99)==8)
[1] 9263

Таким образом, в этом моделировании 92,63% из 8 последовательностей розыгрыша все 8 шаров были черными. Теперь подумайте еще раз, о чем вы спрашиваете, и задавайте такие вопросы (на stats.stackexchange.

person IRTFM    schedule 18.12.2012
comment
Я не совсем запутался, хотя мой вопрос вполне может произвести такое впечатление. Я знаю, что наблюдение за испытаниями 8/8 согласуется с диапазоном возможных вероятностей популяции, что отражено в доверительном интервале для пропорции (а также как показано в вашем примере кода). Я хотел бы извлечь из этой выборки распределения (возможных значений вероятности события в совокупности) и применить эти случайные выборки, чтобы сделать несколько новых смоделированных подсчетов для настройки Монте-Карло. Попробую сегодня отредактировать свой вопрос, чтобы уточнить. - person James Stanley; 18.12.2012
comment
Диапазон возможных биномиальных распределений, дающих 8/8 положительных (или полностью черных) при одной последовательной пробе из 8 розыгрышей, включает те, которые имеют очень низкую долю черного. Если это будет сделано с заменой, даже базовые вероятности с Pr (Black) = 0,01 могут привести к полностью черным. Так что я все же думаю, что вам нужно прояснить в уме, о чем вас просят. - person IRTFM; 18.12.2012
comment
Спасибо, Дэвид. Я не стал переписывать свой вопрос, но масштаб проблемы может быть более ясным на основе ответа, который я добавил на основе совета @DavidRobinson. - person James Stanley; 19.12.2012

Этот ответ был разработан на основе комментария @DavidRobinson (спасибо!), Который предложил сделать апостериорное распределение вероятностей, которые являются правдоподобными на основе моих наблюдаемых данных.

Код адаптирован p. 42 из Hoff, P.D. (2009), Первый курс по байесовской статистике, Спрингер, Нью-Йорк.

## Set a uniform prior.
a <- 1; b <- 1
## Set observed data.
n <- 8; y <- 8

## Posterior 95% confidence interval:
qbeta(c(.025, .975), a+y, b+n-y)
## returns [1] 0.6637329 0.9971909

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

binom.test(8, 8)
## returns  95% CI of 0.6305834 1.0000000.

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

set.seed(9876)
n.draws <- 5

## Use rbeta to get n.draws from posterior distribution.
drawn.probs <- rbeta(n.draws, a+y, b+n-y)

## Now I can use these drawn probabilities in rbinom to get simulated counts.
rbinom(n.draws, 12, drawn.probs)

Спасибо за комментарии / ответы - это заставило меня понять, что это была не просто проблема, с которой я столкнулся при попытке использовать rbinom, а что мне не хватало промежуточного шага.

person James Stanley    schedule 18.12.2012
comment
Если вы хотели взять дополнительные образцы из распределения с параметром на нижней границе 95% доверительного интервала, ... тогда вам следовало сказать об этом. Как бы то ни было, вы просили извлечь из распределения в наблюдаемый биномиальный параметр ... совершенно другой запрос. - person IRTFM; 19.12.2012
comment
@DWin Я изменил вопрос, чтобы попытаться прояснить мою цель (пожалуйста, не стесняйтесь вносить дополнительные правки, если вы думаете, что все еще неясно) - мои извинения за предыдущую путаницу. Спасибо за ваш вклад. - person James Stanley; 19.12.2012