Bagaimana cara menguji / membuktikan data nol meningkat?

9

Saya punya masalah yang saya pikir seharusnya sederhana tetapi tidak bisa mengatasinya. Saya melihat penyerbukan benih, saya memiliki tanaman (n = 36) yang berbunga dalam kelompok, saya mencicipi 3 kelompok bunga dari setiap tanaman, dan 6 polong biji dari setiap kluster (total 18 polong biji dari masing-masing tanaman). Satu polong dapat memiliki antara 0 hingga paling banyak 4 biji yang diserbuki. Jadi, data dihitung, dengan batas atas. Saya menemukan rata-rata ~ 10% benih diserbuki, tetapi di mana saja antara 1 - 30% pada tanaman tertentu, sehingga lebih dari data yang tersebar, dan tentu saja, ada 4 ulangan klaster yang hilang pada 3 tanaman, jadi tidak simetris sempurna .

Pertanyaan saya adalah apakah data ini mendukung gagasan bahwa tanaman ini membutuhkan penyerbuk untuk set benih.

Saya menemukan bahwa distribusi jumlah benih dalam polong terlihat seperti ada lebih banyak 0 polong benih yang diserbuki (6-9 polong dari 16) dan lebih banyak 3 dan 4 polong benih yang diserbuki (2-4 untuk masing-masing) daripada diharapkan jika benih dalam populasi hanya diserbuki secara acak. Pada dasarnya, saya pikir ini adalah contoh klasik untuk data nol yang digelembungkan, pertama-tama seekor serangga tidak atau tidak mengunjungi bunga sama sekali (satu generator nol) dan jika ya, maka penyerbukan 0-4 benih dalam distribusi lain. Hipotesis alternatifnya adalah sebagian tanaman mementingkan diri sendiri, dan kemudian diharapkan setiap benih akan memiliki kemungkinan yang sama untuk diserbuki (data ini menunjukkan peluang sekitar 0,1, yang berarti 0,01 peluang untuk dua biji dalam polong yang sama, dll) .

Tapi saya hanya ingin menunjukkan data yang paling sesuai dengan satu atau distribusi lainnya, tidak benar-benar MELAKUKAN ZIP atau ZINB pada data. Saya pikir metode apa pun yang saya gunakan harus memperhitungkan jumlah aktual benih yang diserbuki dan jumlah polong yang diambil sampelnya di setiap tanaman. Hal terbaik yang saya dapatkan adalah melakukan semacam tali boot di mana saya hanya secara acak menetapkan jumlah benih yang diserbuki untuk tanaman tertentu ke dalam jumlah polong biji yang saya sampel, lakukan 10.000 kali dan lihat seberapa besar kemungkinannya. data eksperimental untuk pabrik yang diberikan keluar dari distribusi acak.

Saya hanya merasa ada sesuatu tentang ini yang seharusnya jauh lebih mudah daripada brute force bootstrapping, tetapi setelah beberapa hari berpikir dan mencari, saya menyerah. Saya tidak bisa begitu saja dibandingkan dengan distribusi Poisson karena itu batas atas, bukan binomial karena saya perlu menghasilkan distribusi yang diharapkan entah bagaimana 1. Adakah pikiran? Dan saya menggunakan R jadi saran di sana (terutama bagaimana cara paling elegan menghasilkan 10.000 distribusi n bola acak menjadi 16 kotak yang masing-masing dapat berisi paling banyak 4 bola) akan sangat disambut.

TAMBAH 9/07/2012 Pertama, terima kasih untuk semua perhatian dan bantuannya. Membaca jawaban telah membuat saya berpikir untuk menulis ulang pertanyaan saya sedikit. Apa yang saya katakan adalah bahwa saya memiliki satu hipotesis (yang untuk saat ini saya pikir sebagai nol) bahwa benih diserbuki secara acak di seluruh polong, dan hipotesis alternatif saya adalah bahwa polong biji dengan setidaknya 1 benih yang diserbuki lebih cenderung memiliki banyak benih yang diserbuki daripada yang diharapkan dengan proses acak. Saya telah memberikan data nyata dari tiga pabrik sebagai contoh untuk menggambarkan apa yang saya bicarakan. Kolom pertama adalah # biji yang diserbuki dalam polong, kolom kedua adalah frekuensi polong dengan jumlah biji tersebut.

tanaman 1 (total 3 biji: 4% penyerbukan)

num.seeds :: pod.freq

0 :: 16

1 :: 1

2 :: 1

3 :: 0

4 :: 0

tanaman 2 (total 19 biji: penyerbukan 26%)

num.seeds :: pod.freq

0 :: 12

1 :: 1

2 :: 1

3 :: 0

4 :: 4

tanaman 3 (total 16 biji: 22% penyerbukan)

num.seeds :: pod.freq

0 :: 9

1 :: 4

2 :: 3

3 :: 2

4 :: 0

Pada tanaman nomor 1, hanya 3 biji yang diserbuki dalam 18 polong, satu polong memiliki satu biji, dan satu polong memiliki dua biji. Berpikir tentang proses menambahkan satu biji ke polong secara acak, dua biji pertama masing-masing masuk ke polongnya sendiri, tetapi untuk benih ke-3, ada 6 tempat yang tersedia di polong yang sudah memiliki satu biji tetapi 64 bintik di 16 polong tanpa biji, jadi probabilitas tertinggi dari polong dengan 2 biji di sini adalah 6/64 = 0,094. Itu agak rendah, tetapi tidak terlalu ekstrem, jadi saya akan mengatakan bahwa tanaman ini cocok dengan hipotesis penyerbukan acak di semua benih dengan ~ 4% kemungkinan penyerbukan terjadi. Tetapi tanaman 2 terlihat jauh lebih ekstrem bagi saya, dengan 4 polong sepenuhnya diserbuki, namun 12 polong tanpa apa-apa. Saya tidak yakin bagaimana cara menghitung peluang distribusi ini secara langsung (maka ide bootstrap saya) tapi saya kira peluang distribusi ini terjadi secara acak jika setiap biji memiliki ~ 25% kemungkinan penyerbukan cukup rendah. Tanaman # 3 Saya benar-benar tidak tahu, saya pikir ada lebih banyak 0 dan 3 daripada yang seharusnya diharapkan untuk distribusi acak tetapi perasaan saya adalah bahwa distribusi untuk jumlah benih ini jauh lebih mungkin daripada distribusi untuk tanaman # 2, dan mungkin itu tidak mungkin. Tapi jelas saya ingin tahu pasti, dan di semua tanaman. Saya pikir ada lebih banyak 0 dan 3 daripada yang seharusnya diharapkan untuk distribusi acak tetapi firasat saya adalah bahwa distribusi untuk jumlah benih ini jauh lebih besar daripada distribusi untuk tanaman # 2, dan mungkin bukan yang tidak mungkin. Tapi jelas saya ingin tahu pasti, dan di semua tanaman. Saya pikir ada lebih banyak 0 dan 3 daripada yang seharusnya diharapkan untuk distribusi acak tetapi firasat saya adalah bahwa distribusi untuk jumlah benih ini jauh lebih besar daripada distribusi untuk tanaman # 2, dan mungkin bukan yang tidak mungkin. Tapi jelas saya ingin tahu pasti, dan di semua tanaman.

Pada akhirnya saya ingin menulis pernyataan seperti “Distribusi benih yang diserbuki dalam polong biji cocok dengan (atau tidak cocok) hipotesis bahwa tanaman tidak hanya kompatibel secara parsial, tetapi memerlukan kunjungan seorang penyerbuk untuk mempengaruhi set benih. (hasil uji statistik). " Ini benar-benar hanya bagian dari bagian depan saya, di mana saya berbicara tentang percobaan apa yang harus dilakukan selanjutnya, jadi saya tidak putus asa untuk ini menjadi satu hal atau yang lain, tetapi saya ingin tahu sendiri, jika mungkin. Jika saya tidak bisa melakukan apa yang saya coba lakukan dengan data ini, saya juga ingin tahu itu!

Saya memang mengajukan pertanyaan yang agak luas pada awalnya, karena saya ingin tahu apakah ada tes yang baik untuk menunjukkan apakah data harus masuk ke model nol meningkat di tempat pertama. Semua contoh yang saya lihat sepertinya mengatakan - “lihat, ada banyak nol di sini, dan ada penjelasan yang masuk akal untuk itu, jadi mari kita gunakan model nol inflasi”. Itulah yang saya lakukan saat ini di forum ini, tapi saya punya pengalaman di bab terakhir saya di mana saya menggunakan Poisson glm untuk menghitung data dan salah satu pengawas saya berkata, “Tidak, glms terlalu kompleks dan tidak perlu, data ini seharusnya pergilah ke tabel kontingensi ”dan kemudian kirimi saya data dump dari tabel kontingensi besar yang dihasilkan oleh paket statistik mahal mereka yang memberikan nilai p yang sama untuk semua faktor + interaksi saya menjadi tiga digit signifikan !! Jadi, saya mencoba untuk menjaga statistik tetap jelas dan sederhana, dan pastikan saya memahaminya dengan cukup baik untuk mempertahankan pilihan saya, yang saya rasa tidak bisa saya lakukan untuk model nol inflasi sekarang. Saya telah menggunakan quasibinomial (untuk seluruh pabrik untuk menghilangkan pesudoreplicaiton) dan model campuran untuk data di atas untuk membandingkan perawatan dan menjawab pertanyaan eksperimental utama saya, baik tampaknya melakukan pekerjaan yang sama, tetapi saya juga akan melakukan bermain-main dengan ZINB malam ini, untuk melihat seberapa baik kinerjanya. Saya berpikir jika saya dapat secara eksplisit menunjukkan bahwa data ini sangat berkerumun (atau nol meningkat) pada awalnya, kemudian memberikan alasan biologis yang baik untuk itu terjadi, saya akan jauh lebih baik mengatur untuk kemudian mengeluarkan ZINB, daripada hanya membandingkan satu dengan model quasibinomial / campuran dan berdebat karena memberikan hasil yang lebih baik, itulah yang harus saya gunakan. yang saya tidak merasa bisa saya lakukan untuk model nol meningkat sekarang. Saya telah menggunakan quasibinomial (untuk seluruh pabrik untuk menghilangkan pesudoreplicaiton) dan model campuran untuk data di atas untuk membandingkan perawatan dan menjawab pertanyaan eksperimental utama saya, baik tampaknya melakukan pekerjaan yang sama, tetapi saya juga akan melakukan bermain-main dengan ZINB malam ini, untuk melihat seberapa baik kinerjanya. Saya berpikir jika saya dapat secara eksplisit menunjukkan bahwa data ini sangat berkerumun (atau nol meningkat) pada awalnya, kemudian memberikan alasan biologis yang baik untuk itu terjadi, saya akan jauh lebih baik mengatur untuk kemudian mengeluarkan ZINB, daripada hanya membandingkan satu dengan model quasibinomial / campuran dan berdebat karena memberikan hasil yang lebih baik, itulah yang harus saya gunakan. yang saya tidak merasa bisa saya lakukan untuk model nol meningkat sekarang. Saya telah menggunakan quasibinomial (untuk seluruh pabrik untuk menghilangkan pesudoreplicaiton) dan model campuran untuk data di atas untuk membandingkan perawatan dan menjawab pertanyaan eksperimental utama saya, baik tampaknya melakukan pekerjaan yang sama, tetapi saya juga akan melakukan bermain-main dengan ZINB malam ini, untuk melihat seberapa baik kinerjanya. Saya berpikir jika saya dapat secara eksplisit menunjukkan bahwa data ini sangat berkerumun (atau nol meningkat) pada awalnya, kemudian memberikan alasan biologis yang baik untuk itu terjadi, saya akan jauh lebih baik mengatur untuk kemudian mengeluarkan ZINB, daripada hanya membandingkan satu dengan model quasibinomial / campuran dan berdebat karena memberikan hasil yang lebih baik, itulah yang harus saya gunakan. Saya telah menggunakan quasibinomial (untuk seluruh pabrik untuk menghilangkan pesudoreplicaiton) dan model campuran untuk data di atas untuk membandingkan perawatan dan menjawab pertanyaan eksperimental utama saya, baik tampaknya melakukan pekerjaan yang sama, tetapi saya juga akan melakukan bermain-main dengan ZINB malam ini, untuk melihat seberapa baik kinerjanya. Saya berpikir jika saya dapat secara eksplisit menunjukkan bahwa data ini sangat berkerumun (atau nol meningkat) pada awalnya, kemudian memberikan alasan biologis yang baik untuk itu terjadi, saya akan jauh lebih baik mengatur untuk kemudian mengeluarkan ZINB, daripada hanya membandingkan satu dengan model quasibinomial / campuran dan berdebat karena memberikan hasil yang lebih baik, itulah yang harus saya gunakan. Saya telah menggunakan quasibinomial (untuk seluruh pabrik untuk menghilangkan pesudoreplicaiton) dan model campuran untuk data di atas untuk membandingkan perawatan dan menjawab pertanyaan eksperimental utama saya, baik tampaknya melakukan pekerjaan yang sama, tetapi saya juga akan melakukan bermain-main dengan ZINB malam ini, untuk melihat seberapa baik kinerjanya. Saya berpikir jika saya dapat secara eksplisit menunjukkan bahwa data ini sangat berkerumun (atau nol meningkat) pada awalnya, kemudian memberikan alasan biologis yang baik untuk itu terjadi, saya akan jauh lebih baik mengatur untuk kemudian mengeluarkan ZINB, daripada hanya membandingkan satu dengan model quasibinomial / campuran dan berdebat karena memberikan hasil yang lebih baik, itulah yang harus saya gunakan.

Tetapi saya tidak ingin terlalu banyak mengalihkan perhatian dari pertanyaan utama saya, bagaimana saya bisa menentukan apakah data saya benar-benar lebih besar dari yang diharapkan dari distribusi acak? Dalam kasus saya, jawabannya adalah apa yang benar-benar menarik bagi saya, dengan kemungkinan manfaat untuk justifikasi model menjadi bonus.

Sekali lagi terima kasih atas waktu dan bantuan Anda!

Cheers, BWGIA

BWGIA
sumber
mengapa Anda tidak ingin mencocokkan model binomial nol yang meningkat?
atiretoo - mengembalikan monica
Apakah hipotesis "mementingkan diri sendiri" eksklusif untuk hipotesis "penyerbuk"? Jika demikian, maka model ke-2 Anda hanya akan menjadi model binomial dengan probabilitas p dan ukuran = 4.
atiretoo - mengembalikan monica

Jawaban:

5

Ini sepertinya model campuran (nonlinear) yang relatif mudah bagi saya. Anda memiliki polong yang disarangkan ke dalam kelompok yang disarangkan ke tanaman, dan Anda dapat memasukkan model binomial dengan efek acak pada setiap tahap:

    library(lme4)
    binre <- lmer( pollinated ~ 1 + (1|plant) + (1|cluster), data = my.data, family = binomial)

atau dengan kovariat jika Anda memilikinya. Jika bunga menyerbuki sendiri, maka Anda mungkin melihat beberapa efek ringan karena variabilitas alami dalam seberapa layak tanaman itu sendiri. Namun jika sebagian besar variabilitas dalam respons didorong oleh katakanlah variabilitas kluster, Anda akan memiliki bukti penyerbukan yang lebih kuat oleh serangga yang mungkin hanya mengunjungi kluster terpilih pada tanaman. Idealnya, Anda ingin distribusi non-parametrik dari efek acak daripada Gaussian: massa titik nol, tanpa kunjungan serangga, dan massa titik pada nilai positif - ini pada dasarnya adalah model campuran yang dipikirkan oleh Michael Chernick. Anda dapat menyesuaikan ini dengan paket GLLAMM Stata, saya akan terkejut jika ini tidak mungkin di R.

Mungkin untuk percobaan bersih, Anda ingin memiliki tanaman di dalam, atau setidaknya di lokasi tanpa akses serangga, dan melihat berapa banyak benih yang akan diserbuki. Itu mungkin akan menjawab semua pertanyaan Anda dengan cara yang lebih ketat secara metodologis.

Tugas
sumber
Saya akan mencoba ini, saya pikir itu akan membantu menjawab pertanyaan saya sendiri untuk diri saya sendiri, tetapi tidak begitu yakin bagaimana itu akan meyakinkan orang lain. Anda tepat dengan bagian kedua, saya mencoba berpikir tentang bagaimana data ini menginformasikan percobaan yang lebih terarah di masa depan.
BWGIA
1

Menurut saya ini adalah distribusi campuran untuk masing-masing serangga. Dengan probabilitas p serangga tersebut mendarat dengan probabilitas 1-p, ia mendarat dan mendistribusikan 0 hingga 4 biji. Tetapi jika Anda tidak memiliki informasi apakah serangga itu mendarat di tanaman atau tidak, Anda tidak dapat membedakan dua cara untuk mendapatkan 0. Jadi Anda dapat membiarkan p menjadi probabilitas untuk 0 dan kemudian Anda memiliki distribusi multinomial (p1, p2, p3, p4) di mana pi adalah probabilitas biji i diberikan serangga penyerbuk tunduk pada kendala p1 + p2 + p3 + p4 = 1. Model memiliki lima tidak diketahui p, p1, p2, p3, p4 dengan batasan 0 = 0 untuk setiap i. Dengan data yang cukup Anda harus dapat memperkirakan parameter ini mungkin menggunakan pendekatan kemungkinan maksimum yang dibatasi.

Michael R. Chernick
sumber
Saya setuju, tetapi pertanyaannya bukan untuk mencocokkan model itu, tetapi untuk menghasilkan distribusi yang diperkirakan di bawah dua hipotesis biologis yang berbeda. Mungkin jawabannya adalah mencocokkan ZIB dan "beberapa model lain" yang cocok dengan hipotesis selfing, dan membandingkannya.
atiretoo - mengembalikan monica
@atiretoo tidakkah model memberi Anda perkiraan distribusi untuk jumlah benih yang diserbuki yang dapat Anda bandingkan dengan distribusi yang dihipotesiskan?
Michael R. Chernick
Setuju - jika Anda memiliki model yang tepat untuk 2 hipotesis.
atiretoo - mengembalikan monica
1

Ini adalah jawaban untuk bagian terakhir dari pertanyaan Anda, cara cepat menghasilkan data yang Anda inginkan untuk hipotesis penyerbuk:

n = 16
max = 4
p1 = 0.1
p2 = 0.9
Y1 = rbinom(10000*n,1,p1)
Y2 = matrix(Y1*rbinom(10000*n,4,p2),ncol=16)

Anda juga dapat menggunakan rzibinom()paket VGAM. Meskipun saya tidak yakin apa yang ingin Anda lakukan dengannya. Anda memiliki 2 parameter gratis, p1 dan p2, yang perlu diperkirakan. Mengapa tidak menggunakan model binomial inflated nol untuk memperkirakannya dari data?

Anda harus melihat pada paket VGAM, yang cocok dengan model ZIB antara lain. Bahkan, Anda bisa mendapatkan distribusi yang diharapkan untuk ZIB dari fungsi VGAM dzibinom(), yang dapat Anda gunakan untuk membandingkan distribusi yang diamati dengan jika Anda mengetahui parameter kunjungan dan penyerbukan. Sekali lagi, Anda benar-benar harus cocok dengan model ZIB.

Jika hipotesis selfing parsial Anda eksklusif untuk penyerbukan serangga, maka distribusi yang diharapkan hanyalah binomial, dan Anda dapat memperkirakan parameter dengan glm keluarga binomial atau mungkin glmm dengan id tanaman sebagai efek acak. Namun, jika mereka dapat parsial sendiri DAN menerima penyerbukan serangga, maka Anda kembali membutuhkan campuran dua distribusi binomial. Dalam hal ini saya akan menyelidiki menggunakan OpenBUGS atau JAGS agar sesuai dengan model menggunakan MCMC.

Setelah Anda memiliki dua model yang sesuai dengan data Anda, Anda kemudian membandingkan model untuk melihat mana yang lebih cocok, menggunakan AIC atau BIC atau beberapa metrik lain pilihan Anda.

atiretoo - mengembalikan monica
sumber
Terima kasih untuk atiretoo itu, tetapi menjalankan kode itu tampaknya menghasilkan sejumlah benih acak dan juga distribusi acak. Saya berpikir bahwa saya ingin nubmer benih diperbaiki (katakan 19 biji, lihat di bawah) dan kemudian lihat seberapa besar distribusi yang diberikan untuk
nubmer
Opps, tekan posting terlalu cepat dan saya maksudkan "lihat di atas" karena saya telah menambahkan beberapa info ke pertanyaan saya. Saya tertarik dengan komentar Anda tentang penggunaan AIC untuk membandingkan model, dapatkah saya melakukannya di seluruh model (dengan variabel respons yang sama) dengan distribusi yang berbeda? Saya pikir perbandingan AIC hanya valid ketika Anda menambahkan / menjatuhkan istilah pada model tetapi dengan keluarga distribusi yang sama ditentukan?
BWGIA
Tidak, itulah keunggulan utama AIC dibandingkan misalnya pemilihan mundur. Selama datanya sama, Anda dapat membandingkan AIC antara model yang berbeda bahkan jika mereka tidak bersarang. Anda harus berhati-hati bahwa perangkat lunak menghitung kemungkinan tanpa meninggalkan konstanta, tetapi dalam satu fungsi Anda dapat membandingkan model non-bersarang dengan mudah.
atiretoo - mengembalikan monica