Как эффективно оценить медиану экспоненциально распределенной величины? Есть временной ряд, в который собираются времена отклика сервера. Времена примерно распределены экспоненциально (если точнее - то ближе к гамма-распределению). 95% значений плавают вокруг некой постоянной величины Х, а остальные 5% значений могут превышать значение Х в несколько тысяч раз. Задача - при получении каждого нового значения ряда пересчитывать оценку Х. Простая оценка Х как среднее значение ряда является несостоятельной. Как за минимальное количество математических действий оценить значение Х? На ум приходит только построение гистограммы, но может есть какие-то более легкие/быстрые способы? Реализовывать придется на С++, поэтому нет возможности использовать продвинутые математические тулзы.
Для оценки медианы экспоненциально распределенной величины в данном случае можно воспользоваться методом скользящей медианы. Этот метод заключается в следующем:
На каждом шаге добавляем новое значение к массиву времен отклика сервера.Сортируем массив.Вычисляем медиану массива.Повторяем шаги 1-3 для каждого нового значения ряда.
Этот способ не требует большого количества математических действий и позволяет быстро оценивать медиану на каждом шаге. Кроме того, он легко реализуется на C++.
Другой возможный способ - использование квантилей. На каждом шаге можно вычислять, например, 0.05 и 0.95 квантили массива и использовать их в качестве оценки интервала, в котором с высокой вероятностью находится медиана.
Таким образом, можно выбрать более подходящий способ оценки медианы в зависимости от требований к скорости и точности оценки.
Для оценки медианы экспоненциально распределенной величины в данном случае можно воспользоваться методом скользящей медианы. Этот метод заключается в следующем:
На каждом шаге добавляем новое значение к массиву времен отклика сервера.Сортируем массив.Вычисляем медиану массива.Повторяем шаги 1-3 для каждого нового значения ряда.Этот способ не требует большого количества математических действий и позволяет быстро оценивать медиану на каждом шаге. Кроме того, он легко реализуется на C++.
Другой возможный способ - использование квантилей. На каждом шаге можно вычислять, например, 0.05 и 0.95 квантили массива и использовать их в качестве оценки интервала, в котором с высокой вероятностью находится медиана.
Таким образом, можно выбрать более подходящий способ оценки медианы в зависимости от требований к скорости и точности оценки.