Saya memiliki dataset yang memiliki data kontinu dan kategorikal. Saya menganalisis dengan menggunakan PCA dan saya bertanya-tanya apakah boleh memasukkan variabel kategori sebagai bagian dari analisis. Pemahaman saya adalah bahwa PCA hanya dapat diterapkan pada variabel kontinu. Apakah itu benar? Jika tidak dapat digunakan untuk data kategorikal, alternatif apa yang ada untuk analisisnya?
categorical-data
pca
correspondence-analysis
mixed-type-data
Nikolina Icitovic
sumber
sumber
Jawaban:
Meskipun PCA yang diterapkan pada data biner akan menghasilkan hasil yang sebanding dengan yang diperoleh dari Analisis Korespondensi Berganda (skor faktor dan nilai eigen terkait linier), ada teknik yang lebih tepat untuk menangani tipe data campuran, yaitu Analisis Faktor Ganda untuk data campuran yang tersedia di yang FactoMineR paket R (
AFDM()
). Jika variabel Anda dapat dianggap sebagai subset terstruktur dari atribut deskriptif, maka Analisis Faktor Berganda (MFA()
) juga merupakan pilihan.Tantangan dengan variabel kategori adalah untuk menemukan cara yang cocok untuk mewakili jarak antara kategori variabel dan individu dalam ruang faktorial. Untuk mengatasi masalah ini, Anda dapat mencari transformasi non-linear dari setiap variabel - apakah itu nominal, ordinal, polinomial, atau numerik - dengan penskalaan optimal. Hal ini juga dijelaskan dalam Metode Gifi untuk Scaling Optimal di R: Paket homals , dan implementasi tersedia dalam paket R yang sesuai homals .
sumber
Although a PCA applied on binary data would yield results comparable to those obtained from a Multiple Correspondence Analysis
bisakah kita tidak mengonversi variabel kategori nominal (misalkan dengan kardinalitas N) menjadi kumpulan (N-1) boneka biner dan kemudian melakukan PCA pada data ini? (Saya mengerti ada teknik yang lebih tepat)Pencarian Google "pca untuk variabel diskrit" memberikan ikhtisar yang bagus ini oleh S. Kolenikov (@StasK) dan G. Angeles. Untuk menambah jawaban chl, analisis PC benar-benar analisis vektor eigen dari matriks kovarians. Jadi masalahnya adalah bagaimana cara menghitung matriks kovarian yang "benar". Salah satu pendekatan adalah menggunakan korelasi polikorik .
sumber
hetcor()
dari paket polycor ). Asalkan matriks VC adalah SDP, itu harus melakukan pekerjaan - sebagian besar dalam semangat Analisis Faktor. Variabel nominal mungkin diberi kode dummy.Saya menyarankan untuk melihat Linting & Kooij, 2012 " Analisis komponen utama non-linier dengan CATPCA: tutorial ", Journal of Personality Assessment ; 94 (1).
sumber
Saya belum mendapatkan hak istimewa untuk mengomentari posting seseorang jadi saya menambahkan komentar saya sebagai jawaban yang terpisah, jadi tolong ikut saya.
Melanjutkan apa yang dikomentari @Martin F, baru-baru ini saya menemukan PCA nonlinear. Saya melihat ke PCL nonlinear sebagai alternatif yang memungkinkan ketika variabel kontinu mendekati distribusi variabel ordinal karena data menjadi lebih jarang (itu terjadi dalam genetika banyak kali ketika frekuensi alel kecil dari variabel semakin rendah dan lebih rendah dan Anda ditinggalkan dengan jumlah hitungan yang sangat rendah di mana Anda tidak dapat membenarkan distribusi variabel kontinu dan Anda harus melonggarkan asumsi distribusi dengan menjadikannya variabel ordinal atau variabel kategorikal.) PCA non linier dapat menangani kedua kondisi ini tetapi setelah berdiskusi dengan maestro statistik di fakultas genetika, seruan konsensus adalah bahwa PCA Nonlinier tidak sering digunakan dan perilaku PCA tersebut belum diuji secara luas (mungkin itu hanya merujuk pada bidang genetika, jadi silakan bawa dengan butiran garam). Memang itu pilihan yang menarik. Saya harap saya telah menambahkan 2 sen (untungnya relevan) untuk diskusi.
sumber
Ada pendekatan yang baru-baru ini dikembangkan untuk masalah-masalah seperti itu: Generalized Low Rank Models .
Salah satu makalah yang menggunakan teknik ini bahkan disebut PCA pada Bingkai Data .
PCA dapat diajukan seperti ini:
The 'digeneralisasi' dari GLRM singkatan mengubah ke sesuatu yang lain dan menambahkan istilah regularisasi.∥⋅∥2F
sumber
PCAmixdata
Paket #Rstats :Contoh dari sketsa menunjukkan hasil untuk keluaran kontinu dan kategoris
sumber