Применение средств Data Mining при исследовании социальных явлен. Методическое пособие
Скачать 1.77 Mb.
|
МЕТОДИЧЕСКОЕ ПОСОБИЕ Применение средств Data Mining при исследовании социальных явлений на примере семейных отношений Начало работы
== 1. Очистка данных Если анализируемые данные не соответствуют определенным критериям качества, то их предварительная обработка становится необходимым шагом для обеспечения удовлетворительного результата анализа. 1.1. Парциальная обработка В процессе парциальной обработки восстанавливаются пропущенные данные, редактируются аномальные значения, проводится спектральная обработка. В Deductor Studio при этом используются алгоритмы, в которых каждое поле анализируемого набора обрабатывается независимо от остальных полей, то есть данные обрабатываются по частям. По этой причине такая предобработка получила название парциальной. В числе процедур предобработки данных, реализованных в Deductor Studio, входят сглаживание, удаление шумов, редактирование аномальных значений, заполнение пропусков в рядах данных. Процесс обработки 1)таблица с аномальными данными: 2)открываем мастер обработки и выбираем парциальную обработку: 3)выбор операции восстановления пропущенных данных: 4)выбор степени подавления: 5)сглаживание данных возможно с помощью вейвлет-преобразования и вычитания шума: 6)полученная таблица: =Полученная таблица отличается от первоначальной … 1.2. Факторный анализ Цель факторного анализа заключается в понижении размерности пространства факторов. Понижение размерности необходимо в случаях, когда входные факторы коррелированы друг с другом, т.е. взаимозависимы. В факторном анализе речь идет о выделении из множества измеряемых характеристик объекта новых факторов, более адекватно отражающих свойства объекта. Факторный анализ - метод многомерного статистического анализа, позволяющий на основе экспериментального наблюдения признаков объекта выделить группу переменных, определяющих корреляционную взаимосвязь между признаками. Например, при проведении элементного анализа предельных углеводородов можно отдельно измерять массовую долю углерода и массовую долю водорода - два признака. Однако, эти признаки не являются независимыми (коррелируют между собой) и оба определяются длиной углеродной цепи. В этом и состоит суть факторного анализа - на основе исследования корреляционных взаимосвязей признаков находить причины, определяющие эти взаимосвязи. Поле может быть использовано в факторном анализе, если выполнено несколько условий:
В противном случае, поле будет автоматически помечено как непригодное. Для понижения размерности пространства факторов необходимо наличие хотя бы двух входных полей. 1. Импортируем оцифрованную таблицу 3-new1(101)-оцифр
2. Выбираем мастер обработки \ факторный анализ \ далее
С помощью факторного анализа сократилось число переменных, т.е. он исключил факторы, которые дедуктор посчитал ненужными, т.к. они были ниже порогового значения. Первым этапом факторного анализа является выбор новых признаков, которые являются линейными комбинациями прежних и "вбирают" в себя большую часть общей изменчивости входных факторов. Поэтому они содержат большую часть информации, заключенной в первоначальных данных. В обработчике "Факторный анализ" это осуществляется с помощью метода главных компонент. Этот метод сводится к выбору новой ортогональной системы координат в пространстве наблюдений. В качестве первой главной компоненты избирают направление, вдоль которого массив данных имеет наибольший разброс. Выбор каждой последующей главной компоненты происходит так, чтобы разброс данных вдоль нее был максимальным и чтобы эта главная компонента была ортогональна другим главным компонентам, выбранным прежде. В качестве недостатков этого метода можно перечислить следующие: 1. Нет однозначного подхода к определению числа значимых переменных. Экспериментальные данные, как правило, содержат случайную ошибку, что вызывает появление дополнительных факторов, которые по сути бесполезны и описывают погрешность эксперимента. Существует множество способов отделения значимых переменных от незначимых, однако в каждом конкретном случае требуется индивидуальный подход. 2. Сложность интерпретации переменных - преобразование можно провести бесконечным множеством способов, при этом выяснить физическую суть каждой новой переменной довольно сложно, а часто и невозможно. Так, например, если применить факторное преобразование к спектру смеси красителей, то каждая новая переменная, скорее всего, будет представлять собой не сами концентрации индивидуальных красителей, а некую линейную комбинацию концентраций. Выбор главных компонент в процессе факторного анализа может осуществляться полуавтоматически: пользователь задает уровень значимости, который в сумме должны давать главные компоненты. В результирующем наборе остаются главные компоненты, расположенные в порядке убывания, суммарный вклад которых не менее заданного пользователем уровня. Факторный анализ широко используется: в очень большом исходном наборе данных есть много полей, некоторые из которых взаимозависимы. На этом наборе данных требуется обучить нейронную сеть. Для того, чтобы снизить время, требуемое на обучение сети, и требования к объему обучающей выборки, с помощью факторного анализа осуществляют переход в новое пространство факторов меньшей размерности. Т.к. большая часть информативности исходных данных сохраняется в выбранных главных компонентах, то качество модели ухудшается незначительно, зато на много сокращается время обучения сети. 1.3. Корреляционный анализ Корреляционный анализ применяется для оценки зависимости выходных полей данных от входных факторов и устранения незначащих факторов. Принцип корреляционного анализа состоит в поиске таких значений, которые в наименьшей степени коррелированы (взаимосвязаны) с выходным результатом. Такие факторы могут быть исключены из результирующего набора данных практически без потери полезной информации. Критерием принятия решения об исключении является порог значимости. Если корреляция (степень взаимозависимости) между входным и выходным факторами меньше порога значимости, то соответствующий фактор отбрасывается как незначащий. Корреляция может быть положительной и отрицательной (возможна также ситуация отсутствия статистической взаимосвязи — например, для независимых случайных величин). Отрицательная корреляция — корреляция, при которой увеличение одной переменной связано с уменьшением другой переменной, при этом коэффициент корреляции отрицателен. Положительная корреляция — корреляция, при которой увеличение одной переменной связано с увеличением другой переменной, при этом коэффициент корреляции положителен. Поле может быть использовано в корреляционном анализе, если выполнено несколько условий: 1. Применение возможно в случае наличия достаточного количества случаев для изучения: для конкретного вида коэффициента корреляции составляет от 25 до 100 пар наблюдений. 2. Второе ограничение вытекает из гипотезы корреляционного анализа, в которую заложена линейная зависимость переменных. Во многих случаях, когда достоверно известно, что зависимость существует, корреляционный анализ может не дать результатов просто ввиду того, что зависимость не линейна (выражена, например, в виде параболы). 3. Сам по себе факт корреляционной зависимости не даёт основания утверждать, какая из переменных предшествует или является причиной изменений, или что переменные вообще причинно связаны между собой, например, ввиду действия третьего фактора. 4. поле имеет числовой тип данных, в нем не содержатся пропуски и стандартное отклонение столбца не равно нулю, то есть в столбце содержатся различные значения. В противном случае, поле будет автоматически помечено как непригодное. Исключение незначащих факторов производится на основании рассчитанной корреляции. Возможны два варианта принятия решения, определяемых выбором соответствующего пункта в нижней части окна:
В выходной набор попадут информационные поля, столбцы, отмеченные на этом шаге, и все выходные столбцы. Для устранения незначащих факторов необходимо наличие хотя бы двух входных полей и хотя бы одного выходного поля. Если выделить в списке непрерывное (числовое) поле, для него будет отображен набор основных статистических характеристик в секции "Статистика" - минимальное, максимально и среднее значения, а также стандартное отклонение. Если выделенное поле является дискретным, т.е. принимающим конечное число значений, для него в секции "Уникальных значений" будет указано количество уникальных значений в данном поле, а также список самих уникальных значений. Порядок выполнения работы: Используется оцифрованная таблица со статистикой 101 разведенной пары. 1) Запускаем дедуктор, выбираем таблицу «семья.оцифр», в ней содержится 14 столбцов: «продолжительность брака», «беременность до брака», «полных лет ей на момент брака», «полных лет ему на момент брака», «№ брака», «наличие братьев, сестер у нее», «алкоголизм», «насилие», «количество детей», «ее тип семьи», «отношения в семье у нее», «наличие братьев, сестер у него», «отношения в семье у него». 2) Запускаем мастер обработки. 3) Выбираем корреляционный анализ; 4) Обозначаем входные и выходные параметры (в данной таблице выходной параметр количество детей). 5) Нажимаем «далее», затем «пуск», на этом этапе рассчитываются коэффициенты корреляции, выбираем порог значимости (0,27) и дедуктор исключает все столбцы, где коэффициент ниже порогового значения. Из данной таблицы были исключены столбцы «беременность до брака», «полных лет ей на момент брака», «полных лет ему на момент брака», «№ брака», «наличие братьев, сестер у нее», «алкоголизм», «насилие». 6) Выбираем способ отображения данных (матрица корреляции, таблица); 7) Нажимаем «готово». Матрица корреляции выглядит так: Можно сделать вывод, что больше всего с выходным значением коррелирует фактор «продолжительность брака» - коэф.=0,473. Коэффициент положителен, т.е. чем больше продолжительность брака, тем больше детей с семье. Самый меньший коэффициент =-0,201(алкоголизм). 1.4. Дубликаты и противоречия Обнаружение Дубликатов и противоречий В процессе анализа иногда возникает проблема выявления дубликатов и противоречий в данных. В Deductor Studio для автоматизации этого процесса есть соответствующий инструмент «Дубликаты и противоречия». Дубликаты-записи в таблице, все входные и выходные поля которых одинаковые. Противоречия-записи в таблице, у которых все выходные поля одинаковые, но отличаются хотя бы по одному выходному полю. 1. Импортируем таблицу в Deductor и задаем входные и выходные поля. 2. Затем используем инструмент «Дубликаты и противоречия. При использовании обработчика «Дубликаты и противоречия» возможно отображение результатов обработки с помощью одноименного визуализатора. 1.5. Фильтрация Обработка данных с помощью операции Фильтрация. С помощью операции фильтрации можно оставить в таблице только те записи, которые удовлетворяют заданным условиям, а остальные удалить (Руководство по использованию дедуктора вызывается клавишей F1). Пример. Нам дана таблица семья. Нужно выделить в этой таблице строки в которых и муж и жена в момент заключения брака не достигли 20 лет. Проанализировать полученную таблицу. Выполняем фильтрацию:
Таблица до обработки в Дедукторе: Таблица после обработки: Получили нужную таблицу. В ней только пары, которым в момент заключения брака нет 20 лет. В нашей базе данных таких пар 4. Это 3.8% всех опрошенных пар. 2. Трансформация данных. 2.1. Квантование. Квантование это процесс, в результате которого происходит распределение значений непрерывных данных по конечному числу интервалов заданной длины. Рассмотрим его применение на примере таблицы 3-new1(101).xls Выбор полей и настройка параметров квантования Для задания параметров квантования, нужно в списке полей выделить поле, данные в котором необходимо подвергнуть квантованию (настройка параметров квантования производится отдельно для каждого поля). При этом в правой части окна отобразятся свойства данного поля:
Непригодное - для данного поля не может быть выполнено квантование, например, если данные в этом поле - это строковые данные. Это поле будет вставлено в результирующую выборку в неизменном виде. Поле может быть использовано для квантования значений, если выполнены условия:
В качестве поля для квантования будем использовать поля »полных лет ему на момент заключения брака» Далее выбираем Способ - выбирается из списка способ квантования. Доступны два способа - по интервалам и по квантилям. При интервальном способе диапазон исходных значений разбивается на равные интервалы. При квантильном интервалы выбираются таким образом, чтобы в каждый из них попадало одинаковое количество значений. Интервалов - указывается количество интервалов, на которое будет разбит диапазон исходных данных. Значение: Номер интервала, Нижняя граница, Верхняя граница, Середина интервала, Метка интервала. Выберем интервальный способ квантования, количество интервалов 4, в качестве значения выберем середину интервала. Настройка границ и меток интервалов квантования. Данный шаг мастера позволяет вручную настроить границы и метки интервалов. На этом шаге в списке "Столбцы" будут отображены все поля исходной выборки, для которых выполняется операция квантования. Запуск процесса обработки. На данном шаге запускается собственно процесс квантования данных с ранее настроенными параметрами. На данном шаге пользователь должен выбрать, в каком виде будут отображены результаты обработки данных. Для этого достаточно пометить нужные виды отображения флажками и щелкнуть по кнопке "Далее". Для выборки данных, полученных в результате квантования, доступны следующие виды отображения: таблица, статистика, диаграмма, гистограмма, куб, сведения. Выберем отображение таблица. 2.2. Замена данных. В результате выполнения этой операции производится замена значений по таблице подстановки, которая содержит пары, состоящие из исходного значения и выходного значения. Например, 0 – «красный», 1 – «зеленый», 2 – «синий». Или «зима» – «январь», «весна» – «апрель», «лето» – «июль», «осень» - «октябрь». Для каждого значения исходного набора данных ищется соответствие среди исходных значений таблицы подстановки. Если соответствие найдено, то значение меняется на соответствующее выходное значение из таблицы подстановки. Если значение не найдено в таблице, оно может быть либо заменено значением, указанным для замены «по умолчанию», либо оставлено без изменений (если такое значение не указано). Кроме того, можно указать значения, которые нужно вставить вместо пустых ячеек. В нашем случае, мы используем замену данных, как правило, для оцифровывания таблицы. Выбираем мастер обработки –> Замена данных: Далее выбираем столбец, где будем заменять (оцифровывать) данные, например, ее тип семьи. Выбираем список значений –> отмечаем все значения галочками –>Оk. Заменяем значения на цифры -> далее. Заменив все нечисловые данные на цифры, мы получаем оцифрованную таблицу: 3. DataMining. 3.1. Логистическая регрессия. С помощью логистической регрессии можно оценивать вероятность того, что событие наступит для конкретного испытуемого (больной/здоровый, возврат кредита/дефолт и т.д.). Логистическая регрессия описывается уравнением P=a1*x1+a2*x2+...+an*xn + a0, P=1/(1+exp(-y)) - логистическая функция. Статус непригодного поля устанавливается только автоматически и в дальнейшем может быть изменен только на неиспользуемое или информационное. Поле будет запрещено к использованию если:
1. \ИНС-лекции\Дедуктор5-1\Bin DStudio
2. Выбираем мастер обработки \ логистическая регрессия \ далее
Оценить качество логистической регрессии как классификатора можно на основе таблицы сопряженности. По умолчанию порог отсечения равен 0.5. В этой таблице сопряженности зафиксировано 8 случаев ложного обнаружения ( брка больше 10, хотя по факту меньше) и 21 случая ложного пропуска. Доля верно классифицированных случаев составила чуть более 55%.. Это не самый высокий показатель, и его, скорее всего, можно улучшить, подобрав оптимальную пороговую точку. Это позволяет сделать ROC–анализ. ROC–анализ позволяет провести оценку качества модели-классификатора, сравнить прогностическую силу нескольких моделей, определить оптимальную точку отсечения для отнесения объектов к тому или иному классу. ROC-кривая показывает зависимость количества верно классифицированных положительных примеров от количества неверно классифицированных отрицательных примеров. С помощью логистической регрессии мы получили отклонение от линейной зависимости. Получили отклонение классических значений от фактических. Чувствительность (Sensitivity) – это и есть доля истинно положительных случаев: Специфичность (Specificity) – доля истинно отрицательных случаев, которые были правильно идентифицированы моделью: Результатом работы обработчика "Логистическая регрессия" является выходной набор, в котором появляются два новых поля: <Название_выходного_поля>_Score - рассчитанное значение вероятности появления события, или так называемый рейтинг примера. <Название_выходного_поля>_Out - классифицированное значение на основе рейтинга и порога отсечения. Логистическая регрессия на выходе рассчитывает значение рейтинга, которое можно трактовать как вероятность того, что событие наступит для конкретного испытуемого. Поэтому часто желательно указать, вероятность какого именно (из двух вариантов выходного поля) события будет оцениваться, чтобы оно кодировалось истиной. Например, если мы прогнозируем вероятность наступления заболевания, имея два значения выходного поля ("больной", "здоровый"), то истинным случаем здесь будет "больной". Наоборот, если мы хотим оценивать вероятность того, что человек здоров, истиной будет "здоровый". 3.2. Нейросеть. В этом режиме Мастер обработки Дедуктора позволяет сконструировать нейронную сеть с заданной структурой, определить ее параметры и обучить с помощью одного из доступных в системе алгоритмов обучения. В результате будет получен эмулятор нейронной сети, который может быть использован для решения задач прогнозирования, классификации, поиска скрытых закономерностей, сжатия данных и многих других приложений. Перед тем как использовать нейросеть, нужно обучить ее. Задача обучения равносильно аппроксимации функции (восстановление функции по отдельным ее точкам). Для обучения нужно подготовить таблицу – задать входные и выходные параметры, то есть подготовить обучающую выборку. По такой таблице нейросеть сама находит зависимости выходных полей от входных. Далее эти зависимости можно использовать, подавая на вход нейросети некоторые значения (даже те, на которых нейросеть не обучалась) Настройка назначения полей. Задаются входные и выходные поля. Обычно для подготовки обучающей выборки используются методы очистки и трансформации данных – редактируются аномалии, заполняются или удаляются пропуски, устраняются дубликаты и противоречия, производится квантование и табличная замена, преобразуется формат данных. Нормализация значения полей. Цель-преобразование данных к виду наиболее подходящему для обработки алгоритмом. Для нейросети доступны следующие способы нормализации полей:
Настройка обучающей выборки. Обучающую выборку разбивают на два множества - обучающее и тестовое (разбивается либо по порядку либо случайно). Тестовое множество используется для проверки результатов обучения. Настройка структуры нейросети. Задаются количество скрытых слоев и нейронов в них, а также активационная функция нейронов. (причем слишком большое количество нейронов может привести к переобучению сети, когда она выдает хорошие результаты на примерах, входящих в обучающую выборку, но практически не работает на других примерах. В секции "Активационная функция" необходимо определить тип функции активации нейронов и ее крутизну. Для этого в списке "Тип функции" следует выбрать нужную функцию активации, а в поле "Крутизна" - задать ее крутизну (также крутизну можно задать с помощью ползунка, расположенного ниже). В нижней части окна отображается график выбранной функции в соответствии с установленной крутизной. Замечание: К выбору количества скрытых слоев и количества нейронов для каждого скрытого слоя нужно подходить осторожно. Хотя до сих пор не выработаны четкие критерии выбора, дать некоторые общие рекомендации все же возможно. Считается, что задачу любой сложности можно решить при помощи двухслойной нейросети, поэтому конфигурация с количеством скрытых слоев, превышающих 2, вряд ли оправдана. Для решения многих задач вполне подойдет однослойная нейронная сеть. При выборе количества нейронов следует руководствоваться следующим правилом: "количество связей между нейронами должно быть примерно на порядок меньше количества примеров в обучающем множестве". Количество связей рассчитывается как связь каждого нейрона со всеми нейронами соседних слоев, включая связи на входном и выходном слоях. Слишком большое количество нейронов может привести к так называемому "переобучению" сети, когда она выдает хорошие результаты на примерах, входящих в обучающую выборку, но практически не работает на других примерах. Обучение нейросети. Далее следует выбрать алгоритм обучения:
Далее необходимо задать условия, при выполнении которых обучение будет прекращено:
Теперь все готов к процессу обучения нейросети. В начале все веса инициализируются случайными значениями (после обучения эти веса принимают определенные значения). Обучение может с большей долей вероятности считаться успешным, если процент распознанных примеров на обучающем и тестовом множествах достаточно велик (близок к 100%). В качестве выходного параметра выбираем продолжительность брака. Все остальные параметры входные: Выбираем один скрытый слой с 8 нейронами. Ниже представлена структура самой нейросети (хорошо обученной) с одним скрытым слоем с 7 нейронами. Обученную, таким образом, нейросеть можно использовать для выработки управляющих воздействий. Это можно сделать, применяя анализ «что-если». Для его включения нужно выбрать визуализатор «что-если»: Диаграмма рассеяния (для анализа обученности нейросети): Если же при обучении нейросети не руководствоваться правилами выбора количества скрытых слоев и нейронов в нем, то нейросеть в данном случае может привести к так называемому «переобучению» или же нейросеть просто не обучится. В этом случае выдаваемые результаты из обученной нейросети не будут являться правдивыми. 3.3. Дерево решений. Деревья решений (decision trees) являются одним из самых мощных средств решения задачи отнесения какого-либо объекта (строчки набора данных) к одному из заранее известных классов. Дерево решений – это классификатор полученный из обучающего множества, содержащего объекты и их характеристики, на основе обучения. Дерево состоит из узлов и листьев, указывающих на класс. (Руководство по использованию дедуктора вызывается клавишей F1). Исходную таблицу меняем, так как выходной параметр должен быть дискретным. В нашем случае мы поменяли значения столбца продолжительность брака на такие значения: меньше 2, от 2 до 5, от 5 до 10, от 10 до 15, больше 15. Выполняем обработку операцией Дерево решений:
Мы получили дерево решений, построенного из 18 правил, эти правила, значимость каждого атрибута: 20> |