Esiste una distribuzione univariata da cui non possiamo campionare?


12

Abbiamo una grande varietà di metodi per la generazione casuale da distribuzioni univariate (trasformazione inversa, accetta-rifiuta, Metropolis-Hastings ecc.) E sembra che possiamo campionare letteralmente da qualsiasi distribuzione valida - è vero?

Potresti fornire qualche esempio di distribuzione univariata impossibile da generare in modo casuale? Immagino che l'esempio in cui è impossibile non esiste (?), Quindi diciamo che per "impossibile" intendiamo anche casi che sono molto costosi dal punto di vista computazionale, ad esempio che hanno bisogno di simulazioni di forza bruta come il disegno di enormi quantità di campioni per accettare solo un pochi di loro.

Se tale esempio non esiste, possiamo effettivamente dimostrare che possiamo generare estrazioni casuali da qualsiasi distribuzione valida? Sono semplicemente curioso di sapere se esiste un controesempio per questo.


6
Dipende davvero da cosa intendi per "impossibile / impossibile", credo. Ci sono casi in cui il cdf e il pdf sono molto costosi da valutare, per esempio, il che renderebbe proibitiva la maggior parte dei metodi, e non è difficile trovare forme distributive in cui buoni limiti di busta sul pdf (per accettare-rifiutare che evita principalmente la valutazione delle funzioni) non sono prontamente disponibili. Quindi fallirebbe nel caso in cui si escludesse già e potremmo rendere ancora più costoso (per deviazione, in media) da calcolare rispetto all'utilizzo di accetta-scarta (che escluderebbe il tentativo di utilizzare l'inversione numerica del F
cdf

3
Non possiamo prelevare campioni casuali uniformi dall'insieme di numeri irrazionali sull'intervallo (0,1) usando un computer. La prova è lasciata come esercizio per il lettore.
Cliff AB,

2
@Cliff AB Può essere gestito dall'aritmetica degli intervalli. Definire un intervallo (il più piccolo) attorno a ciascun punto valutabile (razionale) del computer in modo tale che l'intero [0,1] sia coperto da questi intervalli. Per ogni "uniforme" valutabile dal computer disegnata, valutare t (con arrotondamento verso l'esterno) l'inverso dell'intervallo della funzione di distribuzione cumulativa su questo argomento intervallo. Ciò produrrà un campione di intervallo della variabile casuale, garantito al 100% per contenere il campione vero.
Mark L. Stone,

2
Quello che sto ottenendo è dal momento che consideri già sufficientemente inefficiente accettare il rifiuto come "impossibile", se lo rendi abbastanza costoso da peggiorare qualsiasi altro approccio che conosci (richiede più calcoli), presumibilmente considereresti anche quelli "impossibili". Costruire F e f costosi da valutare non è così difficile, e renderli così inefficienti sembra ovvio che sia ovvio il modo di evitare il calcolo effettivo della maggior parte delle volte ,,, ctd
Glen_b -Reinstate Monica

1
ctd ... (ma collettivamente, le persone sono abbastanza ingegnose, quindi ciò che sembra molto difficile un giorno potrebbe essere fattibile se ti viene in mente una bella idea che aggira la maggior parte del problema). Se diciamo "l'approssimazione a tale accuratezza va bene", molte di queste difficoltà possono essere aggirate in molti casi (ad esempio, si potrebbe essere in grado di costruire grandi tabelle di ricerca / generazione da istogrammi, diciamo che la maggior parte delle volte generi valori approssimativi ragionevolmente velocemente).
Glen_b -Restinata Monica,

Risposte:


15

Se conosci la funzione di distribuzione cumulativa, , puoi invertirla, sia analiticamente che numericamente, e utilizzare il metodo di campionamento della trasformazione inversa per generare campioni casuali https://en.wikipedia.org/wiki/Inverse_transform_sampling .F(x)

Definire . Ciò gestirà qualsiasi distribuzione, continua, discreta o qualsiasi combinazione. Questo può sempre essere risolto numericamente e forse analiticamente. Sia U un campione da una variabile casuale distribuita come Uniforme [0,1], cioè da un generatore di numeri casuali [0,1] uniforme. Quindi F - 1 ( U ) , definito come sopra, è un campione casuale da una variabile casuale con distribuzione F ( x ) . F1(y)=inf(x:F(x)y)F1(U)F(x)

Questo potrebbe non essere il modo più veloce per generare campioni casuali, ma è un modo, presumendo che F (x) sia noto.

Se F (x) non è noto, questa è una storia diversa.


2
Se non è noto, allora ciò che è noto? Ovviamente ciò è rilevante. Se non sai nulla, non sarai in grado di fare nulla. Se conosci qualcosa, allora dipende da cosa è quel qualcosa.F(x
Mark L. Stone,

@Tim In effetti, è abbastanza comune che non conosciamo F (X), ma possiamo generare campioni da esso. Questo è uno scenario tipico nella simulazione Monte Carlo (stocastica).
Mark L. Stone,

@Tim: Se non sei interessato a questa storia, non è chiaro quale storia ti interessi. In risposta al commento di Glen_b, hai detto che non eri preoccupato per il campionamento inefficiente. Questo metodo, sebbene inefficiente, ti permetterà di campionare da qualsiasi pdf (supponendo che non sia così mal comportato che l'integrazione numerica fallisca, ma non credo che a nessuno importi usare tali distribuzioni). Quindi, a meno che tu non sia interessato, diciamo, a distribuzioni discontinue in un numero infinito di posti, questa dovrebbe essere la risposta alla tua domanda: sì, possiamo.
Cliff AB,

In realtà, se è noto ma non F - 1 , questo è un problema. FF1
Xi'an,

1
Dipende da cosa intendi per problema. Se è noto, per la mia risposta, F - 1 ( y ) = i n f ( x : F ( x ) y ) è sempre ben definito e può essere risolto numericamente. Potrebbe non essere veloce come vorresti, quindi se questo è ciò che intendi per problema, ok Se non è quello che intendi, allora qual è il problema? FF1(y)=inf(x:F(x)y)
Mark L. Stone,

7

Quando una distribuzione è definita solo dalla sua funzione generatrice del momento o dalla sua funzione caratteristica Φ ( t ) = E [ exp { i t X } ] , è raro trovare modi di generare da quelle distribuzioni.ϕ(t)=E[exp{tX}]Φ(t)=E[exp{itX}]

Un esempio rilevante è rappresentato dalle distribuzioni stabiliα , che non hanno forma nota per densità o cdf, nessuna funzione generatrice di momenti, ma una funzione caratteristica di forma chiusa.

Nelle statistiche bayesiane, le distribuzioni posteriori associate a probabilità intrattabili o semplicemente insiemi di dati che sono troppo grandi per adattarsi a un computer possono essere viste come impossibili (esattamente) da simulare.


Se si conosce solo la funzione di generazione del momento, è possibile utilizzare l'approssimazione del punto di sella e quindi simulare da quello.
kjetil b halvorsen,

1
@ Xi'an Hai lasciato fuori la parola "in modo efficiente". Nel peggiore dei casi, è possibile invertire numericamente l'inversione numerica della trasformazione. Questo farà il lavoro, forse non "in modo efficiente", ma lo farà.
Mark L. Stone,

3
@kjetilbhalvorsen: l'approssimazione a sella è la soluzione proposta nel collegamento che ho inserito. Ma è un'approssimazione!
Xi'an,

2

Supponendo di fare riferimento a distribuzioni continue. Usando la trasformazione integrale di probabilità , è possibile simulare da qualsiasi distribuzione univariata simulando u ( 0 , 1 ) e quindi prendendo F - 1 ( u ) . Quindi, possiamo simulare un'uniforme, quindi quella parte è fatta. L'unica cosa che può precludere la simulazione da F è che non è possibile calcolare il suo F - 1 inverso , ma questo deve essere correlato a difficoltà computazionali, piuttosto che a qualcosa di teorico.Fu(0,1)F1(u)FF1


1

Ora che la tua domanda si è evoluta in "difficile da campione", basta prendere qualsiasi modello con una probabilità intrattabile , assegnare una distribuzione a priori al modello parametri , e supponiamo che siete interessati nella distribuzione posteriore marginale di una delle voci θ j . Ciò implica che è necessario campionare dal posteriore, che è intrattabile a causa dell'intrattabilità della probabilità.θ=(θ1,...,θd)θj

Esistono metodi per campionare approssimativamente da questo posteriore in alcuni casi, ma al momento non esiste un metodo generale esatto.


... ma la domanda riguarda le distribuzioni univariate. Ci sono molti esempi di modelli complicati in cui MCMC non riesce a convergere anche dopo un numero enorme di iterazioni.
Tim

@Tim Ed è esattamente per questo che ho detto posteriore marginale , il che significa univariato ... Mi sembra che tu non abbia chiaro quello che stai chiedendo. Le prime due risposte sono chiare dal punto di vista teorico, è possibile campionare da qualsiasi distribuzione purché tu lo sappia.
Noah,

1
Voto per porre questa domanda [IN ATTESA] fino a quando il PO non chiarirà ciò che sta ponendo e smetterò di cambiare la domanda ogni volta che appare una nuova risposta per rendere inapplicabili le risposte.
Noah,

Sto non cambiando la mia domanda "ogni volta che un nuovo appare risposta" ... Ovviamente il modello statistico con probabilità e la prima non è univariata in quanto viene dichiarato in termini di distribuzione condizionata. È univariato se si campiona dal posteriore, ma suppongo che supponiamo che abbiamo già la distribuzione marginale, quindi non c'è nessun problema con il posteriore intrattabile.
Tim

1
R

1

(qi)i=1P(X=qi)=0ii=1P(X=qi)=0P(XQ)=1

μπ(μ)=1


0

Potresti fornire qualche esempio di distribuzione univariata da cui è impossibile generare casualmente?

cc

Se sei interessato solo al campionamento di variabili casuali i cui valori possono essere ragionevolmente approssimati da numeri in virgola mobile a 64 bit o hai una tolleranza simile per l'errore finito nel valore e non rappresentavi comunque i tuoi campioni in macchine di Turing , considera questo:

XBer(p)p=1c01

0(,c)1[c,)0(,0)c[0,1)1[1,)cxy-asse. Non sono sicuro di ciò che rende il campionamento più difficile, quindi scegli quello che ti piace di più ;-)

diciamo che per "impossibile" intendiamo anche casi che sono molto costosi dal punto di vista computazionale, ad esempio che necessitano di simulazioni di forza bruta come il disegno di enormi quantità di campioni per accettarne solo alcuni.

In questo caso, la risposta ovvia sembra ovvia:

  • nn
  • Prova le preimmagini di una funzione hash crittografica (ovvero genera bitcoin e spezza git e mercurial).
  • Prova il set di strategie Go ottimali (con le regole cinesi dei superko, che rendono tutti i giochi finiti, per quanto ne capisco).

Un po 'più formalmente: ti do una grande istanza di un problema NP-completo (o EXP-completo, ecc.) E ti chiedo di campionare uniformemente il set di soluzioni per me.

R1

Puoi facilmente verificare se una determinata assegnazione di verità soddisfa la mia istanza SAT, e dopo aver verificato tutto quello che sai se qualcuno lo fa, quindi ho completamente specificato un CDF dandoti una formula booleana (o circuito), ancora per provare la distribuzione corrispondente devi essenzialmente diventare qualcosa di almeno potente come un oracolo di solvibilità SAT.


Quindi ti ho dato un numero inestimabile che dovrebbe buttarti la sabbia negli ingranaggi e ti ho dato un CDF che è lento da calcolare. Forse la prossima ovvia domanda da porsi è qualcosa del genere: esiste un CDF rappresentato in una forma efficiente (ad es. Può essere valutato in tempo polinomiale) in modo tale che sia difficile generare campioni con quella distribuzione? Non conosco la risposta a quella. Non conosco la risposta a quella.

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.