On Thu, 03 Jan 2013 13:25:45 +0100, Cristiano wrote: > On 03/01/2013 4:54, William Elliot wrote: >> On Wed, 2 Jan 2013, Cristiano wrote: >> >>> I have 10^4 to 10^7 random real numbers (distribution unknown, but far away >>> from normal and uniform). >>> >>> I need to calculate the very low and very high order quantiles (say 10^-7 and >>> 0.9999999) of those numbers. >>> >>> Which method should I use? >> >> Generate a number between .9999999 and 10^-7 and divide by 10^-7. > > Not sure I understand. > Suppose I generate .123 / 10^-7 = 1.23*10^6 and then? > >> For above .9999999, generate a number below 10^-7 and subtract >> that from 1.
I think William Elliot either missed the point, or is being purposefully obtuse to suggest that the phrasing of your question is not correct and complete in every jot and tittle.
Regarding computing those quantiles, I presume the question is which of the possible interpolation methods to use. Referring to the table at <http://en.wikipedia.org/wiki/Quantile#Estimating_the_quantiles_of_a_population> ten methods are shown. When q > N, every one of those methods uses x_1 as the first q-quantile, and x_N as the last. (q = total number of quantiles and N = sample size.)
So, in linear time, just find the min and max values in your sample, and report them as the two desired q-quantiles. To do better than that, you need to make assumptions about the distribution.