Verifica se due campioni di Poisson hanno la stessa media


30

Questa è una domanda elementare, ma non sono riuscito a trovare la risposta. Ho due misurazioni: n1 eventi nel tempo t1 e n2 eventi nel tempo t2, entrambi prodotti (diciamo) da processi di Poisson con valori lambda possibilmente diversi.

Questo in realtà proviene da un articolo di notizie, che afferma sostanzialmente che poiché che i due sono diversi, ma non sono sicuro che l'affermazione sia valida. Supponiamo che i periodi di tempo non siano stati scelti maliziosamente (per massimizzare gli eventi nell'uno o nell'altro).n1/t1n2/t2

Posso solo fare un t -test o possa non essere appropriati? Il numero di eventi è troppo piccolo per me chiamare le distribuzioni in modo quasi normale.



1
Ottimo esemplare di giornalismo scientifico, lì ...
Matt Parker,

1
Sì ... puoi vedere perché volevo controllare le statistiche utilizzate.
Charles,

Risposte:


25

Per testare la media di Poisson, il metodo condizionale fu proposto da Przyborowski e Wilenski (1940). La distribuzione condizionale di X1 dato X1 + X2 segue una distribuzione binomiale la cui probabilità di successo è una funzione del rapporto due lambda. Pertanto, i test di ipotesi e le procedure di stima degli intervalli possono essere prontamente sviluppati dai metodi esatti per fare inferenze sulla probabilità di successo binomiale. Di solito vengono considerati due metodi per questo scopo,

  1. C-test
  2. E-test

Puoi trovare i dettagli di questi due test in questo documento. Un test più potente per confrontare due mezzi di Poisson


4
+1 Buona referenza, grazie. Il C-test è una versione più rigorosa di quella che ho disegnato, quindi vale la pena considerare. L'E-test mette in relazione una statistica t con una distribuzione appropriata. Il calcolo di tale distribuzione implica una doppia somma infinita che richiederà la convergenza di calcoli : abbastanza facile da codificare, probabilmente eccessivo per controllare il giornale! O(n1n2)
whuber

1
L'autore del documento E-test ha scritto una semplice implementazione fortran per calcolare i valori p per due mezzi poisson qui: ucs.louisiana.edu/~kxk4695 Ho portato il loro fortran su MATLAB qui git.io/vNP86
AndyL

11

Che ne dite di:

poisson.test(c(n1, n2), c(t1, t2), alternative = c("two.sided"))

Questo è un test che confronta i tassi di Poisson di 1 e 2 tra loro e fornisce sia un valore ap che un intervallo di confidenza del 95%.


Va notato che per un problema a due campioni, questo utilizza un test binomiale per confrontare i tassi
Jon

10

Stai cercando un controllo semplice e veloce.

Con l'ipotesi nulla che i tassi (valori lambda) siano uguali, diciamo a , allora potresti vedere le due misurazioni osservando un singolo processo per il tempo e contando gli eventi durante l'intervallo ( in numero) e gli eventi durante l'intervallo ( in numero). Si stimerebbe la tariffa comet = t 1 + t 2 [ 0 , t 1 ] n 1 [ t 1 , t 1 + t 2 ] n 2λt=t1+t2[0,t1]n1[t1,t1+t2]n2

λ^=n1+n2t1+t2

e da ciò puoi stimare la distribuzione di : sono Poisson di intensità vicino a . Se uno o entrambi si trovano su code di questa distribuzione, molto probabilmente il reclamo è valido; in caso contrario, il reclamo potrebbe basarsi su variazioni casuali.t i À n initiλ^ni


1
Grazie (+1), questo è il controllo giusto per questo tipo di cose fuori dal comune. Alla fine è stato molto significativo (p = 0,005) quindi l'articolo va bene. Spero che non ti dispiaccia, però, che ho accettato l'altra risposta: è bene conoscere il modo "reale" di farlo quando è importante.
Charles,

5

Sarei più interessato a un intervallo di confidenza rispetto al valore ap, ecco un'approssimazione bootstrap.

Calcolare prima le lunghezze degli intervalli e un controllo:

Lrec = as.numeric(as.Date("2010-07-01") - as.Date("2007-12-02")) # Length of recession
Lnrec = as.numeric(as.Date("2007-12-01") - as.Date("2001-12-01")) # L of non rec period
(43/Lrec)/(50/Lnrec)

[1] 2.000276

Questo controllo fornisce un risultato leggermente diverso (aumento del 100,03%) rispetto a quello della pubblicazione (aumento del 101%). Continua con il bootstrap (fallo due volte):

N = 100000
k=(rpois(N, 43)/Lrec)/(rpois(N, 50)/Lnrec)
c(quantile(k, c(0.025, .25, .5, .75, .975)), mean=mean(k), sd=sd(k))

     2.5%       25%       50%       75%     97.5%      mean        sd 
1.3130094 1.7338545 1.9994599 2.2871373 3.0187243 2.0415132 0.4355660 

     2.5%       25%       50%       75%     97.5%      mean        sd 
1.3130094 1.7351970 2.0013578 2.3259023 3.0173868 2.0440240 0.4349706 

L'intervallo di confidenza del 95% dell'aumento è compreso tra il 31% e il 202%.

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.