एक ट्रैपेज़ॉइडल वितरण की मात्रा को खोजने में से एक को इस समस्या को जल्दी से कम किया जा सकता है ।
हमें के रूप में इस प्रक्रिया को फिर से लिखने चलो
जहां यू 1 और यू 2 आईआईडी यू ( - 1 , 1 ) यादृच्छिक चर हैं; और, समरूपता से, यह वही हैसीमांतप्रक्रिया के रूप में वितरण
¯ पी ( एक्स ) = यू 1 ⋅ | 1
P(x)=U1⋅12sinx+U2⋅12cosx+12(sinx+cosx),
U1U2U(−1,1)P¯¯¯¯(x)=U1⋅∣∣∣12sinx∣∣∣+U2⋅∣∣∣12cosx∣∣∣+12(sinx+cosx).
पहले दो शब्द एक सममित
ट्रैपोज़ाइडल घनत्व निर्धारित करते हैं क्योंकि यह दो माध्य-शून्य समरूप यादृच्छिक चर (सामान्य रूप से, अलग-अलग अर्ध-चौड़ाई में) का योग है। अंतिम शब्द इस घनत्व के अनुवाद में परिणत होता है और मात्रात्मक इस अनुवाद के संबंध में समान है (यानी, स्थानांतरित वितरण का मात्रा केंद्रित वितरण का स्थानांतरित मात्रात्मक है)।
एक चतुर्भुज वितरण की मात्राएँ
बता दें कि जहां X 1 और X 2 स्वतंत्र यू ( - ए , ए ) और यू ( - बी , बी ) वितरण हैं। व्यापकता कि की हानि के बिना मान लें एक ≥ ख । फिर, X 1 और X 2 की घनत्वों को हल करके Y का घनत्व बनता है । यह आसानी से कोने ( - बी) के साथ एक ट्रेपोजॉइड के रूप में देखा जाता हैY=X1+X2X1X2U(−a,a)U(−b,b)a≥bYX1X2 , ( - a + b , 1 )(−a−b,0) , ( एक - ख , 1 / 2 एक ) और ( एक + ख , 0 ) ।(−a+b,1/2a)(a−b,1/2a)(a+b,0)
के वितरण के quantile , किसी के लिए पी < 1 / 2 इस प्रकार, है,
क्यू ( पी ) : = क्ष ( पीYp<1/2
q(p):=q(p;a,b)={8abp−−−−√−(a+b),(2p−1)a,p<b/2ab/2a≤p≤1/2.
p>1/2q(p)=−q(1−p).
Back to the case at hand
|sinx|≥|cosx| and |sinx|<|cosx| to determine which plays the role of 2a and which plays the role of 2b above. (The factor of 2 here is only to compensate for the divisions by two in the definition of P¯¯¯¯(x).)
For p<1/2, on |sinx|≥|cosx|, we set a=|sinx|/2 and b=|cosx|/2 and get
qx(p)=q(p;a,b)+12(sinx+cosx),
and on
|sinx|<|cosx| the roles reverse. Similarly, for
p≥1/2
qx(p)=−q(1−p;a,b)+12(sinx+cosx),
The quantiles
Below are two heatmaps. The first shows the quantiles of the distribution of P(x) for a grid of x running from 0 to 2π. The y-coordinate gives the probability p associated with each quantile. The colors indicate the value of the quantile with dark red indicating very large (positive) values and dark blue indicating large negative values. Thus each vertical strip is a (marginal) quantile plot associated with P(x).
The second heatmap below shows the quantiles themselves, colored by the corresponding probability. For example, dark red corresponds to p=1/2 and dark blue corresponds to p=0 and p=1. Cyan is roughly p=1/4 and p=3/4. This more clearly shows the support of each distribution and the shape.
Some sample R
code
The function qproc
below calculates the quantile function of P(x) for a given x. It uses the more general qtrap
to generate the quantiles.
# 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))
}
Below is a test with the corresponding output.
# 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