Paket R / Stata untuk GEE binomial negatif terpotong nol?


13

ini posting pertama saya. Saya benar-benar berterima kasih atas komunitas ini.

Saya mencoba untuk menganalisis data jumlah longitudinal yang terpotong nol (probabilitas bahwa variabel respon = 0 adalah 0), dan rerata! = Varians, sehingga distribusi binomial negatif dipilih daripada poisson.

Fungsi / perintah yang saya singkirkan:

R

  • fungsi gee () dalam R tidak memperhitungkan pemotongan nol atau distribusi binomial negatif (bahkan dengan paket MASS yang dimuat)
  • glm.nb () dalam R tidak memungkinkan untuk struktur korelasi yang berbeda
  • vglm () dari paket VGAM dapat menggunakan keluarga posnegbinomial, tetapi memiliki masalah yang sama dengan perintah ztnb Stata (lihat di bawah) di mana saya tidak dapat mereparasi model menggunakan struktur korelasi non-independen.

Stata

  • Jika data tidak longitudinal, saya hanya bisa menggunakan paket Stata ztnb untuk menjalankan analisis saya, TETAPI perintah itu mengasumsikan bahwa pengamatan saya independen.

Saya juga mengesampingkan GLMM karena berbagai alasan metodologis / filosofis.

Untuk saat ini, saya telah menetapkan perintah xtgee Stata (ya, saya tahu bahwa xtnbreg juga melakukan hal yang sama) yang memperhitungkan struktur korelasi tidak independen dan keluarga binomial neg, tetapi bukan pemotongan nol. Manfaat tambahan menggunakan xtgee adalah saya juga bisa menghitung nilai qic (menggunakan perintah qic) untuk menentukan struktur korelasi pas terbaik untuk variabel respons saya.

Jika ada paket / perintah dalam R atau Stata yang dapat mengambil 1) keluarga nbinomial, 2) GEE dan 3) nol-pemotongan ke dalam akun, saya ingin sekali tahu.

Saya sangat menghargai ide yang Anda miliki. Terima kasih.

-Casey

Jawaban:


12

Untuk dua pilihan R muncul dalam pikiran, yang keduanya saya hanya samar-samar akrab di terbaik.

Yang pertama adalah psclpaket, yang dapat memuat nol model terpotong dan digelembungkan dengan cara yang sangat bagus, fleksibel. The psclpaket menyarankan penggunaan sandwichpaket yang menyediakan "estimator standard error Model-kuat untuk cross-sectional, time series dan data longitudinal". Jadi Anda dapat menyesuaikan model hitungan Anda dan kemudian menggunakansandwich paket untuk memperkirakan matriks kovarians yang sesuai untuk residu dengan mempertimbangkan sifat longitudinal data.

Pilihan kedua mungkin untuk melihat geepackpaket yang sepertinya dapat melakukan apa yang Anda inginkan tetapi hanya untuk model binomial negatif dengan theta yang dikenal, karena akan cocok dengan semua jenis GLM yang R's.glm() dapat dilakukan fungsi (jadi gunakan fungsi keluarga dari MASS) .

Opsi ketiga telah mengangkat kepalanya: gamlssdan itu adalah paket tambahan gamlss.tr. Yang terakhir mencakup fungsi gen.trun()yang dapat mengubah distribusi mana pun yang didukung oleh gamlss()menjadi distribusi terpotong dengan cara yang fleksibel - Anda dapat menentukan terpotong kiri pada 0 distribusi binomial negatif misalnya. gamlss()itu sendiri termasuk dukungan untuk efek acak yang harus menjaga sifat longitudinal data. Namun tidak segera jelas apakah Anda harus menggunakan setidaknya satu fungsi kovariat yang mulus dalam model atau hanya bisa memodelkan semuanya sebagai fungsi linear seperti dalam GLM.


Paket pscl, saya percaya, hanya cocok untuk model zero-inflated dan rintangan. Model hurdle menggabungkan komponen count terpotong kiri dan komponen rintangan kanan-disensor. Saya tidak tahu bagaimana atau bahkan jika saya dapat menjalankan model rintangan tanpa komponen rintangan, tetapi saya akan melihat ke dalam paket sandwick. Adapun paket geepack, tampaknya memiliki masalah yang sama dengan paket gee; ketika saya menentukan keluarga "negative.binomial" (dari MASS), tanpa menentukan theta, ia akan meminta theta. Namun, ketika saya menentukan nilai theta, itu akan mengeluarkan kesalahan dengan mengatakan itu adalah keluarga yang tidak dikenal.
Iris Tsui

@ Casey - maaf saya salah membaca persyaratan Anda kembali nol pemotongan. Malu geepack itu tidak berfungsi dengan fungsi keluarga itu. Jika saya memikirkan hal lain, saya akan memperbarui di sini.
Pasang kembali Monica - G. Simpson

@Casey Saya telah menambahkan catatan tentang gamlsspaket yang mungkin sesuai dengan tagihan di R juga.
Pasang kembali Monica - G. Simpson

Menerima jawaban Anda karena beberapa saran untuk sumber daya dan fungsi yang telah meningkatkan pemahaman saya. Sepertinya 'gamls' akan menjadi cara yang mungkin untuk menyelesaikan masalah saya, tetapi karena saya sebenarnya bukan ahli statistik, saya saat ini tidak memiliki latar belakang dalam matematika atau waktu untuk membuka kaleng cacing saat ini (tetapi mungkin pada akhirnya saya akan). Seperti disebutkan dalam komentar lain, setidaknya untuk data saya, tampaknya mengabaikan zero-truncation tidak akan mengubah perkiraan saya dan banyak kesalahan. Untuk audiens yang saya tuju, saya percaya GEE nbinomial akan baik-baik saja. Terima kasih!
Iris Tsui

9

Hmm, pertanyaan pertama yang bagus! Saya tidak tahu paket yang memenuhi persyaratan Anda. Saya pikir Stata's xtgee adalah pilihan yang baik jika Anda juga menentukan vce(robust)opsi untuk memberikan kesalahan standar Huber-White, atau vce(bootstrap)jika itu praktis. Salah satu dari opsi ini akan memastikan kesalahan standar secara konsisten diestimasi meskipun ada kesalahan spesifikasi model yang akan Anda miliki dengan mengabaikan pemotongan nol.

Yang meninggalkan pertanyaan tentang apa efek mengabaikan pemotongan nol akan memiliki pada estimasi poin yang menarik bagi Anda. Layak pencarian cepat untuk melihat apakah ada literatur yang relevan tentang ini secara umum, yaitu tidak harus dalam konteks GEE - saya akan berpikir Anda dapat dengan aman berasumsi bahwa hasil seperti itu akan relevan dalam kasus GEE juga. Jika Anda tidak dapat menemukan apa pun, Anda selalu dapat mensimulasikan data dengan nol-pemotongan dan perkiraan efek yang diketahui dan menilai bias dengan simulasi.


1
Saya memastikan untuk memperkirakan kesalahan standar yang kuat. Juga, dalam buku "Model efek campuran dan ekstensi dalam ekologi dengan R" oleh Zuur, et al, 2009, pada halaman 261, mereka menyebutkan, "jika rata-rata variabel respon relatif besar, mengabaikan masalah pemotongan, kemudian menerapkan sebuah model linear umum (GLM) Poisson atau negatif binomial (NB), tidak mungkin menyebabkan masalah. " Untungnya, rata-rata variabel respons saya besar, jadi saya merasa sedikit lebih nyaman mengurangi prioritas pemotongan nol dibandingkan dengan GEE dan aspek negatif dari regresi saya.
Iris Tsui

Sepertinya Anda sudah tahu lebih banyak tentang topik ini daripada saya! Atau siapa pun di situs ini, menilai dari tidak adanya respons lain.
onestop

Agak sulit dipercaya; siapa yang tahu bahwa data hitung longitudinal overdud akan sangat sulit untuk dianalisis (tanpa melakukan GLMM, yang bahkan belum pernah saya lakukan)? Kalau saja data saya tidak digembungkan, itu akan menjadi cerita lain.
Iris Tsui

5

Saya memiliki masalah yang sama dalam disertasi saya. Di Stata, saya hanya membuat sendiri program .ado kustom dengan dua panggilan ke xtgee.

Untuk ini, saya menemukan slide / program "Pemodelan Biaya Perawatan Kesehatan dan Hitungan" oleh Partha Deb, Willard Manning, dan Edward Norton berguna. Mereka tidak berbicara tentang data longitudinal, tetapi itu adalah titik awal yang berguna.


1

Saya mencari jawaban pada interpretasi glmmADMB dan saya melihat posting Anda. Saya tahu itu sudah lama sekali tetapi saya mungkin punya jawabannya.

Lihatlah ke paket glmmADMB saat menggunakan model rintangan. Anda harus membagi menjadi dua analisis data Anda: salah satunya memperlakukan tanpa data nol. Anda dapat menambahkan efek campuran dan memilih distribusinya. Syaratnya adalah data harus nol-meningkat dan saya tidak tahu apakah ini sesuai dengan kebutuhan Anda! Bagaimanapun, saya harap Anda tahu dulu!

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.