Description Usage Arguments Details Value References See Also Examples
Estimation of conditional quantiles using optimal quantization
when X
is d-dimensional.
1 2 3 | QuantifQuantile.d(X, Y, x, alpha = c(0.05, 0.25, 0.5, 0.75, 0.95),
testN = c(35, 40, 45, 50, 55), p = 2, B = 50, tildeB = 20,
same_N = TRUE, ncores = 1)
|
X |
matrix of covariates. |
Y |
vector of response variables. |
x |
matrix of values for |
alpha |
vector of order of the quantiles. |
testN |
grid of values of |
p |
L_p norm optimal quantization. |
B |
number of bootstrap replications for the bootstrap estimator. |
tildeB |
number of bootstrap replications for the choice of |
same_N |
whether to use the same value of |
ncores |
number of cores to use. Default is set to 1 (see Details below). |
This function calculates estimated conditional
quantiles with a method based on optimal quantization for any dimension for
the covariate. The matrix of covariate X
must have d
rows
(dimension). For particular cases of d
=1 or 2, it is strongly
recommended to use QuantifQuantile
and
QuantifQuantile.d2
respectively (computationally faster). The
argument x
must also have d
rows.
The criterion for selecting the number of quantizers is implemented in
this function. The user has to choose a grid 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.
This function can use parallel computation to save time, by simply
increasing the parameter ncores
. Parallel computation relies on
mclapply
from parallel
package, hence is not available
on Windows unless ncores
=1 (default value).
An object of class QuantifQuantile
which is a list with the
following components:
hatq_opt |
A matrix containing the estimated conditional
quantiles. The number of columns is the number of considered values for |
N_opt |
Optimal selected value for |
hatISE_N |
The matrix of estimated ISE provided by our selection
criterion for |
hatq_N |
A 3-dimensional array containing the estimated
conditional quantiles for each considered value for |
X |
The matrix of covariates. |
Y |
The vector of response variables. |
x |
The considered vector of values for |
alpha |
The considered vector of order for the quantiles. |
testN |
The considered grid of values for |
Charlier, I. and Paindaveine, D. and Saracco, J., Conditional quantile estimation through optimal quantization, Journal of Statistical Planning and Inference, 2015 (156), 14-30.
Charlier, I. and Paindaveine, D. and Saracco, J., Conditional quantile estimator based on optimal quantization: from theory to practice, Submitted.
QuantifQuantile
and QuantifQuantile.d2
for particular dimensions one and two.
plot.QuantifQuantile
,
print.QuantifQuantile
, summary.QuantifQuantile
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | ## Not run:
set.seed(644925)
n <- 500
X <- runif(n,-2,2)
Y <- X^2+rnorm(n)
x <- seq(min(X),max(X),length=100)
res <- QuantifQuantile.d(X,Y,x,testN=seq(15,35,by=5))
## End(Not run)
## Not run:
set.seed(272422)
n <- 1000
X <- matrix(runif(n*2,-2,2),ncol=n)
Y <- apply(X^2,2,sum)+rnorm(n)
x1 <- seq(min(X[1,]),max(X[1,]),length=20)
x2 <- seq(min(X[2,]),max(X[2,]),length=20)
x <- matrix(c(rep(x1,20),sort(rep(x2,20))),nrow=nrow(X),byrow=TRUE)
res <- QuantifQuantile.d(X,Y,x,testN=seq(90,140,by=10),B=20,tildeB=15)
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.