Как интерпретировать оценки параметров в результатах Пуассона GLM [закрыто]


14
Call:
glm(formula = darters ~ river + pH + temp, family = poisson, data = darterData)

Deviance Residuals:
    Min      1Q   Median     3Q    Max
-3.7422 -1.0257   0.0027 0.7169 3.5347

Coefficients:
              Estimate Std.Error z value Pr(>|z|)
(Intercept)   3.144257  0.218646  14.381  < 2e-16 ***
riverWatauga -0.049016  0.051548  -0.951  0.34166
pH            0.086460  0.029821   2.899  0.00374 **
temp         -0.059667  0.009149  -6.522  6.95e-11 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for poisson family taken to be 1)
Null deviance: 233.68 on 99 degrees of freedom
Residual deviance: 187.74 on 96 degrees of freedom
AIC: 648.21

Я хочу знать, как интерпретировать оценку каждого параметра в таблице выше.


Интерпретация идентична: stats.stackexchange.com/a/126225/7071
Дмитрий В. Мастеров

6
Этот вопрос, кажется, не по теме, потому что речь идет об объяснении вывода R без какой-либо разумной формы вопроса. Это категория «Я выкидываю вывод с моего компьютера, а вы запускаете статистический анализ для меня» ...
Сиань

1
Ваш параметр дисперсии, кажется, указывает на наличие проблем с вашей моделью. Возможно, вам следует рассмотреть возможность использования квазипуассонного распределения. Бьюсь об заклад, ваши оценки параметров кардинально изменятся, как и интерпретация. Если вы запустите «plot (model)», вы получите несколько графиков ваших остатков, посмотрите на эти графики нежелательные шаблоны, прежде чем начинать интерпретировать вашу фактическую модель. Для быстрого построения подгонки вашей модели вы также можете использовать "visreg (modelfit)" из пакета visreg
Robbie

3
@ Сиань, хотя вопрос редкий и требует редактирования, я не думаю, что это не по теме. Рассмотрим эти вопросы, которые не считаются не по теме: Интерпретация вывода R в lm () и Интерпретация вывода R для биномиальной регрессии . Это, кажется, дубликат , однако.
gung - Восстановить Монику

2
Это дубликат Как интерпретировать коэффициенты в регрессии Пуассона? Пожалуйста, прочитайте связанную ветку. Если после прочтения у вас все еще есть вопрос, вернитесь сюда и отредактируйте свой вопрос, чтобы указать, что вы узнали и что вам еще нужно знать, тогда мы можем предоставить необходимую вам информацию, не просто дублируя материал в другом месте, которое уже не помогло вы.
gung - Восстановить Монику

Ответы:


28

Я не думаю, что название вашего вопроса точно отражает то, что вы просите.

Вопрос о том, как интерпретировать параметры в GLM, очень широк, потому что GLM - очень широкий класс моделей. Напомним, что GLM моделирует переменную отклика которая, как предполагается, следует известному распределению из экспоненциального семейства, и что мы выбрали обратимую функцию g такую, что E [ yyg для J переменных-предикторов x . В этой модели интерпретация любого конкретного параметра β j - это скорость изменения g ( y ) по отношению к x j . Определить μ E [ y

E[y|x]=g1(x0+x1β1++xJβJ)
Jxβjg(y)xj иηxβ,чтобы сохранить обозначение в чистоте. Тогда для любогоj{1,,J}, β j =μE[y|x]=g1(x)ηxβj{1,,J} Теперь определимejкак вектор изнулейJ-1и одного1вj-й позиции, так что, например, еслиJ=5,тоe3=(0,0,1,0,0). Тогда βj=g(E [ y
βj=ηxj=g(μ)xj.
ejJ11jJ=5e3=(0,0,1,0,0)
βj=g(E[y|x+ej])g(E[y|x])

Что просто означает, что - это влияние на η единичного увеличения x j .βjηxj

Вы также можете указать отношения следующим образом: и E[y

E[y|x]xj=μxj=dμdηηxj=μηβj=dg1dηβj
E[y|x+ej]E[y|x]Δjy^=g1((x+ej)β)g1(xβ)

Не зная ничего о , это насколько мы можем получить. β j - это влияние на η , на преобразованное условное среднее значение y единичного увеличения x j , а влияние на условное среднее y для единичного увеличения x j составляет g - 1 ( β ) .gβjηyxjyxjg1(β)


Но вы, кажется, спрашиваете конкретно о регрессии Пуассона, используя стандартную функцию R по умолчанию, которая в данном случае является натуральным логарифмом. Если это так, вы спрашиваете о конкретном виде ГЖС , в которой и г = Ln . Тогда мы можем получить некоторую тягу в отношении конкретной интерпретации.yPoisson(λ)g=ln

Из того, что я сказал выше, мы знаем, что μxj=dg1dηβj. And since we know g(μ)=ln(μ), we also know that g1(η)=eη. We also happen to know that deηdη=eη, so we can say that

μxj=E[y|x]xj=ex0+x1β1++xJβJβj

which finally means something tangible:

Given a very small change in xj, the fitted y^ changes by y^βj.

Note: this approximation can actually work for changes as large as 0.2, depending on how much precision you need.

And using the more familiar unit change interpretation, we have:

Δjy^=ex0+x1β1++(xj+1)βj++xJβJex0+x1β1++xJβJ=ex0+x1β1++xJβJ+βjex0+x1β1++xJβJ=ex0+x1β1++xJβJejβex0+x1β1++xJβJ=ex0+x1β1++xJβJ(ejβ1)
which means

Given a unit change in xj, the fitted y^ changes by y^(ejβ1).

There are three important pieces to note here:

  1. The effect of a change in the predictors depends on the level of the response.
  2. An additive change in the predictors has a multiplicative effect on the response.
  3. You can't interpret the coefficients just by reading them (unless you can compute arbitrary exponentials in your head).

So in your example, the effect of increasing pH by 1 is to increase lny^ by y^(e0.091); that is, to multiply y^ by e0.091.09. It looks like your outcome is the number of darters you observe in some fixed unit of time (say, a week). So if you're observing 100 darters a week at a pH of 6.7, raising the pH of the river to 7.7 means you can now expect to see 109 darters a week.


I made a couple tweaks here, @ssdecontrol. I think they'll make your post a little easier to follow, but if you don't like them, roll them back with my apologies.
gung - Reinstate Monica

I you can't figure that out from my answer then clearly I need to revise the answer. What are you still confused about?
shadowtalker

Plug those numbers into the equation just like in linear regression
shadowtalker

1
@skan no, I mean E[y|x]. x and y are random variables representing to a single observation. x is a vector indexed by j; xj is the random variable representing a specific feature/regressor/input/predictor for that observation.
shadowtalker

2
And don't overthink it. Once you understand all the pieces in a GLM, the manipulations here are just a direct application of calculus principles. It really is as simple as taking the derivative with respect to the variable you're interested in.
shadowtalker

3

My suggestion would be to create a small grid consisting of combinations of the two rivers and two or three values of each of the covariates, then use the predict function with your grid as newdata. Then graph the results. It is much clearer to look at the values that the model actually predicts. You may or may not want to back-transform the predictions to the original scale of measurement (type = "response").


1
As much as I like this approach (I do it all the time) I think it's counterproductive for building understanding.
shadowtalker
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.