Чи має Stan (зокрема, rstan) вбудовані засоби для генерації прогнозних заднього розподілу?
Зробити розподіл із стандартної форми не важко, але я б краще не винаходив колесо.
Чи має Stan (зокрема, rstan) вбудовані засоби для генерації прогнозних заднього розподілу?
Зробити розподіл із стандартної форми не важко, але я б краще не винаходив колесо.
Відповіді:
Відповідно до посібника користувача Stan ( v2.2.0) (сторінки 361–362):
У Стен задні симуляції можна генерувати двома способами. Перший підхід - це розглянути прогнозовані змінні як параметри, а потім визначити їх розподіли в блоці моделі. Другий підхід, який також працює для дискретних змінних, полягає у формуванні реплікаційних даних, використовуючи генератори випадкових чисел у блоці генерованих величин.
Я зазвичай використовую останнє.
Далі не є ґрунтовною відповіддю, але, сподіваємось, це краще, ніж відповідь немає. У своїх власних програмах я застосовую задні передбачувальні перевірки, щоб вивчити прогнози моделі для єдиної залежної міри, яка була сформована з лінійної моделі. Це просто в JAGS, але дещо непрозоріше в Stan.
data{
int<lower=1> N; // no. rows
real x[N]; // predictor
real y[N]; // dependent variable
}
parameters{
real alpha; // int.
real beta; // slope
real<lower=0> sigma_e; // resid. var.
real y_tilde[N]; // post. pred.
}
model{
real mu[N];
for(i in 1:N){
mu[i] <- alpha + beta*x[i];
}
y ~ normal(mu,sigma_e); //lik
y_tilde ~ normal(mu,sigma_e);
alpha ~ normal(0,5);
beta ~ normal(0,5);
sigma_e ~ cauchy(0,5);
}
generated quantities{
real minimum;
real maximum;
minimum <- min(y_tilde);
maximum <- max(y_tilde);
}
Має бути кращий спосіб зробити це, тому хтось, будь ласка, опублікує кращу відповідь. Але наведений вище код створює N задніх прогнозних розподілів, по одному для кожного спостереження. Я роблю це для того, щоб можна було знайти прогнозний розподіл екстремумів, але якщо вас зацікавить лише кількість задньої прогностичної кількості, y_tilde
ви зможете обійтися без усіх них. Для великих наборів даних вищевказане рішення, очевидно, занадто просторове.