X is bivariate.
QuantifQuantile.d2(X, Y, alpha = c(0.05, 0.25, 0.5, 0.75, 0.95), x = matrix(c(rep(seq(min(X[1, ]), max(X[1, ]), length = 20), 20), sort(rep(seq(min(X[2, ]), max(X[2, ]), length = 20), 20))), nrow = 2, byrow = TRUE), testN = c(110, 120, 130, 140, 150), p = 2, B = 50, tildeB = 20, same_N = TRUE, ncores = 1)x in q_alpha(x).N that will be tested.N.N for each alpha
(TRUE by default).QuantifQuantile which is a list with the
following components:x
and the number of rows the size of the order vector alpha. This object
can also be returned using the usual fitted.values function.N. An integer if
same_N=TRUE and a vector of integers of length length(alpha)
otherwise.N before taking the mean according to alpha. The
number of columns is then length(testN) and the number of rows
length(alpha).alpha, x and N.x in q_alpha(x).N that were tested.testN of possible values
in which N will be selected. It actually minimizes some bootstrap
estimated version of the ISE (Integrated Squared Error). More precisely, for
N fixed, it calculates the sum according to alpha of
hatISE_N and then minimizes the resulting vector to get N_opt.
However, the user can choose to select a different value of N_opt for
each alpha by setting same_N=FALSE. In this case, the vector
N_opt is obtained by minimizing each column of hatISE_N
separately. The reason why same_N=TRUE by default is that taking
N_opt according to alpha could provide crossing conditional
quantile curves (rarely observed for not too close values of alpha).
The function plot.QuantifQuantile
illustrates the selection of N_opt. If the graph is not decreasing
then increasing, the argument testN should be adapted.
ncores. Parallel computation relies on
mclapply from parallel package, hence is not available
on Windows unless ncores=1 (default value).
Charlier, I. and Paindaveine, D. and Saracco, J., Conditional quantile estimator based on optimal quantization: from theory to practice, Submitted.
QuantifQuantile and QuantifQuantile.d
for other dimensions.plot.QuantifQuantile,
print.QuantifQuantile, summary.QuantifQuantile
## Not run:
# #(a few seconds to execute)
# set.seed(164964)
# n <- 1000
# X <- matrix(runif(n*2,-2,2),ncol=n)
# Y <- apply(X^2,2,sum)+rnorm(n)
# res <- QuantifQuantile.d2(X,Y,testN=seq(90,140,by=10),B=20,tildeB=15)
# res2 <- QuantifQuantile.d2(X,Y,testN=seq(90,150,by=10),B=20,tildeB=15,same_N=FALSE)
# ## End(Not run)
Run the code above in your browser using DataLab