#r #bayesian #rstan
#r #байесовский #rstan
Вопрос:
Я только начал с байесовского анализа и rstan. Я запускаю следующий действительно простой пример (заимствованный из книги Ричарда Макэлрита «Статистическое переосмысление» — там он использует свою функцию, но я хочу закодировать ее непосредственно в rstan)
Для sigma я хочу использовать неинформативный предыдущий (как предложено в книге) sigma ~ uniform(0,50)
Однако моделирование сталкивается с проблемами и возвращает сигма (среднее значение), близкое к 50. Если я использую uniform(0,70)
, то сигма близка к 70. Но при использовании гораздо более широкого предыдущего sigma ~ uniform(0,500)
все работает нормально. Мой вопрос в том, поскольку отклонение данных составляет около 5, почему предыдущий uniform(0,50)
не работает? Спасибо
library(rstan)
library(rethinking)
library(dplyr)
data(Howell1)
dat1 <- Howell1
d2 <- dat1[ dat1$age >= 18 , ]
plot( d2$height ~ d2$weight )
lm(d2$height ~ d2$weight) %>% summary
model.stan2 <- '
data{
int <lower=1> N;
real weight_bar;
vector[N] height;
vector[N] weight;
}
parameters{
real alpha;
real beta;
real<lower=0> sigma;
}
model{
vector[N] mu;
// Priors
alpha ~ normal(178, 20);
beta ~ lognormal(0,1);
sigma ~ uniform(0,50);
mu = alpha beta*(weight - weight_bar);
// Likelihood
height ~ normal( mu, sigma);
}
'
stan_samples2 <- stan(model_code = model.stan2,
data = list(
N= nrow(d2),
height=d2$height,
weight=d2$weight,
weight_bar= mean(d2$weight)
)
)
precis(stan_samples2)
Комментарии:
1. Вам нужно объявить sigma с ограничением верхней границы, если вы хотите присвоить ей одинаковое значение. Бета-версии требуется нижняя граница, равная нулю, с учетом ее предыдущего значения. Мы не рекомендуем единообразные приоритеты, поскольку они не являются неинформативными, какими они были бы с максимальной вероятностью. Вместо этого, если данные согласуются со значениями за пределами границы, масса будет накапливаться на границе и влиять на заднее среднее значение. Мы настоятельно рекомендуем мягкие ограничения, которые, по крайней мере, слабо информативны при определении масштаба ответа.