I want to estimate conditional distributions of Y | X. Where X contains several continuous covariates.

I'm coding in R. I tried several methods so far, but none gives me entirely satisfactory results when tried on simulations. The two best methods are:

  • npcdist from the library(np). It is based on Li and Racine (2008) non-parametric conditional distribution estimation. The results are mostly good BUT, it performs super poorly at the boundaries of X (as one could expect because the kernel is obviously not so good there).
    I know that you have other package to correct for density estimation at the boundaries (by reflection for example). Any idea if something like that exists for conditional density/distribution estimation?

  • By estimation the conditional quantiles instead. Using either npqr from quantreg.nonpar or gcrq from quantregGrowth(to avoid crossing of the quantiles). Both these methods work super well, even at the boundaries, with one main continuous covariate. As they estimate non-parametrically the effect of this regressor.
    But when you have several continuous covariates the problem at the boundaries appear, as in npcdist. I tried to add splines, polynomials in the other regressors, nothing gives me good results.

  • I also tried mixtures of normals. But it was worse than both methods mentioned above.

Is there any better alternative that I missed? I've been searching for several days and it seems that I exhausted all the possibilities out there. But maybe I missed something, hence my question.

  • $\begingroup$ Your question is unclear: what are you coding in R? Can you manage an arbitrary number of simulations from the conditional for a given value of the conditioning variate $X$? $\endgroup$ – Xi'an Sep 1 '20 at 18:17
  • $\begingroup$ Sorry for being unclear. I'm coding the estimation of the conditional distribution in R. And for your second question, yes I can. I know the 'true' distribution for any $X=x$ (and that's why I know my estimations are not so great at the boundaries). $\endgroup$ – G. Ander Sep 2 '20 at 15:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.