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.