Навчальний простір / Моделі
Математичні методи прийняття рішень

Критерії, нормалізація та зважена оцінка

Як перетворювати різнорідні критерії до спільної шкали, задавати ваги, будувати інтегральну оцінку та перевіряти стійкість рішення.

Зміст матеріалу

Що ви опануєте

Після опрацювання цієї лекції ви зможете:

  • пояснити, що таке критерій у задачі прийняття рішень;
  • розрізняти критерії вигоди та витрат;
  • визначати, навіщо потрібна нормалізація;
  • застосовувати min–max нормалізацію для різних напрямів критеріїв;
  • пояснювати, чому масштаб вимірювання впливає на підсумковий рейтинг;
  • задавати ваги критеріїв і перевіряти їхню узгодженість;
  • обчислювати зважену інтегральну оцінку;
  • бачити компенсаторний характер зваженої суми;
  • аналізувати випадок сталого критерію;
  • працювати з фіксованими та динамічними межами нормалізації;
  • оцінювати чутливість рейтингу до ваг;
  • виконувати розрахунки вручну й у Python;
  • аргументовано пояснювати отриманий результат.

Від одного критерію до системи критеріїв

У найпростішій задачі вибору достатньо одного показника. Наприклад, якщо потрібно обрати найдешевший тариф, можна просто порівняти ціну.

У реальних задачах одного показника зазвичай недостатньо. Для вибору середовища проведення семінару можуть бути важливими:

  • вартість;
  • місткість;
  • транспортна доступність;
  • технічне оснащення;
  • рівень безбар’єрності;
  • відгуки;
  • відстань від центру.

Кожен із цих показників описує окрему сторону рішення.

Альтернатива — це конкретний варіант рішення. Наприклад:

  • зал A;
  • зал B;
  • зал C.

Тоді дані можна подати у вигляді таблиці:

Альтернатива Вартість, грн Доступність, бали Місткість, осіб
A 400 8 60
B 300 6 80
C 500 10 100

Уже на цьому етапі виникає проблема: критерії вимірюються у різних одиницях і мають різні числові масштаби.

Чому не можна просто скласти сирі значення

Припустимо, хтось вирішив обчислити:

Si=вартістьi+доступністьi+місткістьi.S_i = \text{вартість}_i + \text{доступність}_i + \text{місткість}_i.

Для альтернативи A:

SA=400+8+60=468.S_A = 400 + 8 + 60 = 468.

Для B:

SB=300+6+80=386.S_B = 300 + 6 + 80 = 386.

Для C:

SC=500+10+100=610.S_C = 500 + 10 + 100 = 610.

Отримаємо C як “найкращу” альтернативу, хоча вартість тут більша, а її числове значення штучно збільшує підсумок.

Проблема полягає у трьох речах:

  • різні одиниці вимірювання;
  • різні числові масштаби;
  • різний напрям бажаності.
Чому сирі критерії не можна безпосередньо складатиОберіть елемент, щоб побачити пояснення

Числа описують різні фізичні або умовні величини.

Критерії вигоди та критерії витрат

Критерій вигоди

Приклади:

  • продуктивність;
  • точність;
  • місткість;
  • рейтинг;
  • швидкість;
  • рівень доступності.

Якщо місткість 100 краща за 80, напрям критерію є висхідним.

Критерій витрат

Приклади:

  • ціна;
  • час очікування;
  • енергоспоживання;
  • кількість помилок;
  • ризик;
  • відстань.

Якщо 300 грн кращі за 500 грн, напрям критерію є спадним.

Що таке нормалізація

У цій лекції використовуємо шкалу від 0 до 1.

Інтерпретація:

  • 0 — найменш бажане значення в заданих межах;
  • 1 — найбільш бажане;
  • проміжні значення — відносне положення між крайніми точками.

Min–max нормалізація для критерію вигоди

Для критерію вигоди:

rij=xij−xjmin⁡xjmax⁡−xjmin⁡,r_{ij}= \frac{x_{ij}-x_j^{\min}} {x_j^{\max}-x_j^{\min}},

де:

  • xijx_{ij} — значення альтернативи ii за критерієм jj;
  • xjmin⁡x_j^{\min} — мінімальне значення критерію;
  • xjmax⁡x_j^{\max} — максимальне значення критерію;
  • rijr_{ij} — нормалізоване значення.

Інтуїція формули

Чисельник:

xij−xjmin⁡x_{ij}-x_j^{\min}

показує, наскільки значення відійшло від мінімуму.

Знаменник:

xjmax⁡−xjmin⁡x_j^{\max}-x_j^{\min}

описує повний діапазон критерію.

Тому частка показує положення альтернативи всередині цього діапазону.

Крок за кроком
  1. Крок 1 із 5

    Знайдіть мінімум

    Для доступності 6, 8, 10 мінімум дорівнює 6.

1 / 5

Для доступності:

  • A: (8−6)/(10−6)=0.5(8-6)/(10-6)=0.5;
  • B: (6−6)/4=0(6-6)/4=0;
  • C: (10−6)/4=1(10-6)/4=1.

Min–max нормалізація для критерію витрат

Для витрат логіка змінюється:

rij=xjmax⁡−xijxjmax⁡−xjmin⁡.r_{ij}= \frac{x_j^{\max}-x_{ij}} {x_j^{\max}-x_j^{\min}}.

Тут найменше сире значення повинно отримати найбільший нормалізований бал.

Для вартості:

  • мінімум: 300;
  • максимум: 500;
  • діапазон: 200.

Тоді:

rA=500−400200=0.5,r_A=\frac{500-400}{200}=0.5,
rB=500−300200=1,r_B=\frac{500-300}{200}=1,
rC=500−500200=0.r_C=\frac{500-500}{200}=0.
Перетворення сирих значень у нормалізованіОберіть елемент, щоб побачити пояснення

Початкові значення вартості.

Повна нормалізована таблиця

Після перетворення:

Альтернатива Вартість Норм. вартість Доступність Норм. доступність
A 400 0.5 8 0.5
B 300 1.0 6 0.0
C 500 0.0 10 1.0

Тепер обидва критерії мають однаковий напрям:

більше = краще.

Це критично важливо для подальшого агрегування.

Що таке вага критерію

Для зваженої суми зазвичай використовують:

wj≥0,w_j \ge 0,

та

∑j=1mwj=1.\sum_{j=1}^{m} w_j = 1.

Приклад:

  • вартість: w1=0.4w_1=0.4;
  • доступність: w2=0.6w_2=0.6.

Тоді доступність має більший внесок у підсумкову оцінку.

Як формується інтегральна оцінка

Для зваженої суми:

Si=∑j=1mwjrij.S_i=\sum_{j=1}^{m} w_j r_{ij}.

Для двох критеріїв:

Si=w1ri1+w2ri2.S_i=w_1r_{i1}+w_2r_{i2}.

Альтернатива A

SA=0.4⋅0.5+0.6⋅0.5.S_A=0.4\cdot0.5+0.6\cdot0.5.
SA=0.2+0.3=0.5.S_A=0.2+0.3=0.5.

Альтернатива B

SB=0.4⋅1+0.6⋅0.S_B=0.4\cdot1+0.6\cdot0.
SB=0.4.S_B=0.4.

Альтернатива C

SC=0.4⋅0+0.6⋅1.S_C=0.4\cdot0+0.6\cdot1.
SC=0.6.S_C=0.6.

Рейтинг:

C>A>B.C > A > B.

Таблиця внесків

Корисно показувати не лише фінальний бал, а й внесок кожного критерію.

Альтернатива Внесок вартості Внесок доступності Підсумок
A 0.20 0.30 0.50
B 0.40 0.00 0.40
C 0.00 0.60 0.60

Так видно, чому саме C перемагає: її перевага повністю формується критерієм доступності.

Компенсаторний характер зваженої суми

Зважена сума дозволяє сильній стороні альтернативи компенсувати слабшу.

Наприклад:

  • B має найкращу вартість;
  • C має найкращу доступність.

За вагами 0.4 і 0.6 C перемагає.

Якщо ваги змінити:

  • вартість: 0.7;
  • доступність: 0.3;

отримаємо:

SA=0.7⋅0.5+0.3⋅0.5=0.5,S_A=0.7\cdot0.5+0.3\cdot0.5=0.5,
SB=0.7⋅1+0.3⋅0=0.7,S_B=0.7\cdot1+0.3\cdot0=0.7,
SC=0.7⋅0+0.3⋅1=0.3.S_C=0.7\cdot0+0.3\cdot1=0.3.

Тепер переможець — B.

Як ваги змінюють рішенняОберіть елемент, щоб побачити пояснення

Модель сильніше винагороджує дешевші альтернативи.

Коли зважена сума непридатна

Зважена сума передбачає можливість компенсації.

Якщо певна характеристика є обов’язковою, її краще оформити як обмеження.

Наприклад:

доступність повинна бути не нижче 7 балів.

Тоді B із доступністю 6 відсіюється до агрегування.

Крок за кроком
  1. Крок 1 із 4

    Сформулюйте обмеження

    Наприклад: доступність не нижче 7.

1 / 4

Сталий критерій і ділення на нуль

Якщо всі альтернативи мають однакове значення:

xjmax⁡=xjmin⁡,x_j^{\max}=x_j^{\min},

тоді знаменник:

xjmax⁡−xjmin⁡=0.x_j^{\max}-x_j^{\min}=0.

Min–max формула стає невизначеною.

Наприклад:

Альтернатива Wi‑Fi, бал
A 10
B 10
C 10

Цей критерій не розрізняє альтернативи.

Варіанти дій:

  • виключити критерій з агрегування;
  • однаково оцінити всі альтернативи;
  • перенормувати ваги решти критеріїв;
  • зафіксувати правило в методиці.

Нормалізація залежить від набору альтернатив

Min–max нормалізація використовує мінімум і максимум поточного набору.

Припустимо, додається D:

  • вартість = 1000;
  • доступність = 8.

Тепер для вартості:

xmax⁡=1000.x^{\max}=1000.

Для A:

rA=1000−4001000−300=600700≈0.857.r_A=\frac{1000-400}{1000-300} =\frac{600}{700} \approx0.857.

Раніше було 0.5.

Сама ціна A не змінилася, але її нормалізований бал став іншим.

Залежність шкали від набору

Min–max шкала є відносною. Кожна нова крайня альтернатива змінює положення старих варіантів усередині діапазону. Тому рейтинг може змінитися навіть без зміни початкових альтернатив.

Фіксовані межі нормалізації

Щоб зменшити залежність від набору, можна використовувати зовнішні межі.

Наприклад:

  • мінімальна допустима ціна: 200;
  • максимальна допустима ціна: 1000.

Тоді:

ri=1000−xi1000−200.r_i= \frac{1000-x_i}{1000-200}.

Для A:

rA=600800=0.75.r_A=\frac{600}{800}=0.75.

Для B:

rB=700800=0.875.r_B=\frac{700}{800}=0.875.

Для C:

rC=500800=0.625.r_C=\frac{500}{800}=0.625.

Перевага цього підходу: шкала стабільна для різних наборів альтернатив.

Недолік: межі потрібно обґрунтувати.

Динамічні та фіксовані межі

Min і max визначаються за наявними альтернативами. Шкала чутлива до додавання нових крайніх варіантів.

Порядкові шкали та проблема інтервалів

Не всі бали мають однаковий зміст.

Наприклад, оцінка доступності:

  • 1 — дуже низька;
  • 2 — низька;
  • 3 — середня;
  • 4 — висока;
  • 5 — дуже висока.

Не завжди можна вважати, що різниця між 1 і 2 еквівалентна різниці між 4 і 5.

Тому перед математичним агрегуванням варто сформувати рубрику.

Приклад:

Бал Інтерпретація
1 доступність майже відсутня
2 доступні окремі елементи
3 базовий прийнятний рівень
4 добра доступність
5 повна доступність

Як перевіряти ваги

Перед обчисленням:

∑jwj=1.\sum_j w_j = 1.

Наприклад:

0.4+0.6=1.0.4+0.6=1.

Якщо маємо:

0.4+0.4=0.8,0.4+0.4=0.8,

можна виконати перенормування:

wj′=wj∑kwk.w'_j= \frac{w_j} {\sum_k w_k}.

Тоді:

w1′=0.40.8=0.5,w'_1=\frac{0.4}{0.8}=0.5,
w2′=0.40.8=0.5.w'_2=\frac{0.4}{0.8}=0.5.

Як формувати ваги на практиці

Є кілька підходів:

  • експертне призначення;
  • парні порівняння;
  • голосування групи;
  • статистичне оцінювання;
  • ваги з політики або нормативів;
  • аналіз сценаріїв.

У цій лекції ваги задаються вручну, щоб зосередитися на логіці моделі.

Чутливість до ваг

Чутливість — це перевірка того, наскільки рейтинг змінюється при невеликих змінах параметрів.

Для двох критеріїв:

w1=α,w_1 = \alpha,
w2=1−α.w_2 = 1-\alpha.

Тоді:

Si(α)=αri1+(1−α)ri2.S_i(\alpha)=\alpha r_{i1}+(1-\alpha)r_{i2}.

Для B:

SB(α)=α.S_B(\alpha)=\alpha.

Для C:

SC(α)=1−α.S_C(\alpha)=1-\alpha.

Точка рівності:

α=1−α.\alpha=1-\alpha.
2α=1.2\alpha=1.
α=0.5.\alpha=0.5.

Отже:

  • якщо вага ціни більша 0.5, B краща;
  • якщо вага ціни менша 0.5, C краща.

Це вже сильніше пояснення, ніж перевірка двох випадкових наборів ваг.

Порогове значення вагиОберіть елемент, щоб побачити пояснення

Доступність має більший сумарний вплив.

Практичний розрахунок у Python

python
alternatives = [
    {"name": "A", "cost": 400, "access": 8},
    {"name": "B", "cost": 300, "access": 6},
    {"name": "C", "cost": 500, "access": 10},
]

costs = [row["cost"] for row in alternatives]
access_values = [row["access"] for row in alternatives]

min_cost = min(costs)
max_cost = max(costs)

min_access = min(access_values)
max_access = max(access_values)

weights = {
    "cost": 0.4,
    "access": 0.6,
}

for row in alternatives:
    # Вартість — критерій витрат:
    # менше сире значення повинно дати більший нормалізований бал.
    r_cost = (max_cost - row["cost"]) / (max_cost - min_cost)

    # Доступність — критерій вигоди:
    # більше сире значення повинно дати більший нормалізований бал.
    r_access = (
        row["access"] - min_access
    ) / (
        max_access - min_access
    )

    # Підсумкова оцінка — сума зважених внесків.
    score = (
        weights["cost"] * r_cost
        + weights["access"] * r_access
    )

    row["r_cost"] = r_cost
    row["r_access"] = r_access
    row["score"] = score

ranked = sorted(
    alternatives,
    key=lambda row: row["score"],
    reverse=True
)

for row in ranked:
    print(
        row["name"],
        round(row["score"], 3)
    )

Що тут відбувається?

  1. min() і max() визначають межі нормалізації для кожного критерію.
  2. r_cost використовує формулу для критерію витрат.
  3. r_access використовує формулу для критерію вигоди.
  4. score є сумою зважених нормалізованих значень.
  5. sorted(..., reverse=True) формує рейтинг від найбільшої оцінки до найменшої.
  6. round() використовується лише для виведення. Внутрішні розрахунки зберігають повну точність.

Універсальна функція нормалізації

python
def minmax_normalize(values, direction="benefit"):
    min_value = min(values)
    max_value = max(values)

    if max_value == min_value:
        raise ValueError(
            "Критерій не розрізняє альтернативи"
        )

    if direction == "benefit":
        return [
            (value - min_value)
            / (max_value - min_value)
            for value in values
        ]

    if direction == "cost":
        return [
            (max_value - value)
            / (max_value - min_value)
            for value in values
        ]

    raise ValueError("Невідомий напрям критерію")

Що тут відбувається?

  1. Функція приймає список значень і напрям критерію.
  2. Перед обчисленням перевіряється випадок max == min.
  3. Для benefit використовується пряме min–max перетворення.
  4. Для cost використовується інверсна формула.
  5. Невідоме значення direction викликає помилку замість тихого некоректного розрахунку.

Мікроексперимент: змініть одну вагу

Візьміть:

wcost=0.55,w_{\text{cost}}=0.55,
waccess=0.45.w_{\text{access}}=0.45.

Перед розрахунком спрогнозуйте, хто переможе.

Потім обчисліть:

SA,SB,SC.S_A, S_B, S_C.

Після цього змініть:

wcost=0.45,w_{\text{cost}}=0.45,
waccess=0.55.w_{\text{access}}=0.55.

Порівняйте рейтинг.

Мікроексперимент: додайте крайню альтернативу

Додайте:

Альтернатива Вартість Доступність
D 1000 8

Потім:

  • перерахуйте min–max для вартості;
  • порівняйте старі та нові бали A, B, C;
  • поясніть, чому їхні сирі значення не змінилися, а нормалізовані — змінилися;
  • зробіть висновок щодо стабільності шкали.

Мікроексперимент: сталий критерій

Додайте критерій:

Альтернатива Wi‑Fi
A 10
B 10
C 10

Спробуйте застосувати min–max.

Поясніть:

  • чому виникає ділення на нуль;
  • чому критерій не допомагає вибору;
  • що можна зробити з його вагою.

Типові помилки

Критерій витрат нормалізовано як вигоду
Найдорожча альтернатива отримує найбільший бал. Перевірте напрям критерію перед застосуванням формули.
Сума ваг не дорівнює 1
Результат стає важче інтерпретувати. Ваги потрібно перевірити або перенормувати.
Сталий критерій
Якщо max = min, min–max нормалізація містить ділення на нуль. Такий критерій не розрізняє альтернативи.
Передчасне округлення
Округлення проміжних значень може створювати штучні нічиї або змінювати порядок. Округлюйте фінальне представлення.
Подвійний облік одного фактору
Схожі критерії можуть фактично вимірювати одну й ту саму властивість. Це штучно збільшує її вплив.
Вага підібрана після перегляду рейтингу
Це створює ризик підгонки моделі під бажаний результат. Ваги слід погоджувати до фінального розрахунку.

Професійна перевірка моделі

Перед довірою до рейтингу перевірте:

Перевірка багатокритеріальної моделі

Карта понять

Від сирих даних до рішенняОберіть елемент, щоб побачити пояснення

Варіанти, між якими потрібно зробити вибір.

Самоперевірка термінів

Картки для повторення
01 Що таке критерій?Показати відповідь

Формалізована характеристика, за якою оцінюють альтернативи.

02 Що таке критерій вигоди?Показати відповідь

Критерій, для якого більше значення є бажанішим.

03 Що таке критерій витрат?Показати відповідь

Критерій, для якого менше значення є бажанішим.

04 Навіщо потрібна нормалізація?Показати відповідь

Щоб привести різнорідні критерії до спільної безрозмірної шкали.

05 Що означає вага критерію?Показати відповідь

Відносний внесок критерію в інтегральну оцінку.

06 Що таке зважена сума?Показати відповідь

Сума нормалізованих значень критеріїв, помножених на їхні ваги.

07 Що таке сталий критерій?Показати відповідь

Критерій, який має однакове значення для всіх альтернатив і не розрізняє їх.

08 Що таке аналіз чутливості?Показати відповідь

Перевірка того, як зміни параметрів моделі впливають на рейтинг.

Перевірка розуміння

Перевірте розуміння
Яку формулу слід використати для критерію витрат у min–max нормалізації?
Перевірте розуміння
Чому не можна просто скласти ціну, рейтинг і місткість?
Перевірте розуміння
Що означає випадок max = min для критерію?
Перевірте розуміння
Чому додавання крайньої альтернативи може змінити старі min–max бали?
Перевірте розуміння
Що показує поріг α = 0.5 у прикладі з B і C?

Питання для пояснення своїми словами

Чому вага 0.6 не означає «60% якості»?
Вага описує відносний внесок критерію в конкретній математичній моделі. Її зміст залежить від нормалізації, набору критеріїв і способу агрегування.
Чому зважена сума є компенсаторною?
Високий бал за одним критерієм може перекрити слабкий бал за іншим, якщо ваги дозволяють такий компроміс.
Коли краще використовувати обмеження замість ваги?
Коли певна характеристика має бути виконана обов’язково, наприклад мінімальна доступність, безпека або нормативний поріг.
Чому фіксовані межі іноді корисніші за межі поточного набору?
Вони роблять шкалу стабільнішою при додаванні нових альтернатив, якщо самі межі предметно обґрунтовані.

Підсумок

Джерела для подальшого вивчення

Опрацювали матеріал?

Збережіть цей крок у своєму прогресі.

← Повернутися до дисципліни
© 2026 Анастасія Іскандарова-МалаЕлектронний навчальний посібник · ДДТУ

Пошук у посібнику

Спробуйте «C++», «RAII» або «бази даних».