Які належні кроки для попередньої обробки моїх сигналів, щоб пізніше провести незалежний аналіз компонентів (ICA)? Я розумію, як, хоча подальше пояснення цього не шкодить, але мене більше цікавить, чому.
Які належні кроки для попередньої обробки моїх сигналів, щоб пізніше провести незалежний аналіз компонентів (ICA)? Я розумію, як, хоча подальше пояснення цього не шкодить, але мене більше цікавить, чому.
Відповіді:
Незалежний аналіз компонентів (ICA) використовується для поділу лінійної суміші статистично незалежних і, головне, негауссових † компонентів на її складові. Стандартна модель для безшумної ICA є
де - вектор спостереження або даних, s - вихідний сигнал / вихідні компоненти (не-гауссова), а A - вектор перетворення, який визначає лінійне змішування складових сигналів. Зазвичай A і s невідомі.
У ICA є дві основні стратегії попередньої обробки, а саме - центрування та відбілювання / кулірування. Основними причинами попередньої обробки є:
Зі вступу Г. Лі та Дж. Чжан "Сферинг та його властивості", Індійський журнал статистики, Vol. 60, серія A, частина I, стор 119-133, 1998:
Можливо, важливі особливості, які цікавлять аналітиків даних, є грубими, кластерами чи іншим видом груп, а також концентрації поблизу кривих чи не- на поверхнях. Загалом, їх неможливо отримати за допомогою простого знання середньої вибірки та матриці коваріації. За цих обставин бажано відокремити інформацію, що міститься в середній матриці та коваріаційній матриці, і змушує нас досліджувати аспекти наших наборів даних, крім тих, що добре розуміють натуру. Центрування та сферизація - це простий та інтуїтивний підхід, який виключає середньоквадратичну інформацію та допомагає виділити структури за межами лінійної кореляції та еліптичної форми, а тому часто виконується перед вивченням дисплеїв чи аналізів наборів даних
1. Центрування:
Центрування - це дуже проста операція і просто стосується віднімання середнього . На практиці ви використовуєте середнє значення вибірки та створюєте новий вектор x c = x - ¯ x , де ¯ x - середнє значення даних. Геометрично віднімання середнього значення еквівалентно перекладу центру координат на початок. Середнє значення завжди може бути додане до результату в кінці (це можливо, тому що множення матриць є розподільним).
2. Відбілювання:
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.