[R] CDF of Sample Quantile
Bentley Coffey
bentleygcoffey at gmail.com
Thu Feb 17 18:42:21 CET 2011
Because my first attempt for help didn't pan out, I'm trying again with a
more targeted question. See attached for the math I worked through and my
implementation of it in R. Can anyone spot what I'm missing here? I had
thought that it was a numerical issue but I'm starting to doubt myself -- I
fear that it might be the math, perhaps in the change of variables at the
end...
If we can crack this nut, then maybe we should put this into some
package...?
Grateful for any help,
Bentley
On Mon, Feb 14, 2011 at 9:58 AM, Bentley Coffey <bentleygcoffey at gmail.com>wrote:
>
> I need to calculate the probability that a sample quantile will exceed a
> threshold given the size of the iid sample and the parameters describing the
> distribution of each observation (normal, in my case). I can compute the
> probability with brute force simulation: simulate a size N sample, apply R's
> quantile() function on it, compare it to the threshold, replicate this MANY
> times, and count the number of times the sample quantile exceeded the
> threshold (dividing by the total number of replications yields the
> probability of interest). The problem is that the number of replications
> required to get sufficient precision (3 digits say) is so HUGE that this
> takes FOREVER. I have to perform this task so much in my script (searching
> over the sample size and repeated for several different distribution
> parameters) that it takes too many hours to run.
>
> I've searched for pre-existing code to do this in R and haven't found
> anything. Perhaps I'm missing something. Is anyone aware of an R function to
> compute this probability?
>
> I've tried writing my own code using the fact that R's quantile() function
> is a linear combination of 2 order statistics. Basically, I wrote down the
> mathematical form of the joint pdf for the 2 order statistics (a function of
> the sample size and the distribution parameters) then performed a
> pseudo-Monte Carlo integration (i.e. using Halton Draws rather than R's
> random draws) over the region where the sample quantile exceeds the
> threshold. In theory, this should work and it takes about 1000 times fewer
> clock cycles to compute than the Brute Force approach. My problem is that
> there is a significant discrepancy between the results using Brute Force and
> using this more efficient approach that I have coded up. I believe that the
> problem is numerical error but it could be some programming bug; regardless,
> I have been unable to locate the source of this problem and have spent over
> 20 hours trying to identify it this weekend. Please, somebody help!!!
>
> So, again, my question: is there code in R for quickly evaluating the CDF
> of a Sample Quantile given the sample size and the parameters governing the
> distribution of each iid point in the sample?
>
> Grateful for any help,
>
> Bentley
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: CDF of Sample Quantile.pdf
Type: application/pdf
Size: 116452 bytes
Desc: not available
URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20110217/22a43328/attachment.pdf>
More information about the R-help
mailing list