Чи варто використовувати офсет для мого Poisson GLM?


11

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

model1 <- glm(g_den ~ method + site + depth, poisson)

Мої 3 змінних предиктора - це метод, сайт та глибина, які я впорядкував як фактори, коли вводя їх.

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

In dpois(y, mu, log = TRUE) : non-integer x = 0.037500

Я читав, і багато людей пропонують використовувати офсет, це найдоцільніше зробити?


1
Мова йде не про те, як використовувати R. Це основне статистичне запитання, замасковане під R-питання. Тут має бути тема.
gung - Відновіть Моніку

Відповіді:


11

Тут є кілька питань:

  1. Вам потрібно використовувати спостережувані підрахунки як змінну відповіді. Не слід використовувати щільність ( g_den).
  2. Якщо спостережувані підрахунки відрізняються від областей, вам слід прийняти журнал цих областей як нову змінну:

    larea = log(area)
  3. Ви можете контролювати різні області спостережень двома різними способами:

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

Більше інформації про ці питання можна знайти в наступних темах резюме:


6

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

model1 <- glm(g_den ~ method + site + depth + offset(log(area)), poisson)

(відредаговано з попередньої неправильної версії, відсутній журнал)

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


2
Ви згадуєте, що у своїй відповіді слід використовувати журнальну трансформацію області (як модель Пуассона використовує посилання журналу), але ваш код не здійснює перетворення. Я не думаю, що offsetзастосовується трансформація за замовчуванням, але пройшов деякий час з моменту використання offset.
iacobus

3
Зауважте, що offset() не застосовується перетворення за замовчуванням; він просто змушує коефіцієнт дорівнювати 1. Див., наприклад, тут .
gung - Відновіть Моніку

1
Дякуємо за коментарі. Тож чи повинен я повернути свої дані назад до підрахунків, а не до густин, і включити область як окрему змінну? Мені також порадили на іншому форумі зробити гамма або зворотну модель Гаусса і змінити моє нульове значення на 0,00001, якщо я б зберігав дані як щільність, чи вважаєте ви, що це також було б доречним?
Vivienne

4
Е(cоунт)=досвід(βТх)аrеа=досвід(βТх+журнал(аrеа))Е(cоунт/аrеа)=Е(cоунт)/аrеа=досвід(βТх)

5
Ви не можете використовувати щільність як відповідь. Ви повинні використовувати оригінальні підрахунки як свою відповідь. Включення зсуву автоматично зробить підрахунок відгуку еквівалентним щільності правильним чином.
gung - Відновіть Моніку

5

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

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

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

Це ваш дзвінок.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.