Розділ 7
Не лише прямі
Слово «лінійний» у «лінійному МНК» стосується параметрів, а не графіка. Парабола, синусоїда, коло, експонента — усе це розв'язується тією самою машиною $A\boldsymbol\theta \approx \mathbf y$. Але що гнучкіша модель, то легше їй обманути нас, і тут ми вперше зустрінемо перенавчання наживо.
7.1. Коли точки не лягають на пряму
Ні. Подивіться, що насправді використовували розділи 4–6. Ми ніде не спиралися на те, що графік — пряма. Потрібно було лише одне: модель мусить бути лінійною комбінацією параметрів,
$$\hat y(x) = \theta_1\,\varphi_1(x) + \theta_2\,\varphi_2(x) + \dots + \theta_k\,\varphi_k(x),$$де $\varphi_j$ — будь-які відомі функції (їх називають базисними). Для прямої це $\varphi_1 = 1$, $\varphi_2 = x$. Для параболи додаємо $\varphi_3 = x^2$. Матриця $A$ складається зі значень цих функцій у точках вимірів:
$$A = \begin{pmatrix} \varphi_1(x_1) & \varphi_2(x_1) & \cdots & \varphi_k(x_1) \\ \vdots & \vdots & & \vdots \\ \varphi_1(x_n) & \varphi_2(x_n) & \cdots & \varphi_k(x_n)\end{pmatrix}.$$Далі все як раніше: нормальні рівняння, проєкція, QR. Функції $\varphi_j$ можуть бути як завгодно кривими, бо в розрахунку вони лише обчислені числа в таблиці.
7.2. Конструктор моделі
Спробуйте й зайве: додайте до м'яча $t^3$ або sin. $R^2$ зросте лише в четвертому знаку, коефіцієнт при $t^3$ вийде близьким до нуля, а решта параметрів трохи «попливуть». Модель стала гнучкішою, але не кращою. Це перший натяк на тему 7.4.
7.3. Лінійні за параметрами: тест і хитрощі
Тест простий: чи можна записати модель як суму «параметр × відома функція»? Якщо параметр стоїть усередині синуса, в показнику степеня чи в знаменнику — прямо не можна. Але часто допомагає перетворення.
| Модель | Лінійна за параметрами? | Що робити |
|---|---|---|
| $y = a + b\,x + c\,x^2$ | так | базис $1, x, x^2$ |
| $y = a + b\ln x$ | так | базис $1, \ln x$ |
| $y = A\sin(x + \varphi)$ | ні ($\varphi$ всередині синуса) | $A\sin(x+\varphi) = P\sin x + Q\cos x$, де $P = A\cos\varphi$, $Q = A\sin\varphi$ |
| $y = a\,e^{b x}$ | ні ($b$ у показнику) | $\ln y = \ln a + b\,x$ — пряма для $\ln y$ (з застереженням нижче) |
| коло $(x - x_0)^2 + (y - y_0)^2 = R^2$ | ні | розкрити дужки: $x^2 + y^2 = 2x_0\,x + 2y_0\,y + c$, де $c = R^2 - x_0^2 - y_0^2$ |
| відстань до пункту $\sqrt{(x - x_0)^2 + (y - y_0)^2} = d$ | ні | лінеаризація та ітерації Гаусса — Ньютона (розділ 8) |
Коло — улюблена задача інженерної геодезії: радіус кривої дороги, профіль тунелю, форма резервуара. Виміряли кілька точок на дузі, і треба знайти центр і радіус. Після розкриття дужок невідомі $x_0$, $y_0$, $c$ входять лінійно:
7.4. Перенавчання
Якщо додати параметр ніколи не шкодить сумі квадратів (розділ 5: підпростір лише розширюється), чому б не взяти многочлен дуже високого степеня? Перевіримо. Є 12 навчальних точок (чорні) і 80 нових точок (помаранчеві кружечки), яких модель під час підбору не бачила. Вони з тієї самої залежності й з тим самим шумом.
Картина, яку ви бачите, — одна з найважливіших у машинному навчанні.
- Помилка на навчальних даних лише спадає зі степенем і за $d = 11$ дорівнює нулю: 12 параметрів проводять криву точно через 12 точок.
- Помилка на нових даних спершу спадає, потім зростає. Мінімум — десь посередині (зазвичай $d \approx 4\ldots 7$). Там модель уже гнучка, щоб повторити форму синусоїди, але ще недостатньо гнучка, щоб повторювати шум.
- Натисніть «Нові дані» кілька разів за $d = 11$. Крива щоразу інша й дико розгойдується між точками. Висока дисперсія: результат залежить від випадкового шуму більше, ніж від закономірності. А за $d = 1$ пряма щоразу майже однакова, але однаково погана. Це висока зміщеність.
Звідси практичне правило, яке годиться і для геодезиста, і для аналітика даних: якість моделі перевіряють не на тих даних, на яких її підбирали. А кількість параметрів має бути значно меншою за кількість вимірів. Згадайте надлишкові виміри $r = n - k$ з розділу 1: за $d = 11$ їх нуль, і контролю не лишається жодного.
7.5. Геодезія: криві доріг, тунелі, рух станцій
- Вертикальні криві доріг проєктують як квадратні параболи. Обмір збудованої ділянки й підбір параболи МНК показують, наскільки будівельники дотрималися проєкту.
- Кругові криві й тунелі. Коло через точки, як в інтерактиві вище: радіус заокруглення колії, овальність перерізу тунелю, деформації резервуарів. Для еліпса працює той самий прийом: загальне рівняння кривої другого порядку лінійне за своїми коефіцієнтами.
- Часові ряди станцій GNSS. Стандартна модель координати: зсув + швидкість·$t$ + річна та піврічна гармоніки (sin і cos) + стрибки при заміні антени (функції-«сходинки»). Усе це лінійне за параметрами. Саме так визначають швидкості руху тектонічних плит і просідання територій з точністю до частки міліметра на рік.
- Калібрування приладів: поправки віддалеміра чи нівеліра як многочлен від відстані або температури.
7.6. Ознаки, базиси й компроміс зсуву та дисперсії
-
Базисні функції — це ознаки (features). Побудова $x^2$, $\sin$, $\ln$ із сирих даних —
feature engineering. У
sklearnцеPolynomialFeatures+LinearRegressionу конвеєрі (make_pipeline). Сама регресія лишається лінійною. - Нейромережа як автоматичний конструктор базису. Останній шар типової регресійної мережі — звичайна лінійна модель, а попередні шари вчаться будувати для неї вдалі базисні функції. Ядерні методи й «випадкові ознаки» (random features) — інші способи отримати багатий базис.
- Перенавчання (overfitting) і недонавчання (underfitting) — саме те, що ви бачили. Компроміс між ними називають bias–variance tradeoff.
- Навчальна й перевірна вибірки (train / validation / test split) і крос-валідація — стандартний спосіб обрати складність моделі: степінь многочлена, кількість ознак, силу регуляризації.
- Інший спосіб боротьби — регуляризація: не зменшувати кількість параметрів, а штрафувати великі значення. Це ridge-регресія з розділу 10, і вона ж розв'язує проблему розхитаних коефіцієнтів з розділу 6.
🔍 Хочете більше подробиць? Вандермонд, ортогональні многочлени, Рунге, Фур'є, метод Каси
Матриця Вандермонда і чому ми масштабуємо x
Для многочлена стовпці $A$ — це $1, x, x^2, \dots, x^d$ (матриця Вандермонда). На відрізку $[0, 3]$ стовпці $x^9$ і
$x^{10}$ майже паралельні, і обумовленість росте як степенева вежа. Інтерактив спершу переводить $x$ у $[-1, 1]$,
інакше навіть float64 не впорався б. Ще краще — замість $x^j$ взяти ортогональні многочлени
(Лежандра, Чебишова): тоді стовпці майже перпендикулярні, і $\kappa$ лишається помірним за будь-якого степеня.
Феномен Рунге
Дикі коливання біля країв за високого степеня з'являються навіть для точних даних без шуму, якщо вузли рівномірні. Це феномен Рунге (1901). Проти нього — вузли Чебишова, які густіші до країв, або сплайни: кусково-поліноміальні криві невисокого степеня. Сплайни теж лінійні за параметрами, і їх теж підбирають МНК.
Гармонічний аналіз як МНК
Якщо виміри рівномірні й покривають ціле число періодів, стовпці $\sin(2\pi j t/T)$ і $\cos(2\pi j t/T)$ взаємно перпендикулярні. Тоді $A^\mathsf{T}A$ — діагональна, і кожен коефіцієнт обчислюється окремо скалярним добутком. Це в точності дискретне перетворення Фур'є: ДПФ — окремий випадок МНК з ортогональним базисом.
Метод Каси для кола й чим його доповнюють
Алгебраїчна підгонка кола (метод Каси, 1976) мінімізує $\sum \bigl(x_i^2 + y_i^2 - 2x_0x_i - 2y_0y_i - c\bigr)^2$. Це приблизно $\sum \bigl(4R^2\,\delta_i^2\bigr)$, де $\delta_i$ — радіальне відхилення. Для точок по всьому колу результат майже збігається з «геометричним» МНК, а для короткої дуги трохи зменшує радіус. У відповідальних задачах цей розв'язок беруть як початкове наближення й уточнюють ітераціями Гаусса — Ньютона на справжніх відстанях.
Скільки параметрів — забагато?
Крім перевірки на окремих даних, є формальні критерії: скоригований $R^2$, інформаційні критерії Акаіке (AIC) і Байєса (BIC). Вони додають до суми квадратів штраф за кожен параметр. У геодезії ту саму роль відіграють статистичні тести значущості параметрів (розділ 9): якщо коефіцієнт при $t^3$ не відрізняється від нуля більше, ніж на свою похибку, його виключають.
7.7. Код
Python: станція GNSS (тренд + річний цикл), коло через точки та перенавчання многочленів на навчальних і нових даних.
JavaScript: універсальна функція fit(basis, xs, ys) для будь-якого набору базисних функцій, парабола з
оцінкою $g$, експонента через логарифм і синусоїда з невідомою фазою.
7.8. Перевірте себе
Скільки параметрів у моделі $y = a + b\,t + P\sin 2\pi t + Q\cos 2\pi t$?
Скільки точок достатньо, щоб парабола $y = a + b\,x + c\,x^2$ пройшла через них точно (і не лишилося жодного контролю)?
МНК для кола дав $x_0 = 1$, $y_0 = 2$, $c = 4$. Чому дорівнює радіус $R$?
Скільки надлишкових вимірів лишається, коли многочлен степеня 11 підбирають за 12 точками?
Досі ми мовчки вважали всі виміри однаково точними і всі моделі — лінійними за параметрами. Реальна геодезична мережа порушує обидва припущення: довгий нівелірний хід гірший за короткий, а відстань між пунктами — нелінійна функція їхніх координат. У розділі 8 додамо ваги і навчимося розв'язувати нелінійні задачі методом Гаусса — Ньютона: лінеаризувати, розв'язати звичайний МНК, повторити.