Dapatkah analisis komponen utama diterapkan pada kumpulan data yang berisi campuran variabel kontinu dan kategorikal?

147

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?

Nikolina Icitovic
sumber

Jawaban:

87

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 .

chl
sumber
2
chl, terima kasih untuk pointer ke FADM. Saya bertanya-tanya: begitu saya menerapkan FADM ke kumpulan data (obj <- FADM (x)), saya dapat mengakses kumpulan data yang diubah dengan mudah melalui: obj $ ind $ coord. Namun, jika saya ingin menerapkan transformasi yang sama ke kumpulan data lain, bagaimana saya bisa melakukannya? (Ini perlu misalnya, jika saya memiliki satu set kereta, dan saya menemukan "komponen utama" dari set kereta ini, dan kemudian ingin melihat set tes melalui "komponen utama"). Dokumentasi tidak benar-benar jelas mengenai hal ini, dan makalah yang mendasari fungsinya adalah dalam bahasa Prancis.
casandra
Mengenai:, Although a PCA applied on binary data would yield results comparable to those obtained from a Multiple Correspondence Analysisbisakah 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)
Zhubarb
31

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 .

mpiktas
sumber
(+1) Terima kasih atas tautannya. Juga dimungkinkan untuk mempertimbangkan matriks korelasi heterogen (lihat, misalnya 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.
chl
@StasK, pujian :) Sepertinya bukan hanya saya yang menganggap pembicaraan ini bermanfaat, jika tidak, ini tidak akan menjadi yang teratas dalam pencarian gooogle. Pertanyaan ini muncul dari waktu ke waktu, jadi mungkin Anda ingin melakukan posting blog tentang hal itu untuk blog komunitas kami?
mpiktas
@StasK, saya telah mengedit posting untuk menyebutkan penulis ikhtisar. Tujuan awal saya adalah untuk menunjukkan bahwa pencarian di google dapat menghasilkan jawaban yang bagus, jadi tidak perlu bertanya secara eksplisit di sini. Tapi ini bukan alasan untuk tidak mengutip penulis, mengingat volatilitas internet.
mpiktas
1
@mpikta, terima kasih. Ada artikel nyata yang ditujukan untuk para ekonom yang dihasilkan dari karya ini: dx.doi.org/10.1111/j.1475-4991.2008.00309.x , meskipun para editor meminta kami untuk memotong begitu banyak sehingga saya menyarankan untuk membaca kertas kerja untuk informasi, dan mengutip yang dipublikasikan.
Tugas
9

Saya menyarankan untuk melihat Linting & Kooij, 2012 " Analisis komponen utama non-linier dengan CATPCA: tutorial ", Journal of Personality Assessment ; 94 (1).

Abstrak

Artikel ini disusun sebagai tutorial untuk analisis komponen utama nonlinier (NLPCA), yang secara sistematis memandu pembaca melalui proses menganalisis data aktual tentang penilaian kepribadian dengan Uji Rorschach Inkblot. NLPCA adalah alternatif yang lebih fleksibel untuk PCA linier yang dapat menangani analisis variabel yang mungkin tidak terkait linear dengan berbagai jenis tingkat pengukuran. Metode ini sangat cocok untuk menganalisis data nominal (kualitatif) dan ordinal (misalnya, tipe-Likert), mungkin digabungkan dengan data numerik. Program CATPCA dari modul Categories di SPSS digunakan dalam analisis, tetapi deskripsi metode dapat dengan mudah digeneralisasikan ke paket perangkat lunak lain.

ccandido
sumber
4

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.

Mandar
sumber
Menyambut jawaban Anda, Mandar. Apakah Anda merujuk PCA nonlinier dengan metode CATPCA atau PCA nonlinier lainnya (metode apa, lalu?). Perhatikan juga bahwa untuk variabel biner , CATPCA adalah, katakanlah, tidak berguna atau sepele karena skala dikotomus tidak dapat dikuantifikasi selain untuk ... dikotomi!
ttnphns
Terima kasih @ttnphns. Saya setuju dengan poin Anda tentang variabel biner untuk variabel biner, asumsi apa pun tidak masalah. Kalau tidak, saya sebenarnya merujuk ke bab buku dari "Pendahuluan ke PCA nonlinier" [tautan] ( openaccess.leidenuniv.nl/bitstream/handle/1887/12386/… ). Ini mengacu pada paket CATPCA terutama dan PRINQUAL dari SAS.
Mandar
2

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:

nmM

nkX^kmY^k

X^,Y^argminX,YMXYF2

The 'digeneralisasi' dari GLRM singkatan mengubah ke sesuatu yang lain dan menambahkan istilah regularisasi.F2

Jakub Bartczuk
sumber
Ini kedengarannya lebih mirip reinvention daripada ide baru. Cari gifi!
kjetil b halvorsen
Anda tidak sepenuhnya benar, tampaknya GLRM adalah generalisasi (sebenarnya kertas yang saya tautkan mengutip kertas paket gifi).
Jakub Bartczuk
1

PCAmixdataPaket #Rstats :

Menerapkan analisis komponen utama, rotasi ortogonal, dan analisis beberapa faktor untuk campuran variabel kuantitatif dan kualitatif.

Contoh dari sketsa menunjukkan hasil untuk keluaran kontinu dan kategoris

masukkan deskripsi gambar di sini

Radek
sumber