Come posso verificare se determinati campioni vengono prelevati da una distribuzione di Poisson?


Risposte:


18

Innanzitutto, il mio consiglio è di astenersi dal provare una distribuzione di Poisson così come è per i dati. Suggerisco che tu debba prima fare una teoria sul perché la distribuzione di Poisson dovrebbe adattarsi a un particolare set di dati o un fenomeno.

Una volta stabilito questo, la domanda successiva è se la distribuzione è omogenea o meno. Ciò significa se tutte le parti dei dati sono gestite dalla stessa distribuzione di Poisson o c'è una variazione in questo basata su alcuni aspetti come il tempo o lo spazio. Dopo esserti convinto di questi aspetti, prova i seguenti tre test:

  1. test del rapporto di verosimiglianza usando una variabile chi quadro
  2. uso della statistica condizionale del chi-quadro; chiamato anche test di dispersione di Poisson o test di varianza
  3. uso della statistica neyman-scott, che si basa su una variazione di stabilizzazione della varianza della variabile di Poisson

cercali e li troverai facilmente in rete.


3
"se la distribuzione è omogenea o no ... Una volta che ti sei convinto di questi aspetti" Potresti commentare un po 'come determinarlo?
significa significato

13

Ecco una sequenza di comandi R che possono essere utili. Sentiti libero di commentare o modificare in caso di errori.

set.seed(1)
x.poi<-rpois(n=200,lambda=2.5) # a vector of random variables from the Poisson distr.

hist(x.poi,main="Poisson distribution")

lambda.est <- mean(x.poi) ## estimate of parameter lambda
(tab.os<-table(x.poi)) ## table with empirical frequencies


freq.os<-vector()
for(i in 1: length(tab.os)) freq.os[i]<-tab.os[[i]]  ## vector of emprical frequencies

freq.ex<-(dpois(0:max(x.poi),lambda=lambda.est)*200) ## vector of fitted (expected) frequencies

acc <- mean(abs(freq.os-trunc(freq.ex))) ## absolute goodness of fit index acc
acc/mean(freq.os)*100 ## relative (percent) goodness of fit index

h <- hist(x.poi ,breaks=length(tab.os))
xhist <- c(min(h$breaks),h$breaks)
yhist <- c(0,h$density,0)
xfit <- min(x.poi):max(x.poi)
yfit <- dpois(xfit,lambda=lambda.est)
plot(xhist,yhist,type="s",ylim=c(0,max(yhist,yfit)), main="Poison density and histogram")
lines(xfit,yfit, col="red")

#Perform the chi-square goodness of fit test 
#In case of count data we can use goodfit() included in vcd package
library(vcd) ## loading vcd package
gf <- goodfit(x.poi,type= "poisson",method= "MinChisq")
summary(gf)
plot(gf,main="Count data vs Poisson distribution")

3
Questa riga: freq.ex <- (dpois (0: max (x.poi), lambda = lambda.est) * 200) produce errori con alcuni dati del mondo reale, perché la lunghezza di freq.ex non corrisponderà a freq. oss su questa riga acc <- mean (abs (freq.os-trunc (freq.ex))). Ho adattato questa linea a freq.ex <- (dpois (seq (0, max (x.poi)) [seq (0: max (x.poi))% in% x.poi], lambda = lambda.est) * 200) ma qualcosa non è ancora del tutto corretto perché goodfit produce avvisi.
Russellpierce,

Usando il tuo codice ricevo una bontà di indice di adattamento di 121. Ma è relativo, no? Quindi dovrebbe essere tra 0 e 100, giusto?
MERose,


5

È possibile utilizzare la dispersione (rapporto di varianza rispetto alla media) come statistica di test, poiché Poisson dovrebbe fornire una dispersione di 1. Ecco un collegamento a come utilizzarlo come test modello.


+1 grazie. spesso ottengo alcuni risultati "weired", ad esempio, una distribuzione normale ottiene un valore p più alto di un valore di poisson, dove lambda è relativamente piccolo (quindi a quanto pare solo il normale e il poisson non sono affatto simili)
David B

6
404 NON TROVATO!!
Rodrigo,

5

Per una distribuzione di Poisson, la media è uguale alla varianza. Se la media del campione è molto diversa dalla varianza del campione, probabilmente non si hanno dati di Poisson. Il test di dispersione menzionato anche qui è una formalizzazione di tale nozione.

Se la tua varianza è molto più grande della tua media, come è comunemente il caso, potresti voler provare una distribuzione binomiale negativa in seguito.


5
E quindi se la media è la stessa della varianza, potresti concludere che i dati erano Poisson? Quasi!
Peter R

Vero. Necessario ma non sufficiente.
John D. Cook,

2

È possibile disegnare una singola figura in cui le frequenze osservate e attese sono disegnate fianco a fianco. Se le distribuzioni sono molto diverse e hai anche un rapporto varianza-media maggiore di uno, allora un buon candidato è il binomio negativo. Leggi la sezione Distribuzioni di frequenza da The R Book. Si occupa di un problema molto simile.


1

Penso che il punto principale sia quello che sidmaestro solleva ... la configurazione sperimentale o il meccanismo di generazione dei dati supporta la premessa che i dati potrebbero derivare da una distribuzione di Poisson.

Non sono un grande fan dei test per ipotesi distributive, dal momento che quei test in genere non sono molto utili. Ciò che mi sembra più utile è fare ipotesi distributive o di modello che siano flessibili e ragionevolmente robuste rispetto alle deviazioni dal modello, in genere a fini di inferenza. Nella mia esperienza, non è così comune vedere media = varianza, quindi spesso il modello binomiale negativo sembra più appropriato e include il Poisson come caso speciale.

Un altro punto importante per i test distributivi, se è quello che vuoi fare, è assicurarti che non vi siano strati coinvolti che renderebbero la tua distribuzione osservata una miscela di altre distribuzioni. Le singole distribuzioni specifiche dello strato potrebbero apparire Poisson, ma la miscela osservata potrebbe non esserlo. Una situazione analoga per regressione presuppone solo che la distribuzione condizionale di Y | X sia normalmente distribuita e non realmente la distribuzione di Y stessa.


Il tuo ultimo punto sulla regressione sarebbe vero solo se X è casuale. Se X è fisso, anche Y sarebbe normale. no?

Sì, questo è vero, ma per problemi di regressione generale (al contrario di anova o problemi progettati), X in realtà non è risolto ma sono osservazioni dal processo sottostante. Tuttavia, per il caso Poisson, il punto è ancora valido, poiché le miscele di Poisson non sono necessariamente Poisson.
Abhijit

0

Ancora un altro modo per testarlo è con un diagramma quantile quantile. In R, c'è qqplot. Questo traccia direttamente i tuoi valori contro una distribuzione normale con media e sd simili

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.