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

Теорія

Манна–Вітні: коли дані не нормальні

Ранговий критерій для скошених метрик, як-от виручка чи тривалість сесії.

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

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

Редизайн і візит на 130 секунд

Та сама продуктова команда Котокорму, новий тест: сторінку товару переробили, і в тебе є час, який відвідувачі на ній провели, — шість сесій на старій сторінці й шість на новій. Один відвідувач нової сторінки пробув значно довше за всіх, найімовірніше, просто залишив вкладку відкритою.

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

Чому ранговому критерію байдужі викиди

t-критерій побудований на середніх, а середнє прислухається до кожного значення пропорційно до його величини. Одна сесія на 130 секунд серед сесій близько хвилини тягне середнє нової сторінки з 64,6 до 75,5 секунди й ще й роздуває дисперсію. t-статистика тоді сильно залежить від одного відвідувача, що залишив вкладку відкритою.

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

U-критерій Манна-Вітні замінює кожне значення його рангом: позицією, коли обидві групи відсортовано разом. Сесія на 130 секунд стає просто «найдовшою», ранг 12. Тривала вона 73 секунди чи 7 300, ранг той самий, тож вона не може домінувати в результаті.

Тому U-критерій Манна-Вітні — природний вибір для двох незалежних груп, коли:

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

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

  • Так
    Тривалість сесій з однією вкладкою на 130 секунд → U-критерій Манна-Вітні.

    Викид зберігає місце, але втрачає вагу.

  • Не так
    Видалити сесію на 130 секунд і застосувати t-критерій, нікому не сказавши.

    Мовчки викидає реальні дані, щоб інструмент підійшов.

Ранжування двох груп разом

U-критерій Манна-Вітні починається з того, що забуває, з якої групи кожне значення.

  1. Об'єднай усі спостереження обох груп в один список: тут 12 сесій.
  2. Відсортуй їх від найменшого до найбільшого.
  3. Проранжуй: 1 — найкоротша, 12 — найдовша.
  4. Розклади ранги назад за групами й додай. Кожна сума — це сума рангів.

Сесії старої сторінки (38, 42, 47, 49, 55, 61 секунда) потрапляють на ранги 1, 2, 3, 4, 5 і 8, тож R₁ = 23. Нова сторінка отримує ранги 6, 7, 9, 10, 11 і 12, тож R₂ = 55.

Усі 12 сесій, відсортовані й проранжованіВисота стовпця — тривалість сесії; позиція — її ранг (1 = найкоротша). Сесії старої сторінки скупчені на низьких рангах, нової — на високих, окрім одного викиду, який не змінює загальної картини.

Дані графіка

РангСтара сторінкаНова сторінка
138
242
347
449
555
Показати ще 7 рядків
658
760
861
965
1068
1172
12130

Вбудована перевірка ловить помилки: ранги від 1 до N завжди дають у сумі N(N + 1) / 2. Для N = 12 це 12 × 13 / 2 = 78, і справді 23 + 55 = 78.

Інтуїція: якби сторінки були однакові, їхні ранги перемішалися б, і кожна сума рангів була б близько половини від 78, тобто 39. Сума рангів, далека від 39, як-от 23, означає, що значення однієї групи тяжіють до низу спільного списку.

  • Так
    Ранги старої сторінки 1 + 2 + 3 + 4 + 5 + 8 = 23; перевірка 23 + 55 = 78 = 12 × 13 / 2.

    Ранжувати обидві групи разом, потім сумувати за групами.

  • Не так
    Ранжувати кожну сторінку окремо: стара 1–6, нова 1–6, тож обидві суми — 21.

    Окреме ранжування стирає будь-яку різницю між групами.

Від суми рангів до U

Сума рангів залежить від розміру групи, тож її перетворюють на зручніше число, U:

U₁ = R₁ − n₁(n₁ + 1) / 2

U1=R1−n1(n1+1)2,U2=R2−n2(n2+1)2,U=min⁡(U1,U2)U_1 = R_1 - \frac{n_1(n_1+1)}{2}, \quad U_2 = R_2 - \frac{n_2(n_2+1)}{2}, \quad U = \min(U_1, U_2)
U кожної групи віднімає суму рангів, яку вона мала б, якби ранжувалась сама із собою. Менше з двох значень — це статистика U Манна-Вітні.

Частина, яку віднімають, — найменша можлива сума рангів для групи з n₁ значень: ранги від 1 до 6 дають 6 × 7 / 2 = 21. Тож U₁ показує, наскільки вище за цю «підлогу» опинилася група. Для старої сторінки товару в тесті Котокорму (6 сесій, сума рангів R₁ = 23): 23 − 21 = 2.

У U гарний зміст: воно рахує перемоги в парах. Візьми кожну пару «сесія старої сторінки + сесія нової», 6 × 6 = 36 пар, і порахуй, як часто сесія старої сторінки довша. Лише 61-секундна сесія старої сторінки перемагає дві нові (58 і 60), тож U₁ = 2.

Сітка поєдинків один на один: у кожній парі синій і рудий коти стоять на маленьких терезах, і рудий перемагає майже щоразу.
U рахує, скільки разів значення однієї групи перемагає значення іншої.

Отже, U біля 0 означає, що одна група майже ніколи не перемагає іншу; U біля половини пар (тут 18) — що групи добре перемішані. Стара сторінка виграє лише 2 з 36 поєдинків, і це сильний натяк, що нова сторінка довше утримує відвідувачів.

  • Так
    U₁ = 23 − 6 × 7 / 2 = 23 − 21 = 2

    Відняти найменшу можливу суму рангів.

  • Не так
    U₁ = 23 − 12 × 13 / 2 = −55

    Узято загальне N замість n₁ групи; U не буває від'ємним.

U₂, перевірка й статистика критерію

Для другої групи, нової сторінки товару (6 сесій, сума рангів R₂ = 55), працює той самий рецепт:

U₂ = R₂ − n₂(n₂ + 1) / 2 = 55 − 21 = 34

Формула: U кожної групи віднімає суму рангів, яку вона мала б, якби ранжувалась сама із собою. Менше з двох значень — це статистика U Манна-Вітні. · є вище

U₂ рахує пари, які виграє нова сторінка: 34 з 36.

Дві перевірки варті кількох секунд:

  • U₁ + U₂ = n₁ × n₂. У кожній парі рівно один переможець, тож перемоги дають у сумі кількість пар: 2 + 34 = 36 = 6 × 6. Якщо ні, десь помилка в ранзі чи сумі.
  • Суми рангів дають N(N + 1) / 2: 23 + 55 = 78 = 12 × 13 / 2.

Статистика критерію — менше з двох:

U = min(U₁, U₂) = min(2, 34) = 2

Менше значення робить критерій чутливим в обидва боки: хоч яка група тяжіє вгору, перекошений поділ штовхає менше U до нуля. Таблиці критичних значень побудовані саме для меншого U, тож завжди порівнюй min(U₁, U₂), а не більше значення.

  • Так
    U₂ = 55 − 21 = 34; перевірка 2 + 34 = 36 = 6 × 6; U = min(2, 34) = 2.

    Обидва U, перевірка, потім менше.

  • Не так
    Показати U = 34 і порівняти з критичним значенням 5.

    Таблиця — для меншого U; 34 хибно виглядатиме «незначущим».

Правило рішення діє навпаки

У t-критерії хвилює велике значення статистики: |t| понад критичне — відхиляємо H0. У U-критерії Манна-Вітні навпаки.

Відхиляй H0, коли U ≤ критичного значення.

Чому? U рахує, як часто одна група перемагає іншу. Якби групи походили з одного розподілу, перемоги поділилися б приблизно порівну, близько половини від n₁ × n₂ кожній. Мале U означає, що одна група майже ніколи не перемагає: ранги ледь перекриваються, і це доказ реальної різниці.

Критичне значення беруть із таблиці; воно залежить від обсягів груп і від того, який рівень значущості обрано. Для n₁ = n₂ = 6, двобічно при α = 0,05, це 5. У тесті сторінки товару Котокорму (по 6 сесій на сторінку) U = 2 ≤ 5, тож різниця в тривалості сесій значуща на рівні 5%. Для n₁ = n₂ = 8 воно 13: U = 25 там не було б значущим.

Це перевернуте правило — найчастіша помилка у звітах про U-критерій Манна-Вітні. Перш ніж робити висновок, промов правило вголос: «мале U — значуще».

  • Так
    U = 2, критичне 5 (n₁ = n₂ = 6): 2 ≤ 5 → відхиляємо H0.

    Мале U — значуще.

  • Не так
    U = 25, критичне 13 (n₁ = n₂ = 8): «25 > 13, значуще!»

    Застосовано напрям t-критерію; тут групи сильно перекриваються.

Що каже результат U-критерію Манна-Вітні

U-критерій Манна-Вітні не порівнює середні. Він перевіряє, чи значення однієї групи тяжіють до вищих рангів, ніж значення іншої. Значущий результат підтримує речення на кшталт «сесії на новій сторінці зазвичай довші».

Тож показуй його числами, що відповідають цьому запитанню:

  • медіани кожної групи: 48 секунд на старій сторінці, 66,5 на новій;
  • частку перемог у парах: сесія старої сторінки була довшою лише у 2 з 36 пар (U₁ = 2), нової — у 34;
  • результат критерію: U = 2, критичне значення 5, значуще на рівні 5%.

Спокуслива помилка — застосувати ранговий критерій, а потім показати різницю середніх. Тут середні — 48,7 і 75,5 секунди, різниця 26,8, але чималу її частину дали 130 секунд однієї відкритої вкладки. Без неї середнє нової сторінки — 64,6. U-критерій Манна-Вітні обрали саме тому, що середнім не можна було довіряти, тож не повертай їх у заголовок.

Якщо потрібен розмір ефекту в секундах, чесний супутник — різниця медіан, приблизно 18,5 секунди.

  • Так
    «Сесії на новій сторінці зазвичай довші (медіана 66,5 с проти 48 с; U = 2, p < 0,05)».

    Стійкі числа, що відповідають тому, що перевіряє критерій.

  • Не так
    «U-критерій Манна-Вітні доводить, що нова сторінка додає в середньому 26,8 секунди».

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

Параметричні й непараметричні критерії

Увесь метод тримається на чотирьох словах:

  • ранг — позиція спостереження, коли обидві групи відсортовано разом, 1 — найменше;
  • сума рангів (R) — сума рангів, що належать одній групі;
  • статистика U — менше з U₁ та U₂, число, яке порівнюють із критичним значенням;
  • непараметричний критерій не робить припущень про форму розподілу.

Останній варто розглянути уважніше. Параметричний критерій, як-от t-критерій, припускає, що дані (або принаймні вибіркові середні) мають відому форму, нормальний розподіл, описаний параметрами на кшталт середнього й стандартного відхилення. Непараметричний критерій, як-от U-критерій Манна-Вітні, працює лише з порядком, тож форма не має значення.

«Непараметричний» не означає «без припущень». U-критерій Манна-Вітні все одно потребує двох незалежних груп, а його результат — про те, що значення однієї групи тяжіють до вищих рангів, а не про середні. Не плутай терміни у звітах: «сума рангів 23» і «U = 2» — різні числа.

  • Так
    «Суми рангів 23 і 55; U = min(2, 34) = 2».

    Кожне число названо тим, чим воно є.

  • Не так
    «Непараметричний, тож підійде й для даних до і після на тих самих користувачах».

    U-критерій Манна-Вітні все одно потребує незалежних груп.

U-критерій Манна-Вітні чи t-критерій: компроміс

Ранжування — свідомий обмін: віддаєш точні величини, щоб отримати стійкість. Чи вигідний він, залежить від даних.

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

Бери U-критерій Манна-Вітні, коли:

  • метрика сильно скошена, з довгим хвостом високих значень (виручка на користувача, час у застосунку);
  • кілька крайніх значень домінували б у середньому;
  • дані існують лише як ранги чи впорядковані категорії («1-й, 2-й, 3-й» або задоволеність від «погано» до «чудово»).

Лишайся з t-критерієм, коли вибірки великі й приблизно нормальні без неприємних викидів. Там він потужніший: на тих самих даних краще виявляє реальний ефект, бо використовує самі значення, а не лише їхній порядок.

Не бери жодного, коли результат «так/ні» (пішов, купив, клікнув). Це порівняння часток, і для нього є свій критерій.

Практична звичка: спершу поглянь на гістограму чи діаграму розмаху кожної групи. Асиметрія й викиди, які видно, — причина перейти на ранги; «про всяк випадок» — ні.

  • Так
    Виручка на користувача з кількома «китами» в кожній групі → U-критерій Манна-Вітні.

    Асиметрію й викиди видно в даних.

  • Не так
    Завжди брати U-критерій Манна-Вітні «про всяк випадок», навіть на 20 000 чистих значень у формі дзвона.

    Втрачає потужність задарма.

Однакові значення: ділимо ранги

У реальних даних бувають однакові значення: дві сесії рівно по 14 секунд, кілька клієнтів, що поставили товару 4 зірки. Вони не можуть бути водночас рангом 2 і рангом 3, а довільний вибір змінював би результат залежно від того, яке поставили першим.

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

  • Після сортування: 10, 14, 14, 20, 25, 30.
  • Дві «14» займають ранги 2 і 3, тож кожна отримує (2 + 3) / 2 = 2,5.
  • Далі все як звичайно: 20 — ранг 4.

Стара сторінка (10, 14, 20) отримує ранги 1, 2,5 і 4, тож R₁ = 7,5, а U₁ = 7,5 − 6 = 1,5. Дробові U за однакових значень — це нормально.

Звичні перевірки працюють: ранги дають у сумі 6 × 7 / 2 = 21 (7,5 + 13,5), а U₁ + U₂ = 1,5 + 7,5 = 9 = 3 × 3. У термінах пар нічия рахується як пів перемоги кожній стороні.

За великої кількості однакових значень програми вносять у критерій невелику поправку; правило усереднення — те, що потрібно, щоб рахувати ранги вручну.

  • Так
    14, 14 на рангах 2 і 3 → обидва 2,5; R₁ = 1 + 2,5 + 4 = 7,5; U₁ = 1,5

    Однакові значення ділять середній ранг.

  • Не так
    «14» старої сторінки отримує ранг 2, нової — ранг 3 → U₁ = 1

    Результат залежить від того, в якому порядку їх випадково записали.

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

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

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