Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
InfIntSys-09Conspect_add.doc
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
4 Мб
Скачать
☆

5.3. Пример прогнозирования продаж автомобилей

4.1. Раскрытие данных. (Data Mining)

Data Mining – Knowledge Discovery from data (Раскрытие знаний из данных).

OLAP – On-Line Analitic Processing (Составные технологии).

Нейросетевые методы: позволяют работать с большими объемами данных. Трудно вытянуть скрытые данные, приводит к неоптимизируемым связям.

Строятся деревья решений.

Интегрированный процесс обработки данных:

Первые два этапа подготовительные, следующие – основные.

На первом этапе собираются сырые данные. Сбор может быть автоматический или с помощью сборщиков. Данные хранятся в Базах Данных. Выбор – файл в определенном формате.

Второй этап процессирования подготавливает данные для применения функций ДМ (Data Mining). Его можно охарактеризовать как “scrubbing the data” (промывание данных). Шаги такие:

Очистка данных (Data Cleaning). Причина этого – возможная некорректность сырых данных. Они могут содержать неточные (inaccurate) значения, недостающие данные (missing) или другие несовместимости в данных (inconsistencies). Это момент контролировался специальными прикладными программами, построенными с применением знаний о предметной области. Например, достаточно легко определить неправильность данных о числе пассажиров, если оно превышает вместимость транспортного средства. Пропускание таких некорректных данных на обработку чревато неправильными решениями на этапе анализа результатов ДМ.

Для очистки данных существует техника, основанная на правилах (Rule-based techniques), которые оценивают каждый элемент данных на основе метазнаний (знания о данных) о диапазоне данных, ограничениях или отношениях с другими полями в записях. Другая техника – это визуализация данных (вывод на экран, например, диаграмма), позволяющая оператору легко определять некорректность данных.

И еще один подход – использование статистической информации для отфильтровывания (фильтры на данные, например, нейрофильтры) некорректных данных и восстановления недостающих данных.

Селекция данных (Data Selection). Если мы имеем очищенные данные для ДМ, то следующий шаг – решить, какие данные важны для задачи, которую мы должны автоматизировать. В таблице базы данных может быть много больше Полей, чем нужно для Принятия Решений (Прогноза). Проблема в том, что во многих случаях мы не знаем точно, какие параметры являются важными для принятия решений. Если база данных реляционная, то для селектирования нужных таблиц, колонок и строк можно просто использовать средства языка запросов SQL, что обсуждалось ранее. Кроме того, большинство баз данных имеют инструменты, позволяющие пользователям определять, какие данные допустить и использовать с помощью заполнения форм.

Селекция данных требует некоторых детализированных знаний о проблемной области и обрабатываемых данных.

Препроцессирование данных (Data Preprocessing). Этот щаг нужен для улучшения данных. Некоторые из этих улучшений включают генерацию новых элементов данных из одного или более полей, а также замену некоторых полей на другие, содержащие более полезную информацию. Некоторые данные могут быть избыточными, поскольку атрибуты могут измерять разными путями один и тот же параметр. Если используются нейросети для ДМ, то данные должны быть специально подготовлены для входа в нейросеть.

Техника препроцессирования может быть разная.

  1. Объединение атрибутов производится в форме отношения, суммирования, произведения и разности их значений, причем новые значения дают новые атрибуты взамен старых. Возможно также укрупнение периода измеренных данных (от часов к дням, месяцам и т.д.).

  2. Масштабирование данных. Часто при использовании нейросетей на входах должны быть значения [0,1], [-1,+1]. Поэтому данные должны быть приведены к этим диапазонам.

  3. Нормализация данных. Векторные или матричные данные иногда могут быть созданы как группы чисел. В этом случае следует нормализовать или скаляризовать векторы как группы чисел. Это может быть сделано как векторная нормализация с помощью суммирования весов квадратов каждого элемента, взятие корня квадратного из этих сумм и деления каждого элемента на норму. Второй путь – простое суммирование всех элементов вектора и затем деление каждого числа на сумму. Так можно нормализовать сумму к 1.0, и каждый элемент будет представлять процент вклада в общую сумму. Третий путь – делить каждый элемент вектора на максимальное значение в массиве данных. Это самый дешевый путь нормализации.

  4. Символьные отображения и таксономия данных. Во многих случаях необходимо выполнить преобразование символов в другие символы перед тем, как присвоить им числовые значения. Наиболее общий случай – агрегирование членов некоторого класса или группы в единый символ для целей удобного представления данных. Например, на станции продано 100 билетов на n разных конечных станций (т.е. зафиксировано n потоков до станций). Если мы хотим смоделировать общий поток пассажиров через станцию, то нужно объединить все эти количества одним символом (атрибутом) – поток через станцию. Аналогичное отображение может быть использовано для таксономического гранулирования информации. Например, можно ввести таксономию: “направление – зона – станция”, показывающую разные уровни абстракции данных (потоков пассажиров). Далее можно интересоваться отношением между общим потоком и уровнем “направление”, и потоками по уровням “зона” и “станция”. На первом уровне мы воспринимаем весь поток пассажиров как одну абстрактную категорию. На втором и третьем уровнях категории конкретизируются вплоть до станций.

  5. Символьно-числовая трансляция данных. Присвоение численных значений символьным атрибутам требуется для процессирования данных с помощью ДМ алгоритмов. Базовой формой этого может быть простой просмотр таблицы, сравнение символа со списком символов в ней и, если символ найден, присвоение ему соответствующего числового значения. Требуется осторожность, если символ не идентифицируется по списку символов. Тогда ему присваиваем значение “don’t care” или “unknown”.

//(Более сложный подход – использование хэширования. Берем строку символов и генерируем уникальное числовое значение.)

Представление данных (DR). В базах данных реляционного типа обычно используется три логических типа данных:

  • непрерывные числовые значения;

  • дискретные числовые значения;

  • категориальные или символьные дискретные значения.

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

Примеры:

  1. Continuous values: Здесь требуется скаляризация данных. Так, если значение изменяется от 0 к 100, то оно может быть скаляризовано от 0.0 к 1.0 (20 -> 0.2; 80 -> 0.8). Это удобно для нейросетей.

  2. Discrete values: One-of-N codes: Если мы имеем набор четырех станций (Tokyo, …), то можно представить станцию Tokyo – 1000, следующую станцию – 0100 и т.д. (т.е. 1 – 1 код (один к одному). Нейросеть может это хорошо понять.)

  3. Binary Codes: номера станций могут быть представлены так: Tokyo – 001, 010, 011, … Для нейросетей это может быть неудобно из-за большой величины хэммингова расстояния между близкими станциями.

  4. Thermometr codes: Этот код используется особенно часто, когда дискретные значения нужно различать хорошо: как увеличивается или уменьшается. Хорош, когда нужно большое различие. Например, имеем следующие символьные значения потоков пассажиров: {малый (small), средний (middle), большой (big), наибольший (biggest)}. Необходимо по коду различать с максимальной разницей small и biggest. Тогда можно ввести код: {1000, 1100, 1110, 1111}. Это удобно для нейросетей!

Symbolic DR. Символьные данные часто используются в НС-приложениях. Наиболее часто используются булевы переменные “да/нет”, “male/female” и др. Часто добавляется третье условие “yes/no/unknown”. Такие данные могут быть представлены One-of-N кодом длины 3, Binary кодом длины 2, или “0/1/0.5”, а также “1/2/3”. Все зависит от задачи, но каждый уникальный символ должен быть отображен уникальным числом.

Для символьных данных, представляющих относительные значения {small, middle, big, biggest} нужно быть осторожными в использовании целых чисел, т.к. необходимо ранжирование информации. Лучше использовать thermometr code или simple linear scale.

Нечеткое или вероятностное DR. Гранулированные переменные с неопределенными типа, нечеткостей или вероятностей представляются комбинацией символьных данных и числовых оценок неопределенностей в диапазоне [0, 1] (степеней принадлежности к нечетким гранулам или вероятностей нахождения в вероятностной грануле. Например, скорость поезда V как нечеткий параметр может быть представлен гранулами, имеющими символьные имена {low, middle, high} и степенями принадлежности {0.7/V; 0.4/V;0/V}. Для формирования такого представления данных должно быть проведено априорное нечеткое шкалирование (рис.1) по функциям принадлежности.

Рис.1.

(x) – функция принадлежности.

Есть имя и оценка принадлежности имени к терму.

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

Заметим, что, в общем, этап представления данных достаточно трудоемок и зависит от задачи. Действительно, IBM Consulting и независимые консультанты оценивают, что Data Preparation может занимать около 50-80% ресурсов, отведенных на ДМ-операции!

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

  • фильтрация;

  • компрессия;

  • анализ главных компонент;

  • ассоциация;

  • кластеризация;

  • классификация;

  • моделирование;

  • разделение образов (sequantial);

  • предсказание временных серий.

Методы

Традиционные

Логические, интеллектуальные

Нейросетевые

DM – функции

Фильтрация (очистка)

L*, DI*

FF

Кластеризация

CA**

FF

Сжатие

H**

FF – SL*

Анализ ГК

C0A*

FF – SL**

Ассоциация

L*, DT*

PR**, CBR**

FF – SL**

Классификация

LP**, B**, DT**

P*, PR*, PL***, CT**, CBR**, LG**, GA**

FF, FB – SL**

Моделирование

RA*, FA*, NFA**

FL**, LG**

FF, FB – SL*

Последовательные образы

RA**, GA**

PR**, PL***, CT*

FF – SL**

Прогнозирование временных рядов

DT*, LP**

LC**, PR*

FF, FB – SL**

Условные обозначения:

L - логические

CA – кластеризационный анализ

H - хэширование

RA – регрессивный анализ

C0A – корреляционный анализ

FA – факторный анализ

B – Байесовский классиф.

DT – деревья решений

LP – ограниченный перебор

USL – несупервизорное обучение

DI – дифференциально - интегральные

P - предикаты

PR – продукционные правила

FL – нечеткая логика

PL – вероятностная логика

CT – коэффициенты уверенности

LG – локальная геометрия

GA – генетический алгоритм

CBR – вывод на событиях (по аналогии)

FF – прямонаправленные NN

FB – обратнонаправленные NN

SL – супервизорное обучение

NRA – нелинейный регрессионный анализ

Градации эффективности методов:

* - слабая

** - средняя

*** - высокая

Диапазон этих техник включает:

  • статистики;

  • грубые множества;

  • нейросети.

В таблице 1 отражены более подробно методы разных техник и их эффективность при реализации перечисленных ДМ-функций.

Далее рассмотрим ДМ-функции подробнее.

  1. Фильтрация (Filtering). Функция выделения из группы данных, обладающих заданными свойствами. Позволяет выделить постоянную составляющую, медленное изменение, убрать шумовую составляющую и т.д.

  2. Компрессия (Compression). Функция сжатия данных, т.е. уменьшения их объема без потери информации, которую несут данные. Используется для уменьшения памяти для хранения данных или увеличения скорости передачи данных по каналам связи.

  3. Анализ Главных Компонент (РСА). Функция понижения размерности (показатели, скрытые в данных) данных за счет выделения наиболее значимых (главных) компонент. Используется для облегчения дальнейшей обработки данных пониженной размерности. При обработке данных этой функцией может теряться малозначащая информация.

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

  5. Кластеризация (Clusterising). Функция усреднения в группах близких данных путем минимизации ошибки огрубления данных. Эта функция приводит к выделению сегментов или квантованию данных по заложенной ошибке огрубления (стягивание данных в усредненные по ошибке области). (Кластериз.анализ)

  6. Моделирование (Modeling). Функция регрессии (получение усредненной аппроксимированной функции зависимых данных) для данных, имеющих разбросы. Обычно реализуется через усреднение по минимуму СКО. Моделирование используется для выделения функциональной зависимости, которую скрыто несут данные. (Регрессия)

  7. Классификация (Classification). Функция отнесения наборов данных к некоторому классу (присвоение данным некоторого класса), определяемому зонами выделенных параметров (признаков (feature)), которые вычисляются по данным. Используется при распознавании событий, определении типа объектов.

  8. Последовательное разделение образов (Sequential pattern) (Упорядочивание образов). Комплексы функций выделения последовательных образов из непрерывных данных. Включает функции: кластеризации для определения зон образов и классификации для отнесения образов к последовательно упорядоченным классам. Используется при решении задач прогнозирования и планирования.

  9. Предсказание временных серий (Time Series Forecasts). Комплексная функция определения следующей во времени возможной серии данных по известному множеству предыдущих серий. Включает функции: моделирования для фиксации скрытых предыдущих серий данных, функциональной зависимости и классификации для распознавания следующей серии (экстраполяция образов). Используется при решении задач прогноза и планирования. Основная (нужная нам) функция, но она требует все выше перечисленные функции.

  10. Раскрытие закономерностей (Knowledge Discovery). Комплексные функции определения скрытых в данных знаний в форме фактов, функциональных зависимостей, отношений. Включает функции: ассоциации для определения отношений в форме ассоциациативных правил, моделирования для аппроксимации функциональных зависимостей, классификации для выявления фактов (событий). Используется при решении задач планирования.

Четвертый этап ДМ-процесса состоит в анализе результатов ДМ или входов. В некоторых случаях выход делается в форме, которая облегчает нахождение различных значимых самородков информации от тривиальных и неинтересных фактов. Например, Quest association алгоритм (IBM Almeden Research) может реализовать выход результатов ДМ в форме правил “if…then”.

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

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

Рис.2. Визуализация ДМ-результатов.

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

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

Первый путь – улучшение решений при планировании движения транспорта.

Второй путь – использование ДМ-моделей для поддержки решений при оперативном управлении движением транспорта.

В этом исследовании в разделе 4 мы остановимся на первом пути использования ДМ-процесса.

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

Лекция от 20.11.00

Чем больше входной образ, тем больше можем предсказать. “-” – прогнозирование типа черного ящика. Не показывает как сделан прогноз. (Входная информация не анализируется, все образы скрыты).

Использование:

  • прогноз продажи автомобоилей;

  • прогноз спроса и цены на недвижимость.

Решаемые задачи:

  1. Сегментация рынка. Рынок – динамическая система. Фирма имеет много поставщиков и выпускает много товаровю Для анализа учитываются все покупки: сорт товара, сколько продано, информация о покупателе. Рынок делится на области “хорошей” и “плохой” торговли и привязывается к сезонам (и по покупателям) для конкретной фирмы.

  2. Прогноз спроса и цены на недвижимость.

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

    2. Прогноз спроса и предложения. Очень важна сбалансированность спроса и предложения. Спрос растет, следовательно, нужно больше строить, предложение растет, следовательно, меньше строить.

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

  • спрос или доступность товара, а также время получения нового товара, если не хватает;

  • ожидаемое предложение товаров;

  • влияние рекламы.

Для авторынка работа дилеров требует точного прогноза по спросу на неделю или две вперед (т.к. доставка – минимум 1 неделя).

База данных (поля): Продажи: ДАТА, МОДЕЛЬ АВТО, ГОД МОДЕЛИ, СТОИМОСТЬ, ПРОДАЖНАЯ ЦЕНА, ВРЕМЯ ПОЛУЧЕНИЯ, ПООЩРЕНИЕ (Promoution). Составляется ежедневный отчет, в котором отражжены все эти показатели. Используется также дополнительная информация о побудительных мотивах продаж. Учитывается эффект сезонности.

Атрибут

Тип данных

Значения

Представление

Промоушен

Категориальный

Нет, печать, радио, завод

1 из N

Время года (квартал)

Дискретный, числовой

1, 2, 3, 4

Масштабируется

(0.0  1.0)

Флаг конца месяца

-“-

0 и 1

Бинарное

Ежедневная продажа

Непрерывный, числовой

20  50

Масштабируется

(0.0  1.0)

Флаг: Люди стараются делать покупки в конце месяца.

Back Propagation персептрон (персептрон с обратным распространением ошибки) – проще, но плохо учитывает динамику процесса.

Recurrent BP – сложнее (в плане обучения), но память у него больше. Точность решения для обеих сетей <10%.

Используется 13 входов:

Скрытых элементов – 25.

Как показали результаты, существенным оказался фактор конца месяца.

Обучение данной сети: брали данные за 5 лет с интервалом в 1 неделю и подавали на вход сети (всего 275 примеров). Каждый пример – один шаг обучения. При использовании сети данные вводятся на последние 6 входов, сеть из памяти выбирает подходящие и делает прогноз. Точность прогноза – 10%.

Схема модели для решения задачи:

Для обучения важно следить за ошибкой:

Параметры сети – скорость обучения -  и момент - . Эти параметры существенно влияют на сходимость процесса.

Эксперимент по прогнозу продаж авто:

Сегментация рынка бытовых товаров

Параметр

Тип данных

Значения

Представление

Возраст

Числовой

18-74

0.0-1.0

Пол

Категориальный

М, ж, ?

1,0,0.5

Семейное положение

Категориальный

Х, ж, ?

1,0,0.5

Домовладелец

Категориальный

Да, нет, ?

1,0,0.5

Спорт-товары

Числовой

0-1500 $

0.0-1.0

Видео

-“-

0-5000

-“-

Аудио

-“-

0-3000

-“-

Компьютеры

-“-

0-2000

-“-

Одежда

-“-

0-1500

-“-

-“-

0-14000

-“-

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