Dapatkah saya menggunakan analisis komponen independen jika saya memiliki dua populasi sumber sinyal yang bercampur menjadi satu?

10

Saya mengerti (kebanyakan) bagaimana analisis komponen independen (ICA) bekerja pada satu set sinyal dari satu populasi, tetapi saya gagal membuatnya bekerja jika pengamatan saya (matriks X) menyertakan sinyal dari dua populasi yang berbeda (memiliki cara yang berbeda) dan saya Saya bertanya-tanya apakah ini merupakan batasan yang melekat pada ICA atau apakah saya dapat menyelesaikannya. Sinyal saya berbeda dari tipe umum yang dianalisis karena vektor sumber saya sangat pendek (misalnya 3 nilai panjang), tetapi saya memiliki banyak (misalnya 1000-an) pengamatan. Secara khusus, saya mengukur fluoresensi dalam 3 warna di mana sinyal fluoresensi luas dapat "menyebar" ke detektor lain. Saya memiliki 3 detektor dan menggunakan 3 fluorofor berbeda pada partikel. Orang bisa menganggap ini sebagai spektroskopi resolusi sangat buruk. Setiap partikel fluoresens dapat memiliki jumlah sewenang-wenang salah satu dari 3 fluorofor yang berbeda. Namun, saya memiliki seperangkat partikel campuran yang cenderung memiliki konsentrasi fluorofor yang cukup berbeda. Sebagai contoh, satu set umumnya memiliki banyak fluorofor # 1 dan sedikit fluorofor # 2, sedangkan yang lain memiliki sedikit # 1 dan banyak # 2.

Pada dasarnya, saya ingin mendekonvolusi efek limpahan untuk memperkirakan jumlah aktual masing-masing fluorofor pada setiap partikel, daripada memiliki fraksi sinyal dari satu fluorofor menambah sinyal yang lain. Sepertinya ini akan mungkin untuk ICA, tetapi setelah beberapa kegagalan yang signifikan (transformasi matriks tampaknya memprioritaskan memisahkan populasi daripada memutar untuk mengoptimalkan sinyal independen), saya bertanya-tanya apakah ICA bukan solusi yang tepat atau jika saya perlu pra-proses data saya dengan cara lain untuk mengatasinya.

Hasil algoritma FastICA dengan 2 populasi dalam 1 set data

Grafik menunjukkan data sintetis saya yang digunakan untuk menunjukkan masalah. Dimulai dengan sumber "benar" (panel A) yang terdiri dari campuran 2 populasi, saya membuat matriks "benar" pencampuran (A) dan menghitung pengamatan (X) matriks (panel B). FastICA memperkirakan matriks S (diperlihatkan dalam panel C) dan alih-alih menemukan sumber saya yang sebenarnya, bagi saya tampaknya merotasi data untuk meminimalkan kovarian antara 2 populasi.

Mencari saran atau wawasan.

Edward
sumber

Jawaban:

1

Secara konseptual, agar ICA dapat berfungsi, diperlukan pengamatan N terhadap fenomena SAMA dan akan berusaha menguraikan sinyal-sinyal ini (campuran) menjadi <N komponen.

Dari deskripsi Anda, setiap detektor menghitung partikel energi yang berbeda. Artinya, "Campuran" sebenarnya sudah tiga sinyal berbeda. Pertimbangkan contoh di mana Anda menggunakan rekaman dari 4 mikrofon yang berbeda untuk mencoba dan membedakan antara 2 sumber suara yang berbeda (tidak saling tergantung). Dalam hal ini setiap mikrofon merekam jumlah sumber suara KEDUA (berbeda). Dalam kasus Anda, karena fenomena yang Anda amati, setiap "mikrofon" (detektor) BUKAN merekam jumlah (berbeda) sumber KEDUA, melainkan merekam setiap sumber secara terpisah (sebagian besar waktu).

Seperti yang Anda gambarkan, kadang-kadang, peristiwa SAMA itu dapat direkam oleh lebih dari satu detektor (limpahan). Dalam hal ini, jika Anda bersikeras dengan ICA maka ia akan mencoba untuk menguraikan jumlah tersebut.

Oleh karena itu, mungkin Anda harus mempertimbangkan sesuatu yang lebih sederhana, seperti memperoleh korelasi silang antara peristiwa yang dicatat oleh masing-masing dari tiga detektor yang berbeda sebagai indikator jumlah tumpahan.

Tetapi dalam kasus ini, alih-alih memeriksa 1000 "kembar tiga" pengamatan, Anda membuat tiga seri waktu yang berbeda. Satu deret waktu per detektor yang menggambarkan peristiwa (dalam waktu) masing-masing detektor.

Jika detektor dan peralatan Anda cukup cepat, sinyal ini akan terlihat seperti serangkaian pulsa yang membusuk secara eksponensial. Jika tidak, sinyal Anda akan terlihat seperti rangkaian pulsa yang dililit dengan respons impuls sistem (versi yang diperhalus). Dalam kedua kasus, jika peristiwa yang sama telah terdeteksi oleh lebih dari satu detektor maka output dari detektor ini secara bersamaan akan naik level (dan meningkatkan korelasi silang atau beberapa bentuk lain dari metrik korelasi). Akan lebih mudah untuk mendeteksi kenaikan pada kasus pertama (sistem cepat).

Oleh karena itu, masalahnya sekarang menjadi masalah di mana Anda harus memutuskan detektor mana yang akan menentukan peristiwa tersebut agar dapat dihitung dengan benar. Ada sejumlah cara yang dapat Anda lakukan ini (tidak menggunakan ICA) tetapi Anda harus mengetahui respons spektral detektor Anda (Amplitudo energi VS atau energi Tegangan output VS energi). Anda kemudian dapat membuat jumlah tertimbang dari partikel yang dihitung dengan mencari "berat" untuk setiap pulsa pada respons detektor Anda. Atau Anda bisa menerapkan "jendela" ke pulsa. Artinya, pertimbangkan ambang yang tajam di sekitar respons puncak detektor dan hanya menghitung peristiwa yang menghasilkan pulsa (biasanya tinggi) seperti itu. Mempertimbangkan wilayah pendek di sekitar kinerja puncak detektor akan menolak pulsa (lebih rendah) yang diciptakan oleh spill-over.

Saya harap ini membantu. Saya harap Anda mengerti konfigurasi Anda dengan benar.

A A
sumber
0

Kedengarannya seperti "sinyal" Anda bukan jenis yang cocok untuk ICA. Namun, Anda mungkin mendapat manfaat dari algoritma pengelompokan, terutama jika Anda mengetahui sinyal berbeda (tingkat energi atau panjang gelombang) yang diharapkan dari masing-masing jenis fluorophore. Anda bisa membuat cluster sintetik yang ideal dan mengelompokkan data pengamatan dengan itu. Dengan memvariasikan jumlah kluster dan parameter lainnya, Anda harus dapat mengeluarkan tumpahan dari masing-masing fluorofor menjadi satu sama lain sebagai kluster tambahan. Metode spektral atau hierarkis mungkin yang terbaik untuk ini (bukan k-means).

wwwslinger
sumber