Puis-je utiliser l'analyse de composants indépendants si j'ai deux populations discrètes de sources de signaux mélangées ensemble?

10

Je comprends (principalement) comment l'analyse indépendante des composants (ICA) fonctionne sur un ensemble de signaux provenant d'une population, mais je n'arrive pas à le faire fonctionner si mes observations (matrice X) incluent des signaux de deux populations différentes (ayant des moyens différents) et je Je me demande si c'est une limitation inhérente à l'ICA ou si je peux résoudre ce problème. Mes signaux sont différents du type courant analysé en ce que mes vecteurs sources sont très courts (par exemple 3 valeurs de long), mais j'ai beaucoup (par exemple 1000) d'observations. Plus précisément, je mesure la fluorescence en 3 couleurs où les signaux de fluorescence larges peuvent «déborder» dans d'autres détecteurs. J'ai 3 détecteurs et j'utilise 3 fluorophores différents sur les particules. On pourrait penser à cela comme une spectroscopie de très mauvaise résolution. Toute particule fluorescente pourrait avoir une quantité arbitraire de l'un des 3 fluorophors différents. Cependant, j'ai un ensemble mixte de particules qui ont tendance à avoir des concentrations assez distinctes de fluorophores. Par exemple, un ensemble peut généralement avoir beaucoup de fluorophore # 1 et peu de fluorophore # 2, tandis que l'autre ensemble a peu de # 1 et beaucoup de # 2.

Fondamentalement, je veux déconvoluer l'effet de débordement pour estimer la quantité réelle de chaque fluorophore sur chaque particule, plutôt que d'avoir une fraction de signal d'un fluorophore à ajouter au signal d'une autre. Il semblait que cela serait possible pour ICA, mais après quelques échecs importants (la transformation matricielle semble prioriser la séparation des populations plutôt que la rotation pour optimiser l'indépendance du signal), je me demande si ICA n'est pas la bonne solution ou si je dois prétraiter mes données d'une autre manière pour y remédier.

Résultats de l'algorithme FastICA avec 2 populations dans 1 jeu de données

Les graphiques montrent mes données synthétiques utilisées pour démontrer le problème. En partant de "vraies" sources (panel A) constituées d'un mélange de 2 populations, j'ai créé une "vraie" matrice de mixage (A) et calculé la matrice d'observation (X) (panel B). FastICA estime la matrice S (présentée dans le panneau C) et au lieu de trouver mes vraies sources, il me semble qu'elle fait tourner les données pour minimiser la covariance entre les 2 populations.

Vous cherchez des suggestions ou des idées.

Edward
la source

Réponses:

1

Conceptuellement, pour que l'ICA fonctionne, il nécessite N observations du même phénomène et il tentera de décomposer ces signaux (les mélanges) en <N composants.

D'après votre description, chaque détecteur compte une particule d'énergie différente. Autrement dit, les «mélanges» sont en fait déjà trois signaux différents. Prenons l'exemple où vous utilisez les enregistrements de 4 microphones différents pour essayer de distinguer entre 2 sources sonores différentes (indépendantes les unes des autres). Dans ce cas, chaque microphone enregistre une somme (différente) des DEUX sources sonores. Dans votre cas, en raison du phénomène que vous observez, chaque "microphone" (détecteur) n'enregistre PAS une somme (différente) des DEUX sources, mais enregistre plutôt chaque source séparément (la plupart du temps).

Comme vous le décrivez, parfois, le MÊME événement peut être enregistré par plusieurs détecteurs (débordement). Dans ce cas, si vous insistez auprès de l'ICA, il tentera de décomposer CETTE somme.

Par conséquent, vous devriez peut-être envisager quelque chose de plus simple, comme obtenir la corrélation croisée entre les événements enregistrés par chacun des trois détecteurs différents comme indicateur de la quantité de retombées.

Mais dans ce cas, au lieu d'examiner 1000 "triplets" d'observations, vous créez trois séries chronologiques différentes. Une série chronologique par détecteur décrivant les événements (dans le temps) de chaque détecteur.

Si vos détecteurs et votre appareil sont assez rapides, ce signal ressemblera à une série d'impulsions à décroissance exponentielle. Sinon, votre signal ressemblera à un train d'impulsions convolué avec la réponse impulsionnelle du système (une version lissée). Dans les deux cas, si le même événement a été détecté par plusieurs détecteurs, la sortie de ces détecteurs augmentera simultanément de niveau (et augmentera la corrélation croisée ou une autre forme de mesure de corrélation). Il sera plus facile de détecter cette augmentation dans le premier cas (système rapide).

Par conséquent, le problème devient maintenant celui où vous devez décider à quel détecteur attribuer cet événement pour qu'il soit compté correctement. Il existe un certain nombre de façons de le faire (sans utiliser ICA), mais vous devrez connaître la réponse spectrale de votre détecteur (amplitude d'impulsion VS énergie ou tension de sortie VS énergie). Vous seriez alors en mesure de créer une somme pondérée des particules comptées en recherchant le "poids" pour chaque impulsion sur la réponse de votre détecteur. Ou vous pouvez appliquer une "fenêtre" aux impulsions. Autrement dit, considérez un seuil net autour de la réponse de crête du détecteur et ne comptez que les événements qui génèrent de telles impulsions (généralement élevées). En considérant une courte région autour de la performance maximale du détecteur, les impulsions (inférieures) créées par le débordement seront rejetées.

J'espère que ça aide. J'espère avoir bien compris votre configuration.

A_A
la source
0

Il semble que vos "signaux" ne soient pas du type adapté à l'ICA. Cependant, il semble que vous puissiez bénéficier d'algorithmes de clustering, surtout si vous connaissez le signal distinct (niveau d'énergie ou longueur d'onde) attendu de chaque type de fluorophore. Vous pouvez créer les clusters synthétiques idéaux et regrouper les données d'observation avec. En faisant varier la quantité de grappes et d'autres paramètres, vous devriez pouvoir faire ressortir le débordement de chaque fluorophore les uns dans les autres en tant que grappes supplémentaires. Les méthodes de regroupement spectral ou hiérarchique pourraient être les meilleures pour cela (par opposition aux k-moyennes).

wwwslinger
la source