Мета статті — надання підтримки датасайнтистам-початківцям. У
Чому має сенс приділити підвищену увагу до формули ?
Саме з матричного рівняння здебільшого починається знайомство з лінійною регресією. При цьому докладні викладки того, як формулу було виведено, зустрічаються рідко.
Наприклад, на курсах з машинного навчання від Яндекса, коли слухачів знайомлять із регуляризацією, то пропонують скористатися функціями з бібліотеки sklearn, при цьому жодного слова не згадується про матричне представлення алгоритму. Саме в цей момент у деяких слухачів може з'явитися бажання розібратися з цього питання докладніше — написати код без використання готових функцій. А для цього треба спочатку уявити рівняння з регуляризатором у матричному вигляді. Ця стаття, якраз, дозволить охочим опанувати такі вміння. Приступимо.
Вихідні умови
Цільові показники
У нас є низка значень цільового показника. Наприклад, цільовим показником може бути ціна на будь-який актив: нафту, золото, пшеницю, долар тощо. При цьому під рядом значень цільового показника ми розуміємо кількість спостережень. Такими спостереженнями можуть бути, наприклад, щомісячні ціни на нафту за рік, тобто ми матимемо 12 значень цільового показника. Почнемо вводити позначення. Позначимо кожне значення цільового показника як . Усього ми маємо спостережень, а значить можна уявити наші спостереження як .
Регресори
Вважатимемо, що існують фактори, які до певної міри пояснюють значення цільового показника. Наприклад, на курс пари долар/рубль дуже впливає ціна на нафту, ставка ФРС та ін. Такі фактори називаються регресорами. При цьому кожному значенню цільового показника має відповідати значення регресора, тобто якщо у нас є 12 цільових показників за кожен місяць у 2018 році, то і значень регресорів у нас теж має бути 12 за той же період. Позначимо значення кожного регресора через . Нехай у нашому випадку є регресорів (тобто. факторів, що впливають на значення цільового показника). Отже наші регресори можна представити так: для одного регресора (наприклад, ціна на нафту): , для 2-го регресора (наприклад, ставка ФРС): , для «-го» регресора:
Залежність цільових показників від регресорів
Припустимо, що залежність цільового показника від регресорів «-го» спостереження може бути виражена через рівняння лінійної регресії виду:
, Де - "-ое значення регресора від 1 до ,
- кількість регресорів від 1 до
- Кутові коефіцієнти, які представляють величину, на яку зміниться розрахунковий цільовий показник в середньому при зміні регресора.
Іншими словами, ми для кожного (за винятком ) регресора визначаємо «свій» коефіцієнт потім перемножуємо коефіцієнти на значення регресорів «-го» спостереження, в результаті отримуємо якесь наближення «-го» цільового показника
Отже, нам потрібно підібрати такі коефіцієнти , при яких значення нашої функції, що апроксимує будуть розташовані максимально близько до значень цільових показників.
Оцінка якості апроксимуючої функції
Визначатимемо оцінку якості апроксимуючої функції методом найменших квадратів. Функція оцінки якості в такому випадку набуде наступного вигляду:
Нам потрібно підібрати такі значення коефіцієнтів $w$, при яких значення буде найменшим.
Перекладаємо рівняння в матричний вигляд
Векторна вистава
Для початку, щоб полегшити собі життя, слід звернути увагу на рівняння лінійної регресії та помітити, що перший коефіцієнт не множиться на жодний регресор. При цьому, коли ми переведемо дані в матричний вигляд, вищезазначена обставина серйозно ускладнюватиме розрахунки. У зв'язку з цим пропонується ввести ще один регресор для першого коефіцієнта та прирівняти його одиниці. Вірніше, кожне «-ое значення цього регресора прирівняти одиниці - адже при множенні на одиницю у нас з точки зору результату обчислень нічого не зміниться, а з точки зору правил твору матриць, істотно скоротяться наші муки.
Тепер, на деякий час, з метою спрощення матеріалу, припустимо, що в нас лише одне-е» спостереження. Тоді, представимо значення регресорів «-ого» спостереження як вектор . Вектор має розмірність , Тобто рядків та 1 стовпець:
Шукані коефіцієнти представимо у вигляді вектора , що має розмірність :
Рівняння лінійної регресії для «-го» спостереження набуде вигляду:
Функція оцінки якості лінійної моделі набуде вигляду:
Звернемо увагу, що відповідно до правил множення матриць, нам потрібно транспонувати вектор .
Матрична вистава
В результаті множення векторів ми отримаємо число: , Що й слід було чекати. Це число і є наближення.-го» цільового показника Але нам потрібно наближення не одного значення цільового показника, а всіх. Для цього запишемо все-і» регресори у форматі матриці . Отримана матриця має розмірність :
Тепер рівняння лінійної регресії набуде вигляду:
Позначимо значення цільових показників (усі ) за вектор розмірністю :
Тепер ми можемо записати в матричному форматі рівняння оцінки якості лінійної моделі:
Власне, з цієї формули далі одержують відому нам формулу.
Як це робиться? Розкриваються дужки, проводиться диференціювання, перетворюються отримані висловлювання і т.д., і саме ми зараз і займемося.
Матричні перетворення
Розкриємо дужки
Підготуємо рівняння для диференціювання
І тому проведемо деякі перетворення. У наступних розрахунках нам буде зручніше, якщо вектор буде представлено на початку кожного твору в рівнянні.
Перетворення 1
Як це вийшло? Для відповіді на це питання достатньо подивитися на розміри матриць, що збільшуються, і побачити, що на виході ми отримуємо число або інакше .
Запишемо розміри матричних виразів.
Перетворення 2
Розпишемо аналогічно до перетворення 1
На виході отримуємо рівняння, яке ми маємо продиференціювати:
Диференціюємо функцію оцінки якості моделі
Продиференціюємо по вектору :
Питання чому бути не повинно, а от операції з визначення похідних у двох інших виразах ми розберемо докладніше.
Диференціювання 1
Розкриємо диференціювання:
Щоб визначити похідну від матриці чи вектора потрібно подивитися, що вони там усередині. Дивимося:
Позначимо добуток матриць через матрицю . Матриця квадратна і більше, вона симетрична. Ці властивості нам знадобляться далі, запам'ятаємо їх. Матриця має розмірність :
Тепер наше завдання правильно перемножити вектор на матрицю і не отримати «двічі два п'ять», тому зосередимося і будемо уважні.
Проте, хитромудрий вираз у нас вийшло! Насправді ми отримали число – скаляр. І тепер уже по-справжньому переходимо до диференціювання. Необхідно знайти похідну отриманого виразу по кожному коефіцієнту та отримати на виході вектор розмірності . Про всяк випадок розпишу процедури щодо дій:
1) продиференціюємо по , Отримаємо:
2) продиференціюємо по , Отримаємо:
3) продиференціюємо по , Отримаємо:
На виході обіцяний вектор розміром :
Якщо придивитися до вектора уважніше, можна помітити, що ліві і відповідні праві елементи вектора можна згрупувати в такий спосіб, що у результаті представленого вектора можна виділити вектор розміру . наприклад, (лівий елемент верхнього рядка вектора) (правий елемент верхнього рядка вектора) можна представити як , а - як і т.д. по кожному рядку. Згрупуємо:
Винесемо вектор і на виході отримаємо:
Тепер, придивимося до матриці, що вийшла. Матриця є сумою двох матриць :
Згадаймо, що раніше, ми відзначили одну важливу властивість матриці - Вона симетрична. Виходячи з цієї властивості, ми можемо з упевненістю заявити, що вираз дорівнює . Це легко перевірити, розкривши поелементно твір матриць . Ми не робитимемо цього тут, бажаючі можуть провести перевірку самостійно.
Повернемося до нашого виразу. Після наших перетворень воно вийшло таким, яким ми й хотіли його побачити:
Отже, з першим диференціюванням ми впоралися. Переходимо до другого виразу.
Диференціювання 2
Ходімо протоптаною доріжкою. Вона буде набагато коротша за попередню, так що не йдіть далеко від екрану.
Розкриємо поелементно вектора та матрицю:
На якийсь час приберемо з розрахунків двійку — вона великої ролі не грає, потім повернемо її на місце. Перемножимо вектор на матрицю. Насамперед помножимо матрицю на вектор , тут у нас немає жодних обмежень. Отримаємо вектор розміру :
Виконаємо таку дію - помножимо вектор на отриманий вектор. На виході на нас чекатиме число:
Його ми і продиференціюємо. На виході отримаємо вектор розмірності :
Щось нагадує? Все вірно! Це твір матриці на вектор .
Таким чином, друге диференціювання успішно завершено.
Замість висновку
Тепер ми знаємо, як вийшла рівність .
Насамкінець опишемо швидкий шлях перетворень основних формул.
Оцінимо якість моделі відповідно до методу найменших квадратів:
Диференціюємо отриманий вираз:
література
Інтернет джерела:
1)
2)
3)
4)
Підручники, збірники завдань:
1) Конспект лекцій з вищої математики: повний курс/Д.Т. Письмовий - 4-те вид. - М.: Айріс-прес, 2006
2) Прикладний регресійний аналіз / Н. Дрейпер, Г. Сміт - 2-ге вид. - М.: Фінанси та статистика, 1986 (переклад з англійської)
3) Завдання на розв'язання матричних рівнянь:
Джерело: habr.com