Розділ 5

Матричний погляд і геометрія

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

5.1. Третій простір: простір спостережень

Проблема Нормальні рівняння $A^\mathsf{T}A\boldsymbol\theta = A^\mathsf{T}\mathbf y$ ми отримали через похідні. Вони працюють, але чому саме така формула? І як зрозуміти МНК, коли параметрів не два, а десять, і чашу вже не намалювати?

Досі ми бачили два простори. У просторі даних (осі $x$, $y$) кожна точка — один вимір. У просторі параметрів (осі $a$, $b$) кожна точка — ціла пряма. Тепер додамо третій.

Запишемо всі виміряні $y_i$ в один стовпчик $\mathbf y = (y_1, y_2, y_3)$. Для трьох точок це вектор у тривимірному просторі, і весь набір даних стає однією точкою. Це простір спостережень. Будь-яка пряма з параметрами $a$, $b$ «передбачає» у точках $x_i$ значення $a + b\,x_i$, і це теж вектор:

$$A\boldsymbol\theta = a\begin{pmatrix}1\\1\\1\end{pmatrix} + b\begin{pmatrix}x_1\\x_2\\x_3\end{pmatrix}.$$

Це «погляд на систему по стовпчиках», який ми бачили в подробицях розділу 1. Усі можливі передбачення — це всі комбінації двох векторів-стовпців, тобто площина через початок координат. Якщо $\mathbf y$ лежить у ній, система сумісна. Шум виштовхує $\mathbf y$ з площини, і задача МНК стає геометричною:

МНК одним реченням Знайти в площині стовпців $A$ точку, найближчу до $\mathbf y$. Відстань між ними — це $\sqrt{S}$, бо $|\mathbf y - A\boldsymbol\theta|^2 = \sum (y_i - a - b\,x_i)^2 = S$.

5.2. Проєкція в тривимірній сцені

Вектор $\mathbf y$, площина стовпців і нев'язка

Обертайте сцену пальцем чи мишею. Повзунки $a$ і $b$ рухають синю точку $A\boldsymbol\theta$ по площині. Зелена точка — найближча точка площини $\hat{\mathbf y}$. Точки ліворуч можна перетягувати: так змінюються і $\mathbf y$, і сама площина.

Погравшись, зверніть увагу на кілька речей.

Запишемо умову перпендикулярності формулою. Нев'язка ортогональна кожному стовпцю $A$:

$$A^\mathsf{T}\bigl(\mathbf y - A\hat{\boldsymbol\theta}\bigr) = \mathbf 0 \quad\Longleftrightarrow\quad A^\mathsf{T}A\,\hat{\boldsymbol\theta} = A^\mathsf{T}\mathbf y.$$

Це нормальні рівняння, отримані в один рядок. Той самий результат, що й у розділі 4, але тепер зрозуміло, чому він такий.

5.3. Піфагор і коефіцієнт детермінації

Прямий кут дає теорему Піфагора. Вектори $\hat{\mathbf y}$ і $\mathbf r$ перпендикулярні, тому

$$|\mathbf y|^2 = |\hat{\mathbf y}|^2 + |\mathbf r|^2.$$

Для наших трьох точок $9 = 8\tfrac56 + \tfrac16$. Цікавіша версія тієї самої теореми виходить, якщо спершу відняти від усіх $y_i$ середнє $\bar y$. Оскільки модель має вільний член, вектор $\mathbf 1$ лежить у площині, і розклад зберігається:

$$\underbrace{\sum (y_i - \bar y)^2}_{\text{увесь розкид}} = \underbrace{\sum (\hat y_i - \bar y)^2}_{\text{пояснений моделлю}} + \underbrace{\sum r_i^2}_{\text{залишковий}}.$$

Частку поясненого розкиду називають коефіцієнтом детермінації:

$$R^2 = 1 - \frac{\sum r_i^2}{\sum (y_i - \bar y)^2}.$$

Геометрично $R^2 = \cos^2\varphi$, де $\varphi$ — кут між центрованим вектором вимірів і центрованим вектором передбачень. Для наших трьох точок $R^2 = 1 - \tfrac{1/6}{2/3} = 0{,}75$: пряма пояснює три чверті розкиду $y$. Для прямої $R^2$ збігається з квадратом звичайного коефіцієнта кореляції між $x$ і $y$. Кореляція — це косинус кута між центрованими векторами.

5.4. Матриця проєкції

Проєкція — лінійна операція: $\hat{\mathbf y}$ виходить з $\mathbf y$ множенням на матрицю. Підставимо розв'язок нормальних рівнянь:

$$\hat{\mathbf y} = A\hat{\boldsymbol\theta} = \underbrace{A\bigl(A^\mathsf{T}A\bigr)^{-1}A^\mathsf{T}}_{P}\,\mathbf y.$$

Матриця $P$ залежить лише від $x_i$, не від $y_i$. У статистиці її називають hat matrix, бо вона «надягає капелюшок» на $\mathbf y$. Нижче вона порахована для точок з інтерактиву вище. Посуньте їх і подивіться, як вона зміниться.

Матриця $P$ для поточних точок

Діагональ $P$ — «важіль» кожної точки (leverage):

5.5. Будь-яка кількість вимірів і параметрів

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

3 точки, пряма$n$ вимірів, $k$ параметрів
вектор вимірів $\mathbf y$точка в $\mathbb R^3$точка в $\mathbb R^n$
усі передбачення $A\boldsymbol\theta$площина (2 виміри)підпростір розмірності $k$
нев'язка $\mathbf r$пряма, перпендикулярна площиніживе в $(n - k)$-вимірному доповненні
умова мінімуму$\mathbf r \perp \mathbf 1,\ \mathbf r \perp \mathbf x$$\mathbf r \perp$ кожного стовпця: $A^\mathsf{T}\mathbf r = \mathbf 0$

Число $n - k$ ми вже зустрічали: у розділі 1 це була кількість надлишкових вимірів $r$. Тепер у нього є геометричний сенс. Це розмірність простору, в якому «живуть» нев'язки, тобто кількість незалежних напрямків, у яких шум може відхилити виміри від моделі.

5.6. Геодезія: два боки однієї проєкції

Повернемося до нівелірної мережі Rp–B–C з розділу 4. Три виміряні перевищення — вектор $\mathbf h = (h_1, h_2, h_3)$ у тривимірному просторі. Безпомилкові перевищення мусять задовольняти умову $h_1 + h_2 - h_3 = 0$ (обійшли трикутник, повернулися в ту саму точку). Усі такі вектори утворюють площину.

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

$$w = \mathbf c^\mathsf{T}\mathbf h = h_1 + h_2 - h_3 = -6\ \text{мм},\qquad \mathbf v = -\frac{w}{\mathbf c^\mathsf{T}\mathbf c}\,\mathbf c = -\frac{-6}{3}\begin{pmatrix}1\\1\\-1\end{pmatrix} = \begin{pmatrix}+2\\+2\\-2\end{pmatrix}\ \text{мм}.$$

Ті самі поправки, що й у розділі 4, але отримані без жодних невідомих висот. Параметричний спосіб проєктує на площину (невідомих $k$), корелатний проєктує на перпендикуляр до неї (умов $n - k$). Геодезисти обирали той, у якому менше рівнянь. Коли пунктів багато, а надлишкових вимірів мало, умовний спосіб вимагав розв'язувати значно меншу систему, а в епоху ручних обчислень це вирішувало все.

5.7. Геометрія лінійної регресії

Зв'язок з ML
🔍 Хочете більше подробиць? Доведення без похідних, властивості P, чотири підпростори, ступені свободи

Чому основа перпендикуляра — найближча точка

Нехай $\hat{\mathbf y} = A\hat{\boldsymbol\theta}$ і $\mathbf r = \mathbf y - \hat{\mathbf y} \perp$ площини. Для будь-якої іншої точки площини $A\boldsymbol\theta$ вектор $\hat{\mathbf y} - A\boldsymbol\theta$ лежить у площині, отже, перпендикулярний $\mathbf r$. За Піфагором

$$|\mathbf y - A\boldsymbol\theta|^2 = |\mathbf r|^2 + |\hat{\mathbf y} - A\boldsymbol\theta|^2 \;\ge\; |\mathbf r|^2,$$

і рівність лише при $A\boldsymbol\theta = \hat{\mathbf y}$. Це повне доведення мінімальності без жодної похідної. Воно ж пояснює формулу з розділу 3: $S(\boldsymbol\theta) = S_{\min} + (\boldsymbol\theta - \hat{\boldsymbol\theta})^\mathsf{T}A^\mathsf{T}A(\boldsymbol\theta - \hat{\boldsymbol\theta})$, бо $|A(\boldsymbol\theta - \hat{\boldsymbol\theta})|^2$ — це другий доданок. Цю тотожність показує й інтерактив («Піфагор» у таблиці).

Властивості матриці проєкції

  • $P^2 = P$ (ідемпотентність) і $P^\mathsf{T} = P$ (симетричність). Ці дві властивості повністю характеризують ортогональні проєктори.
  • $I - P$ — теж проєктор, на ортогональне доповнення: $\mathbf r = (I - P)\mathbf y$.
  • Власні числа $P$ дорівнюють лише 0 або 1: одиниці відповідають напрямкам у площині, нулі — перпендикулярним. Тому $\operatorname{tr} P = k$.
  • $0 \le P_{ii} \le 1$, і сума важелів дорівнює $k$. Середній важіль дорівнює $k/n$. Точки з важелем, значно більшим за середній, варто перевіряти окремо.

Чотири підпростори

Для матриці $A$ розміром $n\times k$ простір $\mathbb R^n$ розпадається на два перпендикулярні підпростори: простір стовпців (розмірність $k$, тут живуть $\hat{\mathbf y}$) і лівий нуль-простір $\{\mathbf z : A^\mathsf{T}\mathbf z = \mathbf 0\}$ (розмірність $n - k$, тут живуть нев'язки). Базис лівого нуль-простору — якраз коефіцієнти умовних рівнянь геодезії. Для нівелірної мережі це один вектор $\mathbf c = (1, 1, -1)$: перевірте, що $A^\mathsf{T}\mathbf c = \mathbf 0$ для $A$ з розділу 4.

Ступені свободи й оцінка шуму

Якщо кожен вимір має випадкову похибку з дисперсією $\sigma^2$, то нев'язки «бачать» лише $n - k$ вимірів шуму: решта $k$ напрямків поглинула модель. Звідси $\mathbb E\,|\mathbf r|^2 = (n - k)\,\sigma^2$, а незміщена оцінка дисперсії —

$$\hat\sigma^2 = \frac{|\mathbf r|^2}{n - k}.$$

Саме тому в геодезії середню квадратичну похибку одиниці ваги рахують діленням на кількість надлишкових вимірів, а не на $n$. Докладно — у розділі 9.

Якщо стовпці залежні

Проєкція $\hat{\mathbf y}$ єдина завжди: найближча точка площини одна, хоч як площину натягнуто. Але якщо стовпці $A$ лінійно залежні, то одну й ту саму точку площини дають різні $\boldsymbol\theta$, і параметри визначені неоднозначно. Передбачення модель зробить, а параметрам вірити не можна. Серед усіх розв'язків зазвичай обирають той, що має найменшу довжину; його дає псевдообернена матриця (розділ 6).

5.8. Код

Python: проєкція, перевірка $A^\mathsf{T}\mathbf r = \mathbf 0$ і теореми Піфагора, матриця $P$ з її властивостями, важелі, $R^2$. JavaScript: проєкція на площину двох векторів «вручну» і нівелірна мережа, розв'язана корелатним способом.

5.9. Перевірте себе

Для точок $(1;1)$, $(2;2)$, $(3;2)$: $|\mathbf y|^2 = 9$, $|\hat{\mathbf y}|^2 = 8\tfrac56$. Чому дорівнює $|\mathbf r|^2$?

Пряму проводять через 10 точок. Яка розмірність підпростору, в якому лежать нев'язки?

Чому дорівнює слід матриці $P$ для параболи $y = a + b\,x + c\,x^2$ (за будь-якою кількістю точок, більшою за 3)?

У мережі Rp–B–C нев'язка $h_1 + h_2 - h_3 = +9$ мм. Яка поправка до $h_1$ (у мм)?

Далі: як це рахує комп'ютер

Формулу $\hat{\boldsymbol\theta} = (A^\mathsf{T}A)^{-1}A^\mathsf{T}\mathbf y$ легко написати, але в програмах її майже ніколи не обчислюють буквально. Геометрія підказує кращий шлях: якщо спершу зробити стовпці $A$ взаємно перпендикулярними, проєкція рахується тривіально. Це QR-розклад. А ще загальніший інструмент — SVD. У розділі 6 ми запрограмуємо МНК «як слід» і побачимо, чому $A^\mathsf{T}A$ може підвести.