проблема
Я пишу функцию R, которая выполняет байесовский анализ для оценки апостериорной плотности с учетом информированного априора и данных. Я хотел бы, чтобы функция отправляла предупреждение, если пользователю необходимо пересмотреть предыдущее.
В этом вопросе мне интересно узнать, как оценить априор. Предыдущие вопросы охватывали механизм постановки информированных приоров ( здесь и здесь .)
В следующих случаях может потребоваться переоценка предыдущего:
- данные представляют собой крайний случай, который не был учтен при
- ошибки в данных (например, если данные даны в единицах g, а предшествующее - в кг)
- неправильный априор был выбран из набора доступных априоров из-за ошибки в коде
В первом случае априоры, как правило, все еще достаточно диффузны, так что данные обычно будут подавлять их, если только значения данных не лежат в неподдерживаемом диапазоне (например, <0 для logN или Gamma). Другие случаи - ошибки или ошибки.
Вопросов
- Есть ли какие-либо проблемы, связанные с достоверностью использования данных для оценки предшествующего уровня?
- какой-либо конкретный тест лучше всего подходит для этой проблемы?
Примеры
Вот два набора данных, которые до этого плохо соответствовали поскольку они относятся к совокупности с (красный) или (синий).
Синие данные могут быть действительной комбинацией априор + данные, тогда как красные данные требуют предварительного распределения, которое поддерживается для отрицательных значений.
set.seed(1)
x<- seq(0.01,15,by=0.1)
plot(x, dlnorm(x), type = 'l', xlim = c(-15,15),xlab='',ylab='')
points(rnorm(50,0,5),jitter(rep(0,50),factor =0.2), cex = 0.3, col = 'red')
points(rnorm(50,8,0.5),jitter(rep(0,50),factor =0.4), cex = 0.3, col = 'blue')