Domanda:
Qual è il PDF per la differenza minima tra un numero casuale e un insieme di numeri casuali
Steven Sagona
2019-12-15 10:35:53 UTC
view on stackexchange narkive permalink

Ho un elenco (chiamiamolo $ \ {L_N \} $ ) di N numeri casuali $ R \ in (0,1) $ (scelto da una distribuzione uniforme). Successivamente, lancio un altro numero casuale dalla stessa distribuzione (chiamiamo questo numero "b"). Ora trovo l'elemento nell'elenco $ \ {L_N \} $ che è il più vicino al numero "b" e trovo questa distanza.

Se ripeto questo processo, posso tracciare la distribuzione delle distanze ottenute attraverso questo processo.

Quando $ N \ to \ infty $ , qual è l'approccio di questa distribuzione?

Quando simulo questo in Mathematica, sembra che si avvicini a una funzione esponenziale. E se l'elenco fosse lungo 1 elemento, credo che questo seguirebbe esattamente una distribuzione esponenziale.

Guardando wikipedia per le distribuzioni esponenziali, posso vedere che ci sono alcune discussioni sull'argomento:

enter image description here

Ma non riesco a interpretare ciò che dicono qui. Cosa significa "k" qui? Il mio caso è quello che descrivono qui nel limite in cui $ n \ to \ infty $ ?

EDIT: Dopo una risposta intuitiva molto utile di Bayequentist, ora capisco che il comportamento come $ N \ to \ infty $ dovrebbe avvicinarsi a una funzione delta di dirac. Ma mi piacerebbe ancora capire perché i miei dati (che è come il minimo di un mucchio di distribuzioni esponenziali), sembrano anche essere esponenziali. E c'è un modo per capire cos'è esattamente questa distribuzione (per N grande ma finito)?

Ecco un'immagine di come appare una tale distribuzione per N grande ma finito: enter image description here

EDIT2: Ecco un po 'di codice Python per simulare queste distribuzioni:

 % matplotlib inline
importa matematica
importa numpy come np
importa matplotlib come mpl
importa matplotlib.pyplot come plt
numpoints = 10000
NBINS = 1000
randarray1 = np.random.random_sample ((numpoints,))
randarray2 = np.random.random_sample ((numpoints,))

dtbin = []

per i nell'intervallo (len (t1)):
    dt = 10000000
    per j nell'intervallo (len (t2)):
        delta = t1 [i] -t2 [j]
        se abs (delta) < abs (dt):
            dt = delta
    dtbin.append (dt)

plt.figure ()
plt.hist (dtbin, bins = NBINS)
plt. mostra ()
 
L'esponenziale può essere un'approssimazione ragionevole, ma la tua distanza minima non sarà certamente distribuita in modo veramente esponenziale: l'esponenziale ha un supporto illimitato, ma la tua distanza è limitata tra 0 e 1.
Sono abbastanza confuso in questo momento: / Puoi condividere anche il codice che hai usato per generare questa immagine?
Va bene, ho aggiunto del codice Python che può produrre quelle immagini.
Mi sembra che converga nel delta di Dirac.Hai provato campioni di dimensioni maggiori (100k, 1m, 10m ...)?(assicurati che l'intervallo dell'asse x sia coerente) L'unica differenza tra il mio codice e il tuo è che consenti alle distanze di essere negative.Se prendi il valore assoluto delle distanze la tua trama sembrerà la mia.
Inoltre, il numero di b (chiamiamolo nSim) non deve essere grande quanto N!Se si imposta anche nSim = N = 1m, l'esecuzione del codice richiederà un'eternità.Puoi provare a correggere nSim = 10k e osservare come la distribuzione cambia forma quando N passa da 10k a 100k.
Per affrontare la tua modifica, guarda (1) l'intervallo sul tuo asse x e (2) il fatto che @Bayequentist utilizza la differenza assoluta mentre stai usando la differenza effettiva.Se usi la differenza assoluta, otterrai la stessa forma di Bayequentist e guardando l'intervallo del tuo asse x, stai guardando ** numeri molto ** piccoli proprio come sono.
C'è un aspetto della domanda che non è veramente chiaro.Scrivi: "Se ripeto questo processo" ... Ma, quando ripeti il processo, mantieni il valore di $ b $ che è stato generato o generi un nuovo $ b $ ogni volta?Sembra che tu intenda il secondo - puoi confermare per favore.
@wolfies, Genero ogni volta un nuovo valore di b.Puoi vederlo nel codice di simulazione: io genero due elenchi casuali.Quindi per ogni elemento nella seconda lista, trovo la distanza minima tra tutti gli elementi nella prima lista e un elemento nella seconda lista.Quindi raccolgo ciascuna delle distanze ottenute in questo processo.(Ed è quello che sto tracciando come PDF simulato)
(A Bayequentist e duckmayr): Sono d'accordo con entrambi.Il valore assoluto non fa molta differenza nel problema, e la funzione dovrebbe avvicinarsi a una funzione delta per infinitamente grande N. Ma quello che stavo cercando di capire era come potevo capire il PDF per un tale sistema, e ho creato ilerrore nel pensare che sarei soddisfatto di una risposta che mostra il limite del pdf per N infinitamente grande, mentre avevo davvero bisogno di N. finito ma grande Scusa se un tale perno fosse un bersaglio mobile, ma spero che la discussione estesa sia utilealtri futuri lettori.
Cinque risposte:
Henry
2019-12-15 20:14:10 UTC
view on stackexchange narkive permalink

Se stavi cercando la distanza dal valore successivo sopra e se hai inserito un valore extra in $ 1 $ quindi questo ha sempre avuto una risposta, allora usandosimmetria rotazionale la distribuzione di queste distanze $ D $ sarebbe la stessa della distribuzione del minimo di $ n + 1 $ variabili casuali uniformi indipendenti su $ [0,1] $ .

Avrebbe $ P (D \ le d) = 1- (1-d) ^ {n + 1} $ e quindi densità $ f (d) = (n + 1) (1-d) ^ n $ quando $ 0 \ le d \ le 1 $ .Per $ n $ grande e piccolo $ d $ questa densità può essere approssimata da $ f (d) \ approx ne ^ {- nd} $ , che spiega la forma esponenziale che hai individuato.

Ma la tua domanda è leggermente più complicata, poiché sei interessato alla distanza con segno dal valore più vicino sopra o sotto. Come mostra il tuo collegamento a Wikipedia, il minimo di due i.i.d. variabili casuali esponenziali con rate $ \ lambda $ è una variabile casuale esponenziale con rate $ 2 \ lambda $ . Quindi è necessario modificare l'approssimazione della densità per riflettere sia il tasso raddoppiato sia la possibilità di valori negativi di $ d $ . L'approssimazione diventa effettivamente una distribuzione di Laplace con $$ f (d) \ approx ne ^ {- 2n | d |} $$ ricordando che questo è per grandi $ n $ e $ d $ (in particolare la vera densità è $ 0 $ a meno che $ - \ frac12 \ lt d \ lt \ frac12 $ ). Man mano che $ n $ aumenta, questo concentra quasi tutta la densità a $ 0 $ come nella risposta di Bayequentist del limite di una distribuzione delta di Dirac

Con $ n = 10 ^ 6 $ l'approssimazione della densità sarebbe simile a questa, corrispondente alla forma dei dati simulati.

enter image description here

Quindi, se moltiplichi la differenza per n (ad es. Riscala per l'importo appropriato in modo che l'aspettativa rimanga delimitata da 0 e infinito), converge a una distribuzione esponenziale bilaterale.
Bayequentist
2019-12-15 12:01:56 UTC
view on stackexchange narkive permalink

Quando $ N \ to \ infty $ , $ L_N $ contiene tutti i numeri reali in $ (0,1) $ .Pertanto, la distanza da qualsiasi numero in $ (0,1) $ al numero più vicino in $ L_N $ span> si avvicinerà a 0 come $ N \ to \ infty $ .La distribuzione delle distanze si avvicina alla distribuzione delta di Dirac come $ N \ a \ infty $ .

Ecco alcune simulazioni: enter image description here

Ecco uno snippet di codice:

  n <- 100000
Ln <- runif (n)

nSim <- 10000
distanze <- rep (0, nSim)
for (i in 1: nSim) {
  b <- runif (1)
  distanze [i] <- min (abs (Ln-b))
}
hist (distanze, main = "N = 100000")
 
Grazie per la risposta intuitiva!Penso che questo risponda alla mia domanda su cosa succede quando $ N \ to \ infty $, ma spero ancora di avere una comprensione del motivo per cui i miei dati sembrano esponenziali.Caricherò una modifica con un'immagine in modo che tu possa vederla.
Inoltre, se la mia modifica è un po 'troppo un "bersaglio mobile" per te, allora posso riscrivere quella particolare parte come domanda separata.Se è così, accetterò volentieri la tua risposta.
Quando $ N \ to \ infty $, $ L_N $ contiene tutti i numeri reali in $ (0,1) $.Mi sembra dubbio, poiché l'insieme $ \ {L_1, L_2, L_3, \ dots \} $ è numerabile, quindi otteniamo $ N $ come "infinito numerabile", mentre l'insieme di "tutti i numeri reali in $ (0, 1) $ "non è numerabile.Quindi, forse è meglio dire "contiene un numero che è arbitrario vicino a qualsiasi numero reale in $ (0, 1) $" (cioè un sottoinsieme denso di $ (0, 1) $)?
È corretto: un sottoinsieme di un insieme numerabile non può essere non numerabile.Questa risposta non è mai stata concepita come una risposta rigorosa in ogni caso.Stavo solo cercando di fornire un'intuizione utile e di facile comprensione.La risposta di Henry è molto più completa e rigorosa della mia.
Questo era il mio pensiero quando ho letto la domanda per la prima volta, che la risposta era ovviamente 0. La distanza media ovviamente diventa più piccola per ogni elemento aggiunto, e non c'è modo ovvio che possa ragionevolmente avvicinarsi a tutto tranne che a 0
wolfies
2019-12-15 21:35:56 UTC
view on stackexchange narkive permalink

c'è un modo per capire cos'è esattamente questa distribuzione (per N grandi ma finiti)?

La differenza di due variabili casuali uniformi standard è triangolare (-1,0,1) con pdf $ 1- | x | $ definito su $ (- 1,1) $ .

La distanza è il valore assoluto della differenza che dice pdf $ f (x) $ :

enter image description here

Ripetere l'esercizio $ n $ volte e prendere la distanza minima equivale a trovare il $ (1 ^ { \ text {st}}) $ statistica dell'ordine rispetto al pdf genitore $ f (x) $ , che è data da:

enter image description here

dove sto usando la funzione OrderStat dal pacchetto mathStatica per Mathematica per automatizzare i grattini e dove il dominio del supporto è (0,1). La soluzione ha una distribuzione di Power Function con pdf del formato $ g (x) = a x ^ {a-1} $ .

Il diagramma seguente confronta un grafico del pdf esatto della distanza minima appena derivata $ g (x) $ (curva tratteggiata rossa) ... con un Monte Simulazione Carlo (curva blu ondulata), quando la dimensione del campione è $ n = 10 $ :

enter image description here

Simulazione : poiché stai usando Mathematica per la simulazione, ecco il codice che sto usando per la simulazione dei dati in Mathematica :

  data = Tabella [Min [Abs [RandomReal [{}, 10] - RandomReal []]], 20000];
 
Acccumulation
2019-12-16 03:21:11 UTC
view on stackexchange narkive permalink

Per ottenere un numero maggiore di $ d $ come risultato, tutti i numeri nel campione devono essere $ d $ lontano da $ b $ . La probabilità che ciò accada per qualsiasi individuo $ x_0 $ è solo la massa di probabilità al di fuori dell'intervallo $ b \ pm d $ . Chiamalo $ p_ {outside} $ . La probabilità che ciò accada per tutti i $ x_i $ nel tuo campione è $ (p_ {outside}) ^ N $ span>. Se $ x_i $ vengono scelti in modo uniforme dall'intervallo di unità, allora $ p_ {outside} $ per $ b $ più di $ d $ dal confine sarà $ 1 -2d $ e questo restituisce $ p_ {outside} ^ N = (1-2d) ^ N $ . Per $ N $ grande e piccolo $ d $ , che può essere approssimato da $ e ^ {- 2Nd} $ .

Yair Daon
2019-12-15 22:46:36 UTC
view on stackexchange narkive permalink

Immagina di disegnare prima l'ultimo e di denotarlo con una X. Questo non cambia affatto la formulazione del problema. Per qualsiasi $ X_i \ in L_N, i = 1, ..., N $ , sappiamo che $ Y_i: = | X-X_i | $ ha una distribuzione (puoi o non vuoi calcolarla) e che $ Y_i $ sono iid dati $ X $ . Da Wikipedia, sappiamo che il CDF minimo è $$ F_ {min} (y) = 1 - [1-F_Y (y)] ^ N. $$

Per qualsiasi $ y $ fisso, conosciamo $ F_Y (y) > 0 $ per qualsiasi $ y > 0 $ e $ F (y) = 0 $ altrimenti. Prendi $ N \ to \ infty $ e ottieni un CDF identico per $ y > 0 $ span > e altrimenti uguale a zero. Questa è una funzione delta centrata su zero, come mostrano tutte le simulazioni sopra. Questo vale per qualsiasi $ x \ in (0,1) $ quindi la convergenza vale sempre (anche se con tassi di convergenza variabili, forse).



Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 4.0 con cui è distribuito.
Loading...