Поделиться через


Запросы к модели линейной регрессии (службы Analysis Services - интеллектуальный анализ данных)

К модели интеллектуального анализа данных можно создать два вида запросов: запросы содержимого, возвращающие подробные сведения о закономерностях, обнаруженных при анализе, и прогнозирующие запросы, использующие закономерности, содержащиеся в модели, для прогнозирования новых данных. Например, запрос содержимого предоставит дополнительные сведения о формуле регрессии, а прогнозирующий запрос определит, подходит ли к модели новая точка данных. Запрос также позволяет получить метаданные, описывающие модель.

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

ПримечаниеПримечание

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

  • Запросы содержимого

    Возврат параметров модели с помощью набора строк схемы интеллектуального анализа данных

    Возврат формулы регрессии для модели с помощью расширений интеллектуального анализа данных

    Возврат коэффициента для данной модели

  • Прогнозирующие запросы

    Прогнозирование с помощью одноэлементного запроса

    Возврат описательной статистики из модели регрессии

В начало

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

Как принудительно использовать регрессоры в модели

Поиск сведений о модели линейной регрессии

Структура модели линейной регрессии чрезвычайно проста: модель интеллектуального анализа данных представляет данные в виде одного узла, определяющего формулу регрессии.

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

Образец запроса 1. Возврат параметров модели с помощью набора строк схемы интеллектуального анализа данных

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

SELECT MINING_PARAMETERS 
FROM $system.DMSCHEMA_MINING_MODELS
WHERE MODEL_NAME = 'Call Center Regression'

Образец результатов:

MINING_PARAMETERS

MINING_PARAMETERS

MAXIMUM_INPUT_ATTRIBUTES=255, MAXIMUM_OUTPUT_ATTRIBUTES=255, FORCE_REGRESSOR=[Average Time Per Issue],[Total Operators]

ПримечаниеПримечание

Если регрессор не указан, параметр FORCE_REGRESSOR имеет значение "FORCE_REGRESSOR = ".

В начало

Образец запроса 2. Возврат формулы регрессии для модели с помощью расширений интеллектуального анализа данных

Следующий запрос возвращает содержимое модели интеллектуального анализа данных для модели линейной регрессии. Запрос возвращает содержимое узла модели интеллектуального анализа данных, содержащего формулу регрессии. Этот запрос также может быть использован в модели дерева принятия решений, если один из узлов содержит формулу регрессии.

Каждая переменная и коэффициент хранятся в отдельной строке вложенной таблицы NODE_DISTRIBUTION. Для просмотра полной формулы регрессии в средстве просмотра деревьев (Майкрософт) нужно щелкнуть узел (Все) и открыть Условные обозначения интеллектуального анализа данных.

SELECT FLATTENED NODE_DISTRIBUTION as t
FROM [Call Center Regression].CONTENT
ПримечаниеПримечание

При ссылках на отдельные столбцы вложенной таблицы в таких запросах, как SELECT <column name> from NODE_DISTRIBUTION, некоторые столбцы, например SUPPORT или PROBABILITY, нужно заключать в квадратные скобки, чтобы отличать их от одноименных зарезервированных ключевых слов.

Ожидаемый результат:

t.ATTRIBUTE_NAME

t.ATTRIBUTE_VALUE

t.SUPPORT

t.PROBABILITY

t.VARIANCE

t.VALUETYPE

Service Grade

Missing

0

0

0

1

Service Grade

0.09875

120

1

0.00157927083333334

3

Average Time Per Issue

0.00136989326310586

0

0

187.866597222222

7

Average Time Per Issue

12.0822151449249

0

0

0

8

Average Time Per Issue

79.8416666666667

0

0

187.866597222222

9

Total Operators

-0.000426156789860463

0

0

24.0799305555556

7

Total Operators

-3.19762422385219

0

0

0

8

Total Operators

10.6916666666667

0

0

24.0799305555556

9

-0.00606823493688524

0

0

0.00121526993847281

11

Для сравнения, в окне Условные обозначения интеллектуального анализа данных формула регрессии показана в следующем виде:

Service Grade = 0.070+0.001*(Average Time Per Issue-79.842)-0.0004*(Total Operators-10.692)

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

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

VALUETYPE

1 (Missing)

3 (Continuous)

7 (Coefficient)

8 (Score Gain)

9 (Statistics)

7 (Coefficient)

8 (Score Gain)

9 (Statistics)

11 (Intercept)

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

В начало

Образец запроса 3. Возврат коэффициента для данной модели

Используя перечисление VALUETYPE, можно вернуть только коэффициент уравнения регрессии, как показано в следующем запросе:

SELECT FLATTENED MODEL_NAME,
    (SELECT ATTRIBUTE_VALUE, VALUETYPE
     FROM NODE_DISTRIBUTION
     WHERE VALUETYPE = 11) 
AS t
FROM [Call Center Regression].CONTENT

Этот запрос возвращает две строки — одну из содержимого модели интеллектуального анализа данных и одну из вложенной таблицы, с коэффициентом. Столбец ATTRIBUTE_NAME сюда не включается, потому что для коэффициента он всегда пустой.

MODEL_NAME

t.ATTRIBUTE_VALUE

t.VALUETYPE

Call Center Regressors2

-0.00606823493688524

11

Создание прогнозов с помощью модели

Прогнозирующие запросы к модели линейной регрессии можно строить с помощью вкладки «Прогнозирование моделей интеллектуального анализа данных» конструктора интеллектуального анализа данных. Построитель прогнозирующих запросов доступен как в среде SQL Server Management Studio, так и в среде Business Intelligence Development Studio.

ПримечаниеПримечание

Можно также создавать запросы к моделям регрессии с помощью надстроек интеллектуального анализа данных SQL Server 2005 для Excel или SQL Server 2008 для Excel. Надстройки интеллектуального анализа данных для Excel не создают моделей регрессии, но позволяют просматривать любые модели интеллектуального анализа данных, хранящиеся в экземпляре служб Analysis Services, и создавать запросы к ним.

В начало

Образец запроса 4. Прогнозирование с помощью одноэлементного запроса

Проще всего создавать одноэлементные запросы на модели регрессии с помощью диалогового окна Ввод одноэлементного запроса. Например, можно построить следующий DMX-запрос, взяв подходящую модель регрессии, выбрав Одноэлементный запрос, а затем введя 10 в качестве значения атрибута Total Operators.

SELECT
  Predict([Call Center Regression].[Service Grade])
FROM
  [Call Center Regression]
NATURAL PREDICTION JOIN
(SELECT 10 AS [Total Operators]) AS t

Образец результатов:

Yearly Income

0.0992841946529471

В начало

Образец запроса 5. Возврат описательной статистики из модели регрессии

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

SELECT
  Predict([Call Center Regression].[Service Grade]) as [Predicted Service],
  PredictStdev([Call Center Regression].[Service Grade]) as [Standard Deviation]
FROM
  [Call Center Regression]
NATURAL PREDICTION JOIN
(SELECT 10 AS [Total Operators]) AS t

Образец результатов:

Predicted Service

Standard Deviation

0.0990447584463201

0.0348607220015996

В начало

Список прогнозирующих функций

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

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

Журнал изменений

Обновленное содержимое

Добавлены ссылки внутри раздела, упрощающие просмотр образцов запросов.

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