Наводимо рівняння лінійної регресії у матричний вигляд

Наводимо рівняння лінійної регресії у матричний вигляд

Мета статті — надання підтримки датасайнтистам-початківцям. У попередній статті ми на пальцях розібрали три способи розв'язання рівняння лінійної регресії: аналітичне рішення, градієнтний спуск, стохастичний градієнтний спуск. Тоді для аналітичного рішення ми застосували формулу Наводимо рівняння лінійної регресії у матричний вигляд. У цій статті, як випливає із заголовка, ми обґрунтуємо застосування цієї формули або іншими словами, самостійно її виведемо.

Чому має сенс приділити підвищену увагу до формули Наводимо рівняння лінійної регресії у матричний вигляд?

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

Наприклад, на курсах з машинного навчання від Яндекса, коли слухачів знайомлять із регуляризацією, то пропонують скористатися функціями з бібліотеки sklearn, при цьому жодного слова не згадується про матричне представлення алгоритму. Саме в цей момент у деяких слухачів може з'явитися бажання розібратися з цього питання докладніше — написати код без використання готових функцій. А для цього треба спочатку уявити рівняння з регуляризатором у матричному вигляді. Ця стаття, якраз, дозволить охочим опанувати такі вміння. Приступимо.

Вихідні умови

Цільові показники

У нас є низка значень цільового показника. Наприклад, цільовим показником може бути ціна на будь-який актив: нафту, золото, пшеницю, долар тощо. При цьому під рядом значень цільового показника ми розуміємо кількість спостережень. Такими спостереженнями можуть бути, наприклад, щомісячні ціни на нафту за рік, тобто ми матимемо 12 значень цільового показника. Почнемо вводити позначення. Позначимо кожне значення цільового показника як Наводимо рівняння лінійної регресії у матричний вигляд. Усього ми маємо Наводимо рівняння лінійної регресії у матричний вигляд спостережень, а значить можна уявити наші спостереження як Наводимо рівняння лінійної регресії у матричний вигляд.

Регресори

Вважатимемо, що існують фактори, які до певної міри пояснюють значення цільового показника. Наприклад, на курс пари долар/рубль дуже впливає ціна на нафту, ставка ФРС та ін. Такі фактори називаються регресорами. При цьому кожному значенню цільового показника має відповідати значення регресора, тобто якщо у нас є 12 цільових показників за кожен місяць у 2018 році, то і значень регресорів у нас теж має бути 12 за той же період. Позначимо значення кожного регресора через Наводимо рівняння лінійної регресії у матричний вигляд. Нехай у нашому випадку є Наводимо рівняння лінійної регресії у матричний вигляд регресорів (тобто. Наводимо рівняння лінійної регресії у матричний вигляд факторів, що впливають на значення цільового показника). Отже наші регресори можна представити так: для одного регресора (наприклад, ціна на нафту): Наводимо рівняння лінійної регресії у матричний вигляд, для 2-го регресора (наприклад, ставка ФРС): Наводимо рівняння лінійної регресії у матричний вигляд, для «Наводимо рівняння лінійної регресії у матричний вигляд-го» регресора: Наводимо рівняння лінійної регресії у матричний вигляд

Залежність цільових показників від регресорів

Припустимо, що залежність цільового показника Наводимо рівняння лінійної регресії у матричний вигляд від регресорів «Наводимо рівняння лінійної регресії у матричний вигляд-го» спостереження може бути виражена через рівняння лінійної регресії виду:

Наводимо рівняння лінійної регресії у матричний вигляд

, Де Наводимо рівняння лінійної регресії у матричний вигляд - "Наводимо рівняння лінійної регресії у матричний вигляд-ое значення регресора від 1 до Наводимо рівняння лінійної регресії у матричний вигляд,

Наводимо рівняння лінійної регресії у матричний вигляд - кількість регресорів від 1 до Наводимо рівняння лінійної регресії у матричний вигляд

Наводимо рівняння лінійної регресії у матричний вигляд - Кутові коефіцієнти, які представляють величину, на яку зміниться розрахунковий цільовий показник в середньому при зміні регресора.

Іншими словами, ми для кожного (за винятком Наводимо рівняння лінійної регресії у матричний вигляд) регресора визначаємо «свій» коефіцієнт Наводимо рівняння лінійної регресії у матричний виглядпотім перемножуємо коефіцієнти на значення регресорів «Наводимо рівняння лінійної регресії у матричний вигляд-го» спостереження, в результаті отримуємо якесь наближення «Наводимо рівняння лінійної регресії у матричний вигляд-го» цільового показника

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

Оцінка якості апроксимуючої функції

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

Наводимо рівняння лінійної регресії у матричний вигляд

Нам потрібно підібрати такі значення коефіцієнтів $w$, при яких значення Наводимо рівняння лінійної регресії у матричний вигляд буде найменшим.

Перекладаємо рівняння в матричний вигляд

Векторна вистава

Для початку, щоб полегшити собі життя, слід звернути увагу на рівняння лінійної регресії та помітити, що перший коефіцієнт Наводимо рівняння лінійної регресії у матричний вигляд не множиться на жодний регресор. При цьому, коли ми переведемо дані в матричний вигляд, вищезазначена обставина серйозно ускладнюватиме розрахунки. У зв'язку з цим пропонується ввести ще один регресор для першого коефіцієнта Наводимо рівняння лінійної регресії у матричний вигляд та прирівняти його одиниці. Вірніше, кожне «Наводимо рівняння лінійної регресії у матричний вигляд-ое значення цього регресора прирівняти одиниці - адже при множенні на одиницю у нас з точки зору результату обчислень нічого не зміниться, а з точки зору правил твору матриць, істотно скоротяться наші муки.

Тепер, на деякий час, з метою спрощення матеріалу, припустимо, що в нас лише однеНаводимо рівняння лінійної регресії у матричний вигляд-е» спостереження. Тоді, представимо значення регресорів «Наводимо рівняння лінійної регресії у матричний вигляд-ого» спостереження як вектор Наводимо рівняння лінійної регресії у матричний вигляд. Вектор Наводимо рівняння лінійної регресії у матричний вигляд має розмірність Наводимо рівняння лінійної регресії у матричний вигляд, Тобто Наводимо рівняння лінійної регресії у матричний вигляд рядків та 1 стовпець:

Наводимо рівняння лінійної регресії у матричний вигляд

Шукані коефіцієнти представимо у вигляді вектора Наводимо рівняння лінійної регресії у матричний вигляд, що має розмірність Наводимо рівняння лінійної регресії у матричний вигляд:

Наводимо рівняння лінійної регресії у матричний вигляд

Рівняння лінійної регресії для «Наводимо рівняння лінійної регресії у матричний вигляд-го» спостереження набуде вигляду:

Наводимо рівняння лінійної регресії у матричний вигляд

Функція оцінки якості лінійної моделі набуде вигляду:

Наводимо рівняння лінійної регресії у матричний вигляд

Звернемо увагу, що відповідно до правил множення матриць, нам потрібно транспонувати вектор Наводимо рівняння лінійної регресії у матричний вигляд.

Матрична вистава

В результаті множення векторів ми отримаємо число: Наводимо рівняння лінійної регресії у матричний вигляд, Що й слід було чекати. Це число і є наближення.Наводимо рівняння лінійної регресії у матричний вигляд-го» цільового показника Але нам потрібно наближення не одного значення цільового показника, а всіх. Для цього запишемо всеНаводимо рівняння лінійної регресії у матричний вигляд-і» регресори у форматі матриці Наводимо рівняння лінійної регресії у матричний вигляд. Отримана матриця має розмірність Наводимо рівняння лінійної регресії у матричний вигляд:

Наводимо рівняння лінійної регресії у матричний вигляд

Тепер рівняння лінійної регресії набуде вигляду:

Наводимо рівняння лінійної регресії у матричний вигляд

Позначимо значення цільових показників (усі Наводимо рівняння лінійної регресії у матричний вигляд) за вектор Наводимо рівняння лінійної регресії у матричний вигляд розмірністю Наводимо рівняння лінійної регресії у матричний вигляд:

Наводимо рівняння лінійної регресії у матричний вигляд

Тепер ми можемо записати в матричному форматі рівняння оцінки якості лінійної моделі:

Наводимо рівняння лінійної регресії у матричний вигляд

Власне, з цієї формули далі одержують відому нам формулу. Наводимо рівняння лінійної регресії у матричний вигляд

Як це робиться? Розкриваються дужки, проводиться диференціювання, перетворюються отримані висловлювання і т.д., і саме ми зараз і займемося.

Матричні перетворення

Розкриємо дужки

Наводимо рівняння лінійної регресії у матричний вигляд

Наводимо рівняння лінійної регресії у матричний вигляд

Підготуємо рівняння для диференціювання

І тому проведемо деякі перетворення. У наступних розрахунках нам буде зручніше, якщо вектор Наводимо рівняння лінійної регресії у матричний вигляд буде представлено на початку кожного твору в рівнянні.

Перетворення 1

Наводимо рівняння лінійної регресії у матричний вигляд

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

Запишемо розміри матричних виразів.

Наводимо рівняння лінійної регресії у матричний вигляд

Наводимо рівняння лінійної регресії у матричний вигляд

Наводимо рівняння лінійної регресії у матричний вигляд

Перетворення 2

Наводимо рівняння лінійної регресії у матричний вигляд

Розпишемо аналогічно до перетворення 1

Наводимо рівняння лінійної регресії у матричний вигляд

Наводимо рівняння лінійної регресії у матричний вигляд

На виході отримуємо рівняння, яке ми маємо продиференціювати:
Наводимо рівняння лінійної регресії у матричний вигляд

Диференціюємо функцію оцінки якості моделі

Продиференціюємо по вектору Наводимо рівняння лінійної регресії у матричний вигляд:

Наводимо рівняння лінійної регресії у матричний вигляд

Наводимо рівняння лінійної регресії у матричний вигляд

Наводимо рівняння лінійної регресії у матричний вигляд

Наводимо рівняння лінійної регресії у матричний вигляд

Питання чому Наводимо рівняння лінійної регресії у матричний вигляд бути не повинно, а от операції з визначення похідних у двох інших виразах ми розберемо докладніше.

Диференціювання 1

Розкриємо диференціювання: Наводимо рівняння лінійної регресії у матричний вигляд

Щоб визначити похідну від матриці чи вектора потрібно подивитися, що вони там усередині. Дивимося:

Наводимо рівняння лінійної регресії у матричний вигляд

Наводимо рівняння лінійної регресії у матричний вигляд

Наводимо рівняння лінійної регресії у матричний вигляд Наводимо рівняння лінійної регресії у матричний вигляд

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

Наводимо рівняння лінійної регресії у матричний вигляд

Тепер наше завдання правильно перемножити вектор на матрицю і не отримати «двічі два п'ять», тому зосередимося і будемо уважні.

Наводимо рівняння лінійної регресії у матричний вигляд

Наводимо рівняння лінійної регресії у матричний вигляд

Наводимо рівняння лінійної регресії у матричний вигляд

Наводимо рівняння лінійної регресії у матричний вигляд

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

1) продиференціюємо по Наводимо рівняння лінійної регресії у матричний вигляд, Отримаємо: Наводимо рівняння лінійної регресії у матричний вигляд

2) продиференціюємо по Наводимо рівняння лінійної регресії у матричний вигляд, Отримаємо: Наводимо рівняння лінійної регресії у матричний вигляд

3) продиференціюємо по Наводимо рівняння лінійної регресії у матричний вигляд, Отримаємо: Наводимо рівняння лінійної регресії у матричний вигляд

На виході обіцяний вектор розміром Наводимо рівняння лінійної регресії у матричний вигляд:

Наводимо рівняння лінійної регресії у матричний вигляд

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

Наводимо рівняння лінійної регресії у матричний вигляд

Винесемо вектор Наводимо рівняння лінійної регресії у матричний вигляд і на виході отримаємо:

Наводимо рівняння лінійної регресії у матричний вигляд

Тепер, придивимося до матриці, що вийшла. Матриця є сумою двох матриць Наводимо рівняння лінійної регресії у матричний вигляд:

Наводимо рівняння лінійної регресії у матричний вигляд

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

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

Наводимо рівняння лінійної регресії у матричний вигляд

Отже, з першим диференціюванням ми впоралися. Переходимо до другого виразу.

Диференціювання 2

Наводимо рівняння лінійної регресії у матричний вигляд

Ходімо протоптаною доріжкою. Вона буде набагато коротша за попередню, так що не йдіть далеко від екрану.

Розкриємо поелементно вектора та матрицю:

Наводимо рівняння лінійної регресії у матричний вигляд

Наводимо рівняння лінійної регресії у матричний вигляд

Наводимо рівняння лінійної регресії у матричний вигляд

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

Наводимо рівняння лінійної регресії у матричний вигляд

Виконаємо таку дію - помножимо вектор Наводимо рівняння лінійної регресії у матричний вигляд на отриманий вектор. На виході на нас чекатиме число:

Наводимо рівняння лінійної регресії у матричний вигляд

Його ми і продиференціюємо. На виході отримаємо вектор розмірності Наводимо рівняння лінійної регресії у матричний вигляд:

Наводимо рівняння лінійної регресії у матричний вигляд

Щось нагадує? Все вірно! Це твір матриці Наводимо рівняння лінійної регресії у матричний вигляд на вектор Наводимо рівняння лінійної регресії у матричний вигляд.

Таким чином, друге диференціювання успішно завершено.

Замість висновку

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

Насамкінець опишемо швидкий шлях перетворень основних формул.

Оцінимо якість моделі відповідно до методу найменших квадратів:
Наводимо рівняння лінійної регресії у матричний вигляд

Наводимо рівняння лінійної регресії у матричний вигляд

Диференціюємо отриманий вираз:
Наводимо рівняння лінійної регресії у матричний вигляд Наводимо рівняння лінійної регресії у матричний вигляд

Наводимо рівняння лінійної регресії у матричний вигляд

література

Інтернет джерела:

1) habr.com/ua/post/278513
2) habr.com/ua/company/ods/blog/322076
3) habr.com/ua/post/307004
4) nabatchikov.com/blog/view/matrix_der

Підручники, збірники завдань:

1) Конспект лекцій з вищої математики: повний курс/Д.Т. Письмовий - 4-те вид. - М.: Айріс-прес, 2006
2) Прикладний регресійний аналіз / Н. Дрейпер, Г. Сміт - 2-ге вид. - М.: Фінанси та статистика, 1986 (переклад з англійської)
3) Завдання на розв'язання матричних рівнянь:
function-x.ru/matrix_equations.html
mathprofi.ru/deistviya_s_matricami.html


Джерело: habr.com

Додати коментар або відгук