Чи можу я використовувати незалежний компонентний аналіз, якщо у мене змішані дві дискретні групи джерел сигналу?


10

Я розумію (здебільшого), як незалежний компонентний аналіз (ICA) працює на наборі сигналів від однієї сукупності, але мені не вдається змусити його працювати, якщо мої спостереження (матриця X) включають сигнали двох різних груп (що мають різні засоби), і я мені цікаво, чи це вроджене обмеження ICA чи я можу це вирішити. Мої сигнали відрізняються від загальноприйнятого типу, що аналізується тим, що мої джерельні джерела дуже короткі (наприклад, три значення тривалості), але у мене багато (наприклад, 1000) спостережень. Зокрема, я вимірюю флуоресценцію в 3 кольорах, де сигнали широкої флуоресценції можуть "перепливати" в інші детектори. У мене є 3 детектори і використовую 3 різні флюорофори на частинках. Можна вважати це як дуже низьку спектроскопію роздільної здатності. Будь-яка флуоресцентна частинка може мати довільну кількість будь-якого з 3-х різних фторофорів. Однак у мене змішаний набір частинок, які мають досить чіткі концентрації фторофорів. Наприклад, один набір, як правило, має багато фторофору №1 та трохи фторофору №2, тоді як інший набір має мало №1 та багато №2.

В основному, я хочу відключити ефект переливу, щоб оцінити фактичну кількість кожного фторофору на кожній частинці, а не мати частку сигналу від одного фторофору, додати до сигналу іншої. Здавалося, це стане можливим для ICA, але після деяких суттєвих збоїв (матриця перетворення, здається, надає пріоритет розділенню сукупностей, а не обертається для оптимізації незалежності сигналу), мені цікаво, чи ICA не є правильним рішенням чи мені потрібно попередньо обробити мої дані якимось іншим способом для вирішення цього питання.

Результати алгоритму FastICA з 2 сукупностями в 1 наборі даних

На графіках показані мої синтетичні дані, які використовуються для демонстрації проблеми. Починаючи з "справжніх" джерел (панель A), що складаються з суміші 2 сукупностей, я створив "справжню" матрицю змішування (A) і обчислив матрицю спостереження (X) (панель B). FastICA оцінює матрицю S (показану на панелі C), і замість того, щоб знайти мої справжні джерела, мені здається, що вона обертає дані, щоб мінімізувати коваріацію між двома групами.

Шукаєте будь-які пропозиції чи розуміння.

Відповіді:


1

Концептуально для роботи ICA потрібно N спостережень за явищем SAME, і він спробує розкласти ці сигнали (суміші) на <N компоненти.

З вашого опису кожен детектор рахує різну енергетичну частинку. Тобто «Суміші» - це фактично вже три різні сигнали. Розглянемо приклад, коли ви використовуєте записи 4 різних мікрофонів, щоб спробувати розрізнити два різних (взаємно незалежні) джерела звуку. У цьому випадку кожен мікрофон записує (різну) суму ДУЖКІВ джерел звуку. У вашому випадку через явище, яке ви спостерігаєте, кожен "мікрофон" (детектор) НЕ записує (різну) суму джерел BOTH, а, скоріше, записує кожне джерело окремо (більшість разів).

Як ви описуєте, іноді одна і та ж подія може бути записана більш ніж одним детектором (перелив). У такому випадку, якщо ви наполягаєте на ICA, тоді вона спробує розкласти цю суму.

Тому, можливо, вам слід розглянути щось простіше, як, наприклад, отримання перехресної кореляції між подіями, записаними кожним із трьох різних детекторів, як показник кількості переливу.

Але в цьому випадку замість того, щоб досліджувати 1000 «трійок» спостережень, ви створюєте три різні часові ряди. Один часовий ряд на детектор, що описує події (у часі) кожного детектора.

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

Таким чином, тепер проблема стає такою, коли вам належить вирішити, якому детектору призначити цю подію, щоб вона була правильно підрахована. Існує кілька способів зробити це (не використовуючи ICA), але вам доведеться знати спектральну характеристику вашого детектора (амплітуда імпульсу VS енергії або вихідна напруга VS енергії). Тоді ви зможете створити зважену суму відлічених частинок, шукаючи "вагу" для кожного імпульсу на відповідь вашого детектора. Або ви могли застосувати "вікно" до імпульсів. Тобто враховуйте різкий поріг навколо пікової реакції детектора і підраховуйте лише події, що генерують такі (зазвичай високі) імпульси. Враховуючи коротку область навколо пікової продуктивності детектора, він буде відхиляти (нижчі) імпульси, створені при переливі.

Я сподіваюся, що це допомагає. Я сподіваюся, що ви правильно зрозуміли вашу конфігурацію.


0

Це здається, що ваші "сигнали" не є типом, який підходить для ICA. Однак, здається, ви можете отримати користь від алгоритмів кластеризації, особливо якщо ви знаєте різний сигнал (рівень енергії або довжина хвилі), що очікується від кожного типу фторофору. Ви можете створити ідеальні синтетичні кластери та спільно кластеризувати дані спостережень за допомогою них. Змінюючи кількість кластерів та інших параметрів, ви повинні мати можливість виводити розлив кожного фторофору один в одного як додаткові кластери. Спеціальні або ієрархічні методи кластеризації можуть бути найкращими для цього (на відміну від k-засобів).

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