Каковы надлежащие шаги для предварительной обработки моих сигналов, чтобы позже выполнить независимый компонентный анализ (ICA)? Я понимаю, как, хотя дальнейшее объяснение этого не повредит, но меня больше интересует почему.
Каковы надлежащие шаги для предварительной обработки моих сигналов, чтобы позже выполнить независимый компонентный анализ (ICA)? Я понимаю, как, хотя дальнейшее объяснение этого не повредит, но меня больше интересует почему.
Ответы:
Независимый компонентный анализ (ICA) используется для разделения линейной смеси статистически независимых и, что наиболее важно, негауссовых † компонентов на составляющие. Стандартная модель для бесшумного ICA
где - вектор наблюдения или данных, s - исходный сигнал / исходные компоненты (негауссовы), а A - вектор преобразования, который определяет линейное микширование составляющих сигналов. Как правило, A и S неизвестны.
В ICA есть две основные стратегии предварительной обработки, а именно центрирование и отбеливание / сферирование. Основными причинами предварительной обработки являются:
Из введения Дж. Ли и Дж. Чжана "Сферинг и его свойства", The Indian Journal of Statistics, Vol. 60, Серия A, Часть I, стр. 119-133, 1998:
Выбросы, кластеры или другие виды групп, а также концентрации вблизи кривых или неплоских поверхностей, вероятно, являются важными особенностями, которые интересуют аналитиков данных. Они, как правило, не могут быть получены простым знанием среднего значения выборки и ковариационной матрицы. В этих обстоятельствах желательно отделить информацию, содержащуюся в среднем и ковариационных матрицах, и вынуждает нас исследовать аспекты наших наборов данных, отличные от хорошо понятых. Центрирование и сферизация - это простой и интуитивно понятный подход, который исключает информацию о средней ковариации и помогает выделить структуры за пределами линейной корреляции и эллиптических форм, и поэтому часто выполняется перед исследованием отображений или анализа наборов данных.
1. Центрирование:
Центрирование - это очень простая операция, которая просто относится к вычитанию среднего . На практике используется выборочное среднее и создать новый вектор х с = х - ¯ х , где ¯ х представляет собой среднее из данных. Геометрически вычитание среднего значения эквивалентно переводу центра координат в начало координат. Среднее всегда можно повторно добавить к результату конец (это возможно, потому что матричное умножение является дистрибутивным).
2. Отбеливание:
Отбеливание является преобразованием , которое преобразует данные таким образом, что она имеет ковариационную матрицу идентичности, т.е. . Обычно вы работаете с образцом ковариационной матрицы,
где - просто ленивый заполнитель для соответствующего коэффициента нормализации (в зависимости от размеров x ). Новый побеленный вектор создается как
s = RandomReal[{-1, 1}, {2000, 2}];
A = {{2, 3}, {4, 2}};
x = s.A;
whiteningMatrix = Inverse@CholeskyDecomposition[Transpose@x.x/Length@x];
y = x.whiteningMatrix;
FullGraphics@GraphicsRow[
ListPlot[#, AspectRatio -> 1, Frame -> True] & /@ {s, x, y}]
Если после преобразования есть собственные значения, близкие к нулю, то их можно безопасно отбросить, поскольку они являются просто шумом и будут только мешать оценке из-за "переопределения".
3. Другая предварительная обработка
В некоторых конкретных приложениях могут быть другие этапы предварительной обработки, которые невозможно охватить в ответе. Например, я видел несколько статей, в которых используется журнал временных рядов, и несколько других, которые фильтруют временные ряды. Хотя это может подходить для их конкретного применения / условий, результаты не переносятся на все поля.
† Я считаю, что можно использовать ICA, если не более одного из компонентов является гауссовским, хотя сейчас я не могу найти ссылку на это.
{-1,1}
NormalDistribution[]
Первый - это плотность суставов для двух некоррелированных гауссианов, второй - в процессе трансформации, а третий - после отбеливания. На практике видны только шаги 2 и 3.