Bisakah model untuk data non-negatif dengan penggumpalan di nol (Tweedie GLM, GLM nol-inflasi, dll.) Memprediksi nol yang tepat?

15

Distribusi Tweedie dapat memodelkan data yang miring dengan massa titik pada nol saat parameter hal (eksponen dalam hubungan mean-variance) adalah antara 1 dan 2.

Demikian pula model nol-meningkat (apakah kontinu atau diskrit) mungkin memiliki sejumlah besar nol.

Saya mengalami kesulitan memahami mengapa ketika saya melakukan prediksi atau menghitung nilai yang sesuai dengan model-model ini, semua nilai yang diprediksi tidak nol.

Bisakah model ini benar-benar memprediksi angka nol yang tepat?

Sebagai contoh

library(tweedie)
library(statmod)
# generate data
y <- rtweedie( 100, xi=1.3, mu=1, phi=1)  # xi=p
x <- y+rnorm( length(y), 0, 0.2)
# estimate p
out <- tweedie.profile( y~1, p.vec=seq(1.1, 1.9, length=9))
# fit glm
fit <- glm( y ~ x, family=tweedie(var.power=out$p.max, link.power=0))
# predict
pred <- predict.glm(fit, newdata=data.frame(x=x), type="response")

predsekarang tidak mengandung angka nol. Saya pikir kegunaan model seperti distribusi Tweedie berasal dari kemampuannya untuk memprediksi angka nol yang tepat dan bagian yang berkelanjutan.

Saya tahu bahwa dalam contoh saya, variabelnya xtidak terlalu prediktif.

spore234
sumber
Juga pertimbangkan model respon ordinal semiparametrik, yang memungkinkan distribusi sewenang-wenang untuk . Y
Frank Harrell

Jawaban:

16

Perhatikan bahwa nilai prediksi dalam GLM adalah rata-rata.

Untuk setiap distribusi pada nilai-nilai non-negatif, untuk memprediksi rata - rata 0, distribusinya harus sepenuhnya lonjakan pada 0.

Namun, dengan log-link, Anda tidak akan pernah cocok dengan rata-rata nol (karena itu akan membutuhkan untuk pergi ke - ).η-

Jadi masalah Anda bukanlah masalah dengan Tweedie, tetapi jauh lebih umum; Anda akan memiliki masalah yang sama persis dengan Poisson (zero-inflated atau GLM Poisson biasa) misalnya.

Saya pikir kegunaan distribusi Tweedie berasal dari kemampuannya untuk memprediksi angka nol yang tepat dan bagian yang berkelanjutan.

Karena memprediksi nol yang tepat tidak akan terjadi untuk distribusi apa pun atas nilai non-negatif dengan log-link, pemikiran Anda tentang hal ini pasti salah.

Salah satu daya tariknya adalah modelnya angka nol yang pasti dalam data, bukan bahwa prediksi rata-rata akan menjadi 0. [Tentu saja distribusi yang sesuai dengan bukan nol berarti masih dapat memiliki probabilitas tepat nol, meskipun rata-rata harus melebihi 0. Misalnya, interval prediksi yang sesuai bisa mencakup 0.]

Sama sekali tidak penting bahwa distribusi pas mencakup proporsi substansial dari nol - yang tidak menjadikan pas berarti nol.

Perhatikan bahwa jika Anda mengubah fungsi tautan untuk mengatakan tautan identitas, itu tidak benar-benar menyelesaikan masalah Anda - rata-rata variabel acak non-negatif yang tidak semuanya nol akan positif.

Glen_b -Reinstate Monica
sumber
1
terima kasih atas penjelasan anda. Saya membandingkan tweedie glm dengan gamma glm dan beta hampir persis sama, tidak peduli berapa banyak nol data yang terkandung (saya mengubah nol ke nilai yang sangat kecil untuk gamma glm). Dan apa cara yang diusulkan untuk memprediksi nol dan bagian kontinu secara bersamaan.
spore234
2
@ spore234 Anda bisa menggulung model gamma-hurdle Anda sendiri, yang akan memiliki rintangan binomial untuk memprediksi 0/1 dan model gamma dipasang pada data yang bukan nol. Berikut ini tautan ke posting blog yang membahas model ini dan bagaimana cara memasangnya dengan tangan di R. Sebagai tambahan, Jika ada sesuatu yang berkelanjutan, bagaimana Anda tahu bahwa itu persis nol? Apakah alat ukur Anda mampu melakukan pengukuran yang halus?
Pasang kembali Monica - G. Simpson
2
@ spore, Anda harus lebih eksplisit tentang apa yang Anda maksudkan dengan "memprediksi nol"; jawaban saya sudah menetapkan mengapa tidak ada model distribusi lain yang digunakan untuk menggantikan Tweedie akan memberikan prediksi rata-rata nol (NB nol-meningkat dan model rintangan memiliki masalah yang sama dengan prediksi rata-rata mereka juga). Mengingat prediksi yang berarti adalah apa yang Anda maksudkan dengan "memprediksi" ketika Anda menggunakan GLM, apa yang Anda maksud dengan itu sekarang? Jika Anda mengubahnya berarti sesuatu di mana model 0-inflasi atau rintangan masuk akal, Tweedie mungkin memenuhi kondisi yang sama.
Glen_b -Reinstate Monica
1
Itu benar-benar tergantung pada apa yang Anda maksud dengan "memprediksi" (karena Anda tidak bermaksud "memperkirakan mean", Anda perlu mengatakan apa yang Anda cari - apakah Anda ingin meramalkan kemungkinan nol? Apakah Anda menginginkan perkiraan median? Sesuatu yang lain?), dan hal-hal apa yang Anda anggap "lebih baik" sehingga beberapa perbandingan dapat dibuat.
Glen_b -Reinstate Monica
1
@ spore234 Masalahnya, sekali lagi, adalah Anda menggunakan kata "memprediksi" tetapi gagal untuk mendefinisikan apa yang Anda maksud dengan "memprediksi" (saya terus bertanya!). Anda tampaknya telah mengesampingkan kedua interpretasi yang paling jelas dari istilah dalam situasi ini, sehingga Anda perlu untuk mengatakan apa yang Anda lakukan berarti. Ketika Anda mengatakan "prediksi berapa biaya orang ini", apa maksud Anda sebenarnya? Perhatikan bahwa Anda tidak dapat memperoleh biaya yang tepat untuk setiap orang ... jadi properti apa yang dimiliki "prediksi" ini?
Glen_b -Reinstate Monica
10

Memprediksi proporsi nol

Saya adalah penulis paket statmod dan penulis gabungan dari paket tweedie. Segala sesuatu dalam contoh Anda berfungsi dengan benar. Kode ini menghitung dengan benar untuk setiap nol yang mungkin ada dalam data.

Seperti yang dijelaskan oleh Glen_b dan Tim, nilai rata-rata yang diprediksi tidak akan pernah benar-benar nol, kecuali probabilitas nol adalah 100%. Yang mungkin menarik adalah proporsi nol yang diprediksi, dan ini dapat dengan mudah diekstraksi dari model yang cocok seperti yang saya tunjukkan di bawah ini.

Ini adalah contoh kerja yang lebih masuk akal. Pertama-tama, simulasikan beberapa data:

> library(statmod)
> library(tweedie)
> x <- 1:100
> mutrue <- exp(-1+x/25)
> summary(mutrue)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
 0.3829  1.0306  2.7737  5.0287  7.4644 20.0855 
> y <- rtweedie(100, mu=mutrue, phi=1, power=1.3)
> summary(y)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
 0.0000  0.8482  2.9249  4.7164  6.1522 24.3897 
> sum(y==0)
[1] 12

Data berisi 12 nol.

Sekarang, pas Tweedie glm:

> fit <- glm(y ~ x, family=tweedie(var.power=1.3, link.power=0))
> summary(fit)

Call:
glm(formula = y ~ x, family = tweedie(var.power = 1.3, link.power = 0))

Deviance Residuals: 
     Min        1Q    Median        3Q       Max  
-2.71253  -0.94685  -0.07556   0.69089   1.84013  

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) -0.816784   0.168764   -4.84 4.84e-06 ***
x            0.036748   0.002275   16.15  < 2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

(Dispersion parameter for Tweedie family taken to be 0.8578628)

    Null deviance: 363.26  on 99  degrees of freedom
Residual deviance: 103.70  on 98  degrees of freedom
AIC: NA

Number of Fisher Scoring iterations: 4

xϕ

x

> Phi <- 0.85786
> Mu <- fitted(fit)
> Power <- 1.3
> Prob.Zero <- exp(-Mu^(2-Power) / Phi / (2-Power))
> Prob.Zero[1:5]
        1         2         3         4         5 
0.3811336 0.3716732 0.3622103 0.3527512 0.3433024 
> Prob.Zero[96:100]
          96           97           98           99          100 
1.498569e-05 1.121936e-05 8.336499e-06 6.146648e-06 4.496188e-06 

Jadi proporsi prediksi nol bervariasi dari 38,1% pada nilai rata-rata terkecil hingga 4,5e-6 pada nilai rata-rata terbesar.

Rumus untuk probabilitas nol yang tepat dapat ditemukan di Dunn & Smyth (2001) Tweedie Family Densities: Metode Evaluasi atau Dunn & Smyth (2005) Seri evaluasi seri kepadatan model dispersi eksponensial Tweedie .

Gordon Smyth
sumber
terima kasih bermanfaat! Adakah saran tentang bagaimana cara menghitung interval kepercayaan untuk probabilitas ini dengan tepat nol? Apakah itu masuk akal? Saya juga bingung dengan cara mendefinisikan "95% kemungkinan wilayah" dari makalah 2005 Anda, mungkin sesuatu yang diketahui saya tidak dapat menemukan. Saya akan sangat menghargai referensi
irintch3
8

Jawaban ini digabungkan dari utas lainnya yang bertanya tentang prediksi model regresi nol-inflasi, tetapi juga berlaku untuk model Tweedie GLM.

ff

fzeroinfl(y)=πsaya{0}(y)+(1-π)f(y)

sayafzeroinfl(y)

μsaya=π0+(1-π)g-1(xsayaβ)

g-1

YXYXYXE(Y|X)

Contoh

Tim
sumber
Tim, ini benar-benar jawaban yang bagus dan saya minta maaf atas waktu penutupan dan penggabungan. Jika Anda ingin sesuatu tentang pertanyaan yang dimodifikasi lebih lanjut untuk membuatnya lebih kanonik atau lebih cocok (memasukkan beberapa yang Anda jawab mungkin), silakan, atau saya akan dengan senang hati melakukannya untuk Anda.
Glen_b -Reinstate Monica