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

21 Авг 2019 в 06:08
243 +1
1
Ответы
1

Для оценки медианы экспоненциально распределенной величины в данном случае можно воспользоваться методом скользящей медианы. Этот метод заключается в следующем:

На каждом шаге добавляем новое значение к массиву времен отклика сервера.Сортируем массив.Вычисляем медиану массива.Повторяем шаги 1-3 для каждого нового значения ряда.

Этот способ не требует большого количества математических действий и позволяет быстро оценивать медиану на каждом шаге. Кроме того, он легко реализуется на C++.

Другой возможный способ - использование квантилей. На каждом шаге можно вычислять, например, 0.05 и 0.95 квантили массива и использовать их в качестве оценки интервала, в котором с высокой вероятностью находится медиана.

Таким образом, можно выбрать более подходящий способ оценки медианы в зависимости от требований к скорости и точности оценки.

20 Апр 2024 в 13:23
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир