Есть датасет, состоящий из n записей.
Каждая j-я запись имеет p факторов xj,1,xj,2,…,xj,p и одно значение целевой переменной yj.
Нужно составить такую линейную функцию y=aT⋅x+b+ε
Давайте для начала соберём все наши регрессоры (наблюдения и значения факторов для каждого наблюдения)
в одну матрицу X, добавив к ней единичный столбец для учёта свободного члена.
Также соберём все значения целевой переменной в один вектор
y=(y1,y2,y3,…,yp)T
Задача линейной регрессии свелась к нахождению вектора коэффициентов a=(a0,a1,a2,…,ap)T,
который обеспечивает минимальность остатка ε
y=X⋅a+ε
Давайте решим эту задачу.
Минимальность остатка ε мы будем мерить
с помощью функции потерь RSS — сумма квадратов остатков
RSS(ε)=j=1∑nεj2=εT⋅ε
Остаток у нас выражается через уравнение регрессии ε=y−X⋅a
Нам нужно, чтобы функция потерь была минимальна, то есть мы решаем задачу оптимизации
aargminRSS(ε)=aargmin(y−X⋅a)T⋅(y−X⋅a)
Чтобы найти минимум функции RSS(ε), найдём градиент по ε и приравняем его к 0
∇RSS(ε)=0
Раскроем скобки и приведём подобные слагаемые в выражении для RSS(ε)
(y−X⋅a)T⋅(y−X⋅a)=yT⋅y−2⋅aT⋅XT⋅y+aT⋅XT⋅X⋅a
Тогда ∇RSS(ε)=−2⋅XT⋅y+2⋅XT⋅X⋅a=0.
Мы получили систему уравнений XT⋅X⋅a=XT⋅y.
Решением этой системы является
a=(XT⋅X)−1⋅XT⋅y
Чтобы убедиться в том, что это действительно минимум функции потерь, нам надо вычислить гессиан функции потерь.
У нас HRSS(ε)=2⋅XT⋅X.
Матрица XT⋅X положительно полуопределена, ведь для любого вектора v имеет
место неравенство vT⋅XT⋅X⋅v=∥X⋅v∥⩾0.
А значит и гессиан положительно полуопределён, то есть найденная точка действительно минимум.
Давайте центрируем все признаки.
Тогда матрица XT⋅X с точностью до константы становится ковариационной матрицей факторов