Tiêu chí nào để sử dụng để phân tách các biến thành các biến giải thích và đáp ứng cho các phương pháp phân phối trong sinh thái học?


9

Tôi có các biến khác nhau tương tác trong một dân số. Về cơ bản, tôi đã thực hiện kiểm kê các thiên niên kỷ và đo một số giá trị khác của địa hình, như:

  • Các loài và số lượng mẫu vật thu thập được
  • Các môi trường khác nhau nơi động vật là
  • độ pH
  • Tỷ lệ vật liệu hữu cơ
  • lượng P, K, Mg, Ca, Mn, Fe, Zn, Cu
  • Quan hệ Ca + Mg / K

Về cơ bản, tôi muốn sử dụng PCA để xác định biến nào điều khiển sự biến đổi của các mẫu và làm cho rừng (môi trường) khác nhau; Tôi nên sử dụng biến nào cho "biến" và biến nào cho "cá nhân"?


Tôi nghĩ bạn có thể nhầm lẫn về PCA. Tất cả các biến có thể (tất nhiên) chỉ là "biến". Bạn có thể đã thực hiện một số phép đo ở các vị trí khác nhau (hoặc tại các thời điểm khác nhau); sau đó các vị trí (hoặc thời gian) này là "cá nhân" của bạn, hay đúng hơn là "mẫu".
amip

Ngoài ra, tôi không thể giúp hỏi: hồ sơ của bạn nói rằng bạn là người sáng lập khởi nghiệp; Có phải đó là một startup làm việc với millipedes? Ồ
amip

thực tế @amoeba là vợ tôi là người làm việc đó, tôi giỏi tính toán nhưng không phát triển tốt về mặt thống kê. Và cô ấy muốn tôi hỏi.
Leonardo

1
Hpw đến nay có thực sự là một câu hỏi thống kê? Mặc dù có vẻ khó hiểu về thuật ngữ thống kê, đến mức khó giải mã, nếu điều đó được sắp xếp thì lời khuyên là sử dụng phán đoán khoa học.
Nick Cox

2
Đây cũng có thể là một câu hỏi thống kê, chỉ trong một bối cảnh khác & với các thuật ngữ khác nhau hơn là điển hình hơn trong thống kê. Tôi tin rằng bạn đang hỏi về phương pháp xuất gia từ sinh thái học. Trang web này có thể hữu ích cho bạn. Tương đối ít thành viên tích cực của chúng tôi ở đây là chuyên gia về vấn đề này, nhưng @GavinSimpson có thể giúp bạn nếu chúng tôi có thể thu hút sự chú ý của anh ấy.
gung - Tái lập Monica

Câu trả lời:


18

Như @amoeba đã đề cập trong các bình luận, PCA sẽ chỉ xem xét một bộ dữ liệu và nó sẽ hiển thị cho bạn các mẫu biến đổi (tuyến tính) chính trong các biến đó, mối tương quan hoặc hiệp phương sai giữa các biến đó và mối quan hệ giữa các mẫu (các hàng ) trong tập dữ liệu của bạn.

Những gì người ta thường làm với một tập dữ liệu loài và một bộ các biến giải thích tiềm năng là để phù hợp với một quy tắc bị ràng buộc. Trong PCA, các thành phần chính, các trục trên biplot PCA, được lấy làm tổ hợp tuyến tính tối ưu của tất cả các biến. Nếu bạn chạy dữ liệu này trên tập dữ liệu hóa học đất với các biến pH, , TotalCarbon, bạn có thể thấy rằng thành phần đầu tiên làCmột2+

0,5×pH+1,4×Cmột2++0,1×TotmộttôiCmộtrbon

và thành phần thứ hai

2.7×pH+0,3×Cmột2+-5,6×TotmộttôiCmộtrbon

Các thành phần này có thể tự do lựa chọn từ các biến được đo và được chọn là các biến giải thích tuần tự số lượng biến thể lớn nhất trong tập dữ liệu và mỗi kết hợp tuyến tính là trực giao (không tương thích với) các biến khác.

Trong một quy tắc bị ràng buộc, chúng tôi có hai bộ dữ liệu, nhưng chúng tôi không được tự do chọn bất kỳ kết hợp tuyến tính nào của tập dữ liệu đầu tiên (dữ liệu hóa học đất ở trên) mà chúng tôi muốn. Thay vào đó, chúng ta phải chọn kết hợp tuyến tính của các biến trong tập dữ liệu thứ hai giải thích rõ nhất sự thay đổi trong biến thứ nhất. Ngoài ra, trong trường hợp PCA, một bộ dữ liệu là ma trận phản hồi và không có dự đoán (bạn có thể nghĩ về phản hồi như dự đoán chính nó). Trong trường hợp bị ràng buộc, chúng tôi có một bộ dữ liệu phản hồi mà chúng tôi muốn giải thích với một bộ các biến giải thích.

Mặc dù bạn chưa giải thích biến nào là phản ứng, nhưng thông thường người ta muốn giải thích sự thay đổi về sự phong phú hoặc thành phần của các loài đó (tức là phản ứng) bằng cách sử dụng các biến giải thích về môi trường.

Phiên bản bị ràng buộc của PCA là một thứ gọi là Phân tích dư thừa (RDA) trong các vòng tròn sinh thái. Điều này giả định một mô hình phản ứng tuyến tính cơ bản cho loài, không phù hợp hoặc chỉ phù hợp nếu bạn có độ dốc ngắn dọc theo đó loài đáp ứng.

Một thay thế cho PCA là một thứ gọi là phân tích tương ứng (CA). Điều này là không bị ràng buộc nhưng nó có một mô hình phản ứng không theo phương thức cơ bản, điều này có phần thực tế hơn về cách các loài phản ứng dọc theo độ dốc dài hơn. Cũng lưu ý rằng CA mô hình sự phong phú tương đối hoặc thành phần , PCA mô hình sự phong phú thô.

Có một phiên bản ràng buộc của CA, được gọi là phân tích tương ứng ràng buộc hoặc chính tắc (CCA) - không bị nhầm lẫn với một mô hình thống kê chính thức hơn được gọi là phân tích tương quan chính tắc.

Trong cả RDA và CCA, mục đích là mô hình hóa sự thay đổi về sự phong phú của loài hoặc thành phần như một chuỗi các kết hợp tuyến tính của các biến giải thích.

Từ mô tả, có vẻ như vợ bạn muốn giải thích sự thay đổi trong thành phần loài động vật nhiều chân (hoặc phong phú) về các biến số khác được đo.

Một số lời cảnh báo; RDA và CCA chỉ là hồi quy đa biến; CCA chỉ là một hồi quy đa biến có trọng số. Bất cứ điều gì bạn đã học về hồi quy đều được áp dụng và cũng có một vài vấn đề khác:

  • khi bạn tăng số lượng biến giải thích, các ràng buộc thực sự ngày càng ít đi và bạn không thực sự trích xuất các thành phần / trục giải thích tối ưu thành phần loài và
  • với CCA, khi bạn tăng số lượng các yếu tố giải thích, bạn có nguy cơ tạo ra một vật thể của đường cong vào cấu hình các điểm trong biểu đồ CCA.
  • lý thuyết cơ bản về RDA và CCA kém phát triển hơn các phương pháp thống kê chính thức hơn. Chúng ta chỉ có thể chọn hợp lý các biến giải thích để tiếp tục sử dụng lựa chọn theo từng bước (không lý tưởng cho tất cả các lý do chúng ta không thích nó như một phương pháp lựa chọn trong hồi quy) và chúng ta phải sử dụng các phép thử hoán vị để làm như vậy.

vì vậy lời khuyên của tôi cũng giống như với hồi quy; suy nghĩ trước những giả thuyết của bạn và bao gồm các biến phản ánh những giả thuyết đó. Đừng chỉ ném tất cả các biến giải thích vào hỗn hợp.

Thí dụ

Xuất gia không giới hạn

PCA

Tôi sẽ đưa ra một ví dụ so sánh PCA, CA và CCA bằng cách sử dụng gói thuần chay cho R mà tôi giúp duy trì và được thiết kế để phù hợp với các loại phương pháp phong chức này:

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 không tiêu chuẩn hóa quán tính, không giống như Canoco, vì vậy tổng phương sai là 1826 và Eigenvalues ​​nằm trong cùng các đơn vị đó và tính đến năm 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

Chúng ta cũng thấy rằng Eigenvalue đầu tiên bằng khoảng một nửa phương sai và với hai trục đầu tiên, chúng ta đã giải thích ~ 80% tổng phương sai

> 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

Một biplot có thể được rút ra từ điểm số của các mẫu và loài trên hai thành phần chính đầu tiên

> plot(pcfit)

nhập mô tả hình ảnh ở đây

Có hai vấn đề ở đây

  1. Sự phong chức chủ yếu được chi phối bởi ba loài - những loài này nằm cách xa nguồn gốc nhất - vì đây là những loài có số lượng lớn nhất trong bộ dữ liệu
  2. Có một đường cong mạnh mẽ trong sắc phong, gợi ý một độ dốc đơn dài hoặc chiếm ưu thế đã được chia thành hai thành phần chính chính để duy trì các thuộc tính số liệu của sắc phong.

CA

Một CA có thể hỗ trợ cả hai điểm này vì nó xử lý độ dốc dài tốt hơn do mô hình phản ứng không theo phương thức và mô hình thành phần tương đối của các loài không phải là sự phong phú.

vegan / R để làm điều này tương tự như mã PCA được sử dụng ở trên

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) 

Ở đây chúng tôi giải thích khoảng 40% biến thể giữa các trang trong thành phần tương đối của chúng

> 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

Âm mưu chung của các loài và điểm địa điểm hiện ít bị chi phối bởi một vài loài

> plot(cafit)

nhập mô tả hình ảnh ở đây

Những PCA hoặc CA nào bạn chọn phải được xác định bởi các câu hỏi bạn muốn hỏi về dữ liệu. Thông thường với dữ liệu loài, chúng ta thường quan tâm đến sự khác biệt trong bộ loài, vì vậy CA là một lựa chọn phổ biến. Nếu chúng ta có một bộ dữ liệu về các biến môi trường, giả sử hóa học nước hoặc đất, chúng ta sẽ không mong đợi chúng phản ứng theo cách không chính thống dọc theo độ dốc để CA không phù hợp và PCA (của ma trận tương quan, sử dụng scale = TRUEtrong rda()cuộc gọi) sẽ là thích hợp hơn

Giới hạn xuất gia; CCA

Bây giờ nếu chúng ta có bộ dữ liệu thứ hai mà chúng ta muốn sử dụng để giải thích các mẫu trong bộ dữ liệu loài đầu tiên, chúng ta phải sử dụng một quy tắc bị ràng buộc. Thường thì sự lựa chọn ở đây là CCA, nhưng RDA là một lựa chọn thay thế, cũng như RDA sau khi chuyển đổi dữ liệu để cho phép nó xử lý dữ liệu loài tốt hơn.

data(varechem)                          # load explanatory example data

Chúng tôi sử dụng lại cca()hàm nhưng chúng tôi cung cấp hai khung dữ liệu ( Xcho các loài và Ycho các biến giải thích / dự đoán) hoặc một công thức mô hình liệt kê dạng của mô hình mà chúng tôi muốn phù hợp.

Để bao gồm tất cả các biến chúng ta có thể sử dụng varechem ~ ., data = varechemlàm công thức để bao gồm tất cả các biến - nhưng như tôi đã nói ở trên, đây không phải là một ý tưởng hay nói chung

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

Bộ ba của sắc phong trên được tạo ra bằng plot()phương pháp

> plot(ccafit)

nhập mô tả hình ảnh ở đây

Tất nhiên, bây giờ nhiệm vụ là tìm ra biến nào trong số các biến đó thực sự quan trọng. Cũng lưu ý rằng chúng tôi đã giải thích khoảng 2/3 phương sai loài chỉ bằng 13 biến. một trong những vấn đề của việc sử dụng tất cả các biến trong sắc lệnh này là chúng tôi đã tạo ra một cấu hình cong trong điểm số mẫu và loài, đây hoàn toàn là một yếu tố chính của việc sử dụng quá nhiều biến tương quan.

Nếu bạn muốn biết thêm về điều này, hãy xem tài liệu thuần chay hoặc một cuốn sách hay về phân tích dữ liệu sinh thái đa biến.

Mối quan hệ với hồi quy

Đơn giản nhất là minh họa liên kết với RDA, nhưng CCA chỉ giống nhau ngoại trừ mọi thứ liên quan đến các tổng biên của hàng và cột hai chiều theo trọng số.

Về cơ bản, RDA tương đương với việc áp dụng PCA vào ma trận các giá trị được trang bị từ hồi quy tuyến tính đa biến phù hợp với từng giá trị (phản hồi) của từng loài với các yếu tố dự đoán được đưa ra bởi ma trận các biến giải thích.

Trong R chúng ta có thể làm điều này như

## 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))

Eigenvalues ​​cho hai cách tiếp cận này bằng nhau:

> (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

Vì một số lý do, tôi không thể lấy điểm số của trục (khớp), nhưng chúng luôn được chia tỷ lệ (hoặc không) vì vậy tôi cần xem xét chính xác cách thức chúng được thực hiện ở đây.

Chúng tôi không thực hiện RDA thông qua rda()như tôi đã trình bày lm(), v.v., nhưng chúng tôi sử dụng phân tách QR cho phần mô hình tuyến tính và sau đó là SVD cho phần PCA. Nhưng các bước thiết yếu là như nhau.


4
+1.3-5,6

2
mnn×m

@amoeba Xin lỗi vì sự chậm trễ nhưng tôi đã thêm một phần vào câu trả lời của mình để cố gắng hiển thị liên kết với hồi quy và cách RDA có thể được xem như là một PCA của các giá trị được trang bị từ một loạt các hồi quy tuyến tính, mỗi biến phản hồi.
Gavin Simpson

1
Xββfitted()Xβ

1
Nguồn gốc của RDA là do Rao (1964) là một bài báo thống kê nên rất phù hợp.
Gavin Simpson
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.