Робота з дуже великими наборами часових рядів


10

У мене є доступ до дуже великого набору даних. Дані з MEG- записів людей, які слухають музичні уривки, з одного з чотирьох жанрів. Дані такі:

  • 6 Предметів
  • 3 Експериментальні повтори (епохи)
  • 120 випробувань за епоху
  • 8 секунд даних за пробу при 500 Гц (= 4000 зразків) з 275 МЕГ-каналів

Отже, кожен "приклад" є матрицею розміру [4000x275], і є 2160 таких прикладів, і це перед будь-яким вилученням функції. Мета - передбачити жанр на основі сигналу мозку (класифікація 4 класу).

Очевидно, що тут є кілька складних питань, а саме:

  1. Набір даних не вміщується в пам'яті
  2. У даних буде сильна часова кореляція, а міжпредметна різниця буде величезною. Як результат, не очевидно, як розділити дані
  3. Співвідношення сигнал / шум дуже низьке
  4. Не очевидно, якими були б правильні функції класифікатора

Беручи це по черзі:

  1. Можна зробити різні речі. По-перше, ми можемо безпечно зменшити вибірку з 500 Гц до ~ 200 ГГц, оскільки навіть враховуючи ліміт Найквіста, мозкова активність насправді не відбувається на 100 ГГц. Ми також можемо підпробовувати з набору каналів (наприклад, центр над слуховими ділянками), але ми б не хотіли робити це апріорі , оскільки може бути діяльність в інших областях (лобових тощо), які можуть представляти інтерес. Напевно, ми можемо також скинути частину часового вікна. Можливо, для виконання завдання важливі лише перші 2? Це насправді не відомо. Звичайно, всі будуть кричати " Зменшення розмірності "! ", але це теж не банально. По-перше, нам слід бути дуже обережними щодо наших розбитків поїздів / тестів (див. 2.), і також не очевидно, чи потрібно робити це до або після генерації функцій. По-друге, крім дорогого перехресне підтвердження або кропітка візуальна перевірка, немає очевидного способу вибору відповідного методу або відповідної кількості вимірів. Ми, звичайно, можемо просто використати, наприклад, PCA, ICA або випадкові прогнози і сподіватися на найкраще ....

  2. Це хитро. Якщо у нас є послідовні зразки у навчальному наборі, ми, ймовірно, переобладнаємо навчальний набір, тоді як якщо у нас є послідовні зразки, розбиті на набори поїздів і тестові набори, ми, ймовірно, будемо недоопрацьовувати навчальний набір, але все-таки можемо перевищити тестовий комплект. Тут, здається, існують різні варіанти:

    • Єдина предметна класифікація . Візьміть кожен окремий предмет самостійно і розділіть за епохами. Це повинно бути найпростішим завданням, оскільки ми не намагаємось передбачити мізки. У межах цього можна використати дві залишки епохи для перехресної перевірки. Для повноти слід обертати всі комбінації. Ми просто повідомимо про середню точність за всіма предметами. Звичайно, ми б не очікували, що ці моделі взагалі добре узагальнені.
    • У межах класифікації предметів . Візьміть усі предмети разом і розділіть за епохами. Насправді це може бути найпростішим завданням, оскільки ми побачили всі предмети на тренінгу. Однак ми, мабуть, не сподіваємось, що моделі добре узагальнить нові теми. У межах цього можна використати дві залишки епохи для перехресної перевірки. Для повноти слід обертати всі комбінації.
    • Між предметами класифікації . Також відомий як "відпуск-один-вихід", де один предмет береться за тестові дані, а решта використовується для навчання. Потім ми б оберталися через усі предмети. Перехресна перевірка буде виконуватися над суб'єктами. Ми б очікували, що це буде набагато складніше завдання, оскільки ми намагаємось передбачити "новий мозок" кожен раз. Тут ми могли б очікувати, що моделі добре узагальнюватимуться для більшої кількості населення, хоча виникає проблема надійності тестування повторного тестування (тобто, скільки перевиконання спричинене тимчасовими кореляціями).
  3. Це класична проблема «голка в копиці сіна» - власне сигнал, що стосується розпізнавання музичного жанру, або будь-якої жанрової обробки, ймовірно, буде незначним порівняно з «супом» діяльності в мозку. Також є помітні артефакти, які можна видалити лише частково (в основному пов'язані з рухом). Будь-які функції, які ми отримуємо з даних, і будь-які способи обробки даних, повинні уникати руйнування частини сигналу, що цікавить.

  4. Тут можна було б уявити, як робити різні речі. Першим було б просто використовувати необроблені дані (об'єднані у вектор) як вектор функції. Я не впевнений, наскільки це плідно - я думаю, що ці вектори, ймовірно, були б однаково випадковими. Тоді це справді питання щодо обробки сигналів, але є деякі загальні рекомендації, яких можна дотримуватися. Перший - це зробити стандартний аналіз Фур’є через розсувне вікно, з якого компоненти можна розділити на окремі діапазони частот (альфа / бета / гамма тощо), і статистика цих (середнє, стд. Відхилення) може використовуватися як функції. Або можна використовувати Wavelets, Hilbert Transforms або навіть спробувати шукати хаотичні атрактори. Звичайно, тоді у нас є вибір ядер (лінійних, поліномних, RBF тощо), які збільшують кількість перестановок. Можливо, найкраще тут зробити - створити якомога більше різноманітних наборів функцій, а потім використовувати MKL або прискорюючі методи, щоб поєднати їх разом.

Як би ви підійшли до такого типу наборів даних (якщо не конкретно до цього)? Чи є щось, що я пропустив по дорозі? Яка найімовірніша стратегія для досягнення успіху, не витрачаючи нескінченну кількість часу дослідників та обчислювальних ресурсів?

Відповіді:


4

@tdc. Усі та багато інших питань, про які ви згадали тут, щодо аналізу даних нейронауки, включаючи: зменшення розмірності, в межах / між класифікацією предметів, співвідношення сигнал / шум тощо, опрацьовуються інструментальним інструментом EEGLAB , який був спеціально розроблений для обробки даних нейрологічних наук:

EEGLAB - це інтерактивна панель інструментів Matlab для обробки постійних ЕЕГ, МЕГ та інших електрофізіологічних даних, що включає незалежний аналіз компонентів (ІКА), аналіз часу / частоти, відхилення артефакту, статистику, пов'язану з подіями, та кілька корисних режимів візуалізації усереднених даних дані одноразового використання.

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

Оновлення: для отримання додаткових відомостей про ML погляньте на (нову) модель BCILAB


1
Я раніше використовував EEGLAB, хоча в основному це основні функції, а не повний графічний інтерфейс (який, як правило, трохи повільний і нестабільний). Однак він здебільшого орієнтований на масовий уніваріантний аналіз, а не на багатоваріантний аналіз, хоча, зізнаюся, я його ще не дивився. У вас є досвід цього?
tdc

Я думаю, що вони досягли великих успіхів за останні два роки ... і я використовую і графічний інтерфейс, і функцію matlab. Цей семінар з 2010 року дуже корисний, і було виправлено багато помилок, було додано багато моделей, таких як STUDY та інші. Я дуже задоволений тим, що це економить мені час і гроші, однак зауважте, що я працюю в основному з даними ЕЕГ, а не з MEG.
Дов

1
добре цікаво. В принципі, я не бачу різниці між ЕЕГ та МЕГ, оскільки вони по суті і вимірюють електричну мозкову активність, крім видів артефактів та кількості датчиків. Ви поєднали EEGLAB з машинним навчанням?
tdc

впевнений. весь час. все це в matlab ... тож як тільки ви завантажите свої дані в EEGLAB. ви можете використовувати PCA / ICA (це те, що я роблю), а потім тренувати улюблений класифікатор / кластеризацію SVM, fisher або k-mean .. просто назвіть його.
Дов

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