Как байесовцы проверяют свои методы, используя методы моделирования Монте-Карло?

11

Справочная информация : У меня есть доктор философии по социальной психологии, где теоретическая статистика и математика были едва освещены в моей количественной курсовой работе. В старших классах и в аспирантуре меня учили (как и многие из вас, возможно, и в социальных науках), вероятно, через «классическую» систему учащегося. Теперь, я тоже люблю R и с помощью методов моделирования , чтобы проверить , что методы работы делает путьбольше смысла для меня, чем математические доказательства (опять же: опыт работы в количественной социальной науке, а не теоретическая статистика). Частые методы и методы симуляции вместе имеют для меня массу смысла. Поскольку частые люди видят вероятность как долгосрочные шансы (например, если я делаю это произвольно большое количество раз, и это происходит в 50% случаев, то вероятность составляет 50%). Мы можем смоделировать это в долгосрочной перспективе с помощью методов Монте-Карло!

Осложнения : С старшекурсник, я был очень осведомлены о методах байесовской, и там всегда были люди в моей жизни , призывая меня к байесовской стороне, говоря , что результаты были легче интерпретировать, что мы получаем вероятность для гипотезы вместо данных выдвинули гипотезу и т. д. Я действительно занялся этим и взял урок по Байесу, прочитал несколько книг и статей по Байесу, а теперь довольно знаком со Стэном и связанными с ним R-пакетами.

Введите Мейо : Подумав некоторое время «Байесовский, вероятно, путь будущего», я прочитал Статистический вывод Деборы Мейо как «Суровое испытание» . Она говорит, что она не выбирает сторону в начале книги, но она делает: она - частый человек, и большая часть книги защищает методологии частых. Я не хочу обязательно вступать в дискуссию о том, думаем ли мы, что способ, которым она видит доказательства, действительны или нет, но это заставило меня задуматься: действительно ли Байес действительно рекламирует это? Я имею в виду, что толпа байесов сама по себе настолько раздроблена, что я даже не знаю «правильного» способа анализа данных в байесовской структуре. Обычно я бы просто использовалrstanarmи представить точечные оценки и достоверные интервалы ... которые часто совпадают с частыми оценками и доверительными интервалами. Я мог бы сделать сравнение моделей, но я всегда боюсь описывать байесовские факторы как апостериорные сравнения вероятностей и т. Д.

Больше размышлений. В книге Мейо я продолжал думать: есть способ, которым мы можем использовать компьютеры, чтобы убедиться, что наши методы часто используются, потому что вероятность - это то, что мы видим в долгосрочной перспективе, и мы можем смоделировать это. Кажется, что байесовцы даже не могут договориться о том, какова вероятность на самом деле, в зависимости от байесовской школы (по умолчанию, субъективно и т. Д.). Что приводит меня к моему вопросу:

Вопрос : Как байесовцы проверяют, что их методы правильно определяют неопределенность (т. Е. Вычисляют действительные достоверные интервалы и последующие распределения), используя методы моделирования Монте-Карло, если вероятность в долгосрочной перспективе не определяется как коэффициенты?

Пример : я создаю генератор данных. Это просто будет симулировать из распределения Бернулли с вероятностью .5:

set.seed(1839)
p <- .50
n <- 100
gen_dat <- function(n, p) {
  rbinom(n, 1, p)
}

Теперь, скажем, я хочу убедиться, что доверительные интервалы в логистической регрессии действительно действительны. Я могу смоделировать регрессию большое количество раз и убедиться, что фактическое значение популяции падает в 95% доверительном интервале 95% времени. Это модель только для перехвата, поэтому я просто хочу убедиться, что я pправильно оцениваю :

set.seed(1839)
iter <- 10000
results <- sapply(seq_len(iter), function(zzz) {
  mod <- glm(gen_dat(n, p) ~ 1, binomial)
  conf <- suppressMessages(confint(mod))
  log(p / (1 - p)) < max(conf) & log(p / (1 - p)) > min(conf)
})
mean(results)

Это займет несколько минут, но в итоге мы получим mean(results)звонок 0.9416. Это около 95%, и я уверен, что glmкоманда правильно описывает неопределенность. Я уверен, что на 95% было бы ближе к носу, если бы я поднялся iterи хотел подождать здесь на своем ноутбуке дольше.

С другой стороны, давайте подберем байесовскую модель для того же:

library(rstanarm)
set.seed(1839)
dat <- data.frame(y = gen_dat(n, p))
stan_mod <- stan_glm(y ~ 1, binomial, dat)
summary(stan_mod)

Частично это дает мне:

Estimates:
                mean   sd    2.5%   25%   50%   75%   97.5%
(Intercept)    -0.1    0.2  -0.5   -0.2  -0.1   0.0   0.3  
mean_PPD        0.5    0.1   0.3    0.4   0.5   0.5   0.6  
log-posterior -73.0    0.7 -75.1  -73.1 -72.7 -72.5 -72.5  

Поскольку байесовцы не определяют вероятность как то, что мы видим в долгосрочной перспективе, как я могу использовать методы симуляции для проверки, чем stan_glmточно захватить неопределенность? То есть как я могу поверить, что эти достоверные интервалы действительны, используя методы моделирования? И сейчас я даже не определяю априор - как сюда входит включение приоров, так как это повлияет на наши показатели неопределенности?

Когда я однажды пытался написать бета-регрессию с компонентом модели препятствий в Stan с нуля, у меня был кто-то, кто порекомендовал мне: «Моделируйте данные. Делайте это несколько раз, и истинные оценки должны быть в достоверном интервале около 95 % времени." Но для меня это противоречит тому, во что верят байесовцы! Это зависит от частого понимания вероятности! Итак, как бы байесовец убедил меня, что достоверный интервал, который я получаю от summary()вызова моей модели, точно описывает неопределенность, используя методы моделирования?

Цель вопроса : это тривиальный пример, но клиенты часто сталкиваются со сложными проблемами. И я пробую вещи, которые мне незнакомы, поэтому я часто провожу симуляционные исследования, чтобы убедиться, что то, что я делаю, действительно. Если бы я написал собственную модель в Stan, как бы я знал, что то, что я делаю, является законным? Как я могу использовать методы симуляции, чтобы убедиться, что то, что я делаю в Стэне, действительно скажет мне то, что я хочу знать?

Марк Уайт
источник
3
Хороший вопрос. Два комментария: 1. Мы можем использовать сим-методы для «проверки» моделей, использующих частоту, но одно только моделирование не может полностью проинформировать нас о достоверности модели, основанной на частоте. 2: Есть способы узнать, что Байесовская / Стэн модель НЕ заслуживает доверия для вывода. Например, дивергентные переходы наблюдались после периода прогрева.
JTH
1
Я думаю, что вы смешиваете два разных типа «неопределенности». Частые методы имеют дело с неопределенностью неопределенности и оправданы их долгосрочными свойствами. Байесовские методы имеют дело с эпистемической неопределенностью и не нуждаются в обосновании на основе их длинных свойств. В частности, 95% вероятных интервалов не обязательно должны составлять 95% доверительных интервалов. Тем не менее, даже байесовцы, возможно, пожелают быть «откалиброванными», то есть, чтобы соответствовать вероятностям часто встречающихся. См .: Рубин Д.Б. «Байесовски обоснованные и релевантные вычисления частоты для прикладного статистика. Annals of Statistics 1984: 12: 1151-1172.
a.arfe
если вы живете в мире субъективных вероятностей, возможно, вам не нужно ничего проверять, вы никогда не ошибаетесь
Аксакал
Возможно, вы захотите взглянуть на stats.stackexchange.com/questions/2272/…, чтобы понять, почему вы не можете делать то, о чем думаете, по крайней мере, в течение некоторого времени.
Дейв Харрис

Ответы:

5

Я думаю, вы видите логическую проблему в вашем вопросе. В частой парадигме хорошо предположить правду населения, сгенерировать данные и посмотреть, имеют ли оценки хороший охват, потому что именно это они и должны делать. В байесовской парадигме, однако, нет никаких оснований для получения данных! Байесовцы спрашивают вероятность таких истинных данных, поэтому при моделировании нам нужны разные истины, которые порождают данные, а затем обусловливают данные. На практике получается, что имитируется закон условной вероятности, который, к счастью, всегда выполняется по определению. Я рассматриваю эту проблему в Rouder, 2014, Psychonomic Bulletin and Review. https://dx.doi.org/10.3758/s13423-014-0595-4

Джефф
источник
1

Как байесовцы проверяют, что их методы определяют неопределенность должным образом (т. Е. Вычисляют действительные достоверные интервалы и последующие распределения), используя методы моделирования Монте-Карло, если вероятность не определяется как коэффициенты в долгосрочной перспективе?

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

Конечно, часто есть другие доступные методы, которые делают MCMC ненужным. Некоторые модели могут быть выражены с использованием сопряженности, другие - с помощью точной сетки над пространством параметров, а другие могут быть решены с помощью приемо-отклонительного тестирования. MCMC пригодится, когда интеграл плохо себя ведет.

π(θ|Икс)знак равное(Икс|θ)π(θ)θΘе(Икс|θ)π(θ)dθ,
е(Икс|θ)π(θ)е(Икс|θ)π(θ|Икс)суммы к одному. Целью MCMC является определение нижнего числа. Обратите внимание, что нижнее число является константой. Это ожидаемая вероятность.

Точность этого числа определяет некоторые, но не все оценки параметров. Если вы использовали максимальную апостериорную оценку, то MCMC - это ненужный шаг. Вместо этого вы должны построить алгоритм восхождения на холм. С другой стороны, необходимо определить среднее значение или интервал. Это потому, что интервал 95% должен составлять 95% чего-либо, а знаменатель определяет, каков масштаб этого чего-либо.

Цель MCMC в байесовских методологиях - заставить цепи Маркова сходиться к апостериорной плотности. Вот и все. Это не проверяет достоверность чего-либо. Это просто попытка определить значение с фиксированной точкой. Это форма численного интегрирования. Поскольку нет способа узнать, не позволяя алгоритму работать до бесконечности, были ли покрыты все плотные области, существует определенное человеческое суждение. Алгоритм будет обрезан, когда он считает, что это сделано, но это не значит, что оно действительно сделано.

В методологиях Frequentist MCMC часто используется для проверки разумности модели или для численного приближения решения, когда аналитическая недоступна. Это не имеет схожей цели.

Если бы я написал собственную модель в Stan, как бы я знал, что то, что я делаю, является законным? Как я могу использовать методы симуляции, чтобы убедиться, что то, что я делаю в Стэне, действительно скажет мне то, что я хочу знать?

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

θΘе(Икс|θ)π(θ)dθ,

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

В-третьих, большинство готовых пакетов содержат предупреждения о том, что что-то не так. Если появляется предупреждение, используйте что-то еще после изучения источника проблемы, чтобы не создавать его заново в другом алгоритме.

Pr(μ)знак равноN(7,22)σ2N(25,0,12)

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

Поскольку байесовцы не определяют вероятность как то, что мы видим в долгосрочной перспективе, как я могу использовать методы моделирования, чтобы убедиться, что stan_glm точно фиксирует неопределенность? То есть как я могу поверить, что эти достоверные интервалы действительны, используя методы моделирования? И сейчас я даже не определяю априор - как сюда входит включение приоров, так как это повлияет на наши показатели неопределенности?

Если вы не определили априор, то ваша модель недействительна. Если вы не определяете разумную априорную плотность, то зачем вам использовать байесовскую модель? Частые модели сводят к минимуму риск максимальной потери, которая может произойти при сборе неверной выборки. Они очень пессимистичны, и часто требуется больше информации, чтобы получить тот же результат, что и байесовский метод.

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

РЕДАКТИРОВАТЬ Я понял, что я не дал один конкретный ответ. Это было к вопросу

Как я могу использовать методы симуляции, чтобы убедиться, что то, что я делаю в Стэне, действительно скажет мне то, что я хочу знать?

Икс

п1-пп{1/3,1/2,2/3}

Для вас важно, чтобы байесовское предсказание никогда не было истинным распределением. Одним из трех распределений является истинное распределение. Байесовские методы взвешивают их вероятность на основе наблюдаемого значения и предшествующего значения. Апостериор никогда не может быть ни истинным распределением, ни прогнозной плотностью.

Он спрашивает «какова вероятность увидеть шесть голов и два хвоста над множеством всех возможных объяснений (параметров, моделей и т. Д.)».

ЧАС0:пзнак равно1/3,

Если бы вы использовали симуляции для фиксации выборки, вы обнаружите, что Стэн будет работать превосходно, поскольку теорема Байеса является математической теоремой. Это ex-post оптимально. Все, что вы обнаружите, это то, что алгоритм правильно реализовал теорему Байеса до уровня естественной ошибки при оценке знаменателя.

Есть три вещи, которые вы можете сделать. Во-первых, вы можете использовать методы оценки моделей для данных вне выборки. Во-вторых, вы можете использовать байесовский выбор модели или процесс усреднения модели. В-третьих, вы можете рассматривать это как проблему для часто встречающихся и строить выборочное распределение оценок.

Во-первых, методы оценки - это целая литература. Вы должны исследовать их. Выбор байесовской модели и усреднение модели рассматривают модели как параметры. Для выбора модели рассчитывается вероятность истинности моделей. Для усреднения модели рассчитывается вероятность того, что каждая модель истинна, и это служит весовым коэффициентом по пространству модели. Наконец, вы можете рассматривать это как модель Frequentist.

Последний будет проблемой во многих стандартных случаях из-за предыдущего. Для моделей с тремя или более измерениями и нормальным распределением, задняя плотность не будет интегрироваться в единицу, если предыдущая плотность не является правильной плотностью. Другими словами, вам нужно прикусить пулю и выбрать приоритет для любой модели любой реальной сложности.

Наличие правильно центрированных собственных предшествующих сил в случае, когда байесовский метод будет превосходить соответствующий метод Frequentist из-за улучшенной информации. Байесовский метод победит по любому разумному стандарту. Это не связано с недостатком метода Frequentist, но метод Байеса предполагает внешнюю информацию. Метод Frequentist, только учитывая информацию в образце, будет содержать меньше информации, если у вас есть реальный предшественник.

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

Дейв Харрис
источник
@Aksakal Я согласен с вами, он объединяет решения и анализ. Я удалил это.
Дейв Харрис