З огляду на 10D ланцюг MCMC, як я можу визначити його задній режим (и) в R?


10

Запитання: За допомогою 10-мірної ланцюга MCMC скажімо, що я готовий надати вам матрицю малюнків: 100 000 ітерацій (рядків) за 10 параметрами (стовпцями), як найкраще я можу визначити задні режими? Я особливо переймаюся кількома режимами.

Фон:Я вважаю себе статистично обґрунтованим статистиком, але коли колега задав мені це питання, мені було соромно, що я не можу підійти з розумною відповіддю. Основна проблема полягає в тому, що можуть з'являтися кілька режимів, але тільки якщо з десяти вимірів враховується щонайменше вісім або більше. Першою моєю думкою було б використовувати оцінку щільності ядра, але пошук через R не виявив нічого перспективного для проблем, що перевищують три виміри. Колега запропонував спеціальну стратегію бінінгу в десяти вимірах і шукав максимум, але я занепокоєний тим, що пропускна здатність може призвести або до значних проблем з обмеженим рівнем, або до недостатньої роздільної здатності розрізнити кілька режимів. З цього приводу я з радістю приймаю пропозиції щодо автоматизованих пропозицій щодо пропускної здатності, посилань на оцінювач щільності 10 ядер чи будь-що інше, про що ви знаєте.

Побоювання:

  1. Ми вважаємо, що розподіл може бути досить перекошеним; отже, ми хочемо ідентифікувати задні режими, а не задні засоби.

  2. Ми стурбовані тим, що може бути кілька задніх режимів.

  3. Якщо можливо, ми вважаємо за краще R-пропозицію. Але будь-який алгоритм буде робити, доки це не неймовірно складно здійснити. Я думаю, я вважаю за краще не застосовувати оцінку щільності Nd ядра з автоматизованим вибором пропускної здатності з нуля.


Будь ласка, дивіться тему про методи швидкого оцінювання режиму stats.stackexchange.com/questions/33625
Павло

Відповіді:


9

Чи розглядали ви підхід до найближчого сусіда?

наприклад, скласти список kнайближчих сусідів для кожного з 100000 точок, а потім вважати точку даних з найменшою відстані kthсусіда режимом. Іншими словами: знайдіть крапку з «найменшим бульбашкою», що містить kінші точки навколо цієї точки.

Я не впевнений, наскільки це надійно, і вибір k, очевидно, впливає на результати.


Іноді мені просто хочеться перевернути голову. Відмінна пропозиція.
М. Тіббіт

1
Я також просто думав про використання kmeansфункції в Р. Я дійсно не повинен задавати питання між опівночі до 4 ранку.
М. Тіббіт

4

Це лише часткова відповідь.

Нещодавно я використовував figtree для багатовимірних оцінок щільності ядра. Це пакет C, і я змусив його працювати досить легко. Однак я використовував її лише для оцінки щільності в окремих точках, а не для обчислення зведеної статистики.


3

Якщо ви зберігаєте ймовірність журналу, ви можете просто вибрати той, який має найвище значення. Крім того, якщо ваш інтерес викликає насамперед режим, достатньо зробити оптимізацію, щоб знайти точку з найбільшою ймовірністю журналу.


Це найрелевантніша відповідь, принаймні перша частина! У багатьох моделюваннях MCMC ймовірність (log-) обчислюється для всіх пропозицій і тому може бути збережена. Або найвище значення досі, і його аргумент можна зберігати. Якщо алгоритм MCMC збільшився за кількістю запущених моделей, це правильний підхід.
Сіань

2

Чи розглядали ви "ПРИМ / полювання на шишки"? (див., наприклад, Розділ 9.3. «Елементи статистичного навчання» Тібшірані та ін. або запитайте улюблену пошукову систему). Не впевнений, чи реалізовано це в R.

[Наскільки я зрозумів, ви намагаєтесь знайти режим щільності ймовірності, з якого виведені ваші 100000 рядків. Тож ваша проблема буде частково вирішена шляхом пошуку відповідного density estimationметоду].


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