Posso utilizzare l'analisi indipendente dei componenti se ho due popolazioni discrete di sorgenti di segnale mescolate insieme?


10

Capisco (principalmente) come funziona l'analisi indipendente dei componenti (ICA) su un insieme di segnali da una popolazione, ma non riesco a farlo funzionare se le mie osservazioni (matrice X) includono segnali da due diverse popolazioni (con mezzi diversi) e I Mi chiedo se si tratti di una limitazione intrinseca dell'ICA o se posso risolverlo. I miei segnali sono diversi dal tipo comune analizzato in quanto i miei vettori sorgente sono molto brevi (ad esempio 3 valori di lunghezza), ma ho molte (ad esempio migliaia di) osservazioni. In particolare, sto misurando la fluorescenza in 3 colori in cui i segnali di fluorescenza ampia possono "riversarsi" in altri rivelatori. Ho 3 rilevatori e utilizzo 3 diversi fluorofori sulle particelle. Si potrebbe pensare a questo come a una spettroscopia di risoluzione molto scarsa. Qualsiasi particella fluorescente potrebbe avere una quantità arbitraria di uno dei 3 diversi fluorofori. Tuttavia, ho un insieme misto di particelle che tendono ad avere concentrazioni abbastanza distinte di fluorofori. Ad esempio, un set può generalmente avere un sacco di fluoroforo # 1 e poco fluoroforo # 2, mentre l'altro set ha poco di # 1 e molto di # 2.

Fondamentalmente, voglio deconvolgere l'effetto spillover per stimare la quantità effettiva di ciascun fluoroforo su ciascuna particella, piuttosto che avere una frazione del segnale da un fluoroforo che si aggiunge al segnale di un altro. Sembra che questo sarebbe possibile per l'ICA, ma dopo alcuni fallimenti significativi (la trasformazione della matrice sembra dare la priorità alla separazione delle popolazioni piuttosto che alla rotazione per ottimizzare l'indipendenza del segnale), mi chiedo se l'ICA non sia la soluzione giusta o se ho bisogno di pre-elaborare i miei dati in qualche altro modo per risolvere questo problema.

Risultati dell'algoritmo FastICA con 2 popolazioni in 1 set di dati

I grafici mostrano i miei dati sintetici utilizzati per dimostrare il problema. Partendo da fonti "vere" (pannello A) costituite da una miscela di 2 popolazioni, ho creato una matrice "vera" di miscelazione (A) e ho calcolato la matrice di osservazione (X) (pannello B). FastICA stima la matrice S (mostrata nel pannello C) e invece di trovare le mie vere fonti, mi sembra che ruoti i dati per minimizzare la covarianza tra le 2 popolazioni.

Alla ricerca di suggerimenti o approfondimenti.

Risposte:


1

Concettualmente, affinché l'ICA funzioni, richiede N osservazioni del fenomeno SAME e tenterà di scomporre questi segnali (le miscele) in <N componenti.

Dalla tua descrizione ogni rivelatore sta contando una diversa particella di energia. Cioè, le "miscele" sono in realtà già tre segnali diversi. Considera l'esempio in cui usi le registrazioni di 4 microfoni diversi per cercare di distinguere tra 2 fonti sonore diverse (reciprocamente indipendenti). In questo caso, ciascun microfono sta registrando una (diversa) somma di ENTRAMBE le fonti sonore. Nel tuo caso, a causa del fenomeno che stai osservando, ogni "microfono" (rivelatore) NON registra una (diversa) somma di ENTRAMBE le fonti, ma piuttosto registra ciascuna fonte separatamente (la maggior parte delle volte).

Come descrivi, a volte l'evento SAME potrebbe essere registrato da più di un rivelatore (spill-over). In questo caso, se insisti con l'ICA, tenterebbe di scomporre QUESTA somma.

Pertanto, forse dovresti considerare qualcosa di più semplice, come ottenere la correlazione incrociata tra gli eventi registrati da ciascuno dei tre diversi rivelatori come indicatore della quantità di ricaduta.

Ma in questo caso, invece di esaminare 1000 "terzine" di osservazioni, si creano tre diverse serie temporali. Una serie temporale per rivelatore che descrive gli eventi (nel tempo) di ciascun rivelatore.

Se i tuoi rivelatori e aparatus sono abbastanza veloci, questo segnale sembrerà una serie di impulsi in decomposizione esponenziale. In caso contrario, il segnale apparirà come un treno di impulsi contorti con la risposta all'impulso del sistema (una versione smussata). In entrambi i casi, se lo stesso evento è stato rilevato da più di un rivelatore, l'output di questi rivelatori aumenterà simultaneamente di livello (e aumenterà la correlazione incrociata o qualche altra forma di metrica di correlazione). Sarà più facile rilevare quell'aumento nel primo caso (sistema veloce).

Pertanto, il problema ora diventa quello in cui devi decidere a quale rivelatore assegnare quell'evento affinché venga conteggiato correttamente. Esistono diversi modi in cui puoi farlo (non usando ICA) ma dovrai conoscere la risposta spettrale del tuo rivelatore (ampiezza dell'impulso VS energia o tensione VS energia VS). Saresti quindi in grado di creare una somma ponderata delle particelle contate cercando il "peso" per ciascun impulso sulla risposta del tuo rivelatore. Oppure potresti applicare una "finestra" agli impulsi. Ossia, considera una soglia netta attorno alla risposta di picco del rivelatore e conta solo gli eventi che generano tali impulsi (solitamente alti). Considerando una breve regione attorno alle prestazioni di picco del rivelatore, si respingono gli impulsi (inferiori) creati dallo spill-over.

Spero che questo possa essere d'aiuto. Spero di aver compreso correttamente la tua configurazione.


0

Sembra che i tuoi "segnali" non siano del tipo adatto per ICA. Tuttavia, sembra che potresti trarre vantaggio dagli algoritmi di clustering, soprattutto se conosci il segnale distinto (livello di energia o lunghezza d'onda) atteso da ciascun tipo di fluoroforo. È possibile creare i cluster sintetici ideali e raggruppare insieme i dati osservativi. Variando la quantità di cluster e altri parametri, dovresti essere in grado di far fuoriuscire la fuoriuscita di ciascun fluoroforo l'uno nell'altro come cluster aggiuntivi. I metodi di raggruppamento spettrale o gerarchico potrebbero essere i migliori per questo (al contrario di k-medie).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.