Які критерії використовувати для поділу змінних на пояснювальні змінні та відповіді для методів ординації в екології?


9

У мене різні змінні, які взаємодіють у межах популяції. В основному я робив інвентаризацію міліпед і вимірював деякі інші значення місцевості, наприклад:

  • Вид і кількість зібраних особин
  • Різне середовище, де знаходяться тварини
  • рН
  • Відсоток органічного матеріалу
  • кількість P, K, Mg, Ca, Mn, Fe, Zn, Cu
  • Відношення Ca + Mg / K

В основному я хотів би використовувати PCA, щоб визначити, які змінні визначають мінливість зразків і роблять ліс (середовища) різними; які змінні я повинен використовувати для "змінних", а які для "індивідів"?


Думаю, вас можуть збентежити PCA. Усі змінні можуть (звичайно) бути лише "змінними". Ви, мабуть, зробили ряд вимірювань у різних місцях (або в різний час); то ці місця (або часи) - це ваші "особи", а точніше "зразки".
амеба

Також я не можу не запитати: у вашому профілі написано, що ви засновник стартапу; це стартап, що працює з меліпедами? Оце Так!
амеба

насправді @amoeba - моя дружина, яка працює над цим, я добре розраховуюсь, але не так добре розвиваюсь у статистиці. І вона хотіла, щоб я спитав.
Леонардо

1
Hpw, це справді статистичне питання? Хоча статистична термінологія здається заплутаною, настільки важко розшифрувати, якщо це впорядковано порадою - використовувати наукове судження.
Нік Кокс

2
Це може бути статистичним питанням, просто в іншому контексті та з іншими термінами, ніж вони характерні для статистики. Я вважаю, ви запитуєте про методи ординації з екології. Цей веб-сайт може бути корисним для вас. Відносно небагато наших активних членів тут знають це, але @GavinSimpson може допомогти вам, якщо ми зможемо привернути його увагу.
gung - Відновіть Моніку

Відповіді:


19

Як згадується @amoeba в коментарях, PCA розгляне лише один набір даних, і він покаже вам основні (лінійні) закономірності зміни цих змінних, кореляції або коваріації між цими змінними та зв'язки між зразками (рядки ) у вашому наборі даних.

Те, що зазвичай робиться з набором даних про види та набором потенційних пояснювальних змінних, - це відповідати обмеженій ординації. В PCA основні компоненти, осі біплота PCA, виводяться як оптимальні лінійні комбінації всіх змінних. Якщо ви працювали з цим набором даних хімії ґрунтів зі змінними pH,Са2+, TotalCarbon, ви можете виявити, що перший компонент був

0,5×pН+1.4×Са2++0,1×ТоталСаrбон

і другий компонент

2.7×pН+0,3×Са2+-5.6×ТоталСаrбон

Ці компоненти вільно вибираються із виміряних змінних, і їх обирають такі, що пояснюють послідовно найбільшу кількість варіацій набору даних, і що кожна лінійна комбінація є ортогональною (некорельованою з) іншими.

У обмеженій ординації у нас є два набори даних, але ми не вільні вибирати будь-які лінійні комбінації першого набору даних (дані хімічної речовини ґрунту вище). Натомість нам слід вибрати лінійні комбінації змінних у другому наборі даних, які найкраще пояснюють варіації у першому. Крім того, у випадку PCA, один набір даних є матрицею відповідей, і немає предикторів (ви можете подумати про відповідь як передбачення). У обмеженому випадку у нас є набір даних відповідей, який ми хочемо пояснити набором пояснювальних змінних.

Хоча ви не пояснили, які змінні є відповіддю, зазвичай хочеться пояснити різницю чисельності або складу цих видів (тобто відповідей), використовуючи пояснювальні змінні.

Обмежена версія PCA - це річ, яка в екологічних колах називається Аналіз надмірності (RDA). Це передбачає основу лінійної моделі відповіді для виду, яка або не є доцільною, або лише підходить, якщо у вас короткі градієнти, уздовж яких реагують види.

Альтернативою PCA є річ, яка називається аналіз кореспонденції (CA). Це необмежено, але у нього є основна модель одномодальної реакції, яка є дещо реалістичнішою з точки зору того, як види реагують на більш тривалих градієнтах. Зауважимо також, що моделі CA відносні чисельності або складу , PCA моделює сирі кількості.

Існує обмежена версія СА, відома як аналіз обмеженого або канонічного листування (CCA) - не плутати з більш формальною статистичною моделлю, відомою як канонічний кореляційний аналіз.

І в RDA, і в CCA метою є моделювання варіації чисельності видів або складу у вигляді ряду лінійних комбінацій пояснювальних змінних.

З опису звучить так, що ваша дружина хоче пояснити зміну складу виду міліпея (або його численності) з точки зору інших вимірюваних змінних.

Деякі слова попередження; RDA та CCA - лише багатоваріантні регресії; CCA - це лише зважена багатоваріантна регресія. Все, що ви дізналися про регресію, стосується, і є ще декілька інших проблем:

  • в міру збільшення кількості пояснювальної змінної обмежень насправді стає все менше і менше, і ви насправді не видобуваєте компоненти / осі, які оптимально пояснюють склад видів, і
  • при CCA, збільшуючи кількість пояснюючих факторів, ви ризикуєте викликати артефакт кривої в конфігурацію точок на графіку CCA.
  • теорія, що лежить в основі RDA та CCA, є менш розвиненою, ніж більш формальні статистичні методи. Ми можемо лише обґрунтувати вибір пояснювальних змінних, щоб продовжувати використовувати поетапний вибір (що не ідеально з усіх причин, які нам не подобаються як метод відбору в регресії), і для цього нам потрібно використовувати тести перестановки.

тому моя порада така ж, як і при регресії; заздалегідь подумайте, які ваші гіпотези, і включіть змінні, що відображають ці гіпотези. Не просто кидайте всі пояснювальні змінні в суміш.

Приклад

Нестримне висвячення

PCA

Я покажу приклад порівняння PCA, CA та CCA за допомогою веганського пакету для R, який я допомагаю підтримувати і який призначений для відповідності таким методам виведення:

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)

веган не стандартизує інерцію, на відміну від Каноко, тому загальна дисперсія - 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

Біплот можна одержати з оцінок зразків та видів на перших двох основних компонентах

> 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 ви обрали, слід визначати питання, які ви хочете задати даним. Зазвичай з даними про види нас частіше цікавлять різниці у наборі видів, тому СА є популярним вибором. Якщо у нас є набір даних із змінних навколишнього середовища, скажімо, води чи хімії ґрунтів, ми не сподіваємось, що вони реагуватимуть одномодально на градієнтах, тому СА буде недоречним і 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)

введіть тут опис зображення

Звичайно, тепер завдання полягає в тому, щоб розібратися, яка з цих змінних насправді важлива. Також зауважте, що ми пояснили приблизно 2/3 дисперсії видів, використовуючи лише 13 змінних. Однією з проблем використання всіх змінних у цій ординації є те, що ми створили арочну конфігурацію у вибірці та видових оцінках, що є суто артефактом використання занадто багатьох корельованих змінних.

Якщо ви хочете дізнатися більше про це, ознайомтеся з веганською документацією або хорошою книгою про багатовимірний аналіз екологічних даних.

Зв'язок з регресією

Найпростіше проілюструвати зв'язок з 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 для частини лінійної моделі, а потім SVD для частини PCA. Але суттєві кроки однакові.


4
+1 і шукаємо продовження! Кілька коментарів: (1) у вашому прикладі PC1 не є ортогональним для PC2; Ви можете, наприклад, змінити+1.3 до -5.6щоб виправити це. (2) Напевно, має сенс відредагувати назву ОП, щоб відобразити зміст вашої відповіді; поточна редакція назви моя, але я мало уявляв, про що йдеться в ОП. (3) Чи зазвичай "відповідь" є одновимірним або багатоваріантним? Схоже на останнє, але як, наприклад, багатовимірність достатку міліпеї? Чисельність кількох видів? (4) Чим ці методи відрізняються від регресії? Чи можете ви включити деякі математичні вказівники?
амеба

2
Дякую за пропозицію та подальші дії - мені не спало на думку робити приклади лінійних комбінацій ортогональними, але я оновив їх. Re 2), я зробив презумпцію, але враховуючи, що є c. 12 000 видів меліпедів, я підозрюю, що реакція тут є спостереженнями про численністьм види на кожному з нмісця відбору проб. У цьому сенсі RDA або CCA буде моделювати багатовимірну матрицю відповідей розмірностін×м. Спробую розібратися з 4 пізніше після того, як я покладу дітей спати.
Гевін Сімпсон

@amoeba Вибачте за затримку, але я додав розділ до своєї відповіді, щоб спробувати показати зв'язок з регресією та як RDA можна розглядати як PCA вбудованих значень із серії лінійних регресій, по одній на змінну відповіді.
Гевін Сімпсон

1
@amoeba Ми робимо SVD Хβ (встановлені значення) не з коефіцієнтів β, принаймні, це те, що fitted()дає:Хβ. Отже, RDA часто називають регресією зниженого рангу.
Гевін Сімпсон

1
Походження RDA пояснюється Rao (1964), який є статистичним документом, тому він повинен бути відповідним.
Гевін Сімпсон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.