Saya menggunakan skrip. Ini untuk catatan inti. Saya memiliki kerangka data yang menunjukkan komposisi unsur yang berbeda di dalam kolom di atas kedalaman tertentu (di kolom pertama). Saya ingin melakukan PCA dengannya dan saya bingung tentang metode standardisasi yang harus saya pilih.
Apakah ada di antara Anda yang menggunakan clr()
untuk menyiapkan data Anda prcomp()
? Atau apakah itu memalsukan solusi saya. Saya telah mencoba menggunakan clr()
pada data sebelum menggunakan prcomp()
fungsi selain menggunakan skala atribut dalam prcomp()
.
data_f_clr<- clr(data_f)
data_pca <- prcomp(data_f, center = TRUE, scale. = TRUE)
https://stat.ethz.ch/R-manual/R-devel/library/stats/html/prcomp.html
skala dideskripsikan untuk menskala data, sehingga mereka memiliki varian unit. Karena data saya memiliki skala yang sangat berbeda, itulah yang saya inginkan, saya pikir. Masalahnya adalah, saya menerima solusi yang berbeda, ketika saya menggunakan kode di atas atau ketika saya melewatkan clr()
(yang membuat hasil yang lebih diinginkan). Tapi saya ingin tahu mengapa hal itu clr()
mengganggu?
clr
....Jawaban:
Ya Anda bisa, dan sebenarnya Anda harus, ketika data Anda bersifat komposisi.
Ulasan dari bidang mikrobiologi dapat ditemukan di sini, yang memotivasi untuk menggunakan CLR-transformasi diikuti oleh PCA untuk menganalisis set data microbiome (yang sesuai definisi komposisi): https://www.frontiersin.org/articles/10.3389/fmicb .2017.02224 / penuh .
sumber
Anda mungkin mengalami beberapa masalah dengan vanilla PCA pada koordinat CLR. Ada dua masalah utama dengan data komposisi:
Sekarang, pertimbangkan itu
Dengan kata lain CLR menghapus batasan rentang nilai (yang baik untuk beberapa aplikasi), tetapi tidak menghilangkan batasan jumlah, menghasilkan matriks kovarians tunggal, yang secara efektif memecah (M) ANOVA / regresi linier / ... dan membuat PCA peka terhadap outlier (karena estimasi kovarian yang kuat membutuhkan matriks peringkat penuh). Sejauh yang saya tahu, dari semua transformasi komposisi hanya ILR mengatasi kedua masalah tanpa asumsi mendasar yang mendasarinya. Tapi situasinya sedikit lebih rumit. SVD dari koordinat CLR memberi Anda dasar ortogonal dalam ruang ILR (koordinat ILR menjangkau hyperplane dalam CLR), sehingga estimasi varians Anda tidak akan berbeda antara ILR dan CLR (yang tentu saja jelas, karena baik ILR dan CLR adalah isometri pada simpleks). Namun, ada metode untuk estimasi kovarian yang kuat pada koordinat ILR [2].
Perbarui I
Hanya untuk menggambarkan bahwa CLR tidak valid untuk metode korelasi dan tergantung lokasi. Mari kita asumsikan kita mencicipi sebuah komunitas yang terdiri dari tiga komponen yang berdistribusi normal linier independen 100 kali. Demi kesederhanaan, biarkan semua komponen memiliki harapan yang sama (100) dan varian (100):
Pembaruan II
Mempertimbangkan tanggapan yang saya terima, saya merasa perlu untuk menunjukkan bahwa tidak ada jawaban dalam jawaban saya, saya telah mengatakan bahwa PCA tidak bekerja pada data yang diubah oleh CLR. Saya telah menyatakan bahwa CLR dapat memecahkan PCA dengan cara yang halus , yang mungkin tidak penting untuk pengurangan dimensi, tetapi penting untuk analisis data eksplorasi. Makalah yang dikutip oleh @Archie ini membahas ekologi mikroba. Dalam bidang itu biologi PCA komputasi atau PCoA pada berbagai matriks jarak digunakan untuk mengeksplorasi sumber variasi dalam data. Jawaban saya hanya harus dipertimbangkan dalam konteks ini. Selain itu, ini disorot dalam makalah itu sendiri:
Gloor et al., 2017
Pembaruan III
Referensi tambahan untuk penelitian yang diterbitkan (Saya berterima kasih kepada @Nick Cox atas rekomendasi untuk menambahkan lebih banyak referensi):
sumber