Загалом, я настійно пропоную не кодувати свій власний MCMC для реального прикладного байєсівського аналізу. Це і велика робота, і час, і дуже ймовірно, що в коді будуть внесені помилки. Пробовідбірники Blackbox, такі як Stan, вже використовують дуже складні пробовідбірники. Повірте, ви не будете кодувати пробовідбірник цього калібру лише для одного аналізу!
Є спеціальні випадки, коли в цьому цього буде недостатньо. Наприклад, якщо вам потрібно було зробити аналіз в режимі реального часу (тобто рішення на комп'ютері на основі вхідних даних), ці програми не були б гарною ідеєю. Це тому, що Стен вимагає компілювати код C ++, що може зайняти значно більше часу, ніж просто запустити вже підготовлений зразок для відносно простих моделей. У такому випадку ви можете написати власний код. Крім того, я вважаю, що існують особливі випадки, коли такі пакети, як Stan, роблять дуже погано, такі як моделі не-гауссового простору держави (повне розкриття: я вважаю, що Стен в цій справі робить погано, але не знаю). У цьому випадку можливо, варто застосувати спеціальний MCMC. Але це виняток, а не правило!
Якщо чесно, я вважаю, що більшість дослідників, які пишуть вибірки для одного аналізу (і це трапляється, я це бачив) роблять так, тому що вони люблять писати власні пробовідбірники. Принаймні, я можу сказати, що я підпадаю під цю категорію (тобто я розчарований, що написати власний пробовідбірник - це не найкращий спосіб робити речі).
Крім того, хоча не має сенсу писати власний пробовідбірник для одного аналізу , це може мати багато сенсу писати власний код для класу аналізів. Оскільки JAG, Stan та ін. Є зразками з чорного ящика, ви завжди можете зробити все швидше, спеціалізуючись на даній моделі, хоча сума вдосконалення залежить від моделі. Але писати надзвичайно ефективний зразок з нуля - це, можливо, 10-1000 годин роботи, залежно від досвіду, складності моделі тощо. Якщо ви займаєтесь дослідженнями методів Байєса або пишете статистичне програмне забезпечення, це добре; це ваша робота. Але якщо ваш начальник скаже: "Ей, чи можете ви проаналізувати цей набір даних про неодноразові заходи?" і ви витрачаєте 250 годин на написання ефективного пробовідбору, швидше за все, ваш начальник буде засмучений. На противагу цьому, ви могли написати цю модель в Стен за, скажімо, 2 години, а у вас було 2 хвилини часу замість 1 хвилини пробігу, досягнутого ефективним пробовідбірником.