Somma dei prodotti delle variabili casuali di Rademacher


9

Consenti a essere variabili casuali indipendenti che assumono valori o con probabilità 0,5 ciascuno. Considera la somma . Desidero legare in alto la probabilità . Il limite migliore che ho in questo momento è dove c è una costante universale. Ciò si ottiene limitando la probabilità Pr (| x_1 + \ dots + x_n | <\ sqrt {t}) e Pr (| y_1 + \ dots + y_n | <\ sqrt {t}) mediante l'applicazione di semplici limiti di Chernoff. Posso sperare di ottenere qualcosa di significativamente migliore di questo limite? Per i principianti posso almeno ottenerex1xa,y1yb+11S=i,jxi×yjP(|S|>t)2ectmax(a,b)cPr(|x1++xn|<t)Pr(|y1++yn|<t)ectab . Se potessi ottenere code sub gaussiane sarebbe probabilmente la migliore, ma possiamo aspettarcelo (non credo, ma non riesco a pensare a una discussione)?


Hai considerato di applicare il Chernoff direttamente a S ? Potresti essere in grado di fare qualcosa con
E[exp(λS]=E[λijXiYj]=E[λ(iXi)(jYj)]
Dilip Sarwate,

C'è un evidente miglioramento nel tuo limite per t>ab , poiché la probabilità deve essere zero. Mi sembra che sia una coda "sub-gaussiana" :-). Sembra anche che il tuo limite sia errato: le variabili che 1 soddisfano costantemente le condizioni di questa domanda. Per a=b e t=a21 la probabilità è 1 ma il vostro limite è asintoticamente 2exp(ca)0 come a cresce di grandi dimensioni.
whuber

La probabilità che tutte le variabili siano 1 diminuisce in modo esponenziale. Non credo di aver capito il tuo commento. Per e l'ho legato dichiarato è abbastanza banalmente vero come la probabilità della somma è maggiore di èt = a 2 - 1 t 2 - 1 2 - ( a - 1 )e - l n ( 2 ) c ( a - 1 / a )a=bt=a21t212(a1)eln(2)c(a1/a)
user1189053

1
Mi dispiace davvero per un mio errore. Pensavo di aver menzionato in modo uniforme sopra. Quindi p = 1/2 e possiamo prendere aeb più grande di qualsiasi costante (se necessario) per mantenere la disuguaglianza
user1189053

2
A meno che i miei occhi non mi stiano ingannando, stai considerando una somma di prodotti, non un prodotto di somme. :-)
cardinale il

Risposte:


7

La relazione algebrica

S=i,jxiyj=ixijyj

mostra come il prodotto di due somme indipendenti. Poiché e sono variate di Bernoulli indipendenti, è una variabile binomiale che è stato raddoppiato e spostato. Pertanto la sua media è e la sua varianza è . Allo stesso modo ha una media di e varianza di . Standardizziamoli adesso definendo( x i + 1 ) / 2 ( y j + 1 ) / 2 ( 1 / 2 ) X = Σ un i = 1 x i ( un , 1 / 2 ) 0 a Y = Σ b j = 1 y j 0 BS(xi+1)/2(yj+1)/2(1/2)X=i=1axi(a,1/2)0aY=j=1byj0b

Xa=1ai=1axi,

da dove

S=abXaXb=abZab.

Ad un alto (e quantificabile) grado di accuratezza, man mano che grande avvicina alla distribuzione normale standard. Quindi approssimiamo come volte il prodotto di due normali standard.X a S aXaSab

Il prossimo passo è notarlo

Zab=XaXb=12((Xa+Xb2)2(XaXb2)2)=12(U2V2).

è un multiplo della differenza dei quadrati delle variabili indipendenti normale standard e . La distribuzione di può essere calcolata analiticamente ( invertendo la funzione caratteristica ): il suo pdf è proporzionale alla funzione di Bessel dell'ordine zero, . Poiché questa funzione ha code esponenziali, concludiamo immediatamente che per grandi e e fissato , non c'è migliore approssimazione di quello indicato nella domanda.V Z a b K 0 ( | z | ) / π a b t Pr a , b ( S > t )UVZabK0(|z|)/πabtPra,b(S>t)

Rimane un margine di miglioramento quando uno (almeno) di e non è grande o in punti nella coda di vicino a . I calcoli diretti della distribuzione di mostrano una riduzione graduale delle probabilità di coda in punti molto più grandi di , all'incirca oltre . Questi grafici log-lineari del CDF di per vari valori di (indicati nei titoli) (che vanno più o meno sugli stessi valori di , distinti dal colore in ogni grafico) mostrano cosa sta succedendo. Per riferimento, il grafico del limiteb S ± a b S abS±abSab SabaK0S0Pr(S>t)=Pr(-S<-t)abmax(a,b)SabaK0la distribuzione è mostrata in nero. (Perché è simmetrico intorno a , , quindi è sufficiente guardare la coda negativa.)S0Pr(S>t)=Pr(S<t)

figure

Man mano che cresce, il CDF si avvicina alla linea di riferimento.b

La caratterizzazione e la quantificazione di questa curvatura richiederebbe un'analisi più fine dell'approssimazione normale ai variati binomiali.

La qualità dell'approssimazione della funzione di Bessel diventa più chiara in queste porzioni ingrandite (nell'angolo in alto a destra di ogni diagramma). Siamo già abbastanza lontani dalle code. Sebbene la scala verticale logaritmica possa nascondere differenze sostanziali, chiaramente quando ha raggiunto l'approssimazione è buona per .500 | S | < a a500|S|<ab

inserti


Codice R per calcolare la distribuzione diS

Per l'esecuzione saranno necessari alcuni secondi. (Si calcola diversi milioni di probabilità per 36 combinazioni di e .) Su macchine lente, omettere i grandi uno o due valori di e ed aumentare il limite di tracciatura inferiore a a circa .b 10 - 300 10 - 160abab1030010160

s <- function(a, b) {
  # Returns the distribution of S as a vector indexed by its support.
  products <- factor(as.vector(outer(seq(-a, a, by=2), seq(-b, b, by=2))))
  probs <- as.vector(outer(dbinom(0:a, a, 1/2), dbinom(0:b, b, 1/2)))
  tapply(probs, products, sum)
}

par(mfrow=c(2,3))
b.vec <- c(51, 101, 149, 201, 299, 501)
cols <- terrain.colors(length(b.vec)+1)
for (a in c(50, 100, 150, 200, 300, 500)) {
  plot(c(-sqrt(a*max(b.vec)),0), c(10^(-300), 1), type="n", log="y", 
       xlab="S/sqrt(ab)", ylab="CDF", main=paste(a))
  curve(besselK(abs(x), 0)/pi, lwd=2, add=TRUE)
  for (j in 1:length(b.vec)) {
    b <- b.vec[j]
    x <- s(a,b)
    n <- as.numeric(names(x))
    k <- n <= 0
    y <- cumsum(x[k])
    lines(n[k]/sqrt(a*b), y, col=cols[j], lwd=2)
  }
}

1
Molto ben fatto! Si può ottenere una forma esatta per il cdf del prodotto di 2 normali standard .. per la coda negativa, lo è 1/2 (1 + y BesselK[0,-y] StruveL[-1, y] - y BesselK[1,-y] StruveL[0, y]). Sarebbe interessante vedere come: (a) esegue il limite dell'OP, e (b) esegue la sua approssimazione normale, per il caso che stavamo guardando sopra, cioè derivato usando la soluzione discreta pmf esatta. a=5,b=7
Lupi,

1
Sì, ho ottenuto anche quella espressione: integra la coda di . Poiché l'esatta distribuzione si discosta da essa nelle code estreme, non è sembrato utile portare avanti l'analisi di quell'integrale. Il passo logico successivo è un'analisi più esigente delle code, il che significa andare oltre l'approssimazione normale. K0
whuber

3

Commento: ho modificato il titolo nel tentativo di riflettere meglio quale tipo di camper è considerato nella domanda. Chiunque può sentirsi libero di modificare nuovamente.

Motivazione: immagino che non sia necessario accontentarsi di un limite superiore, se riusciamo a ricavare la distribuzione di. ( AGGIORNAMENTO : non è possibile vedere i commenti e la risposta di Whuber).|Sab|

Indica . È facile verificare che 's hanno la medesima distribuzione del ' s e 's. La funzione di generazione del momento èZ X YZk=XiYj,k=1,...,abZXY

MZ(t)=E[ezt]=12et+12et=cosh(t)

Inoltre le sono, per cominciare, indipendenti dal punto di vista delle coppie: la variabile (gli indici possono essere qualsiasi ovviamente), ha il supporto con le corrispondenti probabilità . La sua funzione di generazione del momento èW = Z 1 + Z 2 { - 2 , 0 , 2 } { 1 / 4 , 1 / 2 , 1 / 4 }ZW=Z1+Z2{2,0,2}{1/4,1/2,1/4}

MW(t)=E[e(z1+z2)t]=14e2t+12+14e2t==14(e2t+1)+14(e2t+1)=142etcosh(t)+142etcosh(t)=cosh(t)cosh(t)=MZ1(t)MZ2(t)

Cercherò di sospettare che valga la piena indipendenza, come segue (è ovvio per quelli più saggi?): Per questa parte, denota . Quindi secondo la regola della catena P [Zij=XiYj

P[Zab,...,Z11]=P[ZabZa,b1,...,Z11]...P[Z13Z12,Z11]P[Z12Z11]P[Z11]

Per indipendenza della coppia abbiamo . Considera . e sono indipendenti rispetto a quindi abbiamo la seconda uguaglianza per indipendenza in coppia. Ma questo implica questoP [ Z 13 , Z 12ZP[Z12Z11]=P[Z12]
Z 13 Z 12 Z 11 P[ Z 13 Z 12 , Z 11 ]=P[ Z 13 Z 11 ]=P[ Z 13 ]P[Z13,Z12Z11]Z13Z12Z11

P[Z13Z12,Z11]=P[Z13Z11]=P[Z13]

P[Z13Z12,Z11]P[Z12Z11]P[Z11]=P[Z13,Z12,Z11]=P[Z13]P[Z12]P[Z11]

Ecc. (Penso). ( AGGIORNAMENTO : Penso che sia sbagliato . L' indipendenza probabilmente vale per qualsiasi tripletta, ma non per l'intero gruppo. Quindi ciò che segue è solo la derivazione della distribuzione di una semplice passeggiata casuale, e non una risposta corretta alla domanda - vedi Wolfies 'e Le risposte di Whuber).

Se la piena indipendenza è davvero valida, abbiamo il compito di derivare la distribuzione di una somma di iid dichotomous rv's

Sab=k=1abZk

che sembra una semplice passeggiata casuale , sebbene senza la chiara interpretazione di quest'ultima come sequenza.

Se il supporto di saranno gli interi pari in incluso zero, mentre se il supporto di saranno gli interi dispari in , senza zero. S [ - una b , . . . , Un b ] un b = o d d S [ - una b , . . . , a b ]ab=evenS[ab,...,ab]ab=oddS[ab,...,ab]

Trattiamo il caso di . Indica come il numero di che prendono il valore . Quindi il supporto di può essere scritto . Per ogni dato , si ottiene un valore unico per . Inoltre, a causa di probabilità simmetriche e indipendenza (o semplicemente scambiabilità?), Tutte le possibili realizzazioni congiunte delle variabili sono equiprobabili. Quindi contiamo e scopriamo che la funzione di massa di probabilità di è,m Z - 1 S S { a b - 2 m ; m ab=odd
mZ1SmSZ{ Z 1 = z 1 ,. . . , Z a b = z a b }SS{ab2m;mZ+{0};mab}mSZ{Z1=z1,...,Zab=zab}S

P(S=ab2m)=(abm)12ab,0mab

Definendo , e il numero dispari per costruzione, e l'elemento tipico del supporto di , abbiamoSsab2mS

P(S=s)=(ababs2)12ab

Passare a, poiché se , la distribuzione di è simmetrica intorno allo zero senza allocare la massa di probabilità a zero, e quindi la distribuzione disi ottiene "piegando" il grafico della densità attorno all'asse verticale, raddoppiando sostanzialmente le probabilità di valori positivi,a b = o d d S | S ||S|ab=oddS|S|

P(|S|=|s|)=(ababs2)12ab1

Quindi la funzione di distribuzione è

P(|S||s|)=12ab11is,iodd(ababi2)

Pertanto, per ogni reale , , otteniamo la probabilità richiesta t1t<ab

P(|S|>t)=1P(|S|t)=112ab11it,iodd(ababi2)

Si noti che l'indicazione garantisce che la somma verrà eseguita solo fino ai valori inclusi nel supporto di- per esempio, se poniamo , ancora durerà fino a , in quanto è vincolata ad essere dispari, oltre ad essere un numero intero.| S | t = 10,5 i 9i=odd|S|t=10.5i9


Il numero di valori negativi in deve essere pari . Pertanto queste quattro variabili casuali (presumo siano quattro delle tue s - la notazione non è chiara) non sono indipendenti. (X1Y1,X1Y2,X2Y1,X2Y2)Z
whuber

@whuber Grazie. Il problema (il mio problema, cioè), è che continuo a ottenere l'indipendenza in ogni esempio specifico che lavoro. Lavorerò sulle quattro variabili specifiche che scrivi.
Alecos Papadopoulos,

Sì, è complicato perché distinte sono indipendenti in coppia e (credo) anche tre distinte sono indipendenti. (Ho votato a favore della tua risposta a causa del suo attacco creativo al problema e spero di sbagliarmi nella mia valutazione della mancanza di indipendenza!)ZZ
whuber

@whuber Grazie ancora whuber, è davvero di supporto. Sto pensando, ciò di cui abbiamo bisogno affinché la derivazione della distribuzione di sia valida, è che tutti gli eventi sono equiprobabili. È possibile detenere una proprietà del genere, mentre l'indipendenza comune fallisce? Voglio dire, l'indipendenza congiunta è sufficiente per consentire l'attrezzatura, ma è anche necessario? { a b k = 1 Z k }S{k=1abZk}
Alecos Papadopoulos,

Temo di non capire la tua notazione, che sembra riferirsi a un'intersezione di variabili casuali (qualunque cosa ciò significhi).
whuber

3

Non una risposta, ma un commento sull'interessante risposta di Alecos che è troppo lungo per essere inserito in una casella di commento.

Sia variabili variabili casuali di Rademacher indipendenti e variabili casuali di Rademacher indipendenti. Alecos osserva che:(X1,...,Xa)(Y1,...,Yb)

Sab=k=1abZkwhereZk=XiYj

"... sembra una semplice camminata casuale ". Se fosse come una semplice camminata casuale, la distribuzione di sarebbe simmetrica "unimodale" a forma di campana attorno a 0.S

Per illustrare che si tratta non è una semplice passeggiata a caso, ecco un rapido confronto di Monte Carlo:

  • puntini triangolo: simulazione Monte Carlo del PMF di dato ea = 5 b = 7Sa=5b=7
  • punti rotondi: simulazione Monte Carlo di una semplice passeggiata casuale con gradinin=35

inserisci qui la descrizione dell'immagine

Chiaramente, non è una semplice passeggiata casuale; nota inoltre che S non è distribuito su tutti i numeri pari (o dispari).S

Monte Carlo

Ecco il codice (in Mathematica ) utilizzato per generare una singola iterazione della somma , dato e :a bSab

 SumAB[a_, b_] :=  Outer[Times, RandomChoice[{-1, 1}, a], RandomChoice[{-1, 1}, b]] 
                         // Flatten // Total 

Poi, 500.000 tali percorsi, dice quando e , può essere generata con:b = 7a=5b=7

 data57 = Table[SumAB[5, 7], {500000}];

Il dominio di supporto per questa combinazione di e è:bab

{-35, -25, -21, -15, -9, -7, -5, -3, -1, 1, 3, 5, 7, 9, 15, 21, 25, 35}

1
+1 È stata a lungo necessaria una simulazione (o alcuni esempi concreti) per darci un riferimento per ulteriori analisi. La tua simulazione può essere resa molto più efficiente (circa 25 volte più veloce) notando che i fattori . Ciò spiega immediatamente perché nessun valore primo sufficientemente grande può apparire nel tuo diagramma a triangolo - e dimostra forzatamente che non può avere una distribuzione "random walk" (Binomial in scala). ( i x i ) ( j y j ) SS(ixi)(jyj)S
whuber

1
Invece di simulare è possibile ottenere rapidamente la risposta esatta (per ae bsia inferiore a 1000, comunque) come rademacher[a_] := Transpose[{Range[-a, a, 2], Array[Binomial[a, #] &, a + 1, 0] /2^a}]; s[a_, b_] := {#[[1, 1]], Total[#[[;; , 2]]]} & /@ GatherBy[Flatten[Outer[Times, rademacher[a], rademacher[b], 1], 1], First]; ListLogPlot[s[5, 7]] Provalo con, diciamo, s[100,211].
whuber

@whuber re primo commento - la tua fattorizzazione è super ordinata! :) Sul mio Mac, usando: ......... WHuberSumAB[a_, b_] := Total[RandomChoice[{-1, 1}, a]] * Total[RandomChoice[{-1, 1}, b]]... è due volte più veloce Outerdell'approccio. Sei curioso di sapere quale codice stai usando? [Naturalmente entrambi gli approcci possono essere resi più veloci usando ParallelTable, ecc.]
wolfies il

Prova questo: sum[n_, a_, b_] := Block[{w, p}, w[x_] := Array[Binomial[x, #] &, x + 1, 0] /2^x; p[x_] := RandomChoice[w[x] -> Range[-x, x, 2], n]; p[a] p[b]]. Quindi il tempo Tally[sum[500000, 5, 7]]. Per Raficianodos, di seguito fa la stessa cosa e richiede solo il 50% più lungo di Mathematica : s <- function(n, a, b) (2 * rbinom(n, a, 1/2) - a)*(2 * rbinom(n, b, 1/2) - b); system.time(x <- table(s(5*10^5, 5, 7))); plot(log(x), col="#00000020").
whuber

@whuber - re comment2 - pmpm esatto: quindi hai , dove ogni somma di Rademacher è un binomio, e quindi abbiamo il prodotto di 2 binomi. Perché non scrivere questo come una risposta !? - è carino, pulito, elegante e utile ...S=(iXi)(jYj)
lupi
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.