Я опоздал на вечеринку примерно на 1,5 года, но я думал, что отправлю сообщение только для тех, кто наткнется на это.
Я думаю, что вам лучше всего интерполировать интегральную функцию распределения по имеющимся у вас данным. Это может потребовать серьезной подделки и махания рукой, особенно если предоставленные вами образцы данных близки к тому распределению, с которым вы работаете. Тем не менее, это, безусловно, превосходит создание (и хранение!) миллион + фальшивых точек данных из дистрибутива, о котором вы только догадываетесь.
Чтобы получить CDF, вам нужно рассчитать совокупную вероятность для каждого сегмента. Я предполагаю, что всегда есть некоторая задержка, поэтому примите 0 как минимальное значение с частотой 0. Чтобы найти значение CDF для каждой верхней границы сегмента, используйте формулу
(sum of frequencies in bucket and previous buckets)/(sum of all frequencies)
Для предоставленных вами выборочных данных кумулятивные точки вероятности будут
{(0,0); (1;0.943); (3,0.969); (5,0.995); (7,0.999); (10,1)}
Теперь для фишинга. Если у вас есть здравый смысл понять, как выглядит распределение, например, вы думаете, что где-то около 25% задержек составляют менее 0,1 мс, вы можете добавить эти интуиции к своим данным. Если вы не знаете, как должен выглядеть дистрибутив, вы можете просто посмотреть, что у вас есть.
Отсюда у вас есть два варианта: либо (а) линейно интерполировать между имеющимися точками, либо (б) подобрать функциональную форму, такую как бета-распределение, к вашим данным. (а) проще, потому что не требует регрессии; однако, это не даст вам более детальную картину, чем у вас уже есть, и для расчета частот требуется немного формулы кунг-фу в Excel. (б) предоставит вам детализированную картину, которая, скорее всего, больше похожа на базовые данные, чем линейная интерполяция, и для получения частот для любого сегмента или процентиля требуются только простые простые формулы Excel; однако для этого требуется регрессия, для которой требуется надстройка Solver. Я предпочитаю вариант (б), потому что он дает вам максимальную отдачу (т. Е. Усилия).