Чи робить Stan передбачувані плакати?


9

Чи має Stan (зокрема, rstan) вбудовані засоби для генерації прогнозних заднього розподілу?

Зробити розподіл із стандартної форми не важко, але я б краще не винаходив колесо.


2
У кінці є розділ згенерованих кількостей, який повинен мати змогу обробляти моделювання, але документація (станом на версію 1.3, але невдовзі повинна вийти версія 2) не пояснює дуже детально, як це досягти. Ви можете попросити запитати список розсилки.
Джон

Відповіді:


4

Відповідно до посібника користувача Stan ( v2.2.0) (сторінки 361–362):

У Стен задні симуляції можна генерувати двома способами. Перший підхід - це розглянути прогнозовані змінні як параметри, а потім визначити їх розподіли в блоці моделі. Другий підхід, який також працює для дискретних змінних, полягає у формуванні реплікаційних даних, використовуючи генератори випадкових чисел у блоці генерованих величин.

Я зазвичай використовую останнє.


3

Далі не є ґрунтовною відповіддю, але, сподіваємось, це краще, ніж відповідь немає. У своїх власних програмах я застосовую задні передбачувальні перевірки, щоб вивчити прогнози моделі для єдиної залежної міри, яка була сформована з лінійної моделі. Це просто в 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ви зможете обійтися без усіх них. Для великих наборів даних вищевказане рішення, очевидно, занадто просторове.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.