Линейная регрессия — различия между версиями
 (Решение МНК через сингулярное разложение)  | 
				 (→Решение)  | 
				||
| Строка 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 собственные значения или сингулярные числа — показатель того, что среди признаков есть почти линейно-зависимый.