# Compute smoothed extremes, quartiles, and median
# The smoothing seems to extend to F=0 and F=1.
set.seed(1); X <- exp(rnorm(20)); F <- c(0,.25,.50,.75,1)
dat2bernqua(F, X, bound.type="none", listem=TRUE)$x
dat2bernqua(F, X, bound.type="Carv", listem=TRUE)$x
dat2bernqua(F, X, bound.type="sd", listem=TRUE)$x
dat2bernqua(F, X, bound.type="either", listem=TRUE)$x
dat2bernqua(F, X, bound.type="sd", fix.lower=0, listem=TRUE)$x
# Notice that the lower extreme between the last two calls
# changes from a negative to a positive number when the lower
# bounds is "known" to be zero.
X <- exp(rnorm(20)); F <- seq(0.001, 0.999, by=.001)
dat2bernqua(0.9, X, poly.type="Bernstein", listem=TRUE)$x
dat2bernqua(0.9, X, poly.type="Kantorovich", listem=TRUE)$x
dat2bernqua(0.9, X, poly.type="Cheng", listem=TRUE)$x
plot(pp(X), sort(X), log="y", xlim=range(F))
lines(F, dat2bernqua(F, X, poly.type="Bernstein"), col=2) # red
lines(F, dat2bernqua(F, X, poly.type="Kantorovich"), col=3) # green
lines(F, dat2bernqua(F, X, poly.type="Cheng"), col=4) # blue
X <- exp(rnorm(20)); F <- nonexceeds()
plot(pp(X), sort(X))
lines(F, dat2bernqua(F,X, bound.type="sd", poly.type="Bernstein"))
lines(F, dat2bernqua(F,X, bound.type="sd", poly.type="Kantorovich"), col=2)
X <- rnorm(25); F <- nonexceeds()
Q <- dat2bernqua(F, X) # the Bernstein estimates
plot(F, dat2bernqua(F, X, bound.type="Carv"), type="l")
lines(F, dat2bernqua(F, X, bound.type="sd"), col=2)
lines(F, dat2bernqua(F, X, bound.type="none"), col=3)
points(pp(X), sort(X), pch=16, cex=.75, col=4)
set.seed(13)
par <- parkap(vec2lmom(c(1,.5,.4,.2)))
F <- seq(0.001,0.999,by=.001)
X <- sort(rlmomco(100, par))
pp <- pp(X)
pdf("junk.pdf")
plot(qnorm(pp(X)), dat2bernqua(pp, X), col=4, pch=1,
ylim=c(0,qlmomco(0.9999, par)))
lines(qnorm(F), dat2bernqua(F, sort(X)), col=4)
lines(qnorm(F), qlmomco(F, par), col=2)
sampar <- parkap(lmoms(X))
sampar2 <- parkap(lmoms(dat2bernqua(pp, X)))
lines(qnorm(pp(F)), qlmomco(F, sampar), col=1)
lines(qnorm(pp(F)), qlmomco(F, sampar2), col=4, lty=2)
points(qnorm(pp(X)), X, col=1, pch=16)
plot(qnorm(pp(X)), dat2bernqua(pp, X, altsupport=TRUE), col=4, pch=1,
ylim=c(0,qlmomco(0.9999, par)))
lines(qnorm(F), dat2bernqua(F, sort(X), altsupport=TRUE), col=4)
lines(qnorm(F), qlmomco(F, par), col=2)
sampar <- parkap(lmoms(X))
sampar2 <- parkap(lmoms(dat2bernqua(pp, X, altsupport=TRUE)))
lines(qnorm(pp(F)), qlmomco(F, sampar), col=1)
lines(qnorm(pp(F)), qlmomco(F, sampar2), col=4, lty=2)
points(qnorm(pp(X)), X, col=1, pch=16)
dev.off()
Run the code above in your browser using DataLab