Основные понятия регрессии
Введение в линейный регрессионный анализ
Линейная регрессия – один из старейших и хорошо известных методов статистического прогнозирования. Это процесс создания такой линии в пространстве, при которой сумма квадратов расстояний между линией и каждой точкой сведена к минимуму. Линейная регрессия позволяет создавать модели линейных явлений, а также модели нелинейных функций, которые точны для одной части функции, но не способны прогнозировать другие ее части.
Тем не менее, линейная регрессия — ценный инструмент, так как модель линейной регрессии не требует много времени и позволяет получить такие результаты, которые легко поддаются интерпретации. Узел линейной регрессии в системе PolyAnalyst может работать с любым количеством атрибутов и автоматически выбирает те атрибуты, которые позволяют получить оптимальную оценку по методу линейного прогнозирования. В его основе лежит очень быстрый алгоритм, который выполняет линейный поиск по множеству параметров, и автоматически выбирает наиболее влиятельные независимые атрибуты, а также точно оценивает значимость полученного результата.
Узел линейной регрессии используется для создания линейной регрессионной модели. Эта модель используется для прогнозирования числового значения, а также позволяет выявить зависимость между переменными. В случае если переменная \(Y\) зависит от переменной \(X\), задача линейной регрессии — решить линейное уравнение \((Y = MX + B)\). Регрессионный алгоритм является стандартным инструментом, который используется многими программами и изучается в рамках университетского курса статистики. Это очень быстрый и масштабируемый алгоритм. В системе PolyAnalyst Grid он обладает некоторыми отличительными чертами, что позволяет, например, работать с различными типами данных и игнорировать некоторые независимые переменные.
Линейная регрессия – одна из наиболее часто используемых прогностических моделей в проектах глубокого анализа данных. Обычно это первая числовая модель, которая обучается и проверяется в исследовательском проекте, поскольку этот алгоритм обладает высокой скоростью, масштабируемостью и выдает интерпретируемый результат. Линейная регрессия является хорошо известным и стандартизированным алгоритмом, легче интерпретируемым, чем остальные более сложные нелинейные алгоритмы, защищенные авторским правом. Для сравнения этот алгоритм может использоваться одновременно с другими числовыми моделями прогнозирования.
Линейная регрессия анализирует отношения между переменными. Ее задача состоит в том, чтобы найти оптимальную линию среди множества точек данных (вспомним обычную диаграмму рассеяния X-Y с различными точками данных, на которой нужно прочертить прямую линию так, чтобы она пересекала как можно большее количество точек).
Данный алгоритм находит линию, которая минимизирует сумму квадратов вертикальных расстояний от точек до линии, регулируя значения наклона (slope) и постоянного слагаемого (intercept), с целью найти линию, которая наилучшим образом прогнозирует значение Y в зависимости от X.
Математическая модель
Узел Линейная регрессия использует математическую модель, которая находится из соотношения:
\(y^{*}=\sum_{k=1}^{N}b_{i}x_{i}+b_{0}\)
где:
-
\(x^{*}\) - вход модели;
-
\(y^{*}\) - выход модели;
-
\(N\) - число независимой переменной данной целевой переменной;
-
\(b_{i} | i=1..N\) - коэффициенты линейной регрессии;
-
\(b_{0}\) - константное значение.
Минимизируется функционал: \(f(x) = || y - y*||^2 = || y - Xb ||^2\)
где:
-
\(y\) - вектор значений целевой/предсказываемой колонки;
-
\(y*\) - вектор значений предсказанных моделью линейной регрессии;
-
\(X\) - матрица данных;
-
\(b\) - вектор коэффициентов линейной регрессии.
Алгоритм следующий:
Производится z-score нормализация вектора \(y\) и матрицы данных \(X\) (в русской литературе эта процедура обычно называется "стандартизацией") т.е. \(y\) и каждая колонка матрицы \(X\) преобразуется таким образом, чтобы среднее значение было равно 0, а стандартное отклонение было равным 1. Далее для обозначения нормализированной матрицы данных и нормализированного вектора коэффициентов будем использовать обозначения \(A\) и \(d\) соответственно. Производится расчет значений матрицы \(A'A\) и вектора \(A'd\). Производится робастное разложение Холецкого матрицы \(A'A: A'A = LDL'\). Прямой подстановкой решается система уравнений \(L'z = A'd\), после чего обратной подстановкой решается задача \(DLq = z\), где \(q\) - это "нормализированные" коэффициенты линейной регрессии т.е. решение задачи: \(min fn(q) = || d - Aq ||^2\). Производится преобразование обратное тому, которое производилось на шаге 1, в результате чего на основе \(q\) восстанавливаются ненормализированные значения коэффициентов линейной регрессии \(b\).
В случае если таргетов много и/или некоторые колонки выступают как в качестве таргетов, так и в качестве предикторов, формируется расширенная матрица \(A'A\), из которой потом выделяются необходимые подматрицы и вектора без дополнительной аллокации памяти. |