Работа с очень большими наборами данных временных рядов


10

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

  • 6 предметов
  • 3 экспериментальных повторения (эпохи)
  • 120 испытаний за эпоху
  • 8 секунд данных на испытание при 500 Гц (= 4000 отсчетов) по 275 каналам MEG

Таким образом, каждый «пример» здесь представляет собой матрицу размера [4000x275], и таких примеров 2160, и это до извлечения каких-либо признаков. Цель состоит в том, чтобы предсказать жанр, основанный на мозговом сигнале (классификация с 4 классами).

Очевидно, что здесь есть некоторые сложные вопросы, а именно:

  1. Набор данных не помещается в памяти
  2. В данных будут сильные временные корреляции, и различия между субъектами будут огромными. В результате не очевидно, как разделить данные
  3. Соотношение сигнал / шум очень низкое
  4. Не очевидно, какими будут правильные функции для классификатора.

Принимая это в свою очередь:

  1. Есть разные вещи, которые можно сделать. Во-первых, мы можем безопасно уменьшить частоту дискретизации от 500 Гц до ~ 200 Гц, поскольку даже с учетом ограничения Найквиста, активность мозга на самом деле не происходит при частоте более 100 Гц. Мы могли бы также выполнить выборку из набора каналов (например, сосредоточить внимание на слуховых зонах), но мы бы предпочли не делать это априори , так как может быть активность в других областях (фронтальная и т. Д.), Которая может представлять интерес. Возможно, мы также можем отбросить часть временного окна. Возможно, только первые 2s важны для задачи? Это не совсем известно. Конечно, все будут кричать « Уменьшение размерности»! ", но это тоже не тривиально. Во-первых, мы должны быть очень осторожны с разделением поездов / тестов (см. 2.), и также неясно, делать это до или после генерации функций. Во-вторых, кроме дорогих перекрестная проверка или кропотливый визуальный осмотр, нет очевидного способа выбрать ни подходящий метод, ни соответствующее количество измерений. Конечно, мы могли бы просто использовать, например, PCA, ICA или случайные проекции и надеяться на лучшее ....

  2. Это сложно. Если у нас есть последовательные выборки в обучающем наборе, мы, вероятно, перегоним обучающий набор, тогда как, если у нас есть последовательные выборки, разбитые на обучающие и испытательные наборы, мы, вероятно, подойдем к обучающему набору, но все же можем перевыполнить набор для тестирования. Кажется, здесь есть разные варианты:

    • Одиночный предмет классификации . Возьмите каждый отдельный предмет по отдельности и разделите в соответствии с эпохами. Это должно быть самой простой задачей, так как мы не пытаемся прогнозировать через мозг. В рамках этого можно использовать две оставшиеся эпохи для перекрестной проверки. Для полноты следует повернуть все комбинации. Мы просто сообщим о средней точности по всем предметам. Конечно, мы не ожидаем, что эти модели будут обобщать вообще.
    • В рамках классификации предметов . Возьмите все предметы вместе и разделите их по эпохам. На самом деле это может быть самой простой задачей, так как мы увидим все предметы на тренировке. Однако мы, вероятно, не ожидаем, что модели будут хорошо обобщать новые темы. В рамках этого можно использовать две оставшиеся эпохи для перекрестной проверки. Для полноты следует повернуть все комбинации.
    • Между предметами классификация . Также известен как «оставь одного», где в качестве тестовых данных берется один субъект, а остальные используются для обучения. Затем мы будем вращаться по всем предметам. Затем будет проведена перекрестная проверка по предметам. Мы ожидаем, что это будет гораздо более сложной задачей, поскольку мы пытаемся каждый раз предсказывать «новый мозг». Здесь мы ожидаем, что модели будут хорошо обобщать для большей совокупности, хотя существует проблема надежности повторного тестирования (т. Е. Какая перегрузка вызвана временными корреляциями).
  3. Это классическая проблема «иголки в стоге сена» - фактический сигнал, относящийся к распознаванию музыкального жанра или любой жанро-специфической обработке, скорее всего, будет незначительным по сравнению с «супом» активности в мозге. Есть также заметные артефакты, которые можно удалить только частично (в основном, связанные с движением). Любые функции, которые мы получаем из данных, и любые способы обработки данных, должны избегать уничтожения части сигнала, представляющего интерес.

  4. Здесь можно было бы делать разные вещи. Первый - просто использовать необработанные данные (объединенные в вектор) в качестве вектора признаков. Я не уверен, насколько это плодотворно - я думаю, что эти векторы, вероятно, будут по существу равномерно случайными. Тогда это действительно вопрос обработки сигналов, но есть некоторые общие рекомендации, которым можно следовать. Одним из них является проведение стандартного анализа Фурье по скользящему окну, из которого компоненты можно разделить на отдельные полосы частот (альфа / бета / гамма и т. Д.), И их статистику (среднее значение, стандартное отклонение) можно использовать в качестве признаков. Или можно использовать вейвлеты, преобразования Гильберта или даже попытаться найти хаотические аттракторы, Конечно, тогда у нас есть выбор ядер (линейных, полиномиальных, RBF и т. Д.), Которые увеличивают количество перестановок. Возможно, лучшее, что можно сделать здесь, - это создать как можно больше различных наборов функций, а затем использовать MKL или методы повышения, чтобы объединить их вместе.

Как бы вы подошли к такому набору данных (если не к этому конкретно)? Есть ли что-то, что я пропустил по пути? Какова наиболее вероятная стратегия успеха, не затрачивая бесконечные затраты времени исследователей и вычислительных ресурсов?

Ответы:


4

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

EEGLAB - это интерактивный набор инструментов Matlab для обработки непрерывных и связанных с событиями ЭЭГ, МЭГ и других электрофизиологических данных, включающий анализ независимых компонентов (ICA), анализ времени / частоты, отклонение артефактов, статистику, связанную с событиями, и несколько полезных режимов визуализации усредненного и данные одного испытания.

Таким образом, что касается вашего вопроса «Какова наиболее вероятная стратегия успеха, не затрачивая бесконечное количество времени на исследования», я хотел бы призвать вас посмотреть EEGLAB в режиме онлайн и продолжить с этого момента ...

Обновление: для получения дополнительной информации о ML взгляните на (новую) модель BCILAB


1
Я действительно использовал EEGLAB в прошлом, хотя в основном это базовые функции, а не полный графический интерфейс пользователя (который был немного медленным и нестабильным). Тем не менее, он в основном ориентирован на массовый одномерный анализ, а не на многомерный анализ, хотя я признаю, что давно его не рассматривал. У вас есть опыт?
ТДЦ

Я думаю, что они добились большого прогресса за последние два года ... и я использую как графический интерфейс, так и функцию matlab. Этот семинар 2010 года очень полезен, и многие ошибки были исправлены, многие модели были добавлены как STUDY и другие. Я очень доволен тем, что это экономит мое время и деньги, однако, обратите внимание, что я работаю в основном с данными ЭЭГ, а не с МЭГ.
Дов

1
хорошо, интересно. В принципе, я не вижу никакой разницы между ЭЭГ и МЭГ, поскольку они в основном измеряют электрическую активность мозга, кроме типов артефактов и количества датчиков. Объединяли ли вы EEGLAB с машинным обучением?
ТДЦ

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

1
Это отличный ответ для его объема, но было бы неплохо увидеть краткое изложение того, как каждая из этих проблем решается независимо от набора инструментов, основанного на проприетарной системе.
яркая звезда
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.