Masalah ini dapat dengan cepat direduksi menjadi salah satu dari menemukan kuantil dari distribusi trapesium .
Mari kita menulis ulang proses sebagai
mana dan adalah variabel acak iid ; dan, secara simetri, ini memiliki distribusi marjinal yang sama dengan proses
Dua istilah pertama menentukan kepadatan trapesium simetris
P(x)=U1⋅12sinx+U2⋅12cosx+12(sinx+cosx),
U1U2U(−1,1)P¯¯¯¯(x)=U1⋅∣∣∣12sinx∣∣∣+U2⋅∣∣∣12cosx∣∣∣+12(sinx+cosx).
karena ini adalah jumlah dari dua variabel acak seragam mean-nol (dengan, secara umum, setengah-lebar berbeda). Istilah terakhir hanya menghasilkan terjemahan dari kerapatan ini dan kuantil adalah sama dengan yang berkaitan dengan terjemahan ini (yaitu, kuantil dari distribusi bergeser adalah kuantil bergeser dari distribusi terpusat).
Kuantitas distribusi trapesium
Misalkan mana dan independen dan distribusi. Asumsikan tanpa kehilangan keumuman bahwa . Kemudian, kepadatan terbentuk dengan menggabungkan kepadatan dan . Ini mudah dilihat sebagai trapesium dengan simpul , , dan .Y=X1+X2X1X2U(−a,a)U(−b,b)a≥bYX1X2(−a−b,0)(−a+b,1/2a)(a−b,1/2a)(a+b,0)
Quantum dari distribusi , untuk setiap adalah, dengan demikian,
Dengan simetri, untuk , kita memiliki .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)
Kembali ke kasing yang ada
Di atas sudah cukup memberikan ekspresi bentuk tertutup. Yang kita butuhkan adalah membobol dua kasusdanuntuk menentukan yang memainkan peran dan yang memainkan peran atas. (Faktor 2 di sini hanya untuk mengkompensasi divisi dengan dua dalam definisi .)|sinx|≥|cosx||sinx|<|cosx|2a2bP¯¯¯¯(x)
Untuk , di, kita atur dan dan mendapatkan
dan padaperannya terbalik. Demikian pula, untukp<1/2|sinx|≥|cosx|a=|sinx|/2b=|cosx|/2
qx(p)=q(p;a,b)+12(sinx+cosx),
|sinx|<|cosx|p≥1/2
qx(p)=−q(1−p;a,b)+12(sinx+cosx),
Kuantil
Di bawah ini adalah dua heatmap. Yang pertama menunjukkan kuantil dari distribusi untuk kisi berjalan dari hingga . The -coordinate memberikan probabilitas terkait dengan setiap kuantil. Warna-warna menunjukkan nilai kuantil dengan merah tua menunjukkan nilai sangat besar (positif) dan biru tua menunjukkan nilai negatif besar. Dengan demikian setiap strip vertikal adalah plot kuantil (marginal) yang terkait dengan .P(x)x02πypP(x)
Peta panas kedua di bawah ini menunjukkan kuantil itu sendiri, diwarnai oleh probabilitas yang sesuai. Misalnya, merah tua berhubungan dengan dan biru tua berhubungan dengan dan . Cyan kira-kira dan . Ini lebih jelas menunjukkan dukungan dari setiap distribusi dan bentuk.p=1/2p=0p=1p=1/4p=3/4
Beberapa R
kode contoh
Fungsi di qproc
bawah ini menghitung fungsi kuantil untuk diberikan . Ini menggunakan yang lebih umum untuk menghasilkan kuantil.P(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))
}
Di bawah ini adalah tes dengan output yang sesuai.
# 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