Регрессионный анализ
Данный узел или опция доступны, только если они включены в лицензии PolyAnalyst Server. WARNING: Данный узел или опция доступны, только если они включены в установленном файле лицензии PolyAnalyst Server.

Линейная регрессия – один из старейших и хорошо известных методов статистического прогнозирования. Это процесс создания такой линии в пространстве, при которой сумма квадратов расстояний между линией и каждой точкой сведена к минимуму. Линейная регрессия позволяет создавать модели линейных явлений, а также модели нелинейных функций, которые точны для одной части функции, но не способны прогнозировать другие ее части. Тем не менее, линейная регрессия — ценный инструмент, так как модель линейной регрессии не требует много времени и позволяет получить такие результаты, которые легко поддаются интерпретации. Узел линейной регрессии в системе PolyAnalyst может работать с любым количеством атрибутов и автоматически выбирает те атрибуты, которые позволяют получить оптимальную оценку по методу линейного прогнозирования. В его основе лежит очень быстрый алгоритм, который выполняет линейный поиск по множеству параметров, и автоматически выбирает наиболее влиятельные независимые атрибуты, а также точно оценивает значимость полученного результата.

Узел линейной регрессии используется для создания линейной регрессионной модели. Эта модель используется для прогнозирования числового значения, а также позволяет выявить зависимость между переменными. В случае если переменная У зависит от переменной Х, задача линейной регрессии — решить линейное уравнение (У=МХ+В). Регрессионный алгоритм является стандартным инструментом, который используется многими программами и изучается в рамках университетского курса статистики. Это очень быстрый и масштабируемый алгоритм. В системе PolyAnalyst он обладает некоторыми отличительными чертами, что позволяет, например, работать с различными типами данных и игнорировать некоторые независимые переменные.

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

Линейная регрессия анализирует отношения между переменными. Ее задача состоит в том, чтобы найти оптимальную линию среди множества точек данных (вспомним обычную диаграмму рассеяния X-Y с различными точками данных, на которой нужно прочертить прямую линию так, чтобы она пересекала как можно большее количество точек).

Данный алгоритм находит линию, которая минимизирует сумму квадратов вертикальных расстояний от точек до линии, регулируя значения наклона (slope) и постоянного слагаемого (intercept), с целью найти линию, которая наилучшим образом прогнозирует значение Y в зависимости от X.

Линейная регрессия является одним из традиционных методов исследования данных и хорошо описана во многих источниках. В связи с этим мы ограничимся лишь некоторыми ее основными характеристиками.

  1. Исследуемые переменные могут быть булевыми и категориальными. Булевые (или логические) атрибуты — это нули и единицы. Каждый категориальный атрибут автоматически кодируется путем преобразования в комбинацию логических атрибутов. Предположим, что исследуемая таблица данных содержит категориальный атрибут А с тремя разными значениями «а», «b» и «с». В таком случае создаются три новых логических атрибута на основе выражений А=«а», А=«b» и А=«с». Считается, что все новые атрибуты состоят из числовых значений 0 и 1.

  2. Модель линейной регрессии создается инкрементально. Сначала проверяются только одномерные модели, из которых выбирается наиболее точная. После этого проверяются все двухмерные модели, полученные путем добавления нового атрибута к первой модели. Все рассматриваемые регрессионные модели должны быть проверены с помощью теста, основанного на критерии Фишера. Если терм имеет значение коэффициента F меньше определенного порога, то он исключается из модели. Таким образом, процесс добавления новых термов прекращается, когда все атрибуты входят в модель, или же если новый терм не может быть добавлен, не нарушая критерия F. Этот процесс позволяет PolyAnalist находить значимые атрибуты, и в то же время включает в модель только те атрибуты, между которыми нет большой корреляции. Если два коррелирующих атрибута проверяются в одной и той же модели, то их значение коэффициента F будет низким и второй атрибут будет исключен.

  3. Значимость построенной модели проверяется двумя разными методами. Первый основан на проверке значения коэффициента F каждого терма, входящего в модель. Второй метод предполагает так называемое рандомизированное тестирование. Осуществляя поиск наилучшей регрессионной модели, подходящей для исследуемой таблицы, PolyAnalyst решает эту задачу и для нескольких случайных таблиц. Случайные таблицы составляются на основе исходной таблицы данных с помощью случайного перемещения значений целевых атрибутов для нескольких записей. Таким образом, все значения независимых и целевых переменных остаются прежними, но связи между зависимыми и независимыми атрибутами разрываются. Только если точность модели, созданной на основе реальных данных, намного выше, чем для случайных данных, то созданная регрессионная модель является надежной и значимой. В противном случае мы можем заключить, что у нас нет достаточного количества данных для создания достоверной модели. Степень уверенности в том, что полученная модель – это не просто результат случайных статистических колебаний данных, измеряется с помощью Индекса значимости.

Индекс значимости

Индекс значимости вычисляется путем сравнения стандартного отклонения для целевой переменной, полученной в исследовании реальных данных (на основе анализируемой таблицы), со стандартными отклонениями, полученными для случайно отобранных данных с одинаковым распределением значений независимых и зависимых переменных. Рандомизированные таблицы создаются путем случайного перемещения значений целевого атрибута между разными записями. Эта процедура называется рандомизированным тестированием. Если стандартное отклонение какого-либо эмпирического закона, полученного для реальных данных (\(S_{\text {real}}\)) приблизительно равно стандартному отклонению, полученному для рандомизированных таблиц (\(S_{\text {randi}}\)), мы делаем вывод, что этот эмпирический закон имеет малую значимость и прогностическую способность, то есть модель содержит слишком много свободных параметров, которые можно изменить для подгонки даже бессмысленных данных. Низкая прогностическая способность может являться результатом недостаточного количества данных. Для увеличения достоверности полученной модели нужно увеличить количество исследуемых записей (наблюдений).

И наоборот, когда достоверность \(S_{\text {real}}\) значительно меньше всех \(S_{\text {randi}}\), соответствующее правило имеет значение и может успешно использоваться для прогнозирования будущих значений целевого атрибута. Индекс значимости выражает степень разницы между \(S_{\text {real}}\) и \(S_{\text {randi}}\) в релятивных единицах. Он вычисляется по формуле \(\frac{S_{\text {real}}-\bar{S_{\text {randi}}}}{\sigma_{\text {rand}}}\), где \(\bar{S_{\text {randi}}}\) — среднее значение \(S_{\text {randi}}\), а \(\sigma_{\text {rand}}\) — дисперсия значений \(S_{\text {randi}}\). Как правило, эмпирические законы с индексом значимости выше 2.0 считаются значимыми и могут иметь практическое применение.

Индекс значимости может иметь очень низкие положительные и даже отрицательные значения для правил, которые содержат большое количество степеней свободы. Для того чтобы уменьшить время вычисления, используется упрощенная процедура оценки индекса значимости. Если алгоритм определяет, что индекс значимости действительно очень высокий (более 100), его точное значение не вычисляется.

Алгоритм предполагает, что зависимость переменной Y от Х – линейная. При анализе реальных данных отношение между двумя значениями может быть нелинейным (Y=Х*Х). В таком случае узел создаст кривую зависимости (модель, уравнение или правило), которая показывает зависимость Y от Х, но ее точность будет очень низкой, если в действительности зависимость нелинейная.

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

В задачах, в которых ожидается линейная зависимость, например, при прогнозировании стоимости проданных товаров на основе чистого объема сбыта, выбор линейной регрессии очевиден. Однако на практике некоторые связи могут быть линейными, хотя это не всегда очевидно. PolyAnalyst отображает кривую зависимостей в n-мерном пространстве (где n — число независимых атрибутов), которое человек не всегда может наглядно представить.

Ступенчатый (многопараметрический) алгоритм линейной регрессии, используемый в PolyAnalyst, отличается от стандартных алгоритмов линейной регрессии. Во-первых, он автоматически определяет наиболее значимые атрибуты, рассматривая подмассивы выбранных атрибутов, а затем включает наиболее значимые атрибуты в итоговый анализ. Дополнительно PolyAnalyst выполняет строгую проверку значимости результата, сравнивая его значимость с другими сгенерированными моделями. Наконец, линейная регрессия в PolyAnalyst может корректно обрабатывать строковые и категориальные атрибуты; обычно нечисловые данные в линейной регрессии другими программными продуктами не используются.

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

Даже при отсутствии линейной зависимости в данных узел может быть полезен. Во-первых, вы можете сравнить частоту появления ошибок в других алгоритмах и в линейной регрессии, чтобы определить степень улучшения. Более того, атрибуты, у которых обнаружилась высокая частичная сумма квадратов в линейной регрессии, могут быть важными, и должны стать объектом дальнейшего анализа. Кроме того, форма точек данных на графиках прогнозируемой и реальной линейной регрессии фактически может указать на наличие нелинейной зависимости.