April 9

Когда «да» и «нет» недостаточно: как работают нечёткие шкалы

Минутка философии: оценка красоты девушек, тоже своего рода нечёткая оценка

В этой статье:

Автоматизируя процессы в различных областях, например, при анализе уровней угроз безопасности, при исследовании данных методами датасайенса, при оценке финансовых рисков в трейдинге, — мы постоянно работаем с неполной, отсутствующей или даже неточной информацией. Решения часто приходится принимать тогда, когда данные противоречивы или недостаточно точны. В таких ситуациях простая шкала «да/нет» или оценка от 0 до 1 становится бесполезной.

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

Почему обычные шкалы не работают

Типичная шкала — это набор чисел, обычно состоящий из натуральных чисел и нуля. Например: {0, 1}.

Если эту шкалу используют для оценки, например, состояния безопасности, то ноль можно интерпретировать как «небезопасно», а единицу как «полностью безопасно». Если требуется, шкалу расширяют: 0, 1, 2, 3, 4, ... N и просят оценить эксперта уровень безопасности одним из этих чисел.

Но на практике возникает масса промежуточных состояний:

  • Что делать, если система «скорее безопасна», но в некоторых случаях даёт сбой?
  • Как оценить актив, который «вроде бы перспективный», но без полной уверенности?

В реальном мире многие характеристики расплывчаты и нечётки, не фиксированы. Обычная шкала требует конкретного числа, а жизненные ситуации требуют гибкости.

Что такое «шкала желательности»

Существует специальный тип шкал — «качественные шкалы». Как правило, это уровневые шкалы, где каждый промежуточный уровень интервала [0, 1] описывается некоторым понятным для эксперта-оценщика словом. Например, «высокий» или «низкий» уровень, либо «хорошее» или «плохое» качество некоторого параметра оцениваемого объекта.

Обычно для оценки промежуточных степеней качества на интервале [0, 1] используется известная качественная шкала — «шкала желательности Харрингтона» (desirability scale). Шкала желательности — это психофизическая шкала, которая устанавливает соответствие между физическими параметрами свойств исследуемого объекта и психологическими, субъективными оценками экспертов «желательности» того или иного значения этих свойств.

Шкала желательности (desirability scale) Харрингтона для оценки степени качества между [0, 1]. Она определяется на [−3, 5] «функцией желательности» (desirability function): d(y) = exp(−exp(−y)). Эта функция возникла в результате наблюдений за решениями экспертов о предпочтениях соотнесения результатов эксперимента со значениями на отрезке [0, 1]. Функция позволяет оценивать предпочтение оценок для объектов различной размерности и природы. Кроме того, в областях, близких к 0 и 1, её «чувствительность» существенно ниже, чем в средней зоне. Выбор значений 0.37 и 0.63 обусловлен удобством вычислений, так как 0.37 ≈ e⁻¹, a 0.63 ≈ 1 − e⁻¹. За начало отсчёта обычно принимают значение в точке перегиба: d(0) ≈ 0.37. Допускаются отклонения границ уровней шкалы желательности на ±0.03

Как устроена нечёткая шкала

Нечёткая шкала описывает величину некоторой характеристики объекта не одним значением, а целым диапазоном с разной степенью принадлежности. Например, оценка надёжности может быть одновременно на 80% «высокой» и на 20% «средней».

Вместо жёсткой границы между уровнями — плавные переходы.

Каждому возможному значению такой оценки ставится в соответствие «функция принадлежности». Эта функция показывает, насколько сильно значение относится к каждому уровню.

Например, температура воды 50°C с точки зрения человека может одновременно быть на 70% горячей и на 30% тёплой.

Такой подход помогает эксперту принимать более устойчивые решения в реальных условиях, когда большинство данных — нечёткие величины.

Примеры функций принадлежности

Чаще всего используются:

  • гиперболические функции — обеспечивают плавный рост;
  • параболические функции — резкое изменение в середине;
  • колоколообразные функции — дают пик в центре шкалы;
  • треугольные функции — дают точное значение в вершине.
Примеры специальных функций принадлежности, заданных своими параметрами: 1 — гиперболическая: μ_hyperbolic(x; 3; 5; 0.1); 2 — параболическая: μ_parabolic(x; 0; 1); 3 — колоколообразная: μ_bell(x; 0; 0.3; 0.4); 4 — треугольная: μ_triangle(x; 0.25; 0.5; 0.75)

Выбор конкретной формы функций принадлежности экспертом зависит от особенностей задачи: где-то нужна плавность, где-то — резкий переход.

Как задать простую нечёткую шкалу

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

Чтобы построить свою шкалу:

  1. Определяем диапазон измерений. Например: все числа от 0 до 1.
  2. Выбираем уровни шкалы. Обычно используется универсальная шкала нечётких значений {Min, Low, Med, High, Max}. Здесь Min означает минимальную вероятность достижения ценой целевого значения, Low — низкую, Med — среднюю, High — высокую и Max — максимальную вероятность. Такие обозначения позволяют избегать дробных промежуточных значений в диапазоне вычислений, но остаются понятными эксперту-человеку.
  3. Строим функции принадлежности. Для простоты можно использовать треугольные или колоколообразные формы.
  4. Задаём пересечения. Например, значение 0.5 одновременно принадлежит уровню Med на 80% и High на 20%.
  5. Проверяем на реальных данных. Смотрим, удовлетворяют ли нас реальные числовые оценки и сопоставление получаемых для них значений на нечёткой шкале.
Чёткая шкала [0, 1] и соответствующая ей универсальная нечёткая измерительная шкала с уровнями: Min — «минимальное», Low — «низкое», Med — «среднее», High — «высокое», Max — «максимальное» значение

Где используются нечёткие шкалы

Нечёткие шкалы находят своё применение в различных областях науки и в практических приложениях.

  • Анализ аномалий в биржевых данных: оценка отклонений без жёстких порогов.
  • Системы сигналов в трейдинге: прогноз вероятности достижения ценовых целей.
  • Автоматизация принятия решений: вывод комплексной оценки из множества частичных факторов.
  • Оценка риска выполняемых операций: балансирование между точностью данных и их надёжностью.
  • Экспертные оценки: возможность указания характеристик объектов на понятном человеку языке, вместо использования больших дробных чисел.

Как нечёткие шкалы используются в кибербезопасности

В кибербезопасности (Cyber Security) нечёткие шкалы позволяют корректно оценивать уровень угрозы, когда признаки атак размыты и не всегда однозначны. Это повышает качество обнаружения сложных атак, снижает количество ложных срабатываний и помогает системам безопасности работать устойчиво даже при недостатке информации.

Как нечёткие шкалы используются при анализе данных

В анализе данных (Data Science) нечёткие шкалы помогают работать с «грязными» (зашумлёнными) и неполными наборами данных. Они позволяют строить модели, которые принимают решения не только на основании точных меток, но и при наличии шумов и неоднозначностей. Это особенно важно при работе с реальными данными, которые редко бывают идеально структурированными.

Как нечёткие шкалы используются в трейдинговых сервисах

Когда разрабатываешь сервис автоматической генерации сигналов или робота для алгоритмического трейдинга, нельзя полагаться только на чёткие метрики: рынок не даёт 100% гарантий. Нечёткие шкалы позволяют эксперту аккуратно учесть неопределённость и принимать более разумные решения — минимизируя ложные срабатывания и избегая ненужной самоуверенности.

Таким образом, нечёткие шкалы — это способ научить систему думать «приближённо», как это делает человек, когда сталкивается с неполной информацией. Это критически важно для построения надёжных алгоритмов для систем безопасности, анализа данных и алготрейдинга.


🔗 Полезные ссылки

P. S. Если интересно, как применяются нечёткие шкалы в задачах кибербезопасности, посмотрите эти статьи: