Розділ 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. Конструктор моделі

Зберіть модель з базисних функцій

Оберіть набір даних і вмикайте функції. Кожна галочка — ще один стовпець матриці $A$ і ще один параметр.

Дані:

Перші рядки матриці $A$:

Спробуйте й зайве: додайте до м'яча $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$ входять лінійно:

Коло через виміряні точки

Тягніть точки. Червоні відрізки — відхилення кожної точки від кола вздовж радіуса.

Застереження: перетворення змінює критерій Логарифмуючи $y$ чи розкриваючи дужки, ми мінімізуємо суму квадратів уже іншої величини: не відхилень $y$, а відхилень $\ln y$; не відстаней до кола, а різниць $x^2 + y^2$. Для точних даних відповідь та сама, для зашумлених трохи інша. Часто цього досить, або ж такий розв'язок стає добрим стартом для точного нелінійного МНК (розділ 8).

7.4. Перенавчання

Якщо додати параметр ніколи не шкодить сумі квадратів (розділ 5: підпростір лише розширюється), чому б не взяти многочлен дуже високого степеня? Перевіримо. Є 12 навчальних точок (чорні) і 80 нових точок (помаранчеві кружечки), яких модель під час підбору не бачила. Вони з тієї самої залежності й з тим самим шумом.

Многочлен степеня $d$ через 12 точок

Збільшуйте степінь і стежте за обома кривими на графіку помилки. «Нові дані» — інша вибірка з тієї самої залежності.

Картина, яку ви бачите, — одна з найважливіших у машинному навчанні.

Звідси практичне правило, яке годиться і для геодезиста, і для аналітика даних: якість моделі перевіряють не на тих даних, на яких її підбирали. А кількість параметрів має бути значно меншою за кількість вимірів. Згадайте надлишкові виміри $r = n - k$ з розділу 1: за $d = 11$ їх нуль, і контролю не лишається жодного.

7.5. Геодезія: криві доріг, тунелі, рух станцій

7.6. Ознаки, базиси й компроміс зсуву та дисперсії

Зв'язок з ML
🔍 Хочете більше подробиць? Вандермонд, ортогональні многочлени, Рунге, Фур'є, метод Каси

Матриця Вандермонда і чому ми масштабуємо 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 додамо ваги і навчимося розв'язувати нелінійні задачі методом Гаусса — Ньютона: лінеаризувати, розв'язати звичайний МНК, повторити.