У статті згадується «моделювання Монте-Карло для визначення кількості основних компонентів»; як це працює?


10

Я роблю аналіз Matlab на даних МРТ, де я провів PCA на матриці розміром 10304x236, де 10304 - кількість вокселів (вважайте їх пікселями), а 236 - кількість часових точок. PCA дає мені 236 власних значень та пов'язаних з ними коефіцієнтів. Це все добре. Однак, коли настав час вирішити, скільки компонентів потрібно зберегти, документ, який я копіюю, говорить наступне (будь ласка, повідомте мене, чи потрібне уточнення, оскільки це лише коротка частина всього документу):

Потім ми виконали моделювання в Монте-Карло, щоб визначити кількість основних компонентів (ПК), які слід витягнути з неприємних ROI даних для кожного сканування. Нульовий розподіл очікуваних власних значень генерувався окремо для даних кодування та спокою для кожного суб'єкта, виконуючи PCA на нормально розподілених даних, рівних за рівнем даних про ROI кодування та спокою. Комп'ютери з даних справжньої неприємності ROI були потім обрані для даного сканування спокою або кодування, якщо їх асоційовані власні значення перевищували 99-й довірчий інтервал власних значень із симуляцій Монте-Карло.

Tambini & Davachi, PNAS 2013, Наявність гіпокампальних мультивоксельних моделей у режимі спостереження спокою пов'язане з пам'яттю .

Я абсолютно не маю уявлення, що тут робити. Я звик обирати компоненти, виходячи із поясненої сукупної дисперсії. Я думаю, що це:

Потім ми виконали моделювання в Монте-Карло, щоб визначити кількість основних компонентів (ПК), які слід витягнути з неприємних ROI даних для кожного сканування.

Синтез Монте-Карло просто означає зробити наступні 1000 (чи такі) рази, правда?

Нульовий розподіл очікуваних власних значень був сформований при виконанні PCA на звичайно розподілених даних, рівних за рівнем рентабельності кодування та рентабельності спокою.

По-перше, я припускаю, що "рівний ранг" в основному означатиме, що я буду створювати матрицю такого ж розміру, що й оригінал (10304x236). З точки зору "нормально розподілених даних рівного рангу" ... це означає, що я повинен створити матрицю 10304x236 випадкових чисел із звичайного розподілу? Matlab має функцію під назвою 'normrnd', яка робить це, але вимагає введення mu і sigma. Чи використовую я ті ж му та сигми, що й ті, що отримані з початкового набору даних? Це більше чи менше, що означає "очікувані власні значення", оскільки я не маю уявлення про те, як виглядатиме розподіл ОЧЕКОВАНИХ власних значень.

Я думаю, моя проблема більш-менш те, що я не знаю, як зробити "нульовий розподіл" власних значень.

Відповіді:


6

З цим питанням пов'язаний термін "Паралельний аналіз".

Простіше кажучи, моделювання Монте-Карло генерувало б 1000 (або таких) 10304x236 матриць випадкових нормально розподілених даних (це, звичайно, передбачає, що дані, які ви аналізуєте, зазвичай розподіляються; якби ваші дані поширювались інакше, ви використовували б різний випадковий розподіл). Потім ви отримаєте власні значення для кожного створеного набору даних і середнє значення кожного власного значення для всіх 1000 (або таких) реплікацій, створюючи також довірчі інтервали. Потім ви порівнюєте власні значення з вашого набору даних із середніми власними значеннями у своєму моделюванні.

Де б не було власних значень вашого набору даних, які перевищують 99-й довірчий інтервал власних значень, отриманих за допомогою моделювання Монте-Карло, саме стільки факторів пропонує аналіз зберегти.

Наприклад, якщо 25-те власне значення з ваших даних становить 2,10, а 26-го - 1,97, а 99-й довірчий інтервал 25-го власного значення з 1000 (або таких) випадкових наборів даних становить 2,04, а 26-го - 2,01, це дозволить вам зробити це зберігають 25 компонентів.

Існують функції, побудовані для цього. Одне посилання для Matlab:

http://www.mathworks.com/matlabcentral/fileexchange/44996-parallel-analysis--pa--to-for-determining-the-number-of-components-to-retain-from-pca/content/pa_test. м

Я виявив це, гуглюючи "Паралельний аналіз у Матлабі".


+1. Це дуже зрозуміло, і посилання мені дуже допоможе! Я правильно зашифрував вилучення довільно розподілених власних значень, але не використовував правильних інтервалів правильним чином. Дуже дякую за вашу відповідь.
ланцюг вдома

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