Come adattare una distribuzione discreta per contare i dati?


17

Ho il seguente istogramma dei dati di conteggio. E vorrei inserirvi una distribuzione discreta. Non sono sicuro di come dovrei procedere.inserisci qui la descrizione dell'immagine

Dovrei prima sovrapporre una distribuzione discreta, diciamo distribuzione binomiale negativa, sull'istogramma in modo da ottenere i parametri della distribuzione discreta e quindi eseguire un test di Kolmogorov – Smirnov per verificare i valori p?

Non sono sicuro che questo metodo sia corretto o meno.

Esiste un metodo generale per affrontare un problema come questo?

Questa è una tabella di frequenza dei dati di conteggio. Nel mio problema, mi sto concentrando solo su conteggi diversi da zero.

  Counts:     1    2    3    4    5    6    7    9   10 
 Frequency: 3875 2454  921  192   37   11    1    1    2 

AGGIORNAMENTO: Vorrei chiedere: ho usato la funzione fitdistr in R per ottenere i parametri per adattare i dati.

fitdistr(abc[abc != 0], "Poisson")
     lambda  
  1.68147852 
 (0.01497921)

Traccia quindi la funzione di massa di probabilità della distribuzione di Poisson in cima all'istogramma. inserisci qui la descrizione dell'immagine

Tuttavia, sembra che la distribuzione di Poisson non riesca a modellare i dati di conteggio. C'è qualcosa che posso fare?


3
Un metodo generale consiste nell'utilizzare la massima probabilità per adattarsi a una distribuzione candidata. Che cosa intendi sovrapponendo una distribuzione per ottenere i parametri non è chiaro, ma se intendi indovinare i valori dei parametri fino a ottenere una buona corrispondenza, questo è un metodo scadente. Kolmogorov-Smirnov non è utile qui. Hai bisogno di un software decente che ti dia risultati inferenziali, quindi devi indicare il tuo software preferito in modo che le persone che lo usano possano provare ad aiutarti. Il tuo istogramma non è chiaro, ma se ci sono lacune, è probabile che nessuna distribuzione si adatti bene.
Nick Cox,

3
Mentre usare un test KS in quel modo è un metodo scadente (e in ogni caso il test KS non è per distribuzioni discrete), sarebbe possibile stimare i parametri minimizzando la statistica KS su tutti i possibili valori dei parametri; ma se stai andando in quel modo (ottimizzando un po 'di adattamento), il minimo chi-quadro sarebbe l'approccio più tipico. Come suggerisce Nick Cox, ML sarebbe la cosa ovvia da fare, quasi sicuramente più efficiente, più facile da cui ottenere errori standard e più facilmente accettato da altri. (Ci sono altre possibilità, come il metodo dei momenti, ma ML è la cosa principale.)
Glen_b -Reinstate Monica

Sto usando R. Quando dici di stimare MLE, ci sono degli algoritmi che consiglierai per il lavoro? E dopo aver trovato la ML, cosa dovrei fare dopo?
user1769197

Vorrei iniziare qui ?MASS::fitdistr, poiché è già nella tua distribuzione R (vedi l'esempio finale in fondo; vedi rnegbin per ulteriori informazioni su quella parametrizzazione del Binomio negativo). .... " E dopo aver trovato la ML, cosa dovrei fare dopo? " - beh a quel punto hai stime dei parametri ed errori standard. Oltre a ciò, cosa vuoi ottenere? - Non riesco a indovinare.
Glen_b

Mi viene in mente che potresti aver cercato di chiedere "come posso valutare l'adattamento del mio modello?". In tal caso, potresti aggiornare la tua domanda per riflettere ciò?
Glen_b

Risposte:


17

Metodi di adattamento di distribuzioni discrete

Esistono tre metodi principali * utilizzati per adattare (stimare i parametri di) distribuzioni discrete.

1) Probabilità massima

Questo trova i valori dei parametri che danno le migliori possibilità di fornire il tuo campione (dati gli altri presupposti, come indipendenza, parametri costanti, ecc.)

2) Metodo dei momenti

Questo trova i valori dei parametri che fanno coincidere i primi momenti della popolazione con i tuoi momenti campione. Spesso è abbastanza facile da fare e in molti casi produce stimatori abbastanza ragionevoli. A volte viene anche utilizzato per fornire valori iniziali alle routine ML.

3) Chi-quadro minimo

Ciò riduce al minimo la bontà chi-quadro della statistica di adattamento rispetto alla distribuzione discreta, sebbene a volte con set di dati più grandi, le categorie finali potrebbero essere combinate per comodità. Spesso funziona abbastanza bene e ha anche probabilmente dei vantaggi rispetto alla ML in particolari situazioni, ma generalmente deve essere ripetuto alla convergenza, nel qual caso la maggior parte delle persone tende a preferire la ML.

I primi due metodi sono utilizzati anche per distribuzioni continue; il terzo di solito non viene utilizzato in quel caso.

Questi non comprendono affatto un elenco esaustivo e sarebbe del tutto possibile stimare i parametri minimizzando ad esempio la statistica KS - e persino (se si adegua per la discrezione), per ottenere una regione di consonanza comune da essa , se lo si fosse così propenso. Dato che stai lavorando in R, la stima ML è abbastanza facile da ottenere per il binomio negativo. Se il tuo campione è stato inserito x, è semplice come library(MASS);fitdistr (x,"negative binomial"):

> library(MASS) 
> x <- rnegbin(100,7,3)
> fitdistr (x,"negative binomial")
     size         mu    
  3.6200839   6.3701156 
 (0.8033929) (0.4192836)

Quelle sono le stime dei parametri e i loro errori standard (asintotici).

Nel caso della distribuzione di Poisson, MLE e MoM stimano entrambi il parametro Poisson nella media del campione.

Se desideri vedere degli esempi, dovresti pubblicare alcuni conteggi effettivi. Nota che il tuo istogramma è stato fatto con i bin scelti in modo da combinare le categorie 0 e 1 e non abbiamo i conteggi grezzi.

Per quanto posso immaginare, i tuoi dati sono approssimativamente i seguenti:

    Count:  0&1   2   3   4   5   6  >6    
Frequency:  311 197  74  15   3   1   0

Ma i grandi numeri saranno incerti (dipende fortemente da quanto accuratamente i conteggi bassi sono rappresentati dai conteggi dei pixel delle loro altezze delle barre) e potrebbe essere un multiplo di quei numeri, come il doppio di quei numeri (i conteggi grezzi influenzano gli errori standard, quindi importa se si tratta di quei valori o due volte più grandi)

La combinazione dei primi due gruppi lo rende un po 'imbarazzante (è possibile farlo, ma meno semplice se si combinano alcune categorie. Molte informazioni sono contenute in quei primi due gruppi, quindi è meglio non lasciare che l'istogramma predefinito li grumi ).


* Naturalmente sono possibili altri metodi per adattare le distribuzioni discrete (ad esempio, si potrebbero corrispondere ai quantili o minimizzare altre statistiche di bontà di adattamento). Quelli che menziono sembrano essere i più comuni.


+1, belle informazioni. Solo per curiosità, perché ti sembra di usare spesso 1), invece della numerazione del markup supportata dal CV (ovvero, 1.- che porta al rientro)?
gung - Ripristina Monica

1
@gung Principalmente, non ci penso - preferisco che le mie liste appaiano come le scrivo; ma quando ci penso trovo la modifica di Markdown dei numeri che scrivo per quello che pensa che dovrebbero essere molto fastidiosi (se ho digitato "36.", in realtà non intendevo "1") ... quindi quando mi viene in mente di usare "1." anziché "1)", finisco spesso per digitare "1 \". esplicitamente impedirgli di riconoscerlo e fare cose che non intendevo. Sono stato così in sintonia con questo comportamento da 5 anni di reddit che non ci penso nemmeno - finirei per interferire automaticamente con esso per forza dell'abitudine.
Glen_b

1
@gung Se il rientro fosse molto più piccolo, probabilmente sarei propenso a sopportare il rischio di rinumerazione e usarlo. Così com'è, di solito lo trovo distratto quando lo vedo. Ma in questo caso particolare stavo cercando di farli sembrare più sottotitoli, quindi probabilmente lo avrei evitato anche se non fossi stato scoraggiato dal comportamento. (D'altra parte, nelle occasioni in cui altre persone hanno deciso di modificare le mie liste per farlo rientrare, in genere le lascio per compiacere se stesse. Se vogliono far sembrare un certo modo, possono purché non alterare il significato.)
Glen_b -Restate Monica

Proverò a trattenermi ;-).
gung - Ripristina Monica

2

In una modifica, hai fornito alcuni dati e hai aggiunto una nuova domanda:

"Questa è una tabella di frequenza dei dati di conteggio. Nel mio problema, mi sto concentrando solo su conteggi diversi da zero.

   Counts:     1    2    3    4    5    6    7    9   10 
Frequency:  3875 2454  921  192   37   11    1    1    2 

Qualcuno può darmi un esempio di come eseguiresti la bontà chi-quadrato del test di adattamento qui? "

Questo porta ad ulteriori commenti:

  1. Avere zeri ma voler ignorarli può avere senso, ma in genere le persone statistiche e interessate vorrebbero vedere una buona ragione per cui.

  2. Se scegli di ignorare gli zeri, ti stai posizionando in un territorio difficile, poiché non puoi semplicemente attivare routine per esempio Poisson o binomio negativo se lasci gli zeri. Bene, puoi, ma le risposte sarebbero sbagliate. Sono necessarie funzioni o comandi per scopi speciali per distribuzioni come il Poisson troncato zero o il binomio negativo troncato zero. Sono cose impegnative e hanno bisogno di una lettura dedicata per essere chiari su ciò che stai facendo.

  3. Chiedere come fare un test chi-quadrato mi suggerisce che non hai davvero capito cosa ho detto molto brevemente e @Glen_b ha detto in modo molto più dettagliato (e, a mio avviso, molto chiaramente). Dividendolo in due:

    • Non può esserci test chi-quadro senza frequenze attese e non possono esserci frequenze previste senza stime dei parametri. È possibile che tu abbia più familiarità con le routine di test chi-quadro in cui viene testata l'indipendenza di righe e colonne in una tabella a due vie. Anche se questo è il test chi-quadro più incontrato nei corsi introduttivi, è in realtà molto insolito tra i test chi-quadro in generale in quanto il solito software in effetti effettua la stima dei parametri per te e quindi ottiene le frequenze attese. Oltre a ciò, nella maggior parte dei problemi più complessi, come il tuo, devi prima ottenere le stime dei parametri.

    • Un test chi-quadro non è sbagliato, ma se si stimano i parametri con la massima probabilità è irrilevante in quanto la routine di adattamento fornisce stime ed errori standard e consente i test sulla loro scia. @Glen_b ha già dato un esempio nella sua risposta.

Un aspetto secondario è che sarebbe più chiaro modificare i tuoi istogrammi per rispettare la discrezione della variabile e mostrare le probabilità, non le densità. Le lacune apparenti sono solo artefatti della scelta del cestino predefinito che non rispettano la discrepanza della variabile.

AGGIORNAMENTO: la domanda supplementare su un test chi-quadrato è stata ora eliminata. Per il momento lascio che il n. 3 sia in piedi, nel caso qualcun altro segua lo stesso percorso di voler un test chi-quadro.


Devo ignorare gli zeri, perché sto cercando di modellare i conteggi attivi. Conti = 0 è indicato come conteggi inattivi.
user1769197

Questa è una scelta sostanziale. Si noti che in molti campi ci sono i cosiddetti modelli in due parti, in cui si modella (nei termini) attivo contro inattivo e quindi quanto attivo.
Nick Cox,

Ho provato a modificare gli istogrammi facendo "plot (table (abc), type =" h ")". Ma non sono sicuro di come posso farlo per mostrare le probabilità
user1769197

Non uso R, ma puoi ottenere consigli a riguardo. Potrebbe essere necessario chiedere separatamente.
Nick Cox,
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.