Доводимо једначину линеарне регресије у матрични облик

Доводимо једначину линеарне регресије у матрични облик

Цель статьи — оказание поддержки начинающим датасайнтистам. В претходни чланак мы на пальцах разобрали три способа решения уравнения линейной регрессии: аналитическое решение, градиентный спуск, стохастический градиентный спуск. Тогда для аналитического решения мы применили формулу Доводимо једначину линеарне регресије у матрични облик. В этой статье, как следует из заголовка, мы обоснуем применение данной формулы или другими словами, самостоятельно ее выведем.

Почему имеет смысл уделить повышенное внимание к формуле Доводимо једначину линеарне регресије у матрични облик?

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

Например, на курсах по машинному обучению от Яндекса, когда слушателей знакомят с регуляризацией, то предлагают воспользоваться функциями из библиотеки склеарн, при этом ни слова не упоминается о матричном представлении алгоритма. Именно в этот момент у некоторых слушателей может появится желание разобраться в этом вопросе подробнее — написать код без использования готовых функций. А для этого, надо сначала представить уравнение с регуляризатором в матричном виде. Данная статья, как раз, позволит желающим овладеть такими умениями. Приступим.

Исходные условия

Целевые показатели

У нас имеется ряд значений целевого показателя. Например, целевым показателем может быть цена на какой-либо актив: нефть, золото, пшеница, доллар и т.д. При этом, под рядом значений целевого показателя мы понимаем количество наблюдений. Такими наблюдениями могут быть, например, ежемесячные цены на нефть за год, то есть у нас будет 12 значений целевого показателя. Начнем вводить обозначения. Обозначим каждое значение целевого показателя как Доводимо једначину линеарне регресије у матрични облик. Всего мы имеем Доводимо једначину линеарне регресије у матрични облик наблюдений, а значит можно представить наши наблюдения как Доводимо једначину линеарне регресије у матрични облик.

Регрессоры

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

Зависимость целевых показателей от регрессоров

Предположим, что зависимость целевого показателя Доводимо једначину линеарне регресије у матрични облик от регрессоров «Доводимо једначину линеарне регресије у матрични облик-го» наблюдения может быть выражена через уравнение линейной регрессии вида:

Доводимо једначину линеарне регресије у матрични облик

Где Доводимо једначину линеарне регресије у матрични облик - "Доводимо једначину линеарне регресије у матрични облик-ое» значение регрессора от 1 до Доводимо једначину линеарне регресије у матрични облик,

Доводимо једначину линеарне регресије у матрични облик — количество регрессоров от 1 до Доводимо једначину линеарне регресије у матрични облик

Доводимо једначину линеарне регресије у матрични облик — угловые коэффициенты, которые представляют величину, на которую изменится расчетный целевой показатель в среднем при изменении регрессора.

Другими словами, мы для каждого (за исключением Доводимо једначину линеарне регресије у матрични облик) регрессора определяем «свой» коэффициент Доводимо једначину линеарне регресије у матрични облик, затем перемножаем коэффициенты на значения регрессоров «Доводимо једначину линеарне регресије у матрични облик-го» наблюдения, в результате получаем некое приближение «Доводимо једначину линеарне регресије у матрични облик-го» целевого показателя.

Следовательно, нам нужно подобрать такие коэффициенты Доводимо једначину линеарне регресије у матрични облик, при которых значения нашей апроксимирующей функции Доводимо једначину линеарне регресије у матрични облик будут расположены максимально близко к значениям целевых показателей.

Оценка качества апроксиммирующей функции

Будем определять оценку качества апроксимирующей функции методом наименьших квадратов. Функция оценки качества в таком случае примет следующий вид:

Доводимо једначину линеарне регресије у матрични облик

Нам требуется подобрать такие значения коэффициентов $w$, при которых значение Доводимо једначину линеарне регресије у матрични облик будет наименьшим.

Переводим уравнение в матричный вид

Векторное представление

Для начала, чтобы облегчить себе жизнь, следует обратить внимание на уравнение линейной регрессии и заметить, что первый коэффициент Доводимо једначину линеарне регресије у матрични облик не умножается ни на один регрессор. При этом, когда мы переведем данные в матричный вид, вышеобозначенное обстоятельство будет серьезно осложнять расчеты. В этой связи предлагается ввести еще один регрессор для первого коэффициента Доводимо једначину линеарне регресије у матрични облик и приравнять его единице. Вернее, каждое «Доводимо једначину линеарне регресије у матрични облик-ое» значение этого регрессора приравнять единице — ведь при умножении на единицу у нас с точки зрения результата вычислений ничего не изменится, а с точки зрения правил произведения матриц, существенно сократятся наши мучения.

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

Доводимо једначину линеарне регресије у матрични облик

Искомые коэффициенты представим в виде вектора Доводимо једначину линеарне регресије у матрични облик, имеющего размерность Доводимо једначину линеарне регресије у матрични облик:

Доводимо једначину линеарне регресије у матрични облик

Уравнение линейной регрессии для «Доводимо једначину линеарне регресије у матрични облик-го» наблюдения примет вид:

Доводимо једначину линеарне регресије у матрични облик

Функция оценки качества линейной модели примет вид:

Доводимо једначину линеарне регресије у матрични облик

Обратим внимание, что в соответствии с правилами умножения матриц, нам потребовалось транспонировать вектор Доводимо једначину линеарне регресије у матрични облик.

Матричное представление

В результате умножения векторов, мы получим число: Доводимо једначину линеарне регресије у матрични облик, что и следовало ожидать. Это число и есть приближение «Доводимо једначину линеарне регресије у матрични облик-го» целевого показателя. Но нам-то нужно приближение не одного значения целевого показателя, а всех. Для этого запишем все «Доводимо једначину линеарне регресије у матрични облик-ые» регрессоры в формате матрицы Доводимо једначину линеарне регресије у матрични облик. Полученная матрица имеет размерность Доводимо једначину линеарне регресије у матрични облик:

Доводимо једначину линеарне регресије у матрични облик

Теперь уравнение линейной регрессии примет вид:

Доводимо једначину линеарне регресије у матрични облик

Обозначим значения целевых показателей (все Доводимо једначину линеарне регресије у матрични облик) за вектор Доводимо једначину линеарне регресије у матрични облик размерностью Доводимо једначину линеарне регресије у матрични облик:

Доводимо једначину линеарне регресије у матрични облик

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

Доводимо једначину линеарне регресије у матрични облик

Собственно, из этой формулы далее получают известную нам формулу Доводимо једначину линеарне регресије у матрични облик

Как это делается? Раскрываются скобки, проводится дифференцирование, преобразуются полученные выражения и т.д., и именно этим мы сейчас и займемся.

Матричные преобразования

Раскроем скобки

Доводимо једначину линеарне регресије у матрични облик

Доводимо једначину линеарне регресије у матрични облик

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

Для этого проведем некоторые преобразования. В последующих расчетах нам будет удобнее, если вектор Доводимо једначину линеарне регресије у матрични облик будет представлен в начале каждого произведения в уравнении.

Преобразование 1

Доводимо једначину линеарне регресије у матрични облик

Как это получилось? Для ответа на этот вопрос достаточно посмотреть на размеры умножаемых матриц и увидеть, что на выходе мы получаем число или иначе Доводимо једначину линеарне регресије у матрични облик.

Запишем размеры матричных выражений.

Доводимо једначину линеарне регресије у матрични облик

Доводимо једначину линеарне регресије у матрични облик

Доводимо једначину линеарне регресије у матрични облик

Преобразование 2

Доводимо једначину линеарне регресије у матрични облик

Распишем аналогично преобразованию 1

Доводимо једначину линеарне регресије у матрични облик

Доводимо једначину линеарне регресије у матрични облик

На выходе получаем уравнение, которое нам предстоит продифференцировать:
Доводимо једначину линеарне регресије у матрични облик

Дифференцируем функцию оценки качества модели

Продифференцируем по вектору Доводимо једначину линеарне регресије у матрични облик:

Доводимо једначину линеарне регресије у матрични облик

Доводимо једначину линеарне регресије у матрични облик

Доводимо једначину линеарне регресије у матрични облик

Доводимо једначину линеарне регресије у матрични облик

Вопросов почему Доводимо једначину линеарне регресије у матрични облик быть не должно, а вот операции по определению производных в двух других выражениях мы разберем подробнее.

Дифференцирование 1

Раскроем дифференцирование: Доводимо једначину линеарне регресије у матрични облик

Для того, чтобы определить производную от матрицы или вектора требуется посмотреть, что у них там внутри. Смотрим:

Доводимо једначину линеарне регресије у матрични облик

Доводимо једначину линеарне регресије у матрични облик

Доводимо једначину линеарне регресије у матрични облик Доводимо једначину линеарне регресије у матрични облик

Обозначим произведение матриц Доводимо једначину линеарне регресије у матрични облик через матрицу Доводимо једначину линеарне регресије у матрични облик. Матрица Доводимо једначину линеарне регресије у матрични облик квадратная и более того, она симметричная. Эти свойства нам пригодятся далее, запомним их. Матрица Доводимо једначину линеарне регресије у матрични облик имеет размерность Доводимо једначину линеарне регресије у матрични облик:

Доводимо једначину линеарне регресије у матрични облик

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

Доводимо једначину линеарне регресије у матрични облик

Доводимо једначину линеарне регресије у матрични облик

Доводимо једначину линеарне регресије у матрични облик

Доводимо једначину линеарне регресије у матрични облик

Однако, замысловатое выражение у нас получилось! На самом деле мы получили число — скаляр. И теперь, уже по-настоящему, переходим к дифференцированию. Необходимо найти производную полученного выражения по каждому коэффициенту Доводимо једначину линеарне регресије у матрични облик и получить на выходе вектор размерности Доводимо једначину линеарне регресије у матрични облик. На всякий случай распишу процедуры по действиям:

1) продифференцируем по Доводимо једначину линеарне регресије у матрични облик, получим: Доводимо једначину линеарне регресије у матрични облик

2) продифференцируем по Доводимо једначину линеарне регресије у матрични облик, получим: Доводимо једначину линеарне регресије у матрични облик

3) продифференцируем по Доводимо једначину линеарне регресије у матрични облик, получим: Доводимо једначину линеарне регресије у матрични облик

На выходе — обещанный вектор размером Доводимо једначину линеарне регресије у матрични облик:

Доводимо једначину линеарне регресије у матрични облик

Если присмотреться к вектору повнимательнее, то можно заметить, что левые и соответствующие правые элементы вектора можно сгруппировать таким образом, что в итоге из представленного вектора можно выделить вектор Доводимо једначину линеарне регресије у матрични облик величина Доводимо једначину линеарне регресије у матрични облик. На пример, Доводимо једначину линеарне регресије у матрични облик (левый элемент верхней строчки вектора) Доводимо једначину линеарне регресије у матрични облик (правый элемент верхней строчки вектора) можно представить как Доводимо једначину линеарне регресије у матрични обликИ Доводимо једначину линеарне регресије у матрични облик — как Доводимо једначину линеарне регресије у матрични облик и т.д. по каждой строчке. Сгруппируем:

Доводимо једначину линеарне регресије у матрични облик

Вынесем вектор Доводимо једначину линеарне регресије у матрични облик и на выходе получим:

Доводимо једначину линеарне регресије у матрични облик

Теперь, присмотримся к получившейся матрице. Матрица представляет собой сумму двух матриц Доводимо једначину линеарне регресије у матрични облик:

Доводимо једначину линеарне регресије у матрични облик

Вспомним, что несколько ранее, мы отметили одно важное свойство матрицы Доводимо једначину линеарне регресије у матрични облик — она симметричная. Исходя из этого свойства, мы можем с уверенностью заявить, что выражение Доводимо једначину линеарне регресије у матрични облик једнако Доводимо једначину линеарне регресије у матрични облик. Это легко проверить, раскрыв поэлементно произведение матриц Доводимо једначину линеарне регресије у матрични облик. Мы не будем делать этого здесь, желающие могут провести проверку самостоятельно.

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

Доводимо једначину линеарне регресије у матрични облик

Итак, с первым дифференцированием мы справились. Переходим ко второму выражению.

Дифференцирование 2

Доводимо једначину линеарне регресије у матрични облик

Пойдем по протоптанной дорожке. Она будет намного короче предыдущей, так что не уходите далеко от экрана.

Раскроем поэлементно вектора и матрицу:

Доводимо једначину линеарне регресије у матрични облик

Доводимо једначину линеарне регресије у матрични облик

Доводимо једначину линеарне регресије у матрични облик

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

Доводимо једначину линеарне регресије у матрични облик

Выполним следующее действие — умножим вектор Доводимо једначину линеарне регресије у матрични облик на полученный вектор. На выходе нас будет ждать число:

Доводимо једначину линеарне регресије у матрични облик

Его то мы и продифференцируем. На выходе получим вектор размерности Доводимо једначину линеарне регресије у матрични облик:

Доводимо једначину линеарне регресије у матрични облик

Что-то напоминает? Все верно! Это произведение матрицы Доводимо једначину линеарне регресије у матрични облик на вектор Доводимо једначину линеарне регресије у матрични облик.

Таким образом, второе дифференцирование успешно завершено.

Уместо закључка

Теперь мы знаем, как получилось равенство Доводимо једначину линеарне регресије у матрични облик.

Напоследок опишем быстрый путь преобразований основных формул.

Оценим качество модели в соответствии с методом наименьших квадратов:
Доводимо једначину линеарне регресије у матрични облик

Доводимо једначину линеарне регресије у матрични облик

Дифференцируем полученное выражение:
Доводимо једначину линеарне регресије у матрични облик Доводимо једначину линеарне регресије у матрични облик

Доводимо једначину линеарне регресије у матрични облик

Литература

Интернет источники:

1) һабр.цом/ру/пост/278513
2) habr.com/ru/company/ods/blog/322076
3) һабр.цом/ру/пост/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


Извор: ввв.хабр.цом

Додај коментар