Перейти до змісту
Увійти

Теорія

Логістична регресія та класифікація

Логістична регресія для результатів «так/ні», як-от відтік чи конверсія: шанси, відношення шансів, поріг рішення та оцінка якості прогнозів.

~10 хв читання · 11 вправ · 250 балів

Перед початком

Чи піде цей покупець?

Досі все, що прогнозувала продуктова команда Котокорму, було числом: замовлення, виручка. Наступне запитання інше: які покупці, найімовірніше, підуть. Відповідь — «так» або «ні», і пряма лінія погано з цим справляється.

Цей урок завершує модуль логістичною регресією: шанси, відношення шансів, вибір порогу рішення й оцінка того, наскільки добрі прогнози.

Чому для «так/ні» потрібна інша модель

Багато продуктових питань мають відповідь «так/ні»: чи піде цей передплатник, чи купить цей відвідувач, чи відкриє користувач лист. Можна закодувати результат як 1 («так») і 0 («ні») і підібрати звичайну пряму регресії, але вона ламається двома способами.

  • Неможливі прогнози. Пряма не має ні підлоги, ні стелі. Для клієнта, що мовчить рік, вона може спрогнозувати 1,3; для нового лояльного — −0,2. Жодне з цього не ймовірність.
  • Хибна форма. Справжні ймовірності вирівнюються біля країв. Перехід від 1 до 2 місяців мовчання може сильно додати ризику відтоку; від 11 до 12 — мало, бо ризик уже близький до 1. Пряма нав'язує однаковий крок усюди.

Логістична регресія виправляє обидві вади. Вона прогнозує ймовірність S-подібною кривою, яка завжди лишається між 0 і 1: пласка біля 0, крута посередині, знову пласка біля 1.

Кіт у дверях крамниці між повною мискою всередині та вулицею надворі, над ним круглий індикатор зі стрілкою посередині шкали.
Клієнт або лишається, або йде, але модель видає ймовірність між цими двома крайнощами.

Результат — це ймовірність, а не вердикт. Перетворити «62% ризику відтоку» на «надіслати лист» — окремий крок, поріг класифікації, до якого урок дійде наприкінці.

  • Так
    Відтік так/ні → логістична регресія → ймовірність від 0 до 1.
  • Не так
    «Лінійна модель каже, що ймовірність відтоку цього клієнта — 1,3.»

    Ймовірність понад 1 — ознака хибної моделі.

Шанси: інший спосіб сказати «ймовірність»

Шанси порівнюють імовірність того, що подія станеться, з імовірністю, що ні:

шанси = p / (1 − p)

odds=p1−p\text{odds} = \frac{p}{1-p}
Шанси перетворюють ймовірність від 0 до 1 на число від 0 до нескінченності: у скільки разів подія ймовірніша за протилежну.

Якщо 80% схожих клієнтів ідуть, p = 0,8 і шанси = 0,8 / 0,2 = 4: відтік учетверо ймовірніший, ніж лишитися. Кілька орієнтирів:

  • p = 0,5 → шанси = 1 (порівну);
  • p = 0,2 → шанси = 0,2 / 0,8 = 0,25 (один, хто йде, на чотирьох, хто лишається);
  • p = 0,9 → шанси = 9.

Зворотний шлях: p = шанси / (1 + шанси). Шанси 4 дають 4 / 5 = 0,8.

Шанси лежать від 0 до нескінченності й швидко розтягуються вгорі: p = 0,99 дає вже шанси 99. Саме через це розтягнення логістична регресія працює з шансами: вони перетворюють число, затиснуте між 0 і 1, на число, якому є куди рости.

Типова помилка — поділити не на те: p / 1 = 0,8 (це знову ймовірність) або (1 − p) / p = 0,25 (це шанси лишитися, а не піти).

  • Так
    p = 0,8 → шанси = 0,8 / 0,2 = 4
  • Не так
    p = 0,8 → шанси = 0,2 / 0,8 = 0,25

    Це шанси лишитися.

Від логарифма шансів до ймовірності

Шанси все ще не можуть бути меншими за 0. Натуральний логарифм це виправляє: логарифм шансів (логіт), ln(шанси), лежить від мінус до плюс нескінченності і дорівнює 0 при p = 0,5. Саме цю величину логістична регресія моделює прямою:

ln(шанси) = b0 + b1x

ln⁡(odds)=b0+b1x\ln(\text{odds}) = b_0 + b_1 x
Логарифм шансів (логіт): саме цю лінійну частину й підбирає логістична регресія.

Щоб отримати ймовірність, пройди три кроки. Для моделі відтоку Котокорму ln(шанси) = −2 + 0,8 × місяці від останньої покупки і клієнта, що мовчить 3 місяці:

  1. Логарифм шансів: −2 + 0,8 × 3 = 0,4.
  2. Шанси: e^0,4 ≈ 1,49.
  3. Ймовірність: 1,49 / (1 + 1,49) ≈ 0,60.

Кроки 2 і 3 разом — це логістична (сигмоїдна) функція, p = 1 / (1 + e^−(b0 + b1x)), яка дає ті самі 0,60.

Кіт з'їжджає S-подібною гіркою, пологою внизу й нагорі та крутою посередині.
S-крива ніколи не опускається нижче підлоги й не піднімається вище стелі, як і ймовірність.
p=11+e−(b0+b1x)p = \frac{1}{1 + e^{-(b_0 + b_1 x)}}
Логістична (сигмоїдна) функція: крута посередині, пласка біля 0 і 1.

Часта помилка — зупинитися на кроці 1 і назвати 0,4 ймовірністю. Логарифм шансів може бути будь-яким числом, зокрема від'ємним: новий клієнт має логарифм шансів −2, тобто ймовірність близько 0,12, а не «мінус два».

  • Так
    −2 + 0,8 × 3 = 0,4 → e^0,4 ≈ 1,49 → 1,49 / 2,49 ≈ 0,60
  • Не так
    −2 + 0,8 × 3 = 0,4, «40% ризику відтоку»

    Видає логарифм шансів за ймовірність.

Відношення шансів: що означає коефіцієнт логістичної регресії

У лінійній регресії коефіцієнт додає до результату фіксовану величину. У логістичній b1 додає фіксовану величину до логарифма шансів, а це важко уявити. Скасуй логарифм — і він стане множником:

відношення шансів = e^b1

Для моделі Котокорму b1 = 0,8, тож кожен додатковий місяць без покупки множить шанси відтоку на e^0,8 ≈ 2,23. Відношення шансів 1 означає відсутність ефекту; більше за 1 збільшує шанси, менше за 1 зменшує (e^−0,5 ≈ 0,61 зрізало б їх приблизно на 40%).

Пастка: відношення шансів множить шанси, а не ймовірність. Оскільки ймовірність вирівнюється біля 0 і 1, те саме відношення шансів зсуває її на різну величину залежно від старту:

  • від p = 0,12 (шанси 0,14) один місяць підніме шанси до 0,30, а p — приблизно до 0,23;
  • від p = 0,60 (шанси 1,49) — шанси до 3,32, а p — приблизно до 0,77.

Жодне з цього не «ймовірність у 2,23 раза більша». Коли повідомляєш результат команді, переклади його в ймовірності для кількох реалістичних стартових точок.

  • Так
    «Кожен додатковий місяць множить шанси відтоку приблизно на 2,2.»
  • Не так
    «Кожен додатковий місяць робить відтік у 2,2 раза ймовірнішим.»

    Застосовує відношення шансів до ймовірності.

Крок уздовж S-кривої

Щоб побачити, що відношення шансів робить на практиці, зроби один крок вручну. За моделлю відтоку Котокорму ln(шанси) = −2 + 0,8 × місяці від останньої покупки клієнт, що мовчить 3 місяці, має логарифм шансів 0,4, шанси e^0,4 ≈ 1,49 і ймовірність відтоку ≈ 0,60. Додай місяць:

  1. Помнож шанси на відношення шансів e^0,8 ≈ 2,23: 1,49 × 2,23 ≈ 3,32. (Той самий результат, що й новий логарифм шансів напряму: −2 + 0,8 × 4 = 1,2, а e^1,2 ≈ 3,32.)
  2. Переведи назад у ймовірність: p = шанси / (1 + шанси) = 3,32 / 4,32 ≈ 0,77.

Шанси зросли більш ніж удвічі; ймовірність — на 17 відсоткових пунктів, з 0,60 до 0,77. Ще один місяць підняв би шанси приблизно до 7,4, а p — приблизно до 0,88: ще менший крок, бо крива вирівнюється біля 1.

Це S-крива в дії. Посередині (p біля 0,5) коефіцієнт зсуває ймовірність найсильніше; біля підлоги чи стелі — ледве помітно.

Помилка, якої варто уникати, — множити саму ймовірність: 0,60 × 2,23 ≈ 1,34, що неможливо для ймовірності і явно показує, що відношення шансів застосовано не туди.

  • Так
    1,49 × 2,23 ≈ 3,32 → 3,32 / 4,32 ≈ 0,77
  • Не так
    0,60 × 2,23 ≈ 1,34

    Множить імовірність замість шансів.

Матриця помилок

Коли поріг перетворив імовірності на рішення «так/ні», кожен прогноз можна звірити з тим, що сталося насправді. Матриця помилок розкладає їх на чотири клітинки. Для моделі відтоку, де «позитивний» означає «спрогнозовано відтік»:

  • істинно позитивний (TP): спрогнозовано відтік, і клієнт пішов;
  • хибнопозитивний (FP): спрогнозовано відтік, але клієнт лишився (хибна тривога);
  • хибнонегативний (FN): спрогнозовано, що лишиться, але клієнт пішов (пропуск);
  • істинно негативний (TN): спрогнозовано, що лишиться, і він лишився.

Правило розшифровки: друге слово — що сказала модель (позитивний = відтік); перше — чи мала вона рацію (істинно чи хибно). Хибнонегативний — це прогноз «лишиться», який виявився неправильним.

Клітинки важливі, бо дві помилки коштують по-різному. У Котокормі хибнопозитивний результат витрачає дешевий лист на того, хто й так лишився б; хибнонегативний — втрачає передплатника. Яка помилка болючіша, залежить від бізнесу, і саме про це вибір порогу.

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

  • Так
    Спрогнозовано відтік, клієнт лишився → хибнопозитивний.
  • Не так
    Спрогнозовано відтік, клієнт лишився → «хибнонегативний, бо відтоку не сталося».

    Мітка називає прогноз, а не результат.

Чому влучність вводить в оману за рідкісних результатів

Влучність — частка всіх правильних прогнозів: (TP + TN) / усі. Звучить як природний показник, але ламається, коли один результат рідкісний.

Припустімо, щомісяця йде 5% передплатників. «Модель», що завжди прогнозує «лишиться», має рацію щодо 95%, які лишаються, і помиляється щодо кожного, хто йде: влучність 95%, хоча вона нікого не позначає й нікого не рятує. Справжня модель, що ловить більшість тих, хто йде, ціною кількох хибних тривог, легко може мати нижчу влучність, наприклад 90%, і бути значно кориснішою.

Виправлення — міряти якість на класі, який тебе цікавить:

  • повнота = TP / (TP + FN): із клієнтів, що справді пішли, яку частку модель упіймала? Модель «нічого не роби» отримує 0;
  • точність = TP / (TP + FP): із позначених клієнтів, яка частка справді пішла?

Привчи себе спершу питати про базовий рівень. Якщо 95% випадків належать до одного класу, 95% влучності — це підлога, яку отримуєш задарма, а не досягнення. Те саме стосується шахрайства, повернень, зірваних доставок і будь-якої іншої рідкісної події, яку варто прогнозувати.

  • Так
    «Влучність 95%, але повнота 0: модель пропускає кожного, хто йде.»
  • Не так
    «Наша модель відтоку влучна на 95%, запускаймо.»

    Нічого не каже, поки не знаєш частки відтоку й повноти.

Точність і повнота

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

Матриця помилок · є вище

  • Точність = TP / (TP + FP). Із усіх, кого модель позначила як тих, хто піде, яка частка справді пішла? Це міра того, скільки твоїх тривог справжні.
  • Повнота = TP / (TP + FN). Із усіх, хто справді пішов, яку частку модель позначила? Це міра того, скільки справжніх випадків ти ловиш.

Для моделі з 40 істинно позитивними, 10 хибнопозитивними, 20 хибнонегативними і 130 істинно негативними:

  • точність = 40 / (40 + 10) = 40 / 50 = 0,80;
  • повнота = 40 / (40 + 20) = 40 / 60 ≈ 0,67;
  • влучність = (40 + 130) / 200 = 0,85.

Тож 80% листів про утримання отримують ті, хто справді збирався піти, але третина тих, хто йде, не отримує листа взагалі.

Дві формули мають спільний чисельник і відрізняються лише знаменником: у точності додають хибнопозитивні, у повноті — хибнонегативні. Плутати їх — найчастіша помилка, тож спершу скажи запитання словами, а тоді обирай формулу.

  • Так
    Точність = 40 / (40 + 10) = 0,80
  • Не так
    Точність = 40 / (40 + 20) ≈ 0,67

    Це повнота: у знаменнику хибнонегативні.

Як обрати поріг класифікації

Поріг класифікації — це ймовірність, вище за яку відповідь моделі стає «так». Стандартні 0,5 («імовірніше так, ніж ні») — домовленість, а не закон.

Зсув порогу обмінює одну помилку на іншу:

  • нижчий поріг (скажімо, 0,2): позначено більше клієнтів. Повнота зростає, бо менше тих, хто йде, прослизає; точність зазвичай падає, бо додається хибних тривог;
  • вищий поріг (скажімо, 0,8): позначено менше, хибних тривог менше, пропусків більше.
Два коти рибалять: у малому сачку кілька помаранчевих рибок, у широкому багато рибок і ще кілька бляшанок.
Ширший сачок ловить більше справжніх відтоків, а разом із ними й більше хибних тривог.

У влучності тут немає сталого напрямку. За рідкісного результату зниження порогу часто знижує влучність, бо перетворює багато правильних «лишиться» на хибні тривоги.

Обирай поріг за вартістю двох помилок. У Котокормі лист про утримання коштує близько 5 дол.; втрачений передплатник — близько 150 дол. майбутньої виручки. Один пропущений клієнт коштує стільки ж, скільки 30 зайвих листів, тож низький поріг, що надає перевагу повноті, має сенс. Якби дія була дорогою, як-от особистий дзвінок від відділу продажів чи велика знижка, поріг варто було б підняти.

Після кожної зміни перевіряй матрицю помилок: поріг — це бізнес-рішення, яке статистика підказує, але не ухвалює за тебе.

  • Так
    Лист коштує 5 дол., втрачений клієнт — 150 дол. → знизити поріг, прийняти більше хибних тривог.
  • Не так
    «Нижчий поріг ловить більше тих, хто йде, тож і влучність зросте.»

    Влучність може впасти через накопичення хибних тривог.

Готові потренуватися?

Виконайте вправи уроку й отримайте 250 балів, коли пройдете його вперше.

Розпочати вправи