The problem is sensitive to the order of the observations. Consider the 75th percentile of three hypothetical sampling intervals:
(1,1,1,1) is 1, (1,1,5,5) is 5, (1,1,5,5) is 5
The same samples rearranged give a different set of percentiles:
(1,1,1,1) is 1, (1,1,1,1) is 1, (5,5,5,5) is 5.
The overall 75th is unchanged but the percentiles over the shorter intervals are quite different. If there is an algorithm it needs to somehow aggregate 1 and 1 and 5 to the same value as it aggregates 1 and 5 and 5.
Of course then the sequences (1,1,1,1) and (1,1,1,1) and (1,1,5,5) have the same individual percentiles (1,1,5) but a different overall 75th (1).
Am I missing something? The same set of individual same interval percentile values can relate to some number of different overall percentile values.
I suspect that if the samples were all drawn from a known and reasonably simple distribution that you could infer the value with a defined degree of certainty if there were enough data points, but that seems like a long shot if it is the usual system data with multiple things going on behind the set of numbers.
Greg
On Friday, May 10, 2013, Baron Schwartz wrote:
Imagine that I observe some high-frequency stream of events, such as requests to a server. Let's say that there are 20000 per second, and once per second I compute the 95th percentile over the second. I discard everything else and only retain this once-per-second summary statistic as a time-series metric.
Now I want to obtain percentiles over 1-minute, 5-minute, and 1-hour intervals, based on the 95th percentile metric I've stored. In other words, I want to derive the 95th percentile of the original stream of events, at coarser granularity. My intuition (that 9-letter word again) says this is possible. Fear of intuition says the results might be invalid. What does The Mailing List say?