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

Теорія

Проста лінійна регресія

Проста лінійна регресія: передбачення однієї метрики з іншої прямою лінією та перевірка якості через коефіцієнт детермінації R².

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

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

Що дає ще один долар?

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

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

Від кореляції до прямої, якою можна користуватися

Кореляція відповідає на запитання «наскільки тісно рухаються дві метрики?» одним числом без одиниць. На запитання власника бюджету — «скільки ще замовлень дасть ще один долар?» — вона відповісти не може.

Рекламні витрати й замовлення з реклами за 10 тижнівТа сама діаграма розсіювання з уроку про кореляцію. Мета сьогодні — пряма, яка найкраще їй відповідає.

Дані графіка

Рекламні витрати, USDЗамовлення з реклами
20020
30023
35030
40028
45036
Показати ще 5 рядків
50033
55042
60038
65048
70044

Проста лінійна регресія відповідає рівнянням:

ŷ = b0 + b1 × x

  • x — незалежна змінна (предиктор), тут тижневі рекламні витрати;
  • ŷ («ігрек із дашком») — прогноз залежної змінної (відгуку), тут замовлень із реклами;
  • b1 — коефіцієнт нахилу: наскільки змінюється ŷ на кожну одиницю x;
  • b0 — вільний член: значення ŷ там, де пряма перетинає x = 0.

«Проста» означає один предиктор; наступний урок додасть більше.

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

  • Так
    ŷ = 8,85 + 0,0539 × витрати: підстав 500 дол., отримаєш приблизно 35,8 замовлення.
  • Не так
    «Ми побудували регресію, тож тепер знаємо, що реклама спричиняє замовлення.»

    Підібрана пряма — це все ще опис даних.

Метод найменших квадратів і залишки

Крізь «середину» хмари крапок можна провести безліч прямих. Метод найменших квадратів обирає одну за точним правилом.

Для кожної крапки міряють залишок: вертикальну відстань між фактичним значенням і прогнозом прямої, e = y − ŷ. Додатний залишок означає, що крапка над прямою (пряма занизила прогноз); від'ємний — що під нею. Далі кожен залишок підносять до квадрата й додають. Пряма найменших квадратів — та, у якої сума квадратів залишків найменша з можливих.

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

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

Зручний наслідок: якщо пряма має вільний член, її залишки завжди в сумі дають рівно нуль. Інакше пряму можна було б зсунути вгору чи вниз і зменшити суму квадратів, тобто вона не була б прямою найменших квадратів. Це правда для будь-якої такої прямої, доброї чи поганої. Нульова сума каже, що промахи врівноважені, а не що вони малі.

  • Так
    «Залишки в сумі дають нуль, тож завищені й занижені прогнози врівноважуються.»
  • Не так
    «Залишки в сумі дають нуль, отже, пряма підходить ідеально.»

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

Як обчислити коефіцієнт нахилу

Коефіцієнт нахилу методу найменших квадратів використовує суми, які ти вже бачив у формулі r:

b1 = Σ(x − x̄)(y − ȳ) / Σ(x − x̄)²

b1=∑(xi−xˉ)(yi−yˉ)∑(xi−xˉ)2,b0=yˉ−b1xˉb_1 = \frac{\sum (x_i-\bar{x})(y_i-\bar{y})}{\sum (x_i-\bar{x})^2}, \qquad b_0 = \bar{y} - b_1\bar{x}
Нахил і вільний член методу найменших квадратів: той самий чисельник і знаменник, що й для r, тепер використані для крутизни прямої.

У чисельнику — сума добутків відхилень; у знаменнику — сума квадратів відхилень лише x. Для десяти тижнів Котокорму:

Набір даних · 10 рядків

Тижневі рекламні витрати Котокорму та замовлення з реклами

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

weekad_spend_usdorders_from_ads
120020
230023
335030
440028
545036

Перші 5 з 10 рядків

Завантажити CSV

b1 = 12 460 / 231 000 ≈ 0,0539 замовлення на долар.

Нахил на один долар важко уявити, тож переведи його на крок, що має значення: 0,0539 × 100 ≈ 5,39 замовлення на кожні додаткові 100 дол. тижневих витрат. У таблиці SLOPE(діапазон замовлень; діапазон витрат) дає те саме число; зверни увагу, що відгук іде першим.

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

Класична помилка — поділити не на ту суму: квадрати відхилень y чи корінь із формули r дають число, яке взагалі не є нахилом.

  • Так
    b1 = 12 460 / 231 000 ≈ 0,0539 → приблизно 5,39 замовлення на 100 дол.
  • Не так
    b1 = 12 460 / 749,6 ≈ 16,6 замовлення на долар

    Ділить на квадрати відхилень замовлень замість витрат.

Вільний член і де він перестає щось означати

Коли нахил відомий, вільний член випливає з одного факту: пряма найменших квадратів завжди проходить через точку середніх (x̄, ȳ). Тож

b0 = ȳ − b1 × x̄ = 34,2 − 0,0539 × 470 ≈ 8,85.

Формула: Нахил і вільний член методу найменших квадратів: той самий чисельник і знаменник, що й для r, тепер використані для крутизни прямої. · є вище

Формально b0 — це прогноз, коли x = 0: приблизно 8,85 замовлення в тиждень без рекламних витрат. Іноді таке прочитання корисне. Тут воно потребує застереження: тижня з витратами менше за 200 дол. у Котокорму не було, тож x = 0 лежить поза даними. Пряму підібрано на відрізку 200–700 дол.; нижче ніхто не знає, чи замовлення з реклами вирівняються, впадуть до нуля чи поведуться інакше.

Вимкнений сірий мегафон лежить на столі, а кілька котів усе одно самі йдуть до маленької крамниці корму.
Вільний член: замовлення, які надходять навіть у тиждень без жодних витрат на рекламу.

Датасет: Тижневі рекламні витрати Котокорму та замовлення з реклами · є вище

Сприймай вільний член насамперед як частину рівняння, а вже потім як бізнес-факт. Змістовним базовим рівнем він стає лише тоді, коли x = 0 реалістичний і близький до даних, як знижка 0%, коли тестували 0–20%.

У таблиці INTERCEPT(діапазон замовлень; діапазон витрат) дає b0 одразу.

  • Так
    «b0 ≈ 8,85 — частина рівняння; нульові витрати ніколи не тестували.»
  • Не так
    «Вимкнемо рекламу — і все одно матимемо 9 замовлень із реклами на тиждень.»

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

Як зробити прогноз

Коли є b0 і b1, прогноз — це один рядок арифметики: підстав x у ŷ = b0 + b1 × x.

Для тижня з витратами 550 дол.:

ŷ = 8,85 + 0,0539 × 550 = 8,85 + 29,65 ≈ 38,5 замовлення.

Три звички роблять прогноз чесним:

  • спершу множ, потім додавай. Якщо спершу додати, (8,85 + 0,0539) × 550, вийде приблизно 4 900 замовлень — очевидна нісенітниця, яка все одно трапляється в таблицях;
  • лишай достатньо знаків у b1. Якщо округлити 0,0539 до 0,05, прогноз для 550 дол. зсунеться приблизно на 2 замовлення; за більших x помилка зростає;
  • тримайся в межах даних. 550 дол. — усередині діапазону 200–700 дол., тож прогноз є інтерполяцією й заслуговує на довіру. 900 дол. були б екстраполяцією.

Прогноз — це найкраща оцінка прямої для типового тижня з такими витратами, а не обіцянка для конкретного тижня. У тижні 7 теж було 550 дол., а замовлень — 42, приблизно на 3,5 вище за пряму. Реальні тижні розкидані навколо ŷ, і саме цей розкид описують залишки та R².

  • Так
    8,85 + 0,0539 × 550 ≈ 38,5 замовлення
  • Не так
    (8,85 + 0,0539) × 550 ≈ 4 897 замовлень

    Додає перед множенням.

Як читати залишки

Залишок — це те, у чому пряма помилилася для одного спостереження:

e = фактичне − прогнозоване = y − ŷ.

Порядок важливий. Для тижня 4 з витратами 400 дол. пряма прогнозує 8,85 + 0,0539 × 400 ≈ 30,41 замовлення; фактично було 28, тож e = 28 − 30,41 = −2,41. Мінус означає, що пряма завищила прогноз; плюс — що занизила. Поміняй порядок — і всі знаки зміняться, а з ними й історія про те, які тижні вийшли кращими за очікування.

Один залишок — це лише шум одного тижня. Корисніше дивитися на всі разом: побудуй графік залишків проти x (або проти ŷ).

  • Безформна смуга навколо нуля — те, що потрібно: пряма вловила закономірність, а лишився шум.
  • Крива (від'ємні на обох кінцях і додатні посередині або навпаки) означає, що справжній зв'язок згинається, наприклад віддача від реклами вирівнюється за більших бюджетів. Пряма буде систематично помилятися в певних місцях.
  • Лійка, що розширюється зі зростанням x, означає, що для великих значень прогнози менш точні.

Візерунок у залишках — сигнал змінити модель, а не довіряти їй більше.

  • Так
    e = 28 − 30,41 = −2,41 (пряма завищила прогноз)
  • Не так
    e = 30,41 − 28 = +2,41, «тиждень 4 перевершив прогноз»

    Прогноз мінус факт перевертає знак і висновок.

R²: частка варіації, яку пояснює пряма

Коефіцієнт детермінації (R²) підсумовує якість усієї прямої одним числом.

Почни з того, наскільки замовлення взагалі коливаються: сума квадратів відхилень від середнього, SS_загальна = 749,6. Далі подивись, скільки варіації пряма лишає непоясненою: сума квадратів залишків, SS_залишків ≈ 77,5. Решту пояснює пряма:

R² = 1 − SS_залишків / SS_загальна = 1 − 77,5 / 749,6 ≈ 0,90.

R2=1−∑(yi−y^i)2∑(yi−yˉ)2R^2 = 1 - \frac{\sum (y_i - \hat{y}_i)^2}{\sum (y_i - \bar{y})^2}
R²: одиниця мінус частка дисперсії, що залишилася в залишках. R² = 1 — ідеальне прилягання; R² = 0 — пряма нічого не пояснює.

Читай це як «приблизно 90% тижневих коливань замовлень узгоджуються з рекламними витратами». R² лежить від 0 (пряма не краща, ніж щотижня прогнозувати середнє) до 1 (усі крапки на прямій). З одним предиктором R² — це просто r²: 0,947² ≈ 0,90.

Чого R² не каже:

  • чи зв'язок причинний;
  • чи правильна форма прямої (крива теж може дати пристойний R²; дивись на залишки);
  • наскільки великий типовий промах у замовленнях. Навіть за високого R² промахи можуть сягати кількох замовлень на тиждень.

А «добре» залежить від контексту: для шумної поведінки клієнтів і 0,3 може бути корисним.

  • Так
    R² = 1 − 77,5 / 749,6 ≈ 0,90: пряма пояснює близько 90% варіації.
  • Не так
    R² = 77,5 / 749,6 ≈ 0,10: «пряма пояснює лише 10%».

    Це частка непоясненого; R² — це одиниця мінус вона.

Чотири терміни, одна картинка

Результат будь-якої простої регресії зводиться до чотирьох частин. Уяви діаграму розсіювання з проведеною крізь неї прямою.

Графік: Рекламні витрати й замовлення з реклами за 10 тижнів · є вище

  • Коефіцієнт нахилу (b1): нахил прямої. Для Котокорму — приблизно 5,4 додаткового замовлення на кожні додаткові 100 дол. тижневих витрат. Одиниці: відгук на одиницю предиктора.
  • Вільний член (b0): де пряма перетинає x = 0, приблизно 8,85 замовлення. Одиниці — як у відгуку. Змістовний, лише якщо x = 0 близько до даних.
  • Залишок: вертикальна відстань між однією крапкою і прямою, факт мінус прогноз. По одному на спостереження; разом вони дають нуль.
  • R²: одне число для всієї прямої, частка варіації відгуку, яку пояснює пряма. Тут близько 0,90.

Перші два визначають пряму; останні два описують, наскільки дані до неї прилягають. Звіт лише з b1 ховає, наскільки шумний зв'язок; звіт лише з R² ховає розмір ефекту. Наводь обидва, а ще діапазон x, на якому підібрано пряму.

Компактно: «замовлення ≈ 8,85 + 5,4 на 100 дол. витрат, R² = 0,90, підібрано на 200–700 дол. на тиждень».

  • Так
    «+5,4 замовлення на 100 дол., R² = 0,90, підібрано на 200–700 дол. на тиждень.»
  • Не так
    «R² = 0,90, тож кожні 100 дол. дають на 90% більше замовлень.»

    Плутає якість прилягання (R²) з розміром ефекту (нахилом).

Три способи зловжити доброю прямою

Пряма з R² = 0,90 добре описує десять тижнів. Проблеми починаються, коли від неї вимагають більшого.

  1. Екстраполяція. Кожен спостережений тиждень мав витрати 200–700 дол. Підстав 900 дол. — вийде приблизно 57 замовлень, але це число припускає, що нахил незмінно тягнеться на територію, яку ніхто не вимірював. Віддача від реклами часто вирівнюється зі зростанням бюджету, коли дешевші аудиторії закінчуються. За межами даних прогноз — це здогад.
  2. Сприймати добру пряму як ідеальну. За R² = 0,90 у більшості тижнів лишаються залишки у 2–4 замовлення. План, якому потрібно, щоб кожен тиждень влучив у прогноз, здебільшого не справдиться.
  3. Читати нахил як причину. Пряма описує, як витрати й замовлення рухалися разом у минулому. Якщо витрати зростали переважно в пікові сезони, частина нахилу належить сезону.
Пряма дорога йде твердою землею і тягнеться за край урвища в туман, де маленький кіт піднімає лапу, щоб зупинитися.
Лінію перевірено лише там, де є дані. За цими межами це здогадка, а не вимірювання.

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

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

  • Так
    «Протестувати 750–800 дол. кілька тижнів і звірити фактичні замовлення з прямою, перш ніж іти до 900 дол.»
  • Не так
    «Пряма каже, що 900 дол. дадуть 57 замовлень, тож фіксуємо це в плані на квартал.»

    Фіксує екстраполяцію так, ніби її виміряли.

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

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

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