Линейная регрессия — различия между версиями
(Решение МНК через сингулярное разложение) |
(→Решение) |
||
Строка 73: | Строка 73: | ||
==== Решение системы ==== | ==== Решение системы ==== | ||
− | <tex> \alpha^* = (F^T F)^{-1} F^T y = F^+ y </tex>. | + | <tex> \alpha^* = (F^T F)^{-1} F^T y = F^+ y </tex>, <br> где <tex> F^+ </tex> — псевдо-обратная матрица. |
− | Значение функционала: <tex> Q(\alpha^*) = ||P_F y - y||^2 </tex>, | + | Значение функционала: <tex> Q(\alpha^*) = ||P_F y - y||^2 </tex>, <br> где <tex> P_F = F F^+ = F (F^T F)^{-1} F^T </tex> - ''проекционная матрица'' |
− | |||
− | где <tex> P_F = F F^+ = F (F^T F)^{-1} F^T </tex> - ''проекционная матрица'' | ||
==== Проблемы ==== | ==== Проблемы ==== | ||
Строка 99: | Строка 97: | ||
=== Решение МНК через сингулярное разложение === | === Решение МНК через сингулярное разложение === | ||
− | <tex> F^+ = (U D V^T V D U^T)^{-1} U D V^T = U D^{-1} V^T = \sum\limits_{j=1}^n \frac{ 1 }{ \sqrt{ \lambda_j } } u_j v_j </tex> | + | Найдем псевдо-обратную матрицу: <br> <tex> F^+ = (U D V^T V D U^T)^{-1} U D V^T = U D^{-1} V^T = \sum\limits_{j=1}^n \frac{ 1 }{ \sqrt{ \lambda_j } } u_j v_j^T </tex>. |
+ | |||
+ | Теперь зная псевдо-обратную матрицу, найдем решение задачи наименьших квадратов: <br> <tex> \alpha^* = F^+ y = U D^{-1} V^T y = \sum\limits_{j=1}^n \frac{ 1 }{ \sqrt{ \lambda_j } } u_j (v_j^T y) </tex>. | ||
− | <tex> \alpha^* = | + | Найдем вектор, которым наша линейная модель аппроксимирует целевой вектор <tex> y </tex>: <br> <tex> F \alpha^* = P_F y = (V D U^T) U D^{-1} V^T y = V V^T y = \sum\limits_{j=1}^n v_j (v_j^T y) </tex>. |
− | <tex> | + | Квадрат нормы вектора коэффициентов: <br> <tex> || \alpha^* ||^2 = ||D^{-1} V^T y||^2 = \sum\limits_{j=1}^n \frac{ 1 }{ \lambda_j } (v_j^T y)^2 </tex>. |
− | + | В 3-х из 4-х формул сингулярные числа оказались в знаменателе. Если имеются сингулярные числа приближающиеся к 0, то мы получаем проблему мультиколлинеарности. Близкие к 0 собственные значения или сингулярные числа — показатель того, что среди признаков есть почти линейно-зависимый. |
Версия 09:12, 12 марта 2019
Линейная регрессия (англ. linear regression) — метод восстановления зависимости одной (объясняемой, зависимой) переменной
от другой или нескольких других переменных (факторов, регрессоров, независимых переменных) с линейной функцией зависимости. Данный метод позволяет предсказывать значения зависимой переменной по значениям независимой переменной .Содержание
Задача
Дано
- - числовые признаки
- модель многомерной линейной регрессии:
где
- обучающая выборка: множество из пар
- - объекты из множества
- - объекты из множества
Матричные обозначения
Перейдем к матричным обозначениям:
, где
- - матрица объектов-признаков, где строки соответствуют объектам а столбцы - признакам
- - вектор ответов, или целевой вектор
- - вектор коэффициентов
Постановка задачи
В этих трех векторно-матричных обозначениях очень удобно расписать постановку задачи наименьших квадратов:
Необходимо найти вектор
при известной матрице и известном вектор-столбце .Решение
Нормальная система уравнений
Запишем необходимые условия минимума в матричном виде.
Отсюда следует нормальная система задачи МНК:
,
где
матрицаМы получили систему уравнений, откуда можем выразить искомый вектор
.Решение системы
где — псевдо-обратная матрица.
Значение функционала:
где - проекционная матрица
Проблемы
В случае мультиколлинеарности (столбцы матрицы
линейно-зависимы) нам не удастся найти обратную матрицу к (она будет вырождена).Если же столбцы матрицы
почти линейно-зависимы, то у нас возникнет масса вычислительных проблем с обращением этой матрицы.Сингулярное разложение
Воспользуемся понятием сингулярного разложения , которое позволяет произвольную прямоугольную матрицу представить в виде произведения трех матриц:
.
Основные свойства сингулярного разложения:
-
столбцы — собственные векторы матрицы ;
-матрица ортогональна, , -
столбцы — собственные векторы матриц ;
-матрица ортогональна, , -
— собственные значения матриц и ,
— сингулярные числа матрицы . -матрица диагональна, ,
Решение МНК через сингулярное разложение
Найдем псевдо-обратную матрицу:
.
Теперь зная псевдо-обратную матрицу, найдем решение задачи наименьших квадратов:
.
Найдем вектор, которым наша линейная модель аппроксимирует целевой вектор
.
Квадрат нормы вектора коэффициентов:
.
В 3-х из 4-х формул сингулярные числа оказались в знаменателе. Если имеются сингулярные числа приближающиеся к 0, то мы получаем проблему мультиколлинеарности. Близкие к 0 собственные значения или сингулярные числа — показатель того, что среди признаков есть почти линейно-зависимый.