Come testare / dimostrare che i dati sono gonfiati a zero?


9

Ho un problema che penso dovrebbe essere semplice ma non riesco a capirlo. Sto guardando l'impollinazione dei semi, ho piante (n = 36) che fioriscono in grappoli, campiono 3 grappoli di fiori da ogni pianta e 6 baccelli di semi da ciascun grappolo (18 baccelli in totale da ogni pianta). Un baccello può avere da 0 a un massimo di 4 semi impollinati. Quindi, i dati vengono conteggiati, con un limite superiore. Sto trovando una media del ~ 10% di semi impollinati, ma tra l'1 e il 30% su una determinata pianta, quindi su dati dispersi e, naturalmente, ci sono 4 replicati di cluster mancanti su 3 piante, quindi non perfettamente simmetrici .

La domanda che sto ponendo è se questi dati supportano l'idea che questa pianta richiede impollinatori per il set di semi.

Sto scoprendo che la distribuzione per il numero di semi in un baccello sembra che ci siano più 0 baccelli del seme impollinati (6-9 baccelli su 16) e più 3 e 4 baccelli del seme impollinati (2-4 per ciascuno) di quanto sarebbe prevedibile se i semi nella popolazione fossero stati impollinati casualmente. Fondamentalmente, penso che questo sia un classico esempio di dati gonfiati a zero, prima un insetto fa o non visita affatto il fiore (un generatore di zero) e se lo fa, impollina 0-4 dei semi in un'altra distribuzione. L'ipotesi alternativa è che la pianta sia parzialmente autosufficiente, e quindi ci si aspetterebbe che ogni seme abbia la stessa probabilità di essere impollinato (questi dati suggeriscono una probabilità di circa 0,1, il che significa 0,01 possibilità per due semi nello stesso baccello, ecc.) .

Ma voglio semplicemente dimostrare che i dati si adattano meglio all'una o all'altra distribuzione, non effettivamente FARE un ZIP o ZINB sui dati. Penso che qualunque metodo che uso dovrebbe tenere conto del numero effettivo di semi impollinati e del numero di baccelli campionati su ogni pianta. La cosa migliore che mi è venuta in mente è di fare una specie di cinturino di avvio in cui assegno casualmente il numero di semi impollinati per una determinata pianta al numero di baccelli che ho campionato, lo faccio 10.000 volte e vedo quanto è probabile i dati sperimentali per la pianta data sono usciti da quella distribuzione casuale.

Sento solo che c'è qualcosa in questo che dovrebbe essere molto più semplice del bootstrap a forza bruta, ma dopo giorni di pensieri e ricerche mi arrendo. Non posso solo confrontarmi con una distribuzione di Poisson perché è limite superiore, non è binomiale perché devo generare la distribuzione prevista in qualche modo prima. qualche idea? E sto usando R quindi un consiglio (specialmente su come generare in modo elegante 10.000 distribuzioni casuali di n palline in 16 scatole che possono contenere ciascuna al massimo 4 palline) sarebbe il benvenuto.

AGGIUNTO 9/07/2012 Innanzitutto, grazie a tutti per l'interesse e l'aiuto. Leggere le risposte mi ha fatto pensare di riformulare un po 'la mia domanda. Quello che sto dicendo è che ho un'ipotesi (che per ora sto pensando come nulla) che i semi vengono impollinati casualmente tra i baccelli e la mia ipotesi alternativa è che un baccello con almeno 1 seme impollinato abbia maggiori probabilità di hanno più semi impollinati di quanto ci si aspetterebbe da un processo casuale. Ho fornito dati reali da tre impianti come esempi per illustrare di cosa sto parlando. La prima colonna è il numero di semi impollinati in un baccello, la seconda colonna è la frequenza dei baccelli con quel numero di semi.

pianta 1 (totale 3 semi: impollinazione del 4%)

num.seeds :: pod.freq

0 :: 16

1 :: 1

2 :: 1

3 :: 0

4 :: 0

pianta 2 (totale 19 semi: 26% di impollinazione)

num.seeds :: pod.freq

0 :: 12

1 :: 1

2 :: 1

3 :: 0

4 :: 4

pianta 3 (totale 16 semi: impollinazione del 22%)

num.seeds :: pod.freq

0 :: 9

1 :: 4

2 :: 3

3 :: 2

4 :: 0

Nella pianta n. 1, solo 3 semi sono stati impollinati in 18 baccelli, un baccello aveva un seme e un baccello aveva due semi. Pensando a un processo di aggiunta casuale di un seme ai baccelli, i primi due semi vanno ciascuno nel proprio baccello, ma per il 3 ° seme, ci sono 6 posti disponibili in baccelli che hanno già un seme ma 64 punti nei 16 baccelli senza semi, quindi la più alta probabilità di un baccello con 2 semi qui è 6/64 = 0,094. È un po 'basso, ma non molto estremo, quindi direi che questa pianta si adatta all'ipotesi di impollinazione casuale su tutti i semi con una probabilità del 4% circa di impollinazione. Ma la pianta 2 mi sembra molto più estrema, con 4 baccelli completamente impollinati, ma 12 baccelli senza nulla. Non sono sicuro di come calcolare direttamente le probabilità di questa distribuzione (quindi la mia idea di bootstrap) ma immagino che le probabilità di questa distribuzione che si verificano a caso se ogni seme ha una probabilità di impollinazione del 25% è abbastanza bassa. Pianta n. 3 Non ne ho davvero idea, penso che ci siano più 0 e 3 di quelli che uno dovrebbe aspettarsi per una distribuzione casuale, ma la mia sensazione è che questa distribuzione per questo numero di semi sia molto più probabile della distribuzione per la pianta # 2, e potrebbe non essere così improbabile. Ma ovviamente voglio saperlo con certezza e in tutte le piante. Penso che ci siano più 0 e 3 di quelli che ci si aspetterebbe da una distribuzione casuale, ma la mia sensazione è che questa distribuzione per questo numero di semi sia molto più probabile della distribuzione per la pianta 2, e potrebbe non essere così improbabile. Ma ovviamente voglio saperlo con certezza e in tutte le piante. Penso che ci siano più 0 e 3 di quelli che ci si aspetterebbe da una distribuzione casuale, ma la mia sensazione è che questa distribuzione per questo numero di semi sia molto più probabile della distribuzione per la pianta 2, e potrebbe non essere così improbabile. Ma ovviamente voglio saperlo con certezza e in tutte le piante.

Alla fine sto cercando di scrivere una dichiarazione del tipo “La distribuzione di semi impollinati nei baccelli del seme si adatta (o non si adatta) all'ipotesi che le piante non siano semplicemente parzialmente autocompatibili, ma richiedono la visita di un impollinatore per effettuare il set di semi. (risultati del test statistico). " Questa è davvero solo una parte della mia sezione lungimirante, in cui sto parlando di quali esperimenti condurre dopo, quindi non sono disperato che questa sia una cosa o l'altra, ma voglio sapere da sola, se possibile. Se non posso fare quello che sto cercando di fare con questi dati, mi piacerebbe saperlo anche io!

All'inizio ho fatto una domanda piuttosto ampia, dal momento che sono curioso di sapere se ci sono o meno dei buoni test per mostrare se i dati dovrebbero andare in un modello gonfiato zero in primo luogo. Tutti gli esempi che ho visto sembrano dire: "guarda, ci sono molti zeri qui, e c'è una spiegazione ragionevole per questo, quindi usiamo un modello zero gonfiato". Questo è quello che sto facendo ora su questo forum, ma ho avuto un'esperienza nel mio ultimo capitolo in cui ho usato un glm Poisson per i dati di conteggio e uno dei miei supervisori ha detto "No, i glms sono troppo complessi e non necessari, questi dati dovrebbero andare in una tabella di contingenza ”e poi mi ha inviato un dump di dati della massiccia tabella di contingenza generata dal loro costoso pacchetto di statistiche che ha dato gli stessi valori p per tutti i miei fattori + interazioni a tre cifre significative !! Quindi, sto cercando di mantenere le statistiche chiare e semplici, e mi assicuro di averle comprese abbastanza bene da difendere in modo deciso le mie scelte, cosa che non sento di poter fare per un modello a zero inflazione al momento. Ho usato sia un quasibinomiale (per le piante intere per sbarazzarmi di pesudoreplicaiton) sia un modello misto per i dati di cui sopra per confrontare i trattamenti e rispondere alle mie principali domande sperimentali, o sembra fare lo stesso lavoro, ma ho intenzione di fare anche gioca con ZINB stasera, per vedere quanto bene si esibisce. Sto pensando se posso dimostrare esplicitamente che questi dati sono inizialmente fortemente raggruppati (o zero gonfiati), quindi fornire una buona ragione biologica per ciò che si verifica, sarò molto meglio impostato per estrarre successivamente uno ZINB, piuttosto che basta confrontarne uno con un modello quasibinomiale / misto e argomentare poiché dà risultati migliori, ecco cosa dovrei usare. cosa che non sento di poter fare per un modello a zero inflazione in questo momento. Ho usato sia un quasibinomiale (per le piante intere per sbarazzarmi di pesudoreplicaiton) sia un modello misto per i dati di cui sopra per confrontare i trattamenti e rispondere alle mie principali domande sperimentali, o sembra fare lo stesso lavoro, ma ho intenzione di fare anche gioca con ZINB stasera, per vedere quanto bene si esibisce. Sto pensando se posso dimostrare esplicitamente che questi dati sono inizialmente fortemente raggruppati (o zero gonfiati), quindi fornire una buona ragione biologica per ciò che si verifica, sarò molto meglio impostato per estrarre successivamente uno ZINB, piuttosto che basta confrontarne uno con un modello quasibinomiale / misto e argomentare poiché dà risultati migliori, ecco cosa dovrei usare. cosa che non sento di poter fare per un modello a zero inflazione in questo momento. Ho usato sia un quasibinomiale (per le piante intere per sbarazzarmi di pesudoreplicaiton) sia un modello misto per i dati di cui sopra per confrontare i trattamenti e rispondere alle mie principali domande sperimentali, o sembra fare lo stesso lavoro, ma ho intenzione di fare anche gioca con ZINB stasera, per vedere quanto bene si esibisce. Sto pensando se posso dimostrare esplicitamente che questi dati sono inizialmente fortemente raggruppati (o zero gonfiati), quindi fornire una buona ragione biologica per ciò che si verifica, sarò molto meglio impostato per estrarre successivamente uno ZINB, piuttosto che basta confrontarne uno con un modello quasibinomiale / misto e argomentare poiché dà risultati migliori, ecco cosa dovrei usare. Ho usato sia un quasibinomiale (per le piante intere per sbarazzarmi di pesudoreplicaiton) sia un modello misto per i dati di cui sopra per confrontare i trattamenti e rispondere alle mie principali domande sperimentali, o sembra fare lo stesso lavoro, ma ho intenzione di fare anche gioca con ZINB stasera, per vedere quanto bene si esibisce. Sto pensando se posso dimostrare esplicitamente che questi dati sono inizialmente fortemente raggruppati (o zero gonfiati), quindi fornire una buona ragione biologica per ciò che si verifica, sarò molto meglio impostato per estrarre successivamente uno ZINB, piuttosto che basta confrontarne uno con un modello quasibinomiale / misto e argomentare poiché dà risultati migliori, ecco cosa dovrei usare. Ho usato sia un quasibinomiale (per le piante intere per sbarazzarmi di pesudoreplicaiton) sia un modello misto per i dati di cui sopra per confrontare i trattamenti e rispondere alle mie principali domande sperimentali, o sembra fare lo stesso lavoro, ma ho intenzione di fare anche gioca con ZINB stasera, per vedere quanto bene si esibisce. Sto pensando se posso dimostrare esplicitamente che questi dati sono inizialmente fortemente raggruppati (o zero gonfiati), quindi fornire una buona ragione biologica per ciò che si verifica, sarò molto meglio impostato per estrarre successivamente uno ZINB, piuttosto che basta confrontarne uno con un modello quasibinomiale / misto e argomentare poiché dà risultati migliori, ecco cosa dovrei usare.

Ma non voglio distrarre troppo dalla mia domanda principale, come posso determinare se i miei dati sono davvero più a zero del previsto da una distribuzione casuale? Nel mio caso, la risposta è ciò che mi interessa veramente, con il possibile vantaggio che la giustificazione del modello è un vantaggio.

Grazie ancora per tutto il tuo tempo e aiuto!

Saluti, BWGIA


perché non vuoi adattare il modello binomiale a gonfiaggio zero?
atiretoo - ripristina monica il

l'ipotesi del "selfing parziale" è esclusiva dell'ipotesi "impollinatore"? In tal caso, il tuo secondo modello sarebbe semplicemente un modello binomiale con probabilità p e dimensione = 4.
atiretoo - ripristina monica il

Risposte:


5

Questo mi sembra un modello misto relativamente semplice (non lineare). Hai dei baccelli nidificati in gruppi nidificati nelle piante e puoi adattare un modello binomiale con effetti casuali in ogni fase:

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

o con le covariate se le hai. Se i fiori si autoimpollinano, potresti notare alcuni lievi effetti dovuti alla naturale variabilità della vitalità delle piante da sole. Tuttavia, se la maggior parte della variabilità nella risposta è determinata dalla variabilità dei cluster, si avrebbe una più forte evidenza di impollinazione da parte di insetti che potrebbero visitare solo gruppi selezionati su una pianta. Idealmente, si vorrebbe una distribuzione non parametrica degli effetti casuali piuttosto che gaussiana: una massa punto a zero, per nessuna visita di insetto e una massa punto a un valore positivo - questo è essenzialmente il modello di miscela a cui Michael Chernick ha pensato. Puoi adattarlo con il pacchetto GLLAMM Stata, sarei sorpreso se ciò non fosse possibile in R.

Probabilmente per un esperimento pulito, vorresti avere le piante all'interno, o almeno in un luogo senza accesso agli insetti, e vedere quanti semi sarebbero stati impollinati. Ciò probabilmente risponderebbe a tutte le tue domande in modo metodologicamente più rigoroso.


Proverò questo, penso che aiuterà a rispondere alle mie domande da solo, ma non sono sicuro di come convincerà gli altri. Sei a posto con la seconda parte, sto provando a pensare a come questi dati informino un futuro esperimento più diretto.
BWGIA,

1

Mi sembra che questa sia una distribuzione mista per ogni singolo insetto. Con probabilità p, l'insetto atterra con probabilità 1-p atterra e distribuisce da 0 a 4 semi. Ma se non hai informazioni sul fatto che l'insetto atterra o meno sulla pianta non puoi distinguere i due modi per ottenere 0. Quindi potresti lasciare che p sia la probabilità di 0 e quindi hai la distribuzione multinomiale (p1, p2, p3, p4) dove pi è la probabilità di i semi dati gli insetti impollinati soggetti al vincolo p1 + p2 + p3 + p4 = 1. Il modello ha cinque incognite p, p1, p2, p3, p4 con il vincolo 0 = 0 per ogni i. Con dati sufficienti, dovresti essere in grado di stimare questi parametri, magari utilizzando un approccio a massima verosimiglianza limitata.


Sono d'accordo, ma la domanda non è quella di adattarsi a quel modello, ma di generare distribuzioni previste in base a due diverse ipotesi biologiche. Forse la risposta è di inserire uno ZIB e "qualche altro modello" che corrisponda all'ipotesi del sé e confrontarli.
atiretoo - ripristina monica il

@atiretoo il modello non ti fornisce una distribuzione stimata per il numero di semi impollinati che potresti confrontare con la tua distribuzione ipotizzata?
Michael R. Chernick,

D'accordo - se hai i modelli giusti per le 2 ipotesi.
atiretoo - reinstalla monica il

1

Questa è una risposta all'ultima parte della tua domanda, come generare rapidamente i dati desiderati per l'ipotesi dell'impollinatore:

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)

È inoltre possibile utilizzare rzibinom()nel pacchetto VGAM. Anche se non sono sicuro di cosa tu voglia farci. Hai 2 parametri gratuiti, p1 e p2, che devono essere stimati. Perché non utilizzare un modello binomiale a gonfiamento zero per stimarli dai dati?

Dovresti guardare il pacchetto VGAM, che si adatta ai modelli ZIB tra gli altri. In effetti, è possibile ottenere la distribuzione prevista per uno ZIB dalla funzione VGAM dzibinom(), che è possibile utilizzare per confrontare la distribuzione osservata con se si conoscono i parametri di visitazione e impollinazione. Ancora una volta, dovresti davvero adattarti al modello ZIB.

Se la tua ipotesi di ego parziale è esclusiva dell'impollinazione degli insetti, la distribuzione prevista è semplicemente binomiale e potresti stimare i parametri con un glm di una famiglia binomiale o forse un glmm con ID di pianta come effetto casuale. Tuttavia, se sono in grado di auto-essere parziale E ricevere l'impollinazione degli insetti, allora sei tornato a necessitare di una miscela di due distribuzioni binomiali. In tal caso, analizzerei utilizzando OpenBUGS o JAGS per adattarlo al modello utilizzando MCMC.

Una volta che i due modelli sono stati adattati ai dati, quindi confrontare i modelli per vedere quale si adatta meglio, utilizzando AIC o BIC o qualche altra metrica di propria scelta.


Grazie per quell'atiretoo, ma l'esecuzione di quel codice sembra generare un numero casuale di semi e una distribuzione casuale. Stavo pensando di voler riparare il nubmer di semi (diciamo 19 semi, vedi sotto) e poi vedere quanto era probabile una data distribuzione per quel nubmer esatto
BWGIA,

Opps, premi post troppo presto e volevo dire "vedi sopra" dato che ho aggiunto alcune informazioni alla mia domanda. Sono incuriosito dal tuo commento sull'utilizzo di AIC per confrontare i modelli, posso farlo attraverso i modelli (con la stessa variabile di risposta) con diverse distribuzioni? Ho pensato che il confronto AIC fosse valido solo quando si aggiungono / rilasciano termini a un modello ma con la stessa famiglia di distribuzione specificata?
BWGIA,

No, questo è il vantaggio principale di AIC rispetto ad esempio alla selezione all'indietro. Finché i dati sono gli stessi, puoi confrontare AIC tra modelli diversi anche se non sono nidificati. Devi fare attenzione che il software stia calcolando le probabilità senza tralasciare le costanti, ma all'interno di una singola funzione puoi confrontare facilmente i modelli non nidificati.
atiretoo - ripristina monica il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.