Bagaimana cara memutihkan data menggunakan analisis komponen utama?

18

Saya ingin mengubah data saya sehingga varians akan menjadi satu dan kovariansi akan menjadi nol (yaitu saya ingin memutihkan datanya). Lebih jauh lagi, berarti harus nol.X

Saya tahu saya akan sampai di sana dengan melakukan standardisasi-Z dan transformasi PCA, tetapi dalam urutan apa saya harus melakukannya?

Saya harus menambahkan bahwa transformasi whitening yang dibuat harus memiliki bentuk .xWx+b

Apakah ada metode yang mirip dengan PCA yang melakukan kedua transformasi ini dan memberi saya rumus dari formulir di atas?

Angelorf
sumber
(Komentar pertama saya didasarkan pada salah membaca pertanyaan Anda.) PCA memberi Anda nol kovarian; Anda dapat membuat standar PC setelahnya jika diinginkan. Kedengarannya aneh untuk dilakukan, tetapi Anda bisa melakukannya.
Nick Cox
@NickCox Mungkin sepertinya aneh karena data yang diubah kemudian berbentuk bola, yang tampaknya tidak informatif. Namun, transformasi yang perlu saya ketahui, dan bukan hasil akhirnya. Saya masih tidak tahu seperti apa transformasi itu nantinya. Saya masih membaca di PCA.
Angelorf

Jawaban:

31

Pertama, Anda mendapatkan nol rata-rata dengan mengurangi rata-rata μ=1Nx .

Kedua, Anda mendapatkan kovarian nol dengan melakukan PCA. Jika adalah matriks kovarian data Anda, maka PCA sama dengan melakukan eigendekomposisi boldsymbol , di mana adalah matriks rotasi ortogonal yang terdiri dari vektor eigen dari , dan adalah matriks diagonal dengan nilai eigen di diagonal. Matrix memberikan rotasi yang diperlukan untuk mende-korelasikan data (yaitu memetakan fitur asli ke komponen utama).ΣΣ=UΛUUΣΛU

Ketiga, setelah rotasi masing-masing komponen akan memiliki varian yang diberikan oleh nilai eigen yang sesuai. Jadi untuk membuat varians sama dengan , Anda harus membaginya dengan akar kuadrat dari .1Λ

Secara keseluruhan, transformasi pemutihan adalah . Anda dapat membuka tanda kurung untuk mendapatkan formulir yang Anda cari.xΛ-1/2U(x-μ)


Memperbarui. Lihat juga utas ini nanti untuk detail lebih lanjut: Apa perbedaan antara ZCA whitening dan PCA whitening?

amuba kata Reinstate Monica
sumber
2
Saya pikir Anda perlu membaginya dengan akar kuadrat dari nilai eigen, karena ini adalah masalah penskalaan oleh SD, bukan varians.
Nick Cox
@NickCox: ya, tentu saja Anda benar. Saya mengoreksi jawaban saya. Terima kasih!
Amuba kata Reinstate Monica
1
Saya telah memverifikasi formula ini secara empiris. Terima kasih telah membantuku!
Angelorf