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

Теорія

ANOVA з повторними вимірюваннями

Відстеження тих самих користувачів у кількох точках часу: дисперсійний аналіз із повторними вимірюваннями і критерій Фрідмана.

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

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

Три контрольні точки

Та сама програма лояльності, та сама продуктова команда Котокорму. Тепер ти відстежуєш місячну кількість замовлень тих самих п'яти підписників у трьох точках: тиждень реєстрації, 4-й і 8-й тижні. Якщо запускати парний тест для кожної пари точок, повернеться проблема множинних порівнянь.

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

Більше двох точок: повторні вимірювання

Коли тих самих суб'єктів вимірюють у трьох і більше точках, скажімо місячні замовлення 5 підписників програми лояльності в тиждень реєстрації, на 4-му і 8-му тижні, маємо дизайн із повторними вимірюваннями. Це ідея «до/після», розтягнута в часі.

Той самий кіт на трьох зупинках уздовж стежки, а поруч стос пакунків із кормом, що з кожною зупинкою стає вищим.

Спокусливий аналіз — t-критерій для залежних вибірок для кожної пари точок: тиждень 0 проти 4, 4 проти 8, 0 проти 8. Це три перевірки й та сама проблема множинних порівнянь, що й у трьох t-критеріях замість однофакторного ANOVA: якщо насправді нічого не змінилося, шанс, що хоча б одна спрацює, — приблизно 1 − 0,95³ ≈ 14%.

Дисперсійний аналіз із повторними вимірюваннями відповідає на широке запитання за раз: чи взагалі відрізняються середні між точками часу? Він тримає одну чесну частку помилок 5% і зберігає головну перевагу парування: кожного суб'єкта порівнюють із самим собою.

Якщо загальний критерій значущий, далі йдуть попарні порівняння з поправкою, як-от Бонферроні (0,05 / 3 ≈ 0,0167 для трьох пар).

  • Так
    «Три точки, ті самі 5 підписників: один дисперсійний аналіз із повторними вимірюваннями, а тоді за потреби попарні перевірки з поправкою».
  • Не так
    «Три критерії для залежних вибірок при 0,05; тиждень 4 проти 8 вийшов значущим».

    Три спроби без поправки роздувають частку хибнопозитивних результатів.

Три шматки замість двох

Однофакторний ANOVA розкладає мінливість даних на дві частини: між групами і всередині груп. Дисперсійний аналіз із повторними вимірюваннями — на три:

SS_total = SS_subjects + SS_time + SS_error

  • суб'єкти: наскільки підписники загалом відрізняються один від одного. U1 у середньому робить 6 замовлень на місяць, U5 — 14. Це реально, стабільно й не те, що ми перевіряємо;
  • час: наскільки відрізняються середні контрольних точок (7, 10 і 13 замовлень). Це цікавий нам ефект;
  • похибка: решта, та частина руху кожного підписника, що не йде за спільним трендом.
Місячна кількість замовлень на підписника в часіКожен підписник починає з іншого рівня, але всі п'ятеро зростають приблизно однаково від точки до точки.

Дані графіка

Контрольна точкаU1U2U3U4U5
Week 0267812
Week 467111313
Week 81011121517

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

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

Це рівно те, що t-критерій для залежних вибірок робив із різницями, лише узагальнене: замість віднімати «до» від «після», аналіз віднімає власний середній рівень кожного суб'єкта.

  • Так
    220 = 120 (суб’єкти) + 90 (час) + 10 (похибка)
  • Не так
    220 = 90 (час) + 130 (похибка), без урахування, хто є хто

    Залишає відмінності між суб’єктами всередині шуму.

Як порахувати суми квадратів

Для 5 підписників у 3 точках загальне середнє — 10 замовлень на місяць.

SStotal=SSsubjects+SStime+SSerrorSS_{total} = SS_{subjects} + SS_{time} + SS_{error}
Загальна сума квадратів розкладається на мінливість між суб'єктами, ефект часу і те, що лишилося.
  • SS_total: квадрати відхилень усіх 15 чисел від 10, у сумі: 220.
  • SS_subjects: середнє кожного підписника (6, 8, 10, 12, 14) мінус 10, у квадраті, помножене на 3 точки: 3 × (16 + 4 + 0 + 4 + 16) = 120.
  • SS_time: середнє кожної точки (7, 10, 13) мінус 10, у квадраті, помножене на 5 підписників: 5 × (9 + 0 + 9) = 90.
  • SS_error: усе, що лишилося: 220 − 120 − 90 = 10.

Зверни увагу на ваги: середнє суб'єкта підсумовує 3 числа, тож його множать на 3; середнє точки підсумовує 5, тож множать на 5. Забути ці множники — типова помилка, і тоді похибка виходить абсурдно великою (220 − 40 − 18 = 162).

Мала похибка тут каже щось конкретне: коли відомо, хто підписник і яка це точка, пояснювати майже нічого. Підписники рухаються майже в ногу.

  • Так
    SS_error = 220 − 120 − 90 = 10
  • Не так
    SS_error = 220 − 90 = 130

    Забуває вилучити шматок «суб’єкти».

Ступені свободи й F для повторних вимірювань

Кожна сума квадратів має власні ступені свободи; n суб'єктів і k точок:

  • суб'єкти: n − 1 = 5 − 1 = 4;
  • час: k − 1 = 3 − 1 = 2;
  • похибка: (n − 1)(k − 1) = 4 × 2 = 8.

F-статистика для ефекту часу порівнює середній квадрат часу із середнім квадратом похибки:

  • MS_time = 90 / 2 = 45;
  • MS_error = 10 / 8 = 1,25;
  • F = 45 / 1,25 = 36.

Критичне значення F при α = 0,05 для df(2, 8) — приблизно 4,46, тож F = 36 далеко за ним (p ≈ 0,0001). Замовлення явно змінюються між точками.

Зверни увагу: похибка має лише 8 ступенів свободи, менше за 12, які взяв би аналіз незалежних груп для 15 чисел. Вилучення суб'єктів коштує 4 ступені свободи. Це вигідний обмін щоразу, коли суб'єкти сильно різняться між собою, як тут: середній квадрат похибки меншає значно сильніше, ніж ступені свободи.

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

  • Так
    F = (90 / 2) / (10 / 8) = 45 / 1,25 = 36
  • Не так
    F = (90 / 2) / (10 / 12) = 54

    Бере df незалежних груп (12) для похибки замість (n − 1)(k − 1) = 8.

Ті самі 15 чисел, дві дуже різні F

Візьмімо місячні замовлення 5 підписників програми лояльності Котокорму у 3 точках: SS_total = 220, SS_subjects = 120, SS_time = 90, тож MS_time = 45. Проаналізуймо їх наївно, ніби кожного тижня були різні люди:

  • SS похибки = SS_total − SS_time = 220 − 90 = 130, на 15 − 3 = 12 ступенях свободи;
  • MS_error = 130 / 12 ≈ 10,83;
  • F = 45 / 10,83 ≈ 4,15 проти критичного значення близько 3,89 для df(2, 12). Ледь значуще, p ≈ 0,04.

Тепер із повторними вимірюваннями: 120 суб'єктів виходять із похибки, лишається 10 на 8 ступенях свободи, MS_error = 1,25 і F = 36, p ≈ 0,0001.

Ефект часу однаковий в обох випадках (MS_time = 45). Змінився лише шум. У наївній версії те, що U5 завжди замовляє більше за U1, рахується як випадковий шум, і він затьмарює тренд. У версії з повторними вимірюваннями це визнано стабільною рисою й відкладено вбік.

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

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

  • Так
    Наївно: 45 / (130 / 12) ≈ 4,15. Повторні вимірювання: 45 / (10 / 8) = 36.
  • Не так
    «F ≈ 4,15 однаково значуща, тож простіший аналіз годиться».

    Він ігнорує парування й порушує незалежність; тут просто пощастило.

Словник повторних вимірювань

Чотири терміни, які трапляються разом:

  • дисперсійний аналіз із повторними вимірюваннями: ANOVA для трьох і більше вимірювань тих самих суб'єктів, де міжсуб'єктну мінливість вилучено з похибки;
  • критерій Фрідмана: його непараметрична альтернатива. Він ранжує власні вимірювання кожного суб'єкта (1-ше, 2-ге, 3-тє) і порівнює суми рангів між точками часу;
  • когорта: група користувачів зі спільною початковою подією в одному періоді, наприклад усі, хто приєднався до програми лояльності того самого тижня. Повторні вимірювання природно пасують до спостереження за однією когортою в часі;
  • ступені свободи (df): кількість значень, що можуть вільно змінюватися за фіксованих оцінених величин. У повторних вимірюваннях похибка отримує (n − 1)(k − 1).

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

  • Так
    «Когорта: 5 підписників, що приєдналися на 1-му тижні, усі присутні на тижнях 0, 4 і 8».
  • Не так
    «Двоє підписників пішли до 8-го тижня, тож ми просто проаналізували решту».

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

Критерій Фрідмана: ранги всередині кожного суб’єкта

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

  1. Для кожного підписника проранжуй його власні точки: найменше = 1, найбільше = 3. 2, 6, 10 у U1 стають 1, 2, 3. Тут кожен підписник зростає, тож кожен рядок — 1, 2, 3.
  2. Додай ранги за кожною точкою: R = 5, 10, 15.
  3. Обчисли Q = 12 / (n·k·(k + 1)) × ΣR² − 3n(k + 1) = 12 / 60 × 350 − 60 = 10.
  4. Порівняй із розподілом хі-квадрат із k − 1 = 2 ступенями свободи: критичне значення на рівні 5% — приблизно 5,99. Q = 10 більше, p ≈ 0,007.

Якби час не впливав, ранги розсипалися б, і сума для кожної точки була б близько n(k + 1) / 2 = 10.

Оскільки враховується лише порядок усередині суб'єкта, одне дике значення (обвал NPS з 20 до −20 після збою білінгу) зсуває ранги цього суб'єкта щонайбільше на крок-два, а не домінує в середніх. Ціна, як завжди з рангами, — трохи менша потужність на чистих даних.

  • Так
    Q = 0,2 × (25 + 100 + 225) − 60 = 70 − 60 = 10 > 5,99
  • Не так
    Проранжувати всі 15 чисел разом від 1 до 15, а тоді порівнювати тижні.

    Ранжування між суб’єктами повертає відмінності між ними назад.

Чому повторним вимірюванням потрібно менше людей

Поставмо поруч факти про дизайн із повторними вимірюваннями:

  • ті самі суб'єкти в кожній точці. Це визначення; різні люди в кожній точці — це незалежні групи;
  • менше ступенів свободи похибки: (n − 1)(k − 1) = 8 тут, проти N − k = 12 для незалежних груп. Невелика ціна;
  • значно менша похибка: MS_error = 1,25 замість приблизно 10,83, бо стабільні відмінності між підписниками вилучено. Великий виграш;
  • тож більша потужність: ті самі 15 чисел дають F = 36 замість приблизно 4,15. Щоб досягти тієї самої потужності з незалежними групами, людей знадобилося б значно більше.

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

Основна ціна — практична, а не статистична: люди з часом випадають, ранні вимірювання можуть впливати на пізніші (навчання, втома), а без групи порівняння спільний тренд у часі, як-от сезон, виглядає точнісінько як ефект.

Коли дані скошені або вибірка крихітна, ранговий запасний варіант — критерій Фрідмана.

  • Так
    «Ті самі 5 підписників у 3 точках: df похибки = 4 × 2 = 8, F(2, 8) = 36».
  • Не так
    «Повторним вимірюванням потрібна нова вибірка в кожній точці, щоб лишатися незалежними».

    Повторне використання тих самих суб’єктів — це і є дизайн, а не вада.

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

Сильний результат повторних вимірювань добре відповідає на одне запитання: чи змінюються значення в часі для тих самих людей? На два інші він не відповідає.

Наскільки велика зміна? F = 36 каже, що зміна значно більша за шум, а не що вона велика для бізнесу. Подай середні й різницю: 7 → 10 → 13 замовлень на місяць, приблизно +6 від реєстрації до 8-го тижня. А тоді оціни, чи виправдовують +6 замовлень вартість програми.

Що її спричинило? Кожен підписник увесь час був у програмі, тож час і вплив переплетені. Нові клієнти часто замовляють більше, коли звикають; сезони змінюються; ціни змінюються. Без когорти порівняння, яка не отримала програми, або рандомізованого запуску чесне формулювання — «замовлення зросли за період», а не «програма підняла замовлення».

Добрий рядок підсумку: зміна з її розміром, результат критерію і головне застереження: «+6 замовлень/місяць від реєстрації до 8-го тижня (F(2, 8) = 36, p ≈ 0,0001); групи порівняння немає, тож частина може бути звичайним розгоном нового клієнта».

  • Так
    «+6 замовлень/місяць за 8 тижнів, F(2, 8) = 36; без когорти порівняння причинність не доведена».
  • Не так
    «F = 36, отже, програма працює в 36 разів краще».

    F — це відношення сигналу до шуму, а не розмір ефекту.

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

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

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