Geschlossene Form für die Quantile von

16

Ich habe zwei Zufallsvariablen, wobei U ( 0 , 1 ) die gleichmäßige 0-1-Verteilung ist.αichiid U(0,1),ich=1,2U(0,1)

Dann ergeben diese einen Prozess, sagen wir:

P(x)=α1Sünde(x)+α2cos(x),x(0,2π)

Nun habe ich mich gefragt, ob es einen Ausdruck in geschlossener Form für das theoretische 75 - Prozent - Quantil von P ( x ) für ein gegebenes x ( 0 , 2 π ) - i sei Ich kann es mit einem Computer und vielen Realisierungen von P ( x ) machen , aber ich würde geschlossene Form bevorzugen.F-1(P(x);0,75)P(x)x(0,2π)P(x)

user603
quelle
1
Ich denke, Sie möchten annehmen, dass α 1 und α 2 statistisch unabhängig sind. 12
Michael R. Chernick
@Procrastinator: Kannst du das als Antwort schreiben?
User603
4
(+1) Die Sichtweise des "Prozesses" scheint hier ein bisschen wie ein roter Hering zu sein. Schreibe Wobei β i = α i - 1 / 2 ~ U ( - 1 / 2 , 1 / 2 ) . Dannbestimmen die ersten beiden Termefür jedes feste x eineTrapezdichtefunktionund der letzte Term ist nur ein mittlerer Versatz. Für die Bestimmung der Trapezdichte brauchen wir nur x [ 0 , π / 2 ) zu berücksichtigen.
P(x)=β1sinx+β2cosx+12(sinx+cosx),
βich=αich-1/2U(-1/2,1/2)xx[0,π/2)
Kardinal
2
Numerisch kann dies einfach mit quant = function(n,p,x) return( quantile(runif(n)*sin(x)+runif(n)*cos(x),p) )und erfolgen quant(100000,0.75,1).

Antworten:

19

Dieses Problem kann schnell auf das Finden des Quantils einer Trapezverteilung reduziert werden .

Schreiben wir den Prozess neu als Wobei U 1 und U 2 sind iid U ( - 1 , 1 ) Zufallsvariablen; und durch Symmetrie, dies hat die gleicheRandverteilungwie der Prozess ¯ P ( x ) = U 1| 1

P(x)=U112Sündex+U212cosx+12(Sündex+cosx),
U1U2U(-1,1) Die ersten beiden Terme bestimmen eine symmetrischeTrapezdichte,da dies die Summe zweier gleichförmiger Zufallsvariablen mit dem Mittelwert Null ist (mit im Allgemeinen unterschiedlichen Halbwertsbreiten). Der letzte Term führt nur zu einer Verschiebung dieser Dichte, und das Quantil ist in Bezug auf diese Verschiebung äquivariant (dh das Quantil der verschobenen Verteilung ist das verschobene Quantil der zentrierten Verteilung).
P¯(x)=U1|12sinx|+U2|12cosx|+12(sinx+cosx).

Quantile einer Trapezverteilung

Sei wobei X 1 und X 2 unabhängige Verteilungen von U ( - a , a ) und U ( - b , b ) sind . Man nehme ohne Einschränkung der Allgemeinheit an, dass a b ist . Dann wird die Dichte von Y durch Falten der Dichten von X 1 und X 2 gebildet . Dies ist ohne weiteres ein Trapez mit Eckpunkten ( - aY.=X1+X2X1X2U(-ein,ein)U(-b,b)einbY.X1X2 , ( - a + b , 1 / 2 a ) , ( a - b , 1 / 2 a ) und ( a + b , 0 ) .(-ein-b,0)(-ein+b,1/2ein)(ein-b,1/2ein)(ein+b,0)

Die Quantil der Verteilung von , für jeden p < 1 / 2 ist, also q ( p ) : = q ( pY.p<1/2 DurchSymmetrie fürp>1/2, haben wirq(p)=-q(1-p).

q(p): =q(p;ein,b)={8einbp-(ein+b),p<b/2ein(2p-1)ein,b/2einp1/2.
p>1/2q(p)=-q(1-p)

Zurück zum vorliegenden Fall

|Sündex||cosx||Sündex|<|cosx|2ein2bP¯(x)

p<1/2|Sündex||cosx|ein=|Sündex|/2b=|cosx|/2

qx(p)=q(p;ein,b)+12(Sündex+cosx),
|Sündex|<|cosx|p1/2
qx(p)=-q(1-p;ein,b)+12(Sündex+cosx),

Die Quantile

P(x)x02πypP(x)

Quantile als Funktion von x

p=1/2p=0p=1p=1/4p=3/4

Quantile Handlung

Einige RBeispielcode

qprocP(x)xqtrap

# Pointwise quantiles of a random process: 
# P(x) = a_1 sin(x) + a_2 cos(x)

# Trapezoidal distribution quantile
# Assumes X = U + V where U~Uni(-a,a), V~Uni(-b,b) and a >= b
qtrap <- function(p, a, b)
{
    if( a < b) stop("I need a >= b.")
    s <- 2*(p<=1/2) - 1
    p <- ifelse(p<= 1/2, p, 1-p)
    s * ifelse( p < b/2/a, sqrt(8*a*b*p)-a-b, (2*p-1)*a )
}

# Now, here is the process's quantile function.
qproc <- function(p, x)
{
    s <- abs(sin(x))
    c <- abs(cos(x))
    a <- ifelse(s>c, s, c)
    b <- ifelse(s<c, s, c)
    qtrap(p,a/2, b/2) + 0.5*(sin(x)+cos(x))
} 

Unten ist ein Test mit der entsprechenden Ausgabe.

# Test case
set.seed(17)
n <- 1e4
x <- -pi/8
r <- runif(n) * sin(x) + runif(n) * cos(x)

# Sample quantiles, then actual.
> round(quantile(r,(0:10)/10),3)
    0%    10%    20%    30%    40%    50%    60%    70%    80%    90%   100%
-0.380 -0.111 -0.002  0.093  0.186  0.275  0.365  0.453  0.550  0.659  0.917
> round(qproc((0:10)/10, x),3)
 [1] -0.383 -0.117 -0.007  0.086  0.178  0.271  0.363  0.455  0.548
[10]  0.658  0.924
Kardinal
quelle
3
Ich wünschte, ich könnte mehr dafür stimmen. Dies ist der Grund, warum ich diese Website liebe: die Kraft der Spezialisierung. Die Trapezverteilung kannte ich nicht. Ich hätte einige Zeit gebraucht, um das herauszufinden. Oder ich hätte mich mit der Verwendung von Gaußschen anstelle von Uniformen zufrieden geben müssen. Jedenfalls ist es großartig.
user603