Как интерпретировать коэффициенты в регрессии Пуассона?

64

Как я могу интерпретировать основные эффекты (коэффициенты для фиктивного фактора) в регрессии Пуассона?

Предположим следующий пример:

treatment     <- factor(rep(c(1, 2), c(43, 41)), 
                        levels = c(1, 2),
                        labels = c("placebo", "treated"))
improved      <- factor(rep(c(1, 2, 3, 1, 2, 3), c(29, 7, 7, 13, 7, 21)),
                        levels = c(1, 2, 3),
                        labels = c("none", "some", "marked"))    
numberofdrugs <- rpois(84, 10) + 1    
healthvalue   <- rpois(84, 5)   
y             <- data.frame(healthvalue, numberofdrugs, treatment, improved)
test          <- glm(healthvalue~numberofdrugs+treatment+improved, y, family=poisson)
summary(test)

Выход:

Coefficients:
                 Estimate Std. Error z value Pr(>|z|)    
(Intercept)       1.88955    0.19243   9.819   <2e-16 ***
numberofdrugs    -0.02303    0.01624  -1.418    0.156    
treatmenttreated -0.01271    0.10861  -0.117    0.907   MAIN EFFECT  
improvedsome     -0.13541    0.14674  -0.923    0.356   MAIN EFFECT 
improvedmarke    -0.10839    0.12212  -0.888    0.375   MAIN EFFECT 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 

Я знаю, что уровень инцидентов для numberofdrugsэто exp(-0.023)=0.977. Но как мне интерпретировать основные эффекты для фиктивных переменных?

Gung - Восстановить Монику
источник
Аналогичный ответ (но в более математической форме) можно найти здесь: Как интерпретировать оценки параметров в результатах Пуассона GLM .
gung - Восстановить Монику
Интересно, что указанный вопрос был закрыт как не по теме. (Я бы не согласился, что это было не по теме, поскольку любой ответ также относился бы к выводу любой программы статистики, которая возвращала пользователю таблицу коэффициентов, и согласен с вами, что она заслуживает внимания на основе быть дубликатом.) Мне кажется, что SO-сообщество слишком «тесно» в вопросах, требующих интерпретации выходных данных R. Они на самом деле не относятся к теме StackOverflow, поскольку нет никаких предположений о необходимости помощи в кодировании.
2
@DWin, я не думаю, что интерпретация статистического вывода не по теме перекрестной проверки . Я проголосовал за то, чтобы закрыть этот вопрос как дубликат этого. Я полагаю, что другие проголосовали за OT, потому что им показалось, что OP "сбросил [их] выходные данные с компьютера и [надеялся, что кто-нибудь] запустит анализ статистики для [них]".
gung - Восстановить Монику
1
@gung: Мне было ясно, что это не ты называешь это ОТ. Ваши комментарии были ясны по этому вопросу. (Я думал, что согласен с вами.) «Причина», указанная при закрытом голосовании, часто является решением большинства или большинства.
DWin
Актуален
kjetil b halvorsen

Ответы:

56

Экспоненцируются numberofdrugsкоэффициентом является мультипликативным термином, используемым для расчета оцененных , healthvalueкогда numberofdrugsувеличивается на 1 единицу. В случае категориальных (факторных) переменных возведенный в степень коэффициент представляет собой мультипликативный член относительно базового (первого фактора) уровня для этой переменной (поскольку R по умолчанию использует контрасты лечения). Это exp(Intercept)базовая ставка, и все остальные оценки будут относиться к ней.

В вашем примере оценка healthvalueдля кого-то с 2наркотиками, "placebo"и improvement=="none"будет (с использованием сложения внутри опыта в качестве эквивалента умножения):

 exp( 1.88955 + 2*-0.02303 + 0 + 0 )
 [1] 6.318552

В то время как кто - то на 4наркотики, "treated"и "some"улучшение было бы , по оценкам , healthvalueв

exp( 1.88955 + 4*-0.02303 + -0.01271 + -0.13541)
[1] 5.203388

ADDENDUM: Это то, что значит быть «добавкой в ​​логарифмическом масштабе». «Добавка по шкале логарифмов» - это фраза, которую моя учительница Барбара Макнайт использовала, подчеркивая необходимость использования всех терминов-коэффициентов, которые применялись в логистической регрессии, при выполнении любого вида предсказания. Вы добавляете сначала все коэффициенты, умноженные на ковариатные значения, а затем возводите в степень. Способ возврата коэффициентов из объектов регрессии в R обычно заключается в использовании coef()функции экстрактора (выполненной с другой случайной реализацией ниже):

 coef(test)
  #   (Intercept)    numberofdrugs treatmenttreated     improvedsome   improvedmarked 
  #   1.18561313       0.03272109       0.05544510      -0.09295549       0.06248684 

Так что расчет сметы для субъекта с 4наркотиками "treated"при "some"улучшении составит:

 exp( sum( coef(test)[ c(1,2,3,4) ]* c(1,4,1,1) ) ) 
 [1] 3.592999

И линейный предиктор для этого случая должен быть суммой:

 coef(test)[c(1,2,3,4)]*c(1,4,1,1) 
 #    (Intercept)    numberofdrugs treatmenttreated     improvedsome 
 #     1.18561313       0.13088438       0.05544510      -0.09295549

Эти принципы должны применяться к любому пакету статистики, который возвращает таблицу коэффициентов пользователю. Метод и принципы более общие, чем может показаться из моего использования R.


Я копирую выбранные уточняющие комментарии, поскольку они «исчезают» на дисплее по умолчанию:

Q: То есть вы интерпретируете коэффициенты как отношения! Спасибо! - МаркДоллар

A: Коэффициенты - это натуральные логарифмы отношений. - DWin

Q2: В этом случае в регрессии Пуассона возведенные в степень коэффициенты также называют «коэффициентами шансов»? - оорт

A2: Нет. Если бы это была логистическая регрессия, то они были бы, но в регрессии Пуассона, где LHS - это число событий, а неявный знаменатель - это число, подверженное риску, тогда возведенные в степень коэффициенты являются «коэффициентами ставок» или «относительными рисками».

Dwin
источник
Таким образом, это позволит вам голосовать дважды? Как мило. Я подумал, что реализация интерпретации кода R-кода может спасти его от сил классификационной прямоты. ОП составил хороший самостоятельный пример. Может быть, я должен был продемонстрировать функцию экстрактора, так что я думаю, что я буду.
DWin
Да, я проголосовал за ваш ответ на SO, затем он переместился сюда, и я снова проголосовал :)
Брэндон Бертельсен
Пока спасибо! Я знаю разницу между манекенами и кавариями, но мне просто интересно, как интерпретировать Главные эффекты (я их пометил). Можно ли взять начальную частоту из основных эффектов, например, для фиктивной фигуры, обработанной «exp (-0.012) = 0,99», и интерпретировать ее как скорость, с которой снижается значение healtvalue, при переключении с эталонной категории на леченную? Должно быть, нет?
MarkDollar
Возведенные в степень коэффициенты всегда интерпретируются как отношения. Соотношение «что» и «что» зависит от единиц анализа. «Тарифы» разные, имеют неявное число и значение времени. Так что, если вы готовы изменить свою терминологию, тогда, возможно, «да». Лучшие ответы приходят от полного описания ситуации анализа.
DWin
Ах, хорошо, это то, что я хотел знать. Таким образом, вы интерпретируете коэффициенты как отношения! Спасибо!
MarkDollar