Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

SQLServer08_DM_Nesterov

.pdf
Скачиваний:
174
Добавлен:
07.02.2016
Размер:
16.46 Mб
Скачать

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

Рис.1.4. Несколько моделей, созданных в рамках одной структуры

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

Новую модель для MS SQL Server можно определить с помощью мастера интеллектуального анализа данных в среде BI Dev Studio или с помощью языка DMX. Нередко для решения задачи создается несколько моделей, основанных на разных алгоритмах, чтобы была возможность сравнить результаты и выбрать наилучшую.

Пятый этап – проверка модели. Здесь целью является оценка качества работы созданной модели перед началом ее использования в производственной среде. Если создавалось несколько моделей, то на

21

этом этапе делается выбор в пользу той, что даст наилучший результат.

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

мого параметра. В MS SQL Server 2008 службы Analysis Services

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

Другой подход, называемый перекрестной проверкой, заключается в том, что создаются подмножества данных и сравниваются результаты работы модели на каждом подмножестве. Такой подход может использоваться как при решении предсказательных, так и описательных задач. Средства автоматизации перекрестной проверки доступны при использовании MS SQL Server 2008 версии Enterprise или

Developer.

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

можности службы SQL Server Reporting Services.

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

22

2. КРАТКИЙ ОБЗОР АЛГОРИТМОВ ИНТЕЛЛЕКТУАЛЬНОГО АНАЛИЗА ДАННЫХ

2.1. УПРОЩЕННЫЙ АЛГОРИТМ БАЙЕСА

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

Алгоритм основан на использовании формулы Байеса. Пусть A1,A2,…- полная группа несовместных событий, а B – некоторое событие, вероятность которого положительна. Тогда условная вероятность события Ai, если в результате эксперимента наблюдалось событие B, может быть вычислена по формуле:

(

|

)

(

|

)

(

)

 

(2.1)

 

 

 

 

 

 

( |

)

(

 

)

 

 

 

 

 

В [1] работа алгоритма поясняется на следующем примере. В 2002 году в Конгрессе США был 51% представителей республиканской партии и 49% демократов. Имеется информация о том, как голосовали представители той и другой партии по ряду законопроектов (табл. 2.1). Необходимо определить партийную принадлежность некоего конгрессмена.

Без дополнительной информации мы можем сказать, что с вероятностью 0,49 он будет демократом, с вероятностью 0,51 – республиканцем. Это априорная («заданная до опыта») вероятность, в формуле (2.1) обозначенная как P(Ai), где событие Ai может заключаться в том, что данный депутат является демократом (Дем.) или республиканцем (Респ.).

Но мы можем увеличить точность прогноза, если знаем, как голосовал данный депутат (табл. 2.2), и общие результаты голосования членов Конгресса по тем же вопросам (табл. 2.1). Формула Байеса позволяет вычислить условные (апостериорные, «полученные после опыта») вероятности.

23

Таблица 2.1

Данные голосований по законопроектам с разделением по принадлежности к партиям (Дем.-демократ, Респ.-республиканец)

 

Зак-кт 1

Зак-кт 2

Зак-кт 3

Зак-кт 4

Партия

 

 

 

 

 

 

 

 

 

 

 

 

Дем.

Респ.

Дем.

Респ.

Дем.

Респ.

Дем.

Респ.

Дем.

Респ.

 

 

 

 

 

 

 

 

 

 

 

За

41

214

87

211

184

172

178

210

211

223

 

 

 

 

 

 

 

 

 

 

 

Против

166

4

114

6

11

36

23

1

 

 

 

 

 

 

 

 

 

 

 

 

 

За

20%

98%

43%

97%

94%

83%

89%

99.5%

49%

51%

 

 

 

 

 

 

 

 

 

 

 

Против

80%

2%

57%

3%

6%

17%

11%

0.5%

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 2.2

Результаты голосования интересующего нас представителя

Зак-кт 1 Зак-кт 2 Зак-кт 3 Зак-кт 4 Партия

За

Против За

За

?

Если известно, что каждый член конгресса должен принадлежать только одной из двух перечисленных партий, то полная группа событий – это {Дем.,Респ.}. Обозначим результаты голосования из таблицы 2.2 как «Рез.» и воспользуемся правилом умножения вероятностей. Тогда условные вероятности можно рассчитать как:

P(Рез.|Дем.) × P(Дем.) = 0,2 × 0,57 × 0,94 × 0,89 × 0,49 ≈ 0,0467 (2.2) P(Рез.|Респ.) × P(Респ.) = 0,98 × 0,03 × 0,83 × 0,995 × 0,51 ≈ 0,0124

( | )

( | )

В итоге можно заключить, что с вероятностью около 0,79 рассматриваемый конгрессмен является представителем демократической партии.

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

24

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

Если говорить о СУБД MS SQL Server 2008, то там описание модели интеллектуального анализа хранится в виде иерархии узлов. Для упрощенного алгоритма Байеса иерархия имеет 4 уровня. Среда разработки BI Dev Studio позволяет просмотреть содержимое модели (рис.2.1). На верхнем уровне иерархии находится узел самой модели. Самый нижний уровень содержит информацию о том, с какой частой встречались в обучающей выборке различные значения выходного параметра в сочетании с указанным значением выбранного входного параметра (рис.2.1).

Рис.2.1. Просмотр модели на базе упрощенного алгоритма Байеса средствами BI Dev Studio

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

- входные атрибуты должны быть взаимно независимыми;

25

-атрибуты могут быть только дискретными или дискретизованными (в процессе дискретизации множество значений непрерывного числового атрибута разбивается на интервалы и дальше идет работа с номером интервала);

-алгоритм требует меньшего количества вычислений, чем другие алгоритмы интеллектуального анализа, представляемые Microsoft SQL Server 2008, поэтому он часто используется для первоначального исследования данных. По той же причине, данный алгоритм предпочтителен для анализа больших наборов данных с большим числом входных атрибутов.

2.2. ДЕРЕВЬЯ РЕШЕНИЙ

Деревья решений (или деревья принятия решений, англ. «Decision Trees») – семейство алгоритмов, позволяющих сформировать правила классификации в виде иерархической (древовидной структуры). В ряде случаев, эти алгоритмы позволяют также решать задачи регрессии и поиска взаимосвязей.

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

Рассмотрим следующий пример [6].

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

На рисунке 2.2 a) приведена гистограмма, показывающая зависимость прогнозируемого атрибута «Покупатель велосипеда» от входного «Возраст» (будем считать, что возраст имеет три значения «Младший», «Средний», «Старший»). Гистограмма 2.2 b) показывает, как эти данные могут использоваться при построении дерева решений.

26

a)

b)

Рис.2.2. Пример построения узла дерева решений для дискретного атрибута

Иначе алгоритм работает при построении дерева для прогнозирования непрерывного столбца [6]. В этом случае, каждый узел содержит регрессионную формулу, а разбиение осуществляется в точке нелинейности в этой формуле. Данный подход показан на рисунке 2.3. Пусть наиболее точно имеющиеся данные можно моделировать двумя соединенными линиями – рисунок 2.3 a). Дерево решений в этом случае строится так, как показано на рисунке 2.3 b).

a)

b)

все

X≤5

Y=0,8×X-0,5

X≥5

Y=-0,5×X+6

Рис.2.3. Построение дерева решений для непрерывного прогнозируемого атрибута

27

В случае Microsoft SQL Server, для того, чтобы можно было получить функцию линейной регрессии, в набор стандартных алгоритмов, начиная с версии SQL Server 2005, был включен алгоритм линейной регрессии (Microsoft Linear Regression) о котором речь пойдет ниже.

Но вернемся к деревьям решений. При решении задачи классификации, пройдя от корневого узла до конечного («листа»), мы получаем результат. Несомненным достоинством деревьев решений является их интуитивная понятность. В частности, описанные деревом зависимости можно легко перевести в правила «если-то». Например, по представленному на рис.2.4 фрагменту диаграммы можно составить правила следующего вида: «Если клиент владеет двумя машинами, проживает в регионе «Pacific» (Тихоокеанский) и моложе 43 лет, то он с высокой вероятностью приобретет велосипед».

Рис.2.4 Фрагмент диаграммы дерева решений

28

При работе с SQL Server 2008, диаграммы деревьев решений для моделей, основанных на этом алгоритме, можно создавать и просматривать в среде BI Dev Studio.

При построении дерева решений важно добиться того, чтобы модель корректно отображала особенности предметной области и в то же время не содержала неоправданно большого числа ветвей. Слишком «ветвистое» дерево может отлично классифицировать данные из обучающего набора, но иметь невысокую точность прогнозирования для новых данных. Это явление называется «переобучением». Для борьбы с ним используется остановка при достижении определенных пороговых показателей (например, по объему данных, поддерживающих разбиение) и процедура «обрезки» дерева, в результате которой некоторые ветви объединяются или удаляются.

2.3. ЛИНЕЙНАЯ РЕГРЕССИЯ

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

Рис.2.5. Пример использования линейной регрессии

29

Вслучае одной независимой переменной (одного регрессора), задача может быть сформулирована следующим образом. Уравнение, описывающее прямую на плоскости: y=a+bx. Для i-й точки будет справедливо yi=a+bxi+ei , где ei – разница между фактическим значением yi и вычисленным в соответствии уравнением линии. Иначе говоря, каждой точке соответствует ошибка, связанная с ее расстоянием от линии регрессии. Нужно с помощью подбора коэффициентов a

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

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

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

2.4.АНАЛИЗ ВРЕМЕННЫХ РЯДОВ

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

Ряд можно представить как упорядоченное множество элементов или событий {X1,X2,…Xn}, каждое из которых в общем случае может быть описано набором атрибутов: Xi={xi1,xi2,…xim}. На практике

30

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]