Kriteria apa yang digunakan untuk memisahkan variabel menjadi variabel penjelas dan respons untuk metode pentahbisan dalam ekologi?


9

Saya memiliki variabel berbeda yang berinteraksi dalam suatu populasi. Pada dasarnya saya telah melakukan inventarisasi kaki seribu dan mengukur beberapa nilai medan lainnya, seperti:

  • Spesies dan jumlah spesimen yang dikumpulkan
  • Lingkungan yang berbeda di mana hewan berada
  • pH
  • Persentase bahan organik
  • jumlah P, K, Mg, Ca, Mn, Fe, Zn, Cu
  • Hubungan Ca + Mg / K

Pada dasarnya saya ingin menggunakan PCA untuk menentukan variabel mana yang mendorong variabilitas sampel dan membuat hutan (lingkungan) berbeda; variabel mana yang harus saya gunakan untuk "variabel" dan yang mana untuk "individu"?


Saya pikir Anda mungkin bingung tentang PCA. Semua variabel dapat (tentu saja) hanya "variabel". Anda mungkin telah melakukan sejumlah pengukuran di lokasi yang berbeda (atau pada waktu yang berbeda); maka lokasi ini (atau waktu) adalah "individu" Anda, atau lebih tepatnya "sampel".
amoeba

Saya juga tidak bisa tidak bertanya: profil Anda mengatakan Anda adalah pendiri startup; apakah ini sebuah startup yang bekerja dengan kaki seribu? Wow!
amoeba

sebenarnya @amoeba adalah istri saya yang mengerjakannya, saya bagus dalam kalkulus tetapi tidak terlalu berkembang dalam statistik. Dan dia ingin aku bertanya.
Leonardo

1
Hpw jauh apakah ini benar-benar pertanyaan statistik? Meskipun tampaknya bingung pada terminologi statistik, sampai-sampai sulit untuk memecahkan kode, jika itu diurutkan sarannya adalah menggunakan penilaian ilmiah.
Nick Cox

2
Ini mungkin pertanyaan statistik, hanya dalam konteks yang berbeda & dengan istilah yang berbeda dari yang biasanya dalam statistik. Saya percaya Anda bertanya tentang metode pentahbisan dari ekologi. Situs web ini mungkin bermanfaat bagi Anda. Relatif sedikit dari anggota aktif kami di sini yang ahli dalam hal ini, tetapi @GavinSimpson mungkin dapat membantu Anda jika kami dapat menarik perhatiannya.
gung - Reinstate Monica

Jawaban:


19

Seperti @amoeba disebutkan dalam komentar, PCA hanya akan melihat satu set data dan itu akan menunjukkan kepada Anda pola (linear) utama variasi dalam variabel-variabel tersebut, korelasi atau kovarian antara variabel-variabel tersebut, dan hubungan antara sampel (baris) ) di kumpulan data Anda.

Apa yang biasanya dilakukan seseorang dengan kumpulan data spesies dan serangkaian variabel penjelas yang potensial adalah agar sesuai dengan penahbisan yang dibatasi. Dalam PCA, komponen utama, sumbu pada biplot PCA, diturunkan sebagai kombinasi linear optimal dari semua variabel. Jika Anda menjalankan ini pada kumpulan data kimia tanah dengan variabel pH, , TotalCarbon, Anda mungkin menemukan bahwa komponen pertama adalahCSebuah2+

0,5×halH+1.4×CSebuah2++0,1×THaitSebuahlCSebuahrbHain

dan komponen kedua

2.7×halH+0,3×CSebuah2+-5.6×THaitSebuahlCSebuahrbHain

Komponen-komponen ini dapat dipilih secara bebas dari variabel yang diukur, dan yang dipilih adalah mereka yang menjelaskan secara berurutan jumlah variasi terbesar dalam dataset, dan bahwa setiap kombinasi linier adalah ortogonal (tidak berkorelasi dengan) yang lain.

Dalam pentahbisan terbatas, kita memiliki dua kumpulan data, tetapi kita tidak bebas memilih kombinasi linear apa pun dari kumpulan data pertama (data kimia tanah di atas) yang kita inginkan. Alih-alih, kita harus memilih kombinasi linear dari variabel dalam kumpulan data kedua yang paling menjelaskan variasi di variabel pertama. Juga, dalam kasus PCA, satu set data adalah matriks respons dan tidak ada prediktor (Anda bisa menganggap respons sebagai memprediksi sendiri). Dalam kasus terbatas, kami memiliki set data respons yang ingin kami jelaskan dengan satu set variabel penjelas.

Meskipun Anda belum menjelaskan variabel mana yang menjadi respons, biasanya orang ingin menjelaskan variasi dalam kelimpahan atau komposisi spesies tersebut (yaitu respons) menggunakan variabel penjelas lingkungan.

Versi PCA yang terbatas adalah sesuatu yang disebut Redundancy Analysis (RDA) dalam lingkaran ekologis. Ini mengasumsikan model respons linier yang mendasari untuk spesies, yang entah tidak tepat atau hanya sesuai jika Anda memiliki gradien pendek di mana spesies merespons.

Alternatif untuk PCA adalah hal yang disebut analisis korespondensi (CA). Ini tidak dibatasi tetapi memiliki model respon unimodal yang mendasarinya, yang agak lebih realistis dalam hal bagaimana spesies merespon sepanjang gradien yang lebih panjang. Perhatikan juga bahwa model CA kelimpahan atau komposisi relatif , PCA memodelkan kelimpahan mentah.

Ada versi CA terbatas, yang dikenal sebagai analisis korespondensi terbatas atau kanonik (CCA) - jangan dikacaukan dengan model statistik yang lebih formal yang dikenal sebagai analisis korelasi kanonik.

Baik dalam RDA dan CCA tujuannya adalah untuk memodelkan variasi kelimpahan atau komposisi spesies sebagai serangkaian kombinasi linear dari variabel penjelas.

Dari uraian itu, sepertinya istri Anda ingin menjelaskan variasi dalam komposisi spesies kaki seribu (atau kelimpahan) dalam hal variabel-variabel lain yang diukur.

Beberapa kata peringatan; RDA dan CCA hanyalah regresi multivarian; CCA hanyalah regresi multivariat tertimbang. Apa pun yang Anda pelajari tentang regresi berlaku, dan ada beberapa gotcha lainnya juga:

  • saat Anda menambah jumlah variabel penjelas, kendala sebenarnya menjadi semakin sedikit dan Anda tidak benar-benar mengekstraksi komponen / kapak yang menjelaskan komposisi spesies secara optimal, dan
  • dengan CCA, saat Anda meningkatkan jumlah faktor penjelas, Anda berisiko mendorong artefak kurva ke dalam konfigurasi titik-titik dalam plot CCA.
  • teori yang mendasari RDA dan CCA kurang berkembang dengan baik daripada metode statistik yang lebih formal. Kita hanya dapat secara wajar memilih variabel penjelas mana untuk tetap menggunakan seleksi langkah-bijaksana (yang tidak ideal untuk semua alasan kita tidak menyukainya sebagai metode seleksi dalam regresi) dan kita harus menggunakan tes permutasi untuk melakukannya.

jadi saran saya sama dengan regresi; pikirkan terlebih dahulu apa hipotesis Anda dan sertakan variabel yang mencerminkan hipotesis tersebut. Jangan hanya membuang semua variabel penjelas ke dalam campuran.

Contoh

Penahbisan yang tidak dibatasi

PCA

Saya akan menunjukkan contoh membandingkan PCA, CA dan CCA menggunakan paket vegan untuk R yang saya bantu pertahankan dan yang dirancang agar sesuai dengan jenis metode penahbisan ini:

library("vegan")                        # load the package
data(varespec)                          # load example data

## PCA
pcfit <- rda(varespec)
## could add `scale = TRUE` if variables in different units
pcfit

> pcfit
Call: rda(X = varespec)

              Inertia Rank
Total            1826     
Unconstrained    1826   23
Inertia is variance 

Eigenvalues for unconstrained axes:
  PC1   PC2   PC3   PC4   PC5   PC6   PC7   PC8 
983.0 464.3 132.3  73.9  48.4  37.0  25.7  19.7 
(Showed only 8 of all 23 unconstrained eigenvalues)

vegan tidak membakukan Inertia, tidak seperti Canoco, jadi total variansnya adalah 1826 dan nilai Eigen ada di unit yang sama dan berjumlah 1826

> cumsum(eigenvals(pcfit))
      PC1       PC2       PC3       PC4       PC5       PC6       PC7       PC8 
 982.9788 1447.2829 1579.5334 1653.4670 1701.8853 1738.8947 1764.6209 1784.3265 
      PC9      PC10      PC11      PC12      PC13      PC14      PC15      PC16 
1796.6007 1807.0361 1816.3869 1819.1853 1821.5128 1822.9045 1824.1103 1824.9250 
     PC17      PC18      PC19      PC20      PC21      PC22      PC23 
1825.2563 1825.4429 1825.5495 1825.6131 1825.6383 1825.6548 1825.6594

Kami juga melihat bahwa nilai Eigen pertama adalah sekitar setengah varians dan dengan dua sumbu pertama kami telah menjelaskan ~ 80% dari total varians

> head(cumsum(eigenvals(pcfit)) / pcfit$tot.chi)
      PC1       PC2       PC3       PC4       PC5       PC6 
0.5384240 0.7927453 0.8651851 0.9056821 0.9322031 0.9524749

Biplot dapat diambil dari skor sampel dan spesies pada dua komponen utama pertama

> plot(pcfit)

masukkan deskripsi gambar di sini

ada dua masalah di sini

  1. Penahbisan pada dasarnya didominasi oleh tiga spesies - spesies ini terletak paling jauh dari asalnya - karena ini adalah taksa yang paling melimpah dalam kumpulan data
  2. Ada lengkungan lengkung yang kuat dalam pentahbisan, menunjukkan gradien tunggal yang panjang atau dominan yang telah dipecah menjadi dua komponen utama utama untuk mempertahankan sifat metrik penahbisan.

CA

CA dapat membantu dengan kedua titik ini karena menangani gradien panjang yang lebih baik karena model respons unimodal, dan model komposisi relatif spesies tidak kelimpahan mentah.

Kode vegan / R untuk melakukan ini mirip dengan kode PCA yang digunakan di atas

cafit <- cca(varespec)
cafit

> cafit <- cca(varespec)
> cafit
Call: cca(X = varespec)

              Inertia Rank
Total           2.083     
Unconstrained   2.083   23
Inertia is mean squared contingency coefficient 

Eigenvalues for unconstrained axes:
   CA1    CA2    CA3    CA4    CA5    CA6    CA7    CA8 
0.5249 0.3568 0.2344 0.1955 0.1776 0.1216 0.1155 0.0889 
(Showed only 8 of all 23 unconstrained eigenvalues) 

Di sini kami menjelaskan sekitar 40% variasi antar situs dalam komposisi relatifnya

> head(cumsum(eigenvals(cafit)) / cafit$tot.chi)
      CA1       CA2       CA3       CA4       CA5       CA6 
0.2519837 0.4232578 0.5357951 0.6296236 0.7148866 0.7732393

Plot gabungan spesies dan skor lokasi sekarang kurang didominasi oleh beberapa spesies

> plot(cafit)

masukkan deskripsi gambar di sini

PCA atau CA mana yang Anda pilih harus ditentukan oleh pertanyaan yang ingin Anda tanyakan dari data. Biasanya dengan data spesies, kita lebih sering tertarik pada perbedaan dalam rangkaian spesies sehingga CA adalah pilihan yang populer. Jika kita memiliki satu set data variabel lingkungan, mengatakan air atau kimia tanah, kita tidak akan mengharapkan mereka untuk merespon dengan cara yang unimodal sepanjang gradien sehingga CA akan pantas dan PCA (dari matriks korelasi, menggunakan scale = TRUEdalam rda()panggilan) akan lebih tepat.

Pentahbisan terbatas; CCA

Sekarang jika kita memiliki set data kedua yang ingin kita gunakan untuk menjelaskan pola dalam set data spesies pertama, kita harus menggunakan penahbisan terbatas. Seringkali pilihan di sini adalah CCA, tetapi RDA adalah alternatif, seperti RDA setelah transformasi data untuk memungkinkannya menangani data spesies dengan lebih baik.

data(varechem)                          # load explanatory example data

Kami menggunakan kembali cca()fungsi tersebut tetapi kami menyediakan dua kerangka data ( Xuntuk spesies, dan Yuntuk variabel penjelas / prediktor) atau formula model yang mencantumkan bentuk model yang ingin kami paskan.

Untuk memasukkan semua variabel yang dapat kita gunakan varechem ~ ., data = varechemsebagai rumus untuk memasukkan semua variabel - tetapi seperti yang saya katakan di atas, ini bukan ide yang baik secara umum

ccafit <- cca(varespec ~ ., data = varechem)

> ccafit
Call: cca(formula = varespec ~ N + P + K + Ca + Mg + S + Al + Fe + Mn +
Zn + Mo + Baresoil + Humdepth + pH, data = varechem)

              Inertia Proportion Rank
Total          2.0832     1.0000     
Constrained    1.4415     0.6920   14
Unconstrained  0.6417     0.3080    9
Inertia is mean squared contingency coefficient 

Eigenvalues for constrained axes:
  CCA1   CCA2   CCA3   CCA4   CCA5   CCA6   CCA7   CCA8   CCA9  CCA10  CCA11 
0.4389 0.2918 0.1628 0.1421 0.1180 0.0890 0.0703 0.0584 0.0311 0.0133 0.0084 
 CCA12  CCA13  CCA14 
0.0065 0.0062 0.0047 

Eigenvalues for unconstrained axes:
    CA1     CA2     CA3     CA4     CA5     CA6     CA7     CA8     CA9 
0.19776 0.14193 0.10117 0.07079 0.05330 0.03330 0.01887 0.01510 0.00949

Triplot dari pentahbisan di atas diproduksi menggunakan plot()metode ini

> plot(ccafit)

masukkan deskripsi gambar di sini

Tentu saja, sekarang tugasnya adalah menentukan variabel mana yang benar-benar penting. Juga perhatikan bahwa kami telah menjelaskan sekitar 2/3 dari varian spesies hanya menggunakan 13 variabel. salah satu masalah dalam menggunakan semua variabel dalam penahbisan ini adalah bahwa kita telah membuat konfigurasi melengkung dalam skor sampel dan spesies, yang murni artefak menggunakan terlalu banyak variabel berkorelasi.

Jika Anda ingin tahu lebih banyak tentang ini, lihat dokumentasi vegan atau buku bagus tentang analisis data ekologi multivarian.

Hubungan dengan regresi

Paling sederhana untuk menggambarkan tautan dengan RDA, tetapi CCA sama saja kecuali semuanya melibatkan jumlah marginal baris dan tabel dua arah sebagai bobot.

Pada intinya, RDA setara dengan penerapan PCA ke matriks nilai pas dari regresi linier berganda yang dipasang untuk masing-masing spesies (respons) nilai (kelimpahan, katakanlah) dengan prediktor yang diberikan oleh matriks variabel penjelas.

Dalam R kita bisa melakukan ini sebagai

## centre the responses
spp <- scale(data.matrix(varespec), center = TRUE, scale = FALSE)
## ...and the predictors
env <- as.data.frame(scale(varechem, center = TRUE, scale = FALSE))

## fit a linear model to each column (species) in spp.
## Suppress intercept as we've centred everything
fit <- lm(spp ~ . - 1, data = env)

## Collect fitted values for each species and do a PCA of that
## matrix
pclmfit <- prcomp(fitted(fit))

Nilai Eigen untuk kedua pendekatan ini sama:

> (eig1 <- unclass(unname(eigenvals(pclmfit)[1:14])))
 [1] 820.1042107 399.2847431 102.5616781  47.6316940  26.8382218  24.0480875
 [7]  19.0643756  10.1669954   4.4287860   2.2720357   1.5353257   0.9255277
[13]   0.7155102   0.3118612
> (eig2 <- unclass(unname(eigenvals(rdafit, constrained = TRUE))))
 [1] 820.1042107 399.2847431 102.5616781  47.6316940  26.8382218  24.0480875
 [7]  19.0643756  10.1669954   4.4287860   2.2720357   1.5353257   0.9255277
[13]   0.7155102   0.3118612
> all.equal(eig1, eig2)
[1] TRUE

Untuk beberapa alasan saya tidak bisa mendapatkan skor sumbu (memuat) yang cocok, tetapi selalu ini diskalakan (atau tidak) jadi saya perlu melihat dengan tepat bagaimana hal itu dilakukan di sini.

Kami tidak melakukan RDA melalui rda()seperti yang saya tunjukkan dengan lm()dll, tetapi kami menggunakan dekomposisi QR untuk bagian model linier dan kemudian SVD untuk bagian PCA. Tetapi langkah-langkah penting adalah sama.


4
+1.3-5.6

2
mnn×m

@amoeba Maaf atas keterlambatannya tetapi saya telah menambahkan bagian pada jawaban saya untuk mencoba menunjukkan tautan dengan regresi dan bagaimana RDA dapat dilihat sebagai PCA dari nilai yang dipasang dari serangkaian regresi linier, satu per variabel respon.
Gavin Simpson

1
Xββfitted()Xβ

1
Asal usul RDA adalah karena Rao (1964) yang merupakan makalah statistik sehingga harus sesuai.
Gavin Simpson
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.