Bagaimana menafsirkan estimasi parameter dalam hasil Poisson GLM [ditutup]

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

Saya ingin tahu cara menafsirkan setiap estimasi parameter dalam tabel di atas.

tomjerry001
sumber
Penafsirannya sama: stats.stackexchange.com/a/126225/7071
Dimitriy V. Masterov
6
Pertanyaan ini tampaknya di luar topik karena ini menjelaskan tentang output R tanpa bentuk pertanyaan cerdas di belakang. Ini adalah kategori "Saya membuang output komputer saya di sana dan Anda menjalankan analisis stat untuk saya" ...
Xi'an
1
Parameter dispersi Anda tampaknya menunjukkan bahwa ada beberapa masalah dengan model Anda. Mungkin Anda sebaiknya mempertimbangkan menggunakan distribusi quasipoisson. Saya yakin estimasi parameter Anda akan berubah secara drastis dan interpretasinya juga demikian. Jika Anda menjalankan "plot (model)" Anda akan mendapatkan beberapa plot residu Anda, lihat plot ini untuk pola yang tidak diinginkan sebelum Anda mulai menafsirkan model Anda yang sebenarnya. Untuk merencanakan dengan tepat model Anda, Anda juga dapat menggunakan "visreg (modelfit)" dari paket visreg
Robbie
3
@ Xi'an, meskipun pertanyaannya jarang & perlu diedit, saya rasa ini bukan topik. Pertimbangkan pertanyaan-pertanyaan ini yang tidak dianggap di luar topik: Interpretasi output Rm () , & Interpretasi output R untuk regresi binomial . Itu tampaknya duplikat .
gung - Reinstate Monica
2
Ini adalah duplikat dari Bagaimana menafsirkan koefisien dalam regresi Poisson? Silakan baca utas tertaut. Jika Anda masih memiliki pertanyaan setelah membacanya, kembali ke sini & edit pertanyaan Anda untuk menyatakan apa yang telah Anda pelajari & apa yang masih perlu Anda ketahui, maka kami dapat memberikan informasi yang Anda butuhkan tanpa hanya menduplikasi materi di tempat lain yang sudah tidak membantu kamu.
gung - Reinstate Monica

Jawaban:

28

Saya rasa judul pertanyaan Anda tidak secara akurat menangkap apa yang Anda minta.

Pertanyaan tentang bagaimana menafsirkan parameter dalam GLM sangat luas karena GLM adalah kelas model yang sangat luas. Ingatlah bahwa GLM memodelkan variabel respons yang diasumsikan mengikuti distribusi yang diketahui dari keluarga eksponensial, dan bahwa kami telah memilih fungsi yang tidak dapat dibalik g sedemikian sehingga E [ yyg untukvariabel prediktor J x . Dalam model ini, interpretasi setiap parameter tertentu β j adalah laju perubahan g ( y ) terhadap x j . Tentukan μ E [ y

E[y|x]=g1(x0+x1β1++xJβJ)
Jxβjg(y)xj danηxβuntuk menjaga notasi tetap bersih. Kemudian, untuk setiapj{1,...,J}, β j =μE[y|x]=g1(x)ηxβj{1,,J} Sekarang tentukanejmenjadi vektor dariJ-1nol dan satu1di posisij, sehingga misalnya jikaJ=5makae3=(0,0,1,0,0). Kemudian βj=g(E [
βj=ηxj=g(μ)xj.
ejJ11jJ=5e3=(0,0,1,0,0)
βj=g(E[y|x+ej])g(E[y|x])

βjηxj

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

gβjηyxjyxjg1(β)


yPoisson(λ)g=ln . Maka kita bisa mendapatkan daya tarik sehubungan dengan interpretasi tertentu.

μxj=dg1dηβjg(μ)=ln(μ)g1(η)=eηdeηdη=eη

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

yang akhirnya berarti sesuatu yang nyata:

xjy^y^βj

Catatan: perkiraan ini sebenarnya dapat bekerja untuk perubahan sebesar 0,2, tergantung pada seberapa banyak presisi yang Anda butuhkan.

Δ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.

shadowtalker
sumber
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").

Russ Lenth
sumber
1
As much as I like this approach (I do it all the time) I think it's counterproductive for building understanding.
shadowtalker