생태학에서 안수 방법에 대한 변수와 설명 변수로 변수를 분리하는 데 사용할 기준은 무엇입니까?


9

모집단 내에서 상호 작용하는 다른 변수가 있습니다. 기본적으로 나는 노래기 목록을 작성하고 지형의 다른 값을 측정했습니다.

  • 수집 된 표본의 종류와 양
  • 동물이있는 다른 환경
  • pH
  • 유기 물질의 비율
  • P, K, Mg, Ca, Mn, Fe, Zn, Cu의 양
  • Ca + Mg / K 관계

기본적으로 PCA를 사용하여 샘플의 가변성을 유발하는 변수를 결정하고 포리스트 (환경)를 다르게 만들고 싶습니다. "변수"에 어떤 변수를 사용해야하고 "개체"에 어떤 변수를 사용해야합니까?


PCA에 대해 혼란 스러울 것 같습니다. 모든 변수는 물론 "변수"만 될 수 있습니다. 다른 위치 (또는 다른 시간)에서 여러 번 측정했을 수 있습니다. 이 위치 (또는 시간)는 "개인"또는 "샘플"입니다.
amoeba

또한 물어볼 수 없습니다. 귀하의 프로필은 귀하가 신생 창업자라고 말합니다. 노래기 작업을하는 스타트 업입니까? 와!
amoeba

사실 @amoeba는 저의 아내인데, 저는 미적분학에 능통하지만 통계적으로는 잘 발달하지 못했습니다. 그리고 그녀는 내가 묻기를 원했습니다.
Leonardo

1
Hpw는 이것이 실제로 통계적인 질문입니까? 통계 용어에 혼란스러워 보이지만 해독하기 어려운 정도로 과학적 판단을 사용하는 것이 좋습니다.
Nick Cox

2
이것은 통계에서 더 일반적인 것보다 다른 상황에서 다른 용어로 통계적 질문 일 수 있습니다. 나는 당신이 생태로부터 안수 방법을 요구하고 있다고 생각합니다. 이 웹 사이트 가 도움 될 수 있습니다. 여기에 우리의 활동적인 회원 중 소수는 이것에 대해 전문가이지만, @GavinSimpson이 관심을 가질 수 있다면 당신을 도울 수 있습니다.
gung-Monica Monica 복원

답변:


19

의견에서 @amoeba가 언급했듯이 PCA는 하나의 데이터 세트 만보 고 해당 변수의 주요 변동 (선형) 패턴, 해당 변수 간의 상관 또는 공분산 및 샘플 간의 관계 (행)를 보여줍니다 )를 데이터 세트에 추가하십시오.

하나의 종 데이터 세트와 잠재적 인 설명 변수로 일반적으로하는 일은 구속 된 안수에 적합하는 것입니다. PCA에서 주성분 인 PCA biplot의 축은 모든 변수의 최적 선형 조합으로 도출됩니다. 변수 pH가있는 토양 화학 데이터 세트에서 이것을 실행 한 경우,Ca2+, TotalCarbon, 첫 번째 구성 요소가

0.5×pH+1.4×Ca2++0.1×TotalCarbon

두 번째 구성 요소

2.7×pH+0.3×Ca2+5.6×TotalCarbon

이러한 구성 요소는 측정 된 변수에서 자유롭게 선택할 수 있으며 데이터 집합에서 가장 많은 양의 변동을 순차적으로 설명하고 각 선형 조합이 서로 직교 (비 상관) 인 변수를 선택할 수 있습니다.

제한된 안수에는 두 개의 데이터 세트가 있지만 원하는 첫 번째 데이터 세트 (위의 토양 화학 데이터)의 선형 조합을 자유롭게 선택할 수는 없습니다. 대신 첫 번째 변형을 가장 잘 설명하는 두 번째 데이터 세트에서 변수의 선형 조합을 선택해야합니다. 또한 PCA의 경우 하나의 데이터 세트가 응답 매트릭스이고 예측자가 없습니다 (응답을 예측 자체로 생각할 수 있음). 제한된 경우, 설명 변수 세트로 설명하려는 응답 데이터 세트가 있습니다.

어떤 변수가 반응인지는 설명하지 않았지만 일반적으로 환경 설명 변수를 사용하여 해당 종의 풍부도 또는 구성 (예 : 반응)의 변화를 설명하려고합니다.

제한된 버전의 PCA는 생태계에서 RDA (Redundancy Analysis)라고합니다. 이것은 종에 대한 기본 선형 반응 모델을 가정하며, 종이 반응하는 짧은 구배가있는 경우 적합하지 않거나 적합하지 않습니다.

PCA의 대안은 대응 분석 (CA)이라고하는 것입니다. 이것은 구속되지 않지만 기본 단봉 형 반응 모델을 가지고 있는데, 이는 종이 더 긴 구배를 따라 어떻게 반응하는지에 관해서는 다소 현실적인 것입니다. 또한 CA는 상대 풍부도 또는 구성을 모델링하고 PCA는 원시 풍부도를 모델링합니다.

제한적 또는 표준 대응 분석 (CCA) 으로 알려진 제한된 버전의 CA가 있으며, 표준 상관 분석으로 알려진보다 공식적인 통계 모델과 혼동하지 않아야합니다.

RDA와 CCA에서 목표는 설명 변수의 일련의 선형 조합으로 종 존재비 또는 조성의 변화를 모델링하는 것입니다.

설명에서 아내가 측정 한 다른 변수와 관련하여 노래기 종 구성의 변화 (또는 풍부도)를 설명하려는 것처럼 들립니다.

경고의 일부 단어; RDA와 CCA는 다변량 회귀입니다. CCA는 가중 다변량 회귀입니다. 회귀에 대해 배운 것은 모두 적용되며 다른 몇 가지 문제도 있습니다.

  • 설명 변수의 수를 늘리면 제약 조건이 실제로 점점 줄어들고 종 구성을 최적으로 설명하는 구성 요소 / 축을 추출하지 않습니다.
  • CCA를 사용하면 설명 요소의 수를 늘리면 CCA 플롯의 점 구성에 곡선의 인공물이 유도 될 위험이 있습니다.
  • RDA와 CCA에 기반을 둔 이론은 공식적인 통계적 방법보다 잘 발달되지 않았다. 단계적 선택 (회귀의 선택 방법으로 선호하지 않는 모든 이유로 이상적이지 않음)을 사용하여 설명 할 변수를 합리적으로 선택할 수 있으며 순열 테스트를 사용해야합니다.

내 조언은 회귀와 같습니다. 가설이 무엇인지 미리 생각하고 이러한 가설을 반영하는 변수를 포함하십시오. 모든 설명 변수를 믹스에 넣지 마십시오 .

구속 안수

PCA

유지 관리에 도움이되고 이러한 종류의 안수 방법에 맞게 설계된 채식 패키지를 사용하여 PCA, CA 및 CCA를 비교하는 예를 보여 드리겠습니다 .

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)

완전 채식 은 Canoco와 달리 관성을 표준화하지 않으므로 총 분산은 1826이고 고유 값은 동일한 단위에 있고 합계는 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

또한 첫 번째 고유 값은 분산의 약 절반이며 처음 두 축을 사용하여 총 분산의 ~ 80 %를 설명했습니다.

> 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은 처음 두 가지 주요 구성 요소의 샘플 및 종의 점수에서 추출 할 수 있습니다.

> plot(pcfit)

여기에 이미지 설명을 입력하십시오

여기에 두 가지 문제가 있습니다

  1. 안수는 본질적으로 데이터 세트에서 가장 풍부한 분류군이므로 세 종 (원래에서 가장 먼 종)으로 구성됩니다.
  2. 안수에는 강한 곡선의 아치가 있으며, 안수의 메트릭 특성을 유지하기 위해 두 가지 주요 구성 요소로 분류 된 길거나 지배적 인 단일 구배를 암시합니다.

CA

CA는 단일 반응 모델로 인해 긴 경사도를 더 잘 처리하고 원시 풍부하지 않은 종의 상대적 구성을 모델링하므로 이러한 점을 모두 지원할 수 있습니다.

이를위한 비건 / R 코드는 위에서 사용 된 PCA 코드와 유사합니다.

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) 

여기에서는 상대적 구성에서 사이트 간 변동의 약 40 %를 설명합니다.

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

여기에 이미지 설명을 입력하십시오

귀하가 선택하는 PCA 또는 CA 중 어느 것이 귀하가 원하는 데이터에 대한 질문에 의해 결정되어야합니다. 일반적으로 종 데이터를 사용하면 종 집합의 차이에 더 관심이 있으므로 CA가 널리 사용됩니다. 우리가 물이나 토양 화학과 같은 환경 변수에 대한 데이터 세트를 가지고 있다면, 기울기를 따라 단조로운 방식으로 반응 할 것으로 기대하지 않으므로 CA가 부적절하고 PCA ( 통화 scale = TRUE에서 사용하는 상관 매트릭스 rda())가 더 적절합니다.

제한된 안수; CCA

이제 첫 번째 종 데이터 세트의 패턴을 설명하는 데 사용할 두 번째 데이터 세트가있는 경우 제한된 안수를 사용해야합니다. 여기에서 종종 CCA를 선택하지만 RDA는 종 데이터를보다 잘 처리 할 수 ​​있도록 데이터를 변환 한 후 RDA와 마찬가지로 대안입니다.

data(varechem)                          # load explanatory example data

cca()함수를 재사용 하지만 두 가지 데이터 프레임 ( X종 및 Y설명 / 예측 변수)에 적합하거나 원하는 모형의 형식을 나열하는 모델 수식을 제공합니다.

모든 변수를 포함하기 위해 모든 변수를 포함 varechem ~ ., data = varechem하는 공식으로 사용할 수 있지만 위에서 말했듯이 이것은 일반적으로 좋은 생각이 아닙니다.

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

위의 안수의 삼중 항은 plot()방법을 사용하여 생성됩니다

> plot(ccafit)

여기에 이미지 설명을 입력하십시오

물론, 이제 과제는 이러한 변수 중 실제로 중요한 변수를 해결하는 것입니다. 또한 우리는 단지 13 개의 변수를 사용하여 종 분산의 약 2/3를 설명했습니다. 이 안수에서 모든 변수를 사용하는 데 따른 문제 중 하나는 표본 및 종 점수에서 아치형 구성을 만들었 기 때문에 순전히 너무 많은 상관 변수를 사용하는 인공물입니다.

이것에 대해 더 알고 싶다면 완전 채식 문서 나 다변량 생태 학적 데이터 분석에 관한 좋은 책을 확인하십시오 .

회귀와의 관계

RDA와의 연결을 설명하는 것이 가장 간단하지만 CCA는 행과 열의 양방향 테이블 여백 합계를 가중치로 포함한다는 점을 제외하고는 동일합니다.

핵심적으로, RDA는 설명 변수의 행렬에 의해 주어진 예측 변수와 함께 각 종 (응답) 값 (풍부함)에 맞는 다중 선형 회귀 분석에서 적합 값의 행렬에 PCA를 적용하는 것과 같습니다.

R에서는 다음과 같이 할 수 있습니다

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

이 두 가지 접근 방식의 고유 값은 동일합니다.

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

어떤 이유로 나는 축 점수 (로드)를 얻을 수 없지만 항상 스케일 (또는 스케일링되지 않음)이므로 여기서 어떻게 수행되는지 정확하게 조사해야합니다.

우리는 rda()내가 보여준 것처럼 RDA를 lm()하지는 않지만 선형 모델 부품에는 QR 분해를 사용하고 PCA 부품에는 SVD를 사용합니다. 그러나 필수 단계는 동일합니다.


4
+1하고 계속을 찾고 있습니다! 여러 의견 : (1) 귀하의 예에서 PC1은 PC2와 직교하지 않습니다. 당신은 예를 들어 변경할 수 있습니다+1.35.6그것을 해결하기 위해. (2) 아마도 답변의 내용을 반영하기 위해 OP의 제목을 편집하는 것이 합리적입니다. 제목의 현재 버전은 내 것이지만 OP가 무엇을 말하는지 거의 알지 못했습니다. (3) "응답"은 일반적으로 단 변량 또는 다변량입니까? 후자처럼 들리지만, 예를 들어 노래기 풍부 다변량은 어떻습니까? 여러 종의 풍부? (4)이 방법들은 회귀와 어떻게 다른가? 수학적 포인터를 포함시킬 수 있습니까?
amoeba

2
제안과 후속 조치에 감사드립니다-선형 조합 예제를 직교로 만드는 것은 발생하지 않았지만 업데이트했습니다. Re 2), 나는 추정을했지만 c가 있다고 가정했다. 12,000 종의 노래기, 나는 여기서의 반응이미디엄 각각의 종 샘플링 위치. 그런 의미에서 RDA 또는 CCA는 차원의 다변량 반응 행렬을 모델링합니다.×미디엄. 나는 아이들을 침대에 놓은 후에 나중에 4를 다루려고 노력할 것이다.
Gavin Simpson

@amoeba 지연에 대해 죄송하지만 회귀와의 연결을 보여주기 위해 답에 섹션을 추가했으며 RDA를 일련의 선형 회귀에서 응답 변수 당 하나씩 PCA로 볼 수있는 방법을 보여주었습니다.
Gavin Simpson

1
@amoeba 우리는 SVD를한다 엑스β 계수가 아닌 (적합한 값) β적어도 그것이 fitted()제공하는 것입니다 :엑스β. 따라서 RDA는 종종 감소 된 등급 회귀라고합니다.
Gavin Simpson

1
RDA의 기원은 통계 용지 인 Rao (1964)에 기인 한 것이므로 적절해야합니다.
Gavin Simpson
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.