Calcolo della modalità dei dati campionati da una distribuzione continua


12

Quali sono i metodi migliori per adattare la 'modalità' di dati campionati da una distribuzione continua?

Dato che la modalità è tecnicamente indefinita (giusto?) Per una distribuzione continua, sto davvero chiedendo "come trovi il valore più comune"?

Se si presume che la distribuzione padre sia gaussiana, è possibile eseguire il bin dei dati e scoprire che la modalità è la posizione del bin con il maggior numero di conteggi. Tuttavia, come si determina la dimensione del cestino? Sono disponibili implementazioni solide? (vale a dire, robusto per i valori anomali). Uso python/ scipy/ numpy, ma probabilmente posso tradurre Rsenza troppe difficoltà.


8
Non sono sicuro che la modalità sia tecnicamente definita in questo modo, ma la modalità globale di una distribuzione continua viene generalmente considerata come il punto con la più alta densità.
Macro

1
@Macro - è utile. È quindi possibile leggere la mia domanda come "Quali sono i metodi migliori per determinare la densità (di picco)?"
keflavich,

1
Forse adattare una stima della densità del kernel per i tuoi dati e stimare la modalità come il picco di quello? Sembra un approccio ragionevole ma non ho familiarità con la letteratura su questo problema.
Macro

1
Se non si presume che la distribuzione padre sia gaussiana, è ancora possibile eseguire il bin dei dati e utilizzare la modalità come posizione del bin con il conteggio maggiore? Perché o perché no? Su una nota più seria, perché non trovare i decili modo che il dei campioni sia nell'intervallo , quindi è probabile che la modalità sia nell'intervallo interdecile più breve ? Quindi prendi la dimensione del cestino per essere, diciamo, un quarto di questo intervallo interdecile più breve. x0=xmin,x1,x2,,x9,x10=xmax10%xi+1ximin1j10xj+1xj
Dilip Sarwate,

2
Quali ipotesi puoi fare sulla distribuzione principale, keflavich? Se sono parametrici, è meglio stimare i parametri e quindi stimare la modalità da tali parametri. (Ad esempio, la media del campione stima la modalità di una distribuzione normale.) In caso contrario, il binning può essere un metodo scadente. Invece, una sequenza di stimatori del kernel con una mezza larghezza variabile può essere usata per fornire una sequenza di stimatori; in genere, se la distribuzione sottostante non è modale, le modalità dei smooths del kernel sembreranno convergere verso una modalità unica man mano che le mezze larghezze aumentano e questa può essere la tua stima.
whuber

Risposte:


4

In R, applicando il metodo che non si basa sulla modellazione parametrica della distribuzione sottostante e utilizza lo stimatore del kernel predefinito della densità su 10000 variabili gamma distribuite:

x <- rgamma(10000, 2, 5)
z <- density(x)
plot(z) # always good to check visually
z$x[z$y==max(z$y)]

restituisce 0.199 che è il valore di x stimato per avere la densità più alta (le stime di densità sono memorizzate come "z $ y").


3
L'unica cosa che farei diversamente da quella è usare una larghezza di banda diversa. La larghezza di banda predefinita per la densità () non è particolarmente buona. la densità (x, bw = "SJ") è migliore. Ancora meglio sarebbe usare una larghezza di banda progettata per la stima della modalità. Vedi sciencedirect.com/science/article/pii/0167715295000240 per qualche discussione.
Rob Hyndman,

2

Supponiamo di creare un istogramma, della dimensione del contenitore b, e che il contenitore più grande abbia k voci, dal campione totale della dimensione n. Quindi il PDF medio all'interno di quel cestino può essere stimato come b * k / n.

Il problema è che un altro cestino, che ha meno membri totali, potrebbe avere un'alta densità spot. Puoi saperlo solo se hai un ragionevole presupposto sulla velocità di modifica del PDF. In tal caso, è possibile stimare la probabilità che il secondo contenitore più grande contenga effettivamente la modalità.

Il problema di fondo è questo. Un campione fornisce una buona conoscenza del CDF, dal teorema di Kolmogorov-Smirnov, e quindi una buona stima della mediana e di altri quantili. Ma conoscere un'approssimazione di una funzione in L1 non fornisce una conoscenza approssimativa della sua derivata. Quindi nessun campione fornisce una buona conoscenza del PDF, senza ipotesi aggiuntive.


0

Ecco alcuni schizzi di soluzioni generali che funzionano anche per distribuzioni ad alta dimensione:

  • Addestra un f-GAN con divergenza KL inversa, senza dare alcun input casuale al generatore (cioè forzalo ad essere deterministico).

  • Allena un f-GAN con divergenza KL inversa, sposta la distribuzione di ingresso al generatore verso una funzione delta di Dirac mentre l'addestramento avanza e aggiungi una penalità di gradiente alla funzione di perdita del generatore.

  • Formare un modello generativo (differenziabile) in grado di valutare in modo tracciabile un'approssimazione del pdf in qualsiasi momento (credo che farebbe ad esempio un VAE, un modello basato sul flusso o un modello autoregressivo). Quindi utilizzare un qualche tipo di ottimizzazione (è possibile utilizzare un certo tipo di salita del gradiente se l'inferenza del modello è differenziabile) per trovare un massimo di tale approssimazione.

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.