Запросы к модели линейной регрессии (службы Analysis Services - интеллектуальный анализ данных)
К модели интеллектуального анализа данных можно создать два вида запросов: запросы содержимого, возвращающие подробные сведения о закономерностях, обнаруженных при анализе, и прогнозирующие запросы, использующие закономерности, содержащиеся в модели, для прогнозирования новых данных. Например, запрос содержимого предоставит дополнительные сведения о формуле регрессии, а прогнозирующий запрос определит, подходит ли к модели новая точка данных. Запрос также позволяет получить метаданные, описывающие модель.
В этом разделе описывается процесс создания запросов к моделям, основанным на алгоритме линейной регрессии (Майкрософт).
Примечание |
---|
Поскольку линейная регрессия основана на частном случае алгоритма дерева принятия решений (Майкрософт), у них много общего, и некоторые модели деревьев решений с непрерывными прогнозируемыми атрибутами могут содержать формулы регрессии. Дополнительные сведения см. в разделе Технический справочник по алгоритму дерева принятия решений (Майкрософт). |
Запросы содержимого
Использование набора строк схемы интеллектуального анализа данных для определения параметров, использованных для модели.
Использование расширений интеллектуального анализа данных для получения формулы регрессии модели
Получение только коэффициента для данной модели
Прогнозирующие запросы
Прогнозирование дохода с помощью одноэлементного запроса
Использование прогнозирующих функций в модели регрессии
Поиск сведений о модели линейной регрессии
Структура модели линейной регрессии чрезвычайно проста: модель интеллектуального анализа данных представляет данные в виде одного узла, определяющего формулу регрессии. Дополнительные сведения см. в разделе Содержимое моделей интеллектуального анализа данных для моделей логистической регрессии (службы Analysis Services — интеллектуальный анализ данных).
Вернуться в начало
Образец запроса 1. Использование набора строк схемы интеллектуального анализа данных для определения параметров, использованных для модели.
Используя запросы к набору строк схемы интеллектуального анализа данных, можно получать метаданные модели. Они включают в себя, например, время создания модели, время ее последней обработки, имя структуры интеллектуального анализа данных, на которой основана данная модель, и имя столбца, назначенного в качестве прогнозируемого атрибута. Также можно возвратить параметры, которые были использованы при первичном создании модели.
SELECT MINING_PARAMETERS
FROM $system.DMSCHEMA_MINING_MODELS
WHERE MODEL_NAME = 'TM_PredictIncome'
Образец результатов:
MINING_PARAMETERS |
---|
COMPLEXITY_PENALTY=0.9, MAXIMUM_INPUT_ATTRIBUTES=255, MAXIMUM_OUTPUT_ATTRIBUTES=255, MINIMUM_SUPPORT=10, SCORE_METHOD=4, SPLIT_METHOD=3, FORCE_REGRESSOR= |
Примечание |
---|
Значение параметра, "FORCE_REGRESSOR = ", указывает, что текущее значение параметра FORCE_REGRESSOR равно NULL. |
Вернуться в начало
Образец запроса 2. Получение формулы регрессии для модели
Следующий запрос возвращает содержимое модели интеллектуального анализа данных с линейной регрессией, построенной для того же источника данных «Целевая рассылка», который использовался в пособии Учебник по основам интеллектуального анализа данных. Эта модель предсказывает доход клиента на основании возраста.
Запрос возвращает содержимое узла модели интеллектуального анализа данных, содержащего формулу регрессии. Каждая переменная и коэффициент хранятся в отдельной строке вложенной таблицы NODE_DISTRIBUTION. Для просмотра полной формулы регрессии в средстве просмотра деревьев (Майкрософт) нужно щелкнуть узел (Все) и открыть Условные обозначения интеллектуального анализа данных.
SELECT FLATTENED NODE_DISTRIBUTION as t
FROM LR_PredictIncome.CONTENT
Примечание |
---|
При ссылках на отдельные столбцы вложенной таблицы в таких запросах, как SELECT <column name> from NODE_DISTRIBUTION, некоторые столбцы, например SUPPORT или PROBABILITY, нужно заключать в квадратные скобки, чтобы отличать их от одноименных зарезервированных ключевых слов. |
Ожидаемый результат:
t.ATTRIBUTE_NAME |
t.ATTRIBUTE_VALUE |
t.SUPPORT |
t.PROBABILITY |
t.VARIANCE |
t.VALUETYPE |
---|---|---|---|---|---|
Годовой доход |
Отсутствует |
0 |
0.000457142857142857 |
0 |
1 |
Годовой доход |
57220.8876687257 |
17484 |
0.999542857142857 |
1041275619.52776 |
3 |
Age |
471.687717702463 |
0 |
0 |
126.969442359327 |
7 |
Age |
234.680904692439 |
0 |
0 |
0 |
8 |
Age |
45.4269617936399 |
0 |
0 |
126.969442359327 |
9 |
|
35793.5477381267 |
0 |
0 |
1012968919.28372 |
11 |
Для сравнения, в окне Условные обозначения интеллектуального анализа данных формула регрессии показана в следующем виде:
Yearly Income = 57,220.919 + 471.688 * (Age - 45.427)
Можно видеть, что в окне Условные обозначения интеллектуального анализа данных некоторые числа округлены; однако по существу таблица NODE_DISTRIBUTION и окно Условные обозначения интеллектуального анализа данных содержат одни и те же значения.
Значения в столбце VALUETYPE сообщают, какая информация содержится в каждой строке. Это полезно при программной обработке результатов. В следующей таблице показаны типы значений, которые являются выводом формулы линейной регрессии.
VALUETYPE |
---|
1 (отсутствует) |
3 (непрерывный) |
7 (коэффициент) |
8 (рост оценки) |
9 (статистика) |
7 (коэффициент) |
8 (рост оценки) |
9 (статистика) |
11 (отсекаемый отрезок) |
Дополнительные сведения о типах значений в моделях регрессии см. в разделе Содержимое моделей интеллектуального анализа данных для моделей линейной регрессии (службы Analysis Services — интеллектуальный анализ данных).
Вернуться в начало
Образец запроса 3. Возвращение только коэффициента для данной модели
Используя перечисление VALUETYPE, можно вернуть только коэффициент уравнения регрессии, как показано в следующем запросе:
SELECT FLATTENED MODEL_NAME,
(SELECT ATTRIBUTE_VALUE, VALUETYPE
FROM NODE_DISTRIBUTION
WHERE VALUETYPE = 11)
AS t
FROM LR_PredictIncome.CONTENT
Этот запрос возвращает две строки — одну из содержимого модели интеллектуального анализа данных и одну из вложенной таблицы, с коэффициентом. Столбец ATTRIBUTE_NAME сюда не включается, потому что для коэффициента он всегда пустой.
MODEL_NAME |
t.ATTRIBUTE_VALUE |
t.VALUETYPE |
---|---|---|
LR_PredictIncome |
|
|
LR_PredictIncome |
35793.5477381267 |
11 |
Вернуться в начало
Создание прогноза на основе модели линейной регрессии
Прогнозирующие запросы к модели линейной регрессии можно строить с помощью вкладки «Прогнозирование моделей интеллектуального анализа данных» конструктора интеллектуального анализа данных. Построитель прогнозирующих запросов доступен как в среде Среда SQL Server Management Studio, так и в среде Business Intelligence Development Studio.
Примечание |
---|
Можно также создавать запросы к моделям регрессии с помощью надстроек интеллектуального анализа данных SQL Server 2005 для Excel или SQL Server 2008 для Excel. Надстройки интеллектуального анализа данных для Excel не создают моделей регрессии, но позволяют просматривать любые модели интеллектуального анализа данных, хранящиеся в экземпляре служб Службы Analysis Services, и создавать запросы к ним. |
Вернуться в начало
Образец запроса 4. Прогнозирование дохода с помощью одноэлементного запроса
Проще всего создать единичный запрос для модели регрессии в диалоговом окне Ввод одноэлементного запроса. Например, можно построить следующий DMX-запрос, взяв подходящую модель регрессии, выбрав Одноэлементный запрос, а затем введя 20 в качестве значения атрибута Возраст.
SELECT [LR_PredictIncome].[Yearly Income]
From [LR_PredictIncome]
NATURAL PREDICTION JOIN
(SELECT 20 AS [Age]) AS t
Образец результатов:
Годовой доход |
---|
45227.302092176 |
Вернуться в начало
Образец запроса 5. Использование прогнозирующих функций в модели регрессии
В моделях линейной регрессии можно использовать многие стандартные прогнозирующие функции. Далее приводится пример добавления некоторых описательных статистических показателей к результатам прогнозирующего запроса. По этим результатам можно понять, что в данной модели наблюдается значительное отклонение от средней величины.
SELECT
([LR_PredictIncome].[Yearly Income]) as [PredIncome],
(PredictStdev([LR_PredictIncome].[Yearly Income])) as [StDev1]
From
[LR_PredictIncome]
NATURAL PREDICTION JOIN
(SELECT 20 AS [Age]) AS t
Образец результатов:
Годовой доход |
StDev1 |
---|---|
45227.302092176 |
31827.1726561396 |
Вернуться в начало
Список прогнозирующих функций
Все алгоритмы Майкрософт поддерживают общий набор функций. Однако алгоритм линейной регрессии (Майкрософт) поддерживает дополнительные функции, список которых приведен в следующей таблице.
PredictSupport (расширения интеллектуального анализа данных) |
|
PredictVariance (расширения интеллектуального анализа данных) |
|
|
Список функций, общих для всех алгоритмов Майкрософт, см. в разделе Алгоритмы интеллектуального анализа данных (службы Analysis Services — интеллектуальный анализ данных). Дополнительные сведения об использовании этих функций см. в разделе Справочник по функциям расширений интеллектуального анализа данных.
См. также