Kann ich eine unabhängige Komponentenanalyse verwenden, wenn zwei diskrete Populationen von Signalquellen miteinander vermischt sind?


10

Ich verstehe (meistens), wie die unabhängige Komponentenanalyse (ICA) mit einer Reihe von Signalen aus einer Population funktioniert, aber ich kann sie nicht zum Funktionieren bringen, wenn meine Beobachtungen (X-Matrix) Signale aus zwei verschiedenen Populationen (mit unterschiedlichen Mitteln) und mir enthalten Ich frage mich, ob es eine inhärente Einschränkung von ICA ist oder ob ich dies beheben kann. Meine Signale unterscheiden sich von dem üblichen Typ, der analysiert wird, darin, dass meine Quellvektoren sehr kurz sind (z. B. 3 Werte lang), aber ich habe viele (z. B. 1000) Beobachtungen. Insbesondere messe ich die Fluoreszenz in 3 Farben, wobei die breiten Fluoreszenzsignale in andere Detektoren "überlaufen" können. Ich habe 3 Detektoren und benutze 3 verschiedene Fluorophore auf Partikeln. Man könnte sich dies als eine Spektroskopie mit sehr schlechter Auflösung vorstellen. Jedes fluoreszierende Teilchen kann eine beliebige Menge eines der 3 verschiedenen Fluorophore aufweisen. Ich habe jedoch einen gemischten Satz von Partikeln, die dazu neigen, ziemlich unterschiedliche Konzentrationen an Fluorophoren zu haben. Zum Beispiel kann ein Satz im Allgemeinen viel Fluorophor Nr. 1 und wenig Fluorophor Nr. 2 enthalten, während der andere Satz wenig Nr. 1 und viel Nr. 2 enthält.

Grundsätzlich möchte ich den Spillover-Effekt auflösen, um die tatsächliche Menge jedes Fluorophors auf jedem Partikel abzuschätzen, anstatt einen Bruchteil des Signals von einem Fluorophor zum Signal eines anderen zu addieren. Es schien, als wäre dies für ICA möglich, aber nach einigen signifikanten Fehlern (die Matrixtransformation scheint die Trennung der Populationen zu priorisieren, anstatt sich zu drehen, um die Signalunabhängigkeit zu optimieren) frage ich mich, ob ICA nicht die richtige Lösung ist oder ob ich muss Verarbeiten Sie meine Daten auf andere Weise vor, um dies zu beheben.

Ergebnisse des FastICA-Algorithmus mit 2 Populationen in 1 Datensatz

Die Grafiken zeigen meine synthetischen Daten, die zur Demonstration des Problems verwendet wurden. Ausgehend von "wahren" Quellen (Tafel A), die aus einer Mischung von 2 Populationen bestehen, habe ich eine "wahre" Mischungsmatrix (A) erstellt und die Beobachtungsmatrix (X) berechnet (Tafel B). FastICA schätzt die S-Matrix (siehe Tafel C) und anstatt meine wahren Quellen zu finden, scheint es mir, dass es die Daten dreht, um die Kovarianz zwischen den beiden Populationen zu minimieren.

Suchen Sie nach Anregungen oder Einsichten.

Antworten:


1

Damit ICA funktioniert, sind konzeptionell N Beobachtungen des gleichen Phänomens erforderlich, und es wird versucht, diese Signale (die Gemische) in <N Komponenten zu zerlegen.

Nach Ihrer Beschreibung zählt jeder Detektor ein anderes Energieteilchen. Das heißt, die "Gemische" sind eigentlich schon drei verschiedene Signale. Betrachten Sie das Beispiel, in dem Sie die Aufnahmen von 4 verschiedenen Mikrofonen verwenden, um zwischen 2 verschiedenen (voneinander unabhängigen) Tonquellen zu unterscheiden. In diesem Fall zeichnet jedes Mikrofon eine (andere) Summe BEIDER Schallquellen auf. In Ihrem Fall zeichnet aufgrund des beobachteten Phänomens jedes "Mikrofon" (Detektor) NICHT eine (andere) Summe BEIDER Quellen auf, sondern zeichnet jede Quelle separat auf (meistens).

Wie Sie beschreiben, kann das gleiche Ereignis manchmal von mehr als einem Detektor aufgezeichnet werden (Überlauf). In diesem Fall würde es versuchen, DIESE Summe zu zerlegen, wenn Sie auf ICA bestehen.

Daher sollten Sie vielleicht etwas Einfacheres in Betracht ziehen, z. B. die Kreuzkorrelation zwischen den Ereignissen, die von jedem der drei verschiedenen Detektoren aufgezeichnet wurden, als Indikator für das Ausmaß des Überlaufs.

In diesem Fall erstellen Sie jedoch drei verschiedene Zeitreihen, anstatt 1000 "Drillinge" von Beobachtungen zu untersuchen. Eine Zeitreihe pro Detektor, die die Ereignisse (in der Zeit) jedes Detektors beschreibt.

Wenn Ihre Detektoren und Ihr Gerät schnell genug sind, sieht dieses Signal wie eine Reihe exponentiell abfallender Impulse aus. Wenn nicht, sieht Ihr Signal aus wie eine Folge von Impulsen, die mit der Impulsantwort des Systems gefaltet sind (eine geglättete Version). In beiden Fällen steigt der Pegel der Ausgabe dieser Detektoren gleichzeitig an, wenn dasselbe Ereignis von mehr als einem Detektor erfasst wurde (und erhöht die Kreuzkorrelation oder eine andere Form der Korrelationsmetrik). Dieser Anstieg ist im ersten Fall leichter zu erkennen (schnelles System).

Daher wird das Problem jetzt zu einem Problem, bei dem Sie entscheiden müssen, welchem ​​Detektor dieses Ereignis zugewiesen werden soll, damit es korrekt gezählt wird. Es gibt eine Reihe von Möglichkeiten, wie Sie dies tun können (ohne ICA), aber Sie müssen die spektrale Antwort Ihres Detektors kennen (Pulsamplitude VS Energie oder Spannungsausgang VS Energie). Sie können dann eine gewichtete Summe der gezählten Partikel erstellen, indem Sie das "Gewicht" für jeden Impuls in der Antwort Ihres Detektors nachschlagen. Oder Sie können ein "Fenster" auf die Impulse anwenden. Das heißt, betrachten Sie eine scharfe Schwelle um die Spitzenantwort des Detektors und zählen Sie nur Ereignisse, die solche (normalerweise hohen) Impulse erzeugen. Wenn ein kurzer Bereich um die Spitzenleistung des Detektors betrachtet wird, werden die durch Überlauf erzeugten (niedrigeren) Impulse zurückgewiesen.

Ich hoffe das hilft. Ich hoffe, Ihre Konfiguration richtig verstanden zu haben.


0

Es hört sich so an, als wären Ihre "Signale" nicht für ICA geeignet. Es scheint jedoch, dass Sie von Clustering-Algorithmen profitieren könnten, insbesondere wenn Sie das unterschiedliche Signal (Energieniveau oder Wellenlänge) kennen, das von jedem Fluorophortyp erwartet wird. Sie können die idealen synthetischen Cluster erstellen und die Beobachtungsdaten damit zusammenclustern. Durch Variieren der Anzahl von Clustern und anderen Parametern sollten Sie in der Lage sein, den Überlauf jedes Fluorophors als zusätzliche Cluster ineinander zu entfernen. Hierfür sind möglicherweise spektrale oder hierarchische Clustering-Methoden am besten geeignet (im Gegensatz zu k-means).

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.