У вас є кілька приємних, більш-менш простих варіантів. Ваша форма попереднього сприяє їх спрощенню.
Варіант 1: Пробник незалежності. Ви можете просто встановити розподіл вашої пропозиції рівним рівномірним розподілом на одиницю площі, що гарантує, що зразки не потраплять за межі зони обмеження, як ви це називаєте. Потенційний мінус: якщо заднє зосереджене в дуже невеликій області одиниці квадрата, у вас може бути дуже низька швидкість прийняття. OTOH, важко генерувати випадкові числа швидше, ніж через розподіл U (0,1). Потенційний перелом: менше роботи для вас.
Варіант 2: Перетворіть ваші параметри на щось, що не обмежене, зробіть пропозиції щодо перетворених параметрів, а потім перетворіть параметри назад для використання у функціях вірогідності. Зауважте, що в цьому випадку пріоритет буде на перетворених параметрах, тому що саме для цього ви робите пропозиції, тож вам доведеться возитися з якобіаном перетворення, щоб отримати новий попередній. Зважаючи на аналіз, ви, звичайно, перетворите випадкові числа, згенеровані MCMC, у вихідні параметри. Потенційний недолік: більше початкової роботи для вас. Потенційний перелом: кращий рівень прийняття ваших пропозицій.
Варіант 3: Побудуйте розповсюдження пропозицій, окрім вибірки незалежності, яка знаходиться на одиничній площі. Це дозволяє зберегти єдину форму раніше, але ціною більшої складності при розрахунку ймовірностей пропозиції. Прикладом цього, якщо дозволити поточне значення одного з ваших параметрів, буде бета-розподіл з параметрами ( n x , n ( 1 - x ) ) . Чим більший n , тим більш концентрованою буде ваша пропозиція навколо поточного значення. Потенційний недолік: більше початкової роботи для вас. Потенційний потенціал: кращий рівень прийняття ваших пропозицій - але якщо ви робите nx(nx,n(1−x))nn Занадто великий, і рухатися поруч з кутом, ви можете закінчити робити багато маленьких рухів у кутку, перш ніж вийти.
Варіант 4: Просто відхиліть будь-які пропозиції, що виходять за межі одиничної площі (напівсердечна пропозиція Сіану). Зауважте, що це не те саме, що просто генерувати іншу пропозицію; у цьому випадку ви відхиляєте пропозицію, а значить, ваше наступне значення для параметра є таким же, як поточне значення для параметра. Це працює, тому що це може статися, якщо б у вас була нульова попередня ймовірність для деякого регіону простору вашого параметра і генерувала випадкове число, яке впало в цій області. Потенційний мінус: якщо ви опинитесь біля кута, у вас може бути низька ймовірність прийняття і застрягти на деякий час. Потенційний перелом: менше роботи для вас.
Варіант 5: Створіть розширену задачу на площині, яка на одиничній площі є такою ж, як і фактична проблема, з якою ви стикаєтесь, зробіть все правильно, після того, як після обробки результатів вибірки MCMC викиньте всі зразки назовні одиничної площі. Потенційний перелом: Якщо створити цю розширену проблему дуже просто, це може бути меншою роботою для вас. Потенційний мінус: якщо ланцюг Маркова на деякий час скине десь поза площею одиниць, у вас можуть виникнути жахливі ймовірності прийняття, оскільки ви викинете більшість своїх зразків.
Без сумніву, є й інші варіанти, мені було б цікаво подивитися, що пропонують інші!
n