Apa saja langkah pra-pemrosesan yang tepat untuk melakukan Analisis Komponen Independen?


17

Apa langkah yang tepat untuk memproses ulang bentuk gelombang saya untuk melakukan analisis komponen independen (ICA) nanti? Saya mengerti caranya, meskipun penjelasan lebih lanjut tentang itu tidak ada salahnya, tapi saya lebih tertarik pada alasannya.


Saya tidak yakin mengapa Anda perlu preprocessing. Apakah ada alasan khusus?
Phonon

@ Phonon Saya telah menemui penyelidik yang telah memutar data mereka sebelum melakukan ICA di situ. Saya hanya ingin tahu apakah ada metode standar.
jonsca

Sangat menarik. Saya ingin melihat jawaban yang konstruktif.
Phonon

1
Dalam kasus analisis spektral pada sinyal EEG, orang memutihkan untuk mengurangi efek dominasi bentuk spektrum , yang sering menyembunyikan hal-hal menarik pada frekuensi tinggi. Setidaknya ada sedikit diskusi tentang ini di sini di bahan tambahan. Apakah ini merupakan trik umum sebelum ICA pada khususnya, tidak yakin. Apakah sinyal EEG / MEG / LFP aplikasi Anda? Mungkin seseorang yang melakukan ICA dapat menyempurnakan ini menjadi jawaban penuh, jika dugaan saya benar. Pertanyaan menarik - Saya akan membacanya. 1/f
ImAlsoGreg

1
@Gigili Itu juga bagian dari pertanyaan. Mana yang dianggap sebagai langkah normal?
jonsca

Jawaban:


15

Independen analisis komponen (ICA) digunakan untuk memisahkan linear campuran statistik independen dan yang paling penting, non-Gaussian komponen ke konstituennya. Model standar untuk ICA bebas noise adalah

x=SEBUAHs

di mana adalah vektor pengamatan atau data, s adalah sumber sinyal / komponen asli (non-Gaussian) dan A adalah vektor transformasi yang mendefinisikan pencampuran linier dari sinyal konstituen. Biasanya, A dan s tidak diketahui.xsSEBUAHSEBUAHs

Pra-pemrosesan

Ada dua strategi pra-pemrosesan utama dalam ICA, yaitu pemusatan dan pemutihan / pengerasan. Alasan utama untuk pra-pemrosesan adalah:

  • Penyederhanaan algoritma
  • Pengurangan dimensi masalah
  • Pengurangan jumlah parameter yang akan diestimasi.
  • Fitur-fitur utama dari kumpulan data tidak mudah dijelaskan dengan mean dan kovarians.

Dari pengantar G. Li dan J. Zhang, "Sphering dan propertinya", The Indian Journal of Statistics, Vol. 60, Seri A, Bagian I, hlm. 119-133, 1998:

Pencilan, kelompok atau kelompok lain, dan konsentrasi di dekat kurva atau permukaan yang tidak rata mungkin merupakan fitur penting yang menarik minat analis data. Mereka, secara umum, tidak dapat diperoleh hanya melalui pengetahuan tentang mean sampel dan matriks kovarians. Dalam keadaan ini, diinginkan untuk memisahkan informasi yang terkandung dalam mean dan matriks kovarians dan memaksa kita untuk memeriksa aspek set data kami selain dari sifat yang dipahami dengan baik. Centering dan sphering adalah pendekatan sederhana dan intuitif yang menghilangkan informasi mean-kovarians dan membantu menyoroti struktur di luar korelasi linier dan bentuk elips, dan karenanya sering dilakukan sebelum menjelajahi tampilan atau analisis kumpulan data

1. Pemusatan:

Pemusatan adalah operasi yang sangat sederhana dan hanya merujuk pada pengurangan rata-rata . Dalam praktiknya, Anda menggunakan mean sampel dan membuat vektor baru x c = x - ¯ x , di mana ¯ x adalah rata-rata data. Secara geometris, mengurangkan rata-rata setara dengan menerjemahkan pusat koordinat ke asal. Mean selalu dapat ditambahkan kembali ke hasil akhir (ini dimungkinkan karena perkalian matriks adalah distributif).E{x}xc=x-x¯x¯

2. Pemutih:

Whitening adalah transformasi yang mengubah data sedemikian rupa sehingga memiliki kovarians matriks identitas, yaitu, . Biasanya, Anda bekerja dengan matriks kovarians sampel,E{xcxcT}=saya

Σ^=C.xcxcT

di mana hanyalah placeholder malas saya untuk faktor normalisasi yang sesuai (tergantung pada dimensi x ). Vektor putih baru dibuat sebagaiCx

xw=Σ^-1/2xc

yang akan memiliki kovarians dari . Secara geometris, pemutihan adalah transformasi penskalaan . Berikut adalah contoh kecil dalam Mathematica:saya

s = RandomReal[{-1, 1}, {2000, 2}];
A = {{2, 3}, {4, 2}};
x = s.A;
whiteningMatrix = Inverse@CholeskyDecomposition[Transpose@x.x/Length@x];
y = x.whiteningMatrix;
FullGraphics@GraphicsRow[
  ListPlot[#, AspectRatio -> 1, Frame -> True] & /@ {s, x, y}]

masukkan deskripsi gambar di sini

Plot pertama adalah densitas gabungan dari dua vektor acak yang terdistribusi seragam, atau komponen . Kedua menunjukkan efek mengalikan oleh vektor transformasi A . Alun-alun akan miring dan diskalakan menjadi belah ketupat. Dengan mengalikan dengan matriks pemutih, kerapatan sambungan kembali ke kotak yang sedikit diputar dari aslinya.sSEBUAH

xw=SEBUAHwswSEBUAHw

E{xwxwT}=E{SEBUAHwsw(SEBUAHwsw)T}=SEBUAHwE{swswT}SEBUAHwT=SEBUAHwSEBUAHwT=saya

ssayaSEBUAH

Jika, setelah transformasi, ada nilai eigen mendekati nol, maka ini dapat dibuang dengan aman karena hanya noise dan hanya akan menghambat estimasi karena "pembelajaran berlebihan".

3. Pra-pemrosesan lainnya

Mungkin ada langkah-langkah pra-pemrosesan lain yang terlibat dalam aplikasi spesifik tertentu yang tidak mungkin dibahas dalam jawaban. Sebagai contoh, saya telah melihat beberapa artikel yang menggunakan log seri-waktu dan beberapa lainnya yang memfilter seri-waktu. Meskipun mungkin cocok untuk aplikasi / kondisi khusus mereka, hasilnya tidak terbawa ke semua bidang.

Saya percaya dimungkinkan untuk menggunakan ICA jika paling banyak salah satu komponennya adalah Gaussian, meskipun saya tidak dapat menemukan referensi untuk ini sekarang.


Kenapa disebut "sphering"?

nn{-1,1}NormalDistribution[]

masukkan deskripsi gambar di sini

Yang pertama adalah kepadatan bersama untuk dua Gauss yang tidak berkorelasi, yang kedua di bawah transformasi dan yang ketiga setelah pemutihan. Dalam praktiknya hanya langkah 2 dan 3 yang terlihat.


2
Wow, saya perlu sedikit untuk memahami semuanya, tapi terima kasih itu meremehkan!
jonsca

Maaf, saya pikir saya sudah menerimanya.
jonsca
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.