Преференциальная медиана набора интервалов

Метод IF&PA (interval fusion with preference aggregation) объединяет результаты измерений, представленные интервалами, в одно значение. Он соединяет две идеи: интервал как носитель информации об измеряемой величине и агрегирование предпочтений из теории социального выбора.

Если термины «ранжирование», «правило Борда», «правило Кемени» незнакомы — начните со страницы «Теория»: там основа метода и демонстрация, в которой можно проголосовать самому.

Задача

Есть m результатов измерения одной величины. Каждый задан центром xk и стандартной неопределённостью uk, то есть интервалом

Ik = [xk − uk;  xk + uk],   k = 1, …, m.

Нужно одно значение — консенсус — и его неопределённость. Результаты могут противоречить друг другу: одни смещены, у других неопределённость занижена.

Идея за минуту

Каждый интервал «голосует»: значения внутри него он считает более правдоподобными, чем значения снаружи. Голоса всех интервалов сводятся в общее ранжирование правилом Борда. Победители — значения, которые предпочитает наибольшее число интервалов; их медиана и есть преференциальная медиана (ПМ).

Важное следствие: каждый интервал даёт ровно один голос, как бы узок он ни был. Результат с заниженной неопределённостью не получает большого веса, в отличие от взвешенного среднего.

Алгоритм по шагам

Посмотрите вживую: нажимайте «Далее», а интервалы можно двигать мышью на любом шаге.

  1. Диапазон актуальных значений (ДАЗ) A = {a1 < a2 < … < an} — n равноотстоящих дискретных значений от a1 = mink xkн до an = maxk xkв, где xkн = xk − uk и xkв = xk + uk — нижняя и верхняя границы интервала. Соседние значения отстоят на норму разбиения h = (an − a1) / (n − 1). Число значений по умолчанию выбирают так, чтобы в каждый интервал попало хотя бы одно: n = max(⌈(an − a1) / mink 2uk⌉, 11).
  2. Инранжирования. Интервал Ik делит ДАЗ на Ak = {ai ∈ A | ai ∈ Ik} и остальные значения A \ Ak. Значения из Ak строго предпочтительнее остальных, внутри каждой группы значения равноценны: λk = Ak ≻ A \ Ak. Такое ранжирование называют инранжированием, набор Λ(m, n) = {λ1, …, λm} — профилем.
  3. Агрегирование правилом Борда. Строится взвешенная турнирная матрица S = [sij] размера n × n: sij = Σk=1m Cijk, где Cijk = 2, если в λk ai ≻ aj; 1, если ai ~ aj; 0, если aj ≻ ai; sii = 0. Счёт Борда значения ai — строковая сумма zi = Σj=1n sij. Для профилей инранжирований правила Кемени и Борда дают одну и ту же ПМ, поэтому используется правило Борда с полиномиальной сложностью.
  4. Победители. Abest = {ai | zi = maxj zj}, p = |Abest|. Если номера победителей идут не подряд, ПМ при данном n не определена: n увеличивается на единицу и шаги 1–4 повторяются. В реализациях на сайте n не превышает 201; дальше берётся самый широкий блок подряд идущих победителей.
  5. Преференциальная медиана — выборочная медиана победителей, упорядоченных по возрастанию: xpm = a(p+1)/2 при нечётном p и (ap/2 + ap/2+1) / 2 при чётном (номера — внутри Abest).

Быстрый подсчёт

Пусть сводный индикатор ci — число интервалов, содержащих ai. Тогда

zi = Σk=1m (n − |Ak| − 1) + n·ci,   zi − zj = n(ci − cj).

Первое слагаемое от i не зависит. Значит, победители Борда — значения, накрытые наибольшим числом интервалов, а счёт вычисляется за O(m·n) вместо O(m·n2) — без построения матрицы S. Обе формы дают один результат; в калькуляторе пошаговый разбор показывает ci и zi для ваших данных.

Неопределённость результата

ПМ — одно из дискретных значений ДАЗ или середина двух соседних, поэтому её точность ограничена нормой разбиения. Консервативная интервальная оценка — граница ±0,5h. Стандартная неопределённость в духе GUM получается, если приблизить погрешность симметричным треугольным распределением с полушириной h:

upm = h/√6 ≈ 0,41h.

Оценка строится по конечной выборке, поэтому в реализациях на сайте к ней квадратически добавляется стандартная ошибка медианы центров интервалов — это наше дополнение, в статьях о методе его нет:

u(xpm) = √[ (0,41h)2 + us2 ],   us = 1,2533 · 1,4826 · MAD / √m,

где MAD — медиана абсолютных отклонений центров xk от их медианы; 1,4826·MAD — робастная оценка стандартного отклонения, 1,2533 = √(π/2) переводит её в стандартную ошибку медианы.

Версии метода

Метод развивается в двух направлениях: каким правилом агрегировать профиль (точное, но NP-трудное правило Кемени или полиномиальное правило Борда) и уточнять ли результат повторно.

ВерсияПравилоСамоуточнениеТочность β гарантированаВремя решенияНеопределённость u*
IF&PA-B (base)КеменинетдаO(n!)±0,5h
IF&PA-A (advanced)КеменидадаO(W·n!)±0,5·10−Wh0
IF&PA-L (light)БорданетнетO(n2)±0,5h
IF&PA-LA (light advanced)БордаданетO(W·n2)±0,5·10−Wh0

β — ранжирование консенсуса; u* — граница интервальной неопределённости результата комплексирования x*; W — число выполненных циклов самоуточнения (его определяет условие остановки); h0 — норма разбиения исходного ДАЗ. Правило Борда не гарантирует точного ранжирования консенсуса β, но для профилей инранжирований даёт ту же преференциальную медиану, что и правило Кемени. Стандартная неопределённость ПМ — upm ≈ 0,41h (см. выше).

Самоуточнение

Циклы нумеруются w = 1, 2, …; величины цикла w отмечены индексом w, исходный расчёт — цикл 0.

  1. Новый ДАЗ вокруг результата. a1w = x*w−1 − 0,5hw−1, anw = x*w−1 + 0,5hw−1; он разбивается на nw = 11 значений, поэтому hw = 0,1hw−1.
  2. Новый профиль. Интервалы, не пересекающие новый ДАЗ, удаляются, оставшиеся перенумеровываются (m = mw) и заново представляются инранжированиями λkw; получается профиль Λw.
  3. Уточнённый результат. Ранжирование консенсуса нового профиля даёт результат x*w. Циклы продолжаются, пока выполняется условие остановки — оно сравнивает длину нового ДАЗ с длинами его пересечений с интервалами. После W циклов результат x*W, его неопределённость ±0,5hW = ±0,5·10−Wh0.

Какая версия в калькуляторе. Калькулятор и код на этом сайте реализуют версию IF&PA-L (правило Борда, без самоуточнения). Неопределённость в них — стандартная: upm = 0,41h, сложенная с выборочной составляющей (см. выше). Версия с самоуточнением точнее — пример на реальных данных постоянной Планка на странице «Применения».

Обозначения: в статьях о преференциальной медиане результат обозначается xpm, его неопределённость — upm; в ранних работах и презентациях результат комплексирования — x*, неопределённость — u*.

Псевдокод

function preferential_median(x[1..m], u[1..m]):
    lo = x − u;  hi = x + u                   # границы интервалов I_k
    a1 = min(lo);  an = max(hi)               # границы ДАЗ
    n  = max(ceil((an − a1) / min(hi − lo)), 11)
    loop:
        h = (an − a1) / (n − 1)               # норма разбиения
        a[i] = a1 + (i − 1)·h,  i = 1..n
        c[i] = число k, для которых lo[k] ≤ a[i] ≤ hi[k]   # сводный индикатор
        A_best = { i : c[i] = max(c) }          # победители Борда
        if A_best — подряд идущие номера or n ≥ 201:
            (если не подряд — самый широкий блок подряд идущих номеров)
            x_pm = median(a[A_best])
            u    = sqrt((0.41·h)² + (1.2533·1.4826·MAD(x)/sqrt(m))²)
            return x_pm, u
        n = n + 1

Это алгоритм 2 из статьи Muravyov et al., Int. J. Data Sci. Anal., 2026 (doi:10.1007/s41060-026-01222-6) в сокращённой записи. В статье победители находятся по суммам строк zi турнирной матрицы S; здесь — по сводному индикатору ci. Это то же самое: для инранжирований zi = Σk(n − |Ak| − 1) + n·ci, первое слагаемое одинаково для всех i. Предел n ≤ 201 и выборочная составляющая неопределённости — дополнения реализаций на сайте; в статье upm = 0,41h.

Готовые реализации на пяти языках — на странице «Код».

От норм к расписанию

IF&PA применяют и там, где результат — не измерение, а норма для планирования. Цепочка такая: история выполнения работ → норма трудоёмкости → потребность каждой части работы в ресурсах → календарный план минимального срока. Ошибка на первом шаге переходит в план, поэтому норма должна быть устойчивой к засорённой истории.

1. Норма трудоёмкости по истории

Норма b — сколько смен уходит на единицу объёма. По каждому наблюдению известны фактическая длительность Tk и выполненный объём Vk; их отношение Tk/Vk — частная оценка нормы. Отношения обычно кучные, но задержки (непогода, простои, ожидание материалов) дают редкие большие значения, и всегда в одну сторону. Среднее и оценки, которые отталкиваются от медианы, такая односторонняя засорённость смещает вверх.

В IF&PA каждое отношение становится интервалом [Tk/Vk − u; Tk/Vk + u] с полушириной u = κ·MAD, где MAD — медиана абсолютных отклонений отношений, κ — множитель ширины. Норма — преференциальная медиана этих интервалов. Норма зависит от месяца: зимой одни и те же работы идут дольше, поэтому её оценивают отдельно по каждой паре «работа × месяц».

2. Месяц — задача о рюкзаке

Работу делят на захватки — части на участках трассы. Захватка j требует rj = bj·Vj смен. За месяц бригады могут отработать R смен — это вместимость «рюкзака». Решение xj = 1, если захватка взята в месяц:

Σj rjxj ≤ R,   xj ∈ {0, 1}.

Ресурсов обычно несколько — бригады, техника, материалы, — и помещаться нужно по каждому: Σj rjlxj ≤ Rl для каждого типа ресурса l. Это многомерный рюкзак. Задача NP-трудна, но при размерах, типичных для проекта, решается точно методом ветвей и границ.

3. Проект — цепочка месяцев-рюкзаков

Календарный план — это набор рюкзаков, по одному на каждый месяц t = 1, …, H, связанных порядком работ. Решение xjt = 1 ставит захватку j в месяц t; потребность rjtl зависит от месяца через сезонную норму. Наименьший срок

H* = min H, при котором существуют xjt ∈ {0, 1}:   Σt xjt = 1 для каждой захватки,   Σj rjtlxjt ≤ Rtl для каждого месяца и ресурса,

и порядок соблюдён: захватка последующей работы на участке — не раньше предыдущей. Выполнимость при заданном H проверяет целочисленный решатель, а наименьший H находят перебором или бисекцией от ресурсной нижней границы.

4. Почему важна точная и несмещённая норма

  • Заниженная норма. В месяц «помещается» больше работы, чем бригады успеют на деле: план короче, но при исполнении месяцы перегружены, и срок срывается.
  • Завышенная норма. План выполним, но длиннее необходимого — скрытый резерв, который никто не видит и не использует.

Поэтому оценку нормы выбирают не только по разбросу, но и по смещению. Пошаговое объяснение с рюкзаком — в интерактивной лекции, полная модель с несколькими ресурсами, сезонными нормами и точным решателем — в Планировщике.

Обозначения

СимволСмысл
m, kчисло результатов (интервалов) и номер результата, k = 1, …, m
Ik = [xk − uk; xk + uk]интервал k-го результата: центр xk, неопределённость uk
xkн, xkвнижняя и верхняя границы интервала Ik
A = {a1, …, an}диапазон актуальных значений (ДАЗ): n дискретных значений-альтернатив
n, hчисло значений ДАЗ и норма разбиения — расстояние между соседними значениями
Akзначения ДАЗ, лежащие в интервале Ik
λk, Λ(m, n)инранжирование, наведённое интервалом Ik, и профиль из m инранжирований
S = [sij], Cijkвзвешенная турнирная матрица и вклад в неё k-го инранжирования (2, 1 или 0)
ziсчёт Борда значения ai — строковая сумма матрицы S
ciсводный индикатор — число интервалов, содержащих ai
Abest, pмножество победителей Борда и их число
xpm, upmпреференциальная медиана и её стандартная неопределённость 0,41h
us, MADвыборочная составляющая неопределённости (дополнение сайта) и медиана абсолютных отклонений центров
βранжирование консенсуса
x*, u*результат комплексирования и граница его неопределённости — обозначения ранних работ и таблицы версий
w, Wномер цикла самоуточнения и число выполненных циклов
h0, hw, mwнорма разбиения исходного ДАЗ, норма и число оставшихся интервалов в цикле w
b, Tk, Vkнорма трудоёмкости; длительность и объём k-го наблюдения (раздел «От норм к расписанию»)
rjtl, Rtlпотребность захватки j в ресурсе l в месяце t и мощность месяца по этому ресурсу
xjt, Hрешение «захватка j — в месяце t» и срок проекта в месяцах

Чем ПМ отличается от похожих оценок

ОценкаЧто делает с интерваламиУзкий интервал выброса
Преференциальная медианасчитает, сколько интервалов накрывает каждое значениеодин голос, как у всех
Взвешенное среднееусредняет центры с весами 1/uk2огромный вес — тянет оценку к себе
Мода смеси распределенийищет максимум суммы плотностей N(xk, uk2)высокий узкий пик — может победить
Согласованное подмножество (Cox)исключает результаты по критерию χ², затем взвешенное среднееисключается, если хватает остальных
Медиана, алгоритм A ISO 13528не используют неопределённости вовсеобычный выброс

На каких данных какая оценка точнее — проверьте в конфигураторе применимости.

Первоисточники

  • Muravyov S.V., Khudonogova L.I., Emelyanova E.Yu. Interval data fusion with preference aggregation // Measurement. 2018. Vol. 116. P. 621–630. DOI: 10.1016/j.measurement.2017.08.045
  • Muravyov S.V., Khudonogova L.I., Ho M.D. Analysis of heteroscedastic measurement data by the self-refining method of interval fusion with preference aggregation – IF&PA // Measurement. 2021. Vol. 183. Art. 109851. DOI: 10.1016/j.measurement.2021.109851.
  • Muravyov S.V., Khudonogova L.I., Shabramov V.S., Ignatyev V.D. Comparative studies of preferential and weighted medians accuracy in robust estimation of central tendency // International Journal of Data Science and Analytics. 2026. Vol. 22, No. 1. Art. 262. DOI: 10.1007/s41060-026-01222-6.
  • Muravyov S.V., Khudonogova L.I., Shabramov V.S., Ignatyev V.D., Andreyev D.I. Kemeny and Borda rules in constructing central tendency estimators based on the preferential median // Proc. AISP'25. 2025. DOI: 10.1109/AISP68263.2025.11396113.

Все публикации →