Ho quello che pensavo ingenuamente di essere un problema piuttosto semplice che comporta il rilevamento anomalo di molti diversi set di dati di conteggio. In particolare, voglio determinare se uno o più valori in una serie di dati di conteggio sono più alti o più bassi del previsto rispetto al resto dei conteggi nella distribuzione.
Il fattore confondente è che devo farlo per 3.500 distribuzioni ed è probabile che alcuni di essi si adattino a un poisson sovraispersato gonfiato a zero, mentre altri potrebbero adattarsi meglio a un binomio negativo o ZINB, mentre altri potrebbero essere normalmente distribuiti. Per questo motivo, i semplici punteggi Z o la rappresentazione della distribuzione non sono appropriati per gran parte del set di dati. Ecco un esempio dei dati di conteggio per i quali voglio rilevare valori anomali.
counts1=[1 1 1 0 2 1 1 0 0 1 1 1 1 1 0 0 0 0 1 2 1 1 2 1 1 1 1 0 0 1 0 1 1 1 1 0
0 0 0 0 1 2 1 1 1 1 1 1 0 1 1 2 0 0 0 1 0 1 2 1 1 0 2 1 1 1 0 0 1 0 0 0
2 0 1 1 0 2 1 0 1 1 0 0 2 1 0 1 1 1 1 2 0 3]
counts2=[0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
1 1 0 0 0]
counts3=[14 13 14 14 14 14 13 14 14 14 14 14 15 14 14 14 14 14 14 15 14 13 14 14
15 12 13 17 13 14 14 14 14 15 14 14 13 14 13 14 14 14 14 13 14 14 14 15
15 14 14 14 14 14 15 14 1414 14 15 14 14 14 14 14 14 14 14 14 14 14 14 13 16]
counts4=[0 3 1.......]
and so on up to counts3500.
Inizialmente pensavo che avrei dovuto scrivere un ciclo in Python o R che avrebbe applicato un insieme di modelli a ciascuna distribuzione e selezionare il modello più adatto secondo AIC o altro (forse il fitdistrplus in R?). Potrei quindi chiedere quali fossero gli estremi per la distribuzione data (i conteggi che cadono nelle code, ad esempio un conteggio di "4" sarebbe un valore anomalo nella distribuzione dei conteggi 1 sopra?). Tuttavia, non sono sicuro che questa sia una strategia valida e mi è venuto in mente che potrebbe esserci una metodologia semplice per determinare i valori anomali nei dati di conteggio di cui non ero a conoscenza. Ho cercato a fondo e non ho trovato nulla di appropriato per il mio problema, dato il numero di distribuzioni che voglio guardare.
Il mio obiettivo finale è rilevare aumenti o diminuzioni significativi di un conteggio per ciascuna distribuzione di conteggi, utilizzando la metodologia statisticamente più appropriata.