Если термины «ранжирование», «правило Борда», «правило Кемени» незнакомы — начните со страницы «Теория»: там основа метода и демонстрация, в которой можно проголосовать самому.
Задача
Есть m результатов измерения одной величины. Каждый задан центром xk и стандартной неопределённостью uk, то есть интервалом
Нужно одно значение — консенсус — и его неопределённость. Результаты могут противоречить друг другу: одни смещены, у других неопределённость занижена.
Идея за минуту
Каждый интервал «голосует»: значения внутри него он считает более правдоподобными, чем значения снаружи. Голоса всех интервалов сводятся в общее ранжирование правилом Борда. Победители — значения, которые предпочитает наибольшее число интервалов; их медиана и есть преференциальная медиана (ПМ).
Важное следствие: каждый интервал даёт ровно один голос, как бы узок он ни был. Результат с заниженной неопределённостью не получает большого веса, в отличие от взвешенного среднего.
Алгоритм по шагам
Посмотрите вживую: нажимайте «Далее», а интервалы можно двигать мышью на любом шаге.
- Диапазон актуальных значений (ДАЗ) 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).
- Инранжирования. Интервал Ik делит ДАЗ на Ak = {ai ∈ A | ai ∈ Ik} и остальные значения A \ Ak. Значения из Ak строго предпочтительнее остальных, внутри каждой группы значения равноценны: λk = Ak ≻ A \ Ak. Такое ранжирование называют инранжированием, набор Λ(m, n) = {λ1, …, λm} — профилем.
- Агрегирование правилом Борда. Строится взвешенная турнирная матрица 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. Для профилей инранжирований правила Кемени и Борда дают одну и ту же ПМ, поэтому используется правило Борда с полиномиальной сложностью.
- Победители. Abest = {ai | zi = maxj zj}, p = |Abest|. Если номера победителей идут не подряд, ПМ при данном n не определена: n увеличивается на единицу и шаги 1–4 повторяются. В реализациях на сайте n не превышает 201; дальше берётся самый широкий блок подряд идущих победителей.
- Преференциальная медиана — выборочная медиана победителей, упорядоченных по возрастанию: xpm = a(p+1)/2 при нечётном p и (ap/2 + ap/2+1) / 2 при чётном (номера — внутри Abest).
Быстрый подсчёт
Пусть сводный индикатор ci — число интервалов, содержащих ai. Тогда
Первое слагаемое от i не зависит. Значит, победители Борда — значения, накрытые наибольшим числом интервалов, а счёт вычисляется за O(m·n) вместо O(m·n2) — без построения матрицы S. Обе формы дают один результат; в калькуляторе пошаговый разбор показывает ci и zi для ваших данных.
Неопределённость результата
ПМ — одно из дискретных значений ДАЗ или середина двух соседних, поэтому её точность ограничена нормой разбиения. Консервативная интервальная оценка — граница ±0,5h. Стандартная неопределённость в духе GUM получается, если приблизить погрешность симметричным треугольным распределением с полушириной h:
Оценка строится по конечной выборке, поэтому в реализациях на сайте к ней квадратически добавляется стандартная ошибка медианы центров интервалов — это наше дополнение, в статьях о методе его нет:
где 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.
- Новый ДАЗ вокруг результата. a1w = x*w−1 − 0,5hw−1, anw = x*w−1 + 0,5hw−1; он разбивается на nw = 11 значений, поэтому hw = 0,1hw−1.
- Новый профиль. Интервалы, не пересекающие новый ДАЗ, удаляются, оставшиеся перенумеровываются (m = mw) и заново представляются инранжированиями λkw; получается профиль Λw.
- Уточнённый результат. Ранжирование консенсуса нового профиля даёт результат 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 rjlxj ≤ Rl для каждого типа ресурса l. Это многомерный рюкзак. Задача NP-трудна, но при размерах, типичных для проекта, решается точно методом ветвей и границ.
3. Проект — цепочка месяцев-рюкзаков
Календарный план — это набор рюкзаков, по одному на каждый месяц t = 1, …, H, связанных порядком работ. Решение xjt = 1 ставит захватку j в месяц t; потребность rjtl зависит от месяца через сезонную норму. Наименьший срок
и порядок соблюдён: захватка последующей работы на участке — не раньше предыдущей. Выполнимость при заданном 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.