Jawaban:
Artikel berikut: Retensi komponen dalam analisis komponen utama dengan aplikasi untuk data microarray cDNA oleh Cangelosi dan Goriely memberikan gambaran yang agak bagus tentang aturan standar praktis untuk mendeteksi jumlah komponen dalam penelitian. (Scree plot, Proportion of total variance dijelaskan, aturan nilai eigen rata-rata, diagram nilai log-eigen, dll.) Sebagian besar dari mereka cukup mudah untuk diterapkan dalam R.
Secara umum jika plot scree Anda sangat tidak meyakinkan maka Anda hanya perlu "mengambil racun Anda". Tidak ada benar atau salah mutlak untuk data apa pun karena dalam kenyataannya jumlah PC untuk digunakan sebenarnya tergantung pada pemahaman Anda tentang masalah tersebut. Satu-satunya kumpulan data yang Anda dapat "benar-benar" tahu dimensi adalah yang Anda buat sendiri. :-) Komponen Utama pada akhirnya memberikan dekomposisi data yang optimal dalam metrik RSS (di mana sebagai produk sampingan Anda mendapatkan setiap komponen untuk mewakili mode variasi utama) dan termasuk atau tidak termasuk sejumlah komponen tertentu menentukan persepsi Anda tentang dimensi masalah Anda.
Sebagai pilihan pribadi, saya suka pendekatan Minka pada pilihan otomatis dimensi untuk PCA yang didasarkan pada interpretasi probabilistik PCA tetapi sekali lagi, Anda masuk ke dalam permainan mencoba memodelkan kemungkinan data Anda untuk dimensi tertentu. (Tautan menyediakan kode Matlab jika Anda ingin mengikuti alasan ini.)
Cobalah untuk lebih memahami data Anda. misalnya. Apakah Anda benar-benar percaya bahwa 99,99% variasi set data Anda disebabkan oleh kovariat model Anda? Jika tidak, Anda mungkin tidak perlu memasukkan dimensi yang menunjukkan proporsi kecil total varians. Apakah Anda berpikir bahwa pada kenyataannya komponen mencerminkan variasi di bawah ambang batas perbedaan yang nyata? Itu lagi mungkin berarti bahwa ada sedikit relevansi dalam memasukkan komponen itu ke analisis Anda.
Bagaimanapun, semoga berhasil dan periksa data Anda dengan cermat. (Merencanakan mereka juga membuat keajaiban.)
Sudah ada pekerjaan yang sangat baik berikutnya pada masalah ini dalam beberapa tahun terakhir sejak pertanyaan ini awalnya ditanyakan dan dijawab. Saya sangat merekomendasikan makalah berikut oleh Gavish dan Donoho: Ambang Batas Optimal untuk Nilai Singular adalah 4 / sqrt (3)
Hasil mereka didasarkan pada analisis asimptotik (yaitu ada solusi optimal yang terdefinisi dengan baik karena matriks data Anda menjadi sangat besar), tetapi mereka menunjukkan hasil numerik yang mengesankan yang menunjukkan prosedur optimal asimptotik bekerja untuk kumpulan data berukuran kecil dan realistis, bahkan di bawah kebisingan yang berbeda model.
Pada dasarnya, prosedur yang optimal bermuara pada memperkirakan kebisingan, , ditambahkan ke setiap elemen dari matriks. Berdasarkan ini, Anda menghitung ambang dan menghapus komponen utama yang nilai singularnya jatuh di bawah ambang. Untuk matriks kuadrat , konstanta proporsionalitas 4 / sqrt (3) muncul seperti yang disarankan dalam judul:n × n
Mereka juga menjelaskan kasus non-kotak di koran. Mereka memiliki suplemen kode yang bagus (dalam MATLAB) di sini, tetapi algoritme akan mudah diterapkan di R atau di mana pun: https://purl.stanford.edu/vg705qn9070
Peringatan:
Masalah dengan kriteria Kaiser (semua nilai eigen lebih besar dari satu) adalah bahwa jumlah faktor yang diekstraksi biasanya sekitar sepertiga jumlah item atau skala dalam baterai, terlepas dari apakah banyak faktor tambahan itu kebisingan. Analisis paralel dan kriteria scree umumnya merupakan prosedur yang lebih akurat untuk menentukan jumlah faktor yang akan diekstraksi (menurut teks klasik oleh Harmon dan Ledyard Tucker serta karya terbaru oleh Wayne Velicer.
psy
ataupsych
paket di R, dan SPSS, SAS, dan MATLAB Program untuk Menentukan Jumlah Komponen dan Faktor. Menggunakan Analisis Paralel dan Tes PETA Velicer secara lebih umum.