Технический справочник по алгоритму линейной регрессии (Майкрософт)

Применимо к: SQL Server 2019 и более ранних версий Analysis Services Azure Analysis Services Fabric/Power BI Premium

Важно!

Интеллектуальный анализ данных не рекомендуется использовать в службах SQL Server 2017 Analysis Services, а в SQL Server 2022 Analysis Services его поддержка прекращена. Документация не обновляется для устаревших и неподдерживаемых функций. Дополнительные сведения см. в статье об обратной совместимости служб Analysis Services.

Алгоритм линейной регрессии (Майкрософт) — это специальная версия алгоритма дерева принятия решений Майкрософт, оптимизированная для моделирования пар непрерывных атрибутов. В данном разделе описывается реализация алгоритма и настройка его поведения. Приводятся также ссылки на дополнительную информацию о запросах к моделям.

Реализация алгоритма линейной регрессии (Майкрософт)

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

Чтобы добиться такой конфигурации, параметру MINIMUM_LEAF_CASES алгоритма присваивается значение, большее или равное общему количеству вариантов, используемых алгоритмом для обучения модели интеллектуального анализа данных. Если параметр задан таким способом, алгоритм никогда не будет создавать разбиений, то есть проведет линейную регрессию.

Формула, представляющая линию регрессии, имеет общий вид y = ax + b и известна как уравнение регрессии. Переменная Y представляет выходную переменную, X — входную переменную, a и b — изменяемые коэффициенты. С помощью запросов к завершенной модели интеллектуального анализа данных можно получать коэффициенты, точки пересечения и другую информацию о формуле регрессии. Дополнительные сведения см. в разделе Примеры запросов модели линейной регрессии.

Методы количественной оценки и выбор компонентов

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

Алгоритм Метод анализа Комментарии
Линейная регрессия Оценка интересности По умолчанию.

Другие методы выбора компонентов, доступные алгоритму дерева принятия решений, применяются только к дискретным переменным, и, следовательно, неприменимы к моделям линейной регрессии.
Деревья решений Оценка интересности

Энтропия Шеннона

Алгоритм Байеса с априорной оценкой K2

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

Выбором компонентов в модели дерева решений управляют следующие параметры алгоритма: MAXIMUM_INPUT_ATTRIBUTES и MAXIMUM_OUTPUT.

Настройка алгоритма линейной регрессии

Алгоритм линейной регрессии (Майкрософт) поддерживает параметры, влияющие на поведение, производительность и точность результирующей модели интеллектуального анализа данных. Можно также изменять способ обработки данных, устанавливая на столбцах модели интеллектуального анализа данных или структуры интеллектуального анализа данных флаги модели.

Задание параметров алгоритма

В следующей таблице перечислены параметры, предоставляемые для алгоритма линейной регрессии Майкрософт.

Параметр Описание
MAXIMUM_INPUT_ATTRIBUTES Определяет количество входных атрибутов, которые алгоритм может обработать перед вызовом выбора компонентов. Установите значение 0, чтобы отключить выбор компонентов.

Значение по умолчанию — 255.
MAXIMUM_OUTPUT_ATTRIBUTES Определяет количество выходных атрибутов, которые алгоритм может обработать перед вызовом выбора компонентов. Установите значение 0, чтобы отключить выбор компонентов.

Значение по умолчанию — 255.
FORCE_REGRESSOR Приводит алгоритм к использованию указанных столбцов в качестве регрессоров, не обращая внимания на важность столбцов, вычисленную алгоритмом.

Флаги моделирования

Алгоритм линейной регрессии (Майкрософт) поддерживает следующие флаги моделирования. Чтобы задать порядок обработки в ходе анализа значений в каждом столбце, во время создания структуры или модели интеллектуального анализа данных определяются флаги модели. Дополнительные сведения см. в разделе Флаги моделирования (интеллектуальный анализ данных).

Флаг моделирования Описание
NOT NULL Указывает, что столбец не может принимать значение NULL. Если во время обучения модели службы Analysis Services обнаружат значение NULL, возникнет ошибка.

Применяется к столбцам структуры интеллектуального анализа данных.
REGRESSOR Указывает, что столбец содержит непрерывные численные значения, которые при анализе нужно обрабатывать как потенциальные независимые переменные. Применяется к столбцам модели интеллектуального анализа данных.

Примечание. Если столбец указан как регрессор, это не значит, что он будет использован в качестве регрессора в окончательной модели.

Регрессоры в моделях линейной регрессии

Модели линейной регрессии основаны на алгоритме Дерева принятия решений (Майкрософт). Однако даже если вы не используете алгоритм линейной регрессии Майкрософт, любая модель дерева принятия решений может содержать дерево или узлы, представляющие регрессию для непрерывного атрибута.

Необходимость указывать, что непрерывный столбец представляет регрессор, отсутствует. Алгоритм дерева принятия решений (Майкрософт) разделит набор данных на регионы с осмысленными шаблонами, даже если для столбца не установлен флаг REGRESSOR. Различие между указанными случаями состоит в том, что если пользователем задан флаг модели, то в алгоритме предпринимается попытка найти регрессионные уравнения в форме a*C1 + b*C2 + ... для подгонки шаблонов к узлам дерева. Вычисляется сумма остатков, и, если отклонение слишком велико, принудительно выполняется разбиение дерева.

Например, если осуществляется прогноз поведения клиента в процессе покупки с использованием дохода в качестве атрибута и на соответствующем столбце [Income] устанавливается флаг модели REGRESSOR, то в алгоритме вначале предпринимается попытка выполнить подгонку значений с применением стандартной формулы регрессии. Если отклонение слишком велико, то происходит отказ от применения формулы регрессии и разбиение дерева осуществляется по какому-то другому атрибуту. Затем в алгоритме дерева решений осуществляется попытка подгонки регрессора к доходу в каждой из ветвей, полученных после разбиения.

Можно применить параметр FORCED_REGRESSOR для обеспечения того, чтобы в алгоритме использовался конкретный регрессор. Этот параметр может применяться с алгоритмом дерева принятия решений (Майкрософт) и алгоритмом линейной регрессии (Майкрософт).

Требования

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

Входные и прогнозируемые столбцы

Алгоритм линейной регрессии (Майкрософт) поддерживает определенные входные столбцы и прогнозируемые столбцы, перечисленные в следующей таблице. Дополнительные сведения о том, что означают типы контента при использовании в модели интеллектуального анализа данных, см. в разделе Типы контента (интеллектуальный анализ данных).

Столбец Типы содержимого
Входной атрибут Continuous, Cyclical, Key, Table и Ordered
Прогнозируемый атрибут Continuous, Cyclical и Ordered

Примечание

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

См. также:

Алгоритм линейной регрессии (Майкрософт)
Примеры запросов модели линейной регрессии
Содержимое моделей интеллектуального анализа данных для моделей линейной регрессии (службы Analysis Services — интеллектуальный анализ данных)