Справочная информация : У меня есть доктор философии по социальной психологии, где теоретическая статистика и математика были едва освещены в моей количественной курсовой работе. В старших классах и в аспирантуре меня учили (как и многие из вас, возможно, и в социальных науках), вероятно, через «классическую» систему учащегося. Теперь, я тоже люблю 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, как бы я знал, что то, что я делаю, является законным? Как я могу использовать методы симуляции, чтобы убедиться, что то, что я делаю в Стэне, действительно скажет мне то, что я хочу знать?