Зосимова Ирина Викторовна построение системы понятий для оценки деятельности операторов связи магистерская диссертация
Вид материала | Диссертация |
- Магистерская программа «Государственные и муниципальные финансы» Кафедра государственного, 867.91kb.
- Программа дисциплины Современные технологии pr для направления 030201. 65 Политология,, 95.26kb.
- Федеральная служба по надзору в сфере образования и науки сборник «Построение Общероссийской, 1565.91kb.
- Приглашаем принять участие в отраслевой электротехнической конференции системы гарантированного, 33.18kb.
- Задание модели системы в пространстве состояний, построение оптимального наблюдателя, 14.7kb.
- Магистерская программа Прикладная экономика Кафедра магистерская диссертация роль лизинга, 822.73kb.
- «Методы геолого-экономической оценки месторождений нефти и газа», 93.21kb.
- Слезко Ирина Викторовна. Математический анализ учебно-методический комплекс, 1104.84kb.
- Название: Магистерская диссертация. Методика написания, правила оформления и процедура, 1519.29kb.
- Мониторинга оценки качества образования в гимназии, 163.07kb.
2. РЕАЛИЗАЦИЯ
2.1 Выбор программного обеспечения
2.1.1. MS SQL Server 2005
В качестве системы управления базой данных выбран продукт SQL Server 2005, который предоставляет собой полное решение в области хранения данных для предприятий всех масштабов. Платформа данных SQL Server включает в себя реляционную базу данных: безопасное, надёжное, масштабируемое, высокодоступное ядро с улучшенной производительностью и поддержкой структурированных и неструктурированных (XML) данных [14]. В качестве инструмента управления и разработки используется SQL Server Management Studio, который представляет собой единую интегрированную консоль для мониторинга и управления реляционной базой данных SQL Server.
С помощью данной СУБД выполнялся этап подготовки данных для Data Mining, и осуществляется хранение базы прецедентов.
2.1.2. SPSS Clementine
Clementine - это автоматизированное рабочее место для data mining, позволяющее быстро разрабатывать прогностические модели с привлечением бизнес-экспертизы, а затем внедрять полученные модели для усовершенствования процесса принятия решений. Программное обеспечение Clementine широко известно в качестве лидирующего инструмента для data mining [15].
Главное преимущества Clementine для данной работы состоит в том, что Clementine поддерживает весь процесс data mining, в отличие от других инструментов, которые фокусируются только на построении моделей и увеличении производительности. В частности поддерживается возможность интеграции с СУБД MS SQL Sever 2005. Кроме того, программное обеспечение Clementine разработано на основе стандарта CRISP-DM.
2.2 Этапы Data mining
2.2.1 Понимание бизнеса
Во времена СССР телефонная связь была государственной монополией.
В настоящее время все региональные проводные операторы связи, которые остались со времен СССР, объединены в семь крупных межрегиональных компаний (далее МРК), которые, в свою очередь, входят в холдинг ”Связьинвест”. Компании группы ”Связьинвест” внесены в Реестр естественных монополий. Федеральный закон «О естественных монополиях» устанавливает два критерия, определяющие статус монополиста – отсутствие конкуренции и товара-заменителя на данном рынке. На самом же деле, товар-заменитель уже существует – это мобильная связь. Кроме того, возникают и альтернативные проводные операторы, доля “Связьинвеста” в телекоммуникационной отрасли неуклонно падает. При этом компании “Связьинвеста” вынуждены соперничать с игроками, не связанными социальными обязательствами и тарифными ограничениями монопольного законодательства. Рычагом давления “Связьинвеста” до 1 января 2007 года была монополия на междугороднюю и международную связь: в каждой области имеется своя единая автоматическая междугородняя телефонная станция (далее АМТС). Весь междугородний и, тем более, международный трафик должен идти через АМТС. Поэтому альтернативные операторы, работающие на одной территории с МРК, вынуждены заключать с ней договоры присоединения. Помимо этого, присоединенному оператору могут выделяться точки подключения на АТС, принадлежащей компании “Связьинвеста”. Правила использования этих точек подключения также содержатся в договорах присоединения.
Анализ производился для одной из семи МРК, входящих в состав “Связьинвеста”. Анализируемые данные были получены в период до 2007 года, когда была отменена монополия на междугроднюю связь. Данная компания имеет договоры с 31 мобильными операторами и 157 альтернативными операторами. Данные, поступающие от коммутационного оборудования МРК, анализируются в разрезе присоединенных операторов.
2.2.2 Понимание данных
В результате работы любой части инфраструктуры оператора образуется один главный источник данных (сырые CDR на выходе коммутатора, уже преобразованные CDR на выходе платформы сопряжения и т.д.) и несколько так называемых справочных – “Справочник присоединенных операторов и их транковых групп”, “Справочник кодов причины завершения с расшифровкой” и т.д. После составления списка всех источников данных и их полей, необходимо задать вопрос для каждого поля – возможно ли найти еще какую-то дополнительную информацию по этому полю среди справочной информации.
Главным источником для данной работы являлась единая таблица, сформированная в результате обработки сырых CDR-файлов платформой сопряжения. На вход платформе сопряжения попали CDR-файлы, собранные со всех АТС Оператора-Владельца. Полученная таблица содержит детальную информацию обо всех вызовах, прошедших через коммутационное оборудование Оператора-Владельца, и состоит из следующих полей (см. таблицу 1):
Название поля | Описание поля |
Id_ats | АТС, с которой получен CDR-файл |
Id_cdrfile | Идентификатор CDR-файла |
idrecord | Номер записи по порядку в файле |
idcall | Уникальный идентификатор записи в рамках одной АТС |
recordseq | Информация о последовательности записей, относящихся к одному вызову |
causecode | Информация о причине вывода записи |
direction | Направление вызова (входящее/исходящее) |
recordduplicflag | Числовое поле, содержит флаг о том, что на уровне медиации запись о звонке была раздвоена, так как и номер А, и номер В –абоненты данного коммутатора: 1 – вызов от нашего абонента любому, 2 – запись-дубликат, если и номер А, и номер B – наши абоненты, 3 – вызов от чужого абонента нашему, 4 – транзитный вызов |
Number_inner | Номер абонента |
Number_outer | Номер оппонента |
Unifiednumber_inner | Нормализированный (приведенный к стандартному виду) номер абонента |
Unifiednumber_outer | Нормализированный (приведенный к стандартному виду) номер оппонента |
Idoper_num_inner | Оператор, определившийся по номеру абонента |
Idoper_num_outer | Оператор, определившийся по номеру оппонента |
Сlassnumber_inner | Тип номера абонента (городской, междугородний…) |
Classnumber_outer | Тип номера оппонента (городской, междугородний…) |
Startdate | Начало вызова |
Enddate | Окончание вызова |
Duration | Длительность, сек |
Route_inner | Транк абонента |
Route_outer | Транк оппонента |
Idoper_route_inner | Оператор, определившийся по транку абонента |
Idoper_route_outer | Оператор, определившийся по транку оппонента |
Таблица 1. Поля в главном источнике данных
Основная особенность этой таблицы - изменение логики по сравнению с CDR-файлами. В исходных CDR-файлах содержались поля “номер абонента, который звонит”, и “номер абонента, которому звонят”. На уровне медиации записи о вызовах между абонентами одного коммутатора раздваиваются. В получившейся таблице есть поля “наш абонент” и ”не наш абонент”; если и входящий, и исходящий абонент принадлежат нашей сети, то запись раздваивается с проставлением соответствующего флага. Для тех случаев, когда важно направление звонка оставляется специальное поле “Направление”. Для транзитных вызов (оба абонента не принадлежат данному коммутатору, он используется как передаточное звено между двумя другими коммутаторами) существует специальное значение флага. Далее для краткости “наш абонент” будет называться просто абонентом, “не наш абонент” – оппонентом.
При поготовке данной таблицы платформой сопряжения уже была проведена работа нормализации номеров и опреления операторов по транку и номеру. Это отражено в соответствущих полях таблицы.
Дополнительной информацией могут служить:
- “Справочник присоединенных операторов”: поскольку запись о вызове содержит только код оператора, а не его название, необходимо пользоваться справочником, чтобы определить класс оператора (мобильный или проводной).
- “Справочник АТС”: поскольку запись о вызове содержит только идентификатор АТС, а не название, необходимо пользоваться справочником, чтобы определить тип АТС (междугородняя, опорная, дополнительная).
- ”Справочник транковых групп”: по этому справочнику можно определить, какому оператору принадлежит данная точка подключения.
2.2.3 Подготовка данных. Построение профилей операторов
Цель этапа подготовки данных – поставить в соответствие каждому оператору портрет его поведения - профиль. Профиль, фактически, представляет собой вектор в пространстве основных характеристик вызова.
Сначала выбираем классификаторы, по которым можно оценивать вызов (см. Таблицу 2). Это атомарные составляющие описания любого вызова. Пример типа классификатора: направление. Возможные значения: входящее и исходящее.
Тип Классификатора | Возможные значения классификаторов этого типа |
Направление | Входящее, Исходящее |
Часть дня | Утро, День, Вечер, Ночь |
День недели | Понедельник, Вторник, Среда,…, Воскресенье |
Тип дня недели | Рабочий, Выходной |
Время вызова | Льготное, нельготное |
Тип вызова | Междугородние, международные, зональные, городские, федеральные местные, федеральные, городские присоединенных операторов, на неизвестный номер |
Длительность | 0 секунд, длительность вызова от 1 до 5 секунд, от 6 секунд до 1 минуты, от 1 минуты до 10 минут, от 10 минут до 1 часа, более 1 часа |
Таблица 2. Классификаторы
Для описания классификаторов в базе данных существуют две таблицы:
Название поля | Описание |
Id_classif | Идентификатор |
code | Тип классификатора: например соde=1 – это направление, code=5 – тип вызова |
name | Название |
Таблица 3. Описание таблицы inf_classif
Название поля | Описание |
Id_classif_value | Идентификатор |
Value_first | Начало диапазона значений. Например, для классификатора типа “Длительность” это может быть одна минута. |
Value_last | Окончание диапазона значений. Например, для классификатора типа “Длительность” это может быть десять минут. |
Value | Значение классификатора. Используется, если удобнее задавать не диапазон, а конкретное значение. Например, для классификаторов типа “Направление” |
Таблица 4. Описание таблицы inf_classif_value
Затем значения классификаторов группируются в параметры. Пример параметра: междугородние исходящие дневные вызовы, длительностью более 1 минуты. Для задания списка классификаторов, которые входят в данный параметр используется таблица prf_param_classif: каждому идентификатору оператора соответствует несколько строчек с разными идентификаторами классфикаторов. Полный список параметров см. в Таблице 5
Для каждого оператора и каждого параметра с помощью единой процедуры подсчитывается количества вызовов и суммарный трафик. Получившиеся значения для всех операторов хранятся в единой таблице (таблица prf_value в схеме базы данных). Полученная таблица транспонируется так, чтобы каждая строка содержала значения всех параметров для одного оператора.
Последнее действие в построении профилей операторов – нормировка. Значение количества вызовов для каждого параметра и каждого оператора делится на общее количество вызовов данного оператора. Значение трафика для каждого оператора и каждого параметра делится на суммарный трафик для данного оператора.
Для сокращения машинного времени вычислений в основную таблицу с записями о вызовах были добавлены столбцы duration_type (содержит идентификатор типа длительности вызова: 0 секунд, от 1 до 5 секунд и т.д.) и partday (содержит идентификатор времени суток: утро, день, ночь, вечер). Для полной информации смотрите также рисунок 4 “Схема базы данных”.
1 | Исходящие на междугородние (не местные) номера дневные вызовы |
2 | Исходящие на городские номера дневные вызовы |
3 | Исходящие на неизвестные номера вызовы |
4 | Исходящие на местные мобильные номера дневные вызовы |
5 | Входящие междугородние дневные вызовы |
6 | Входящие городские дневые вызовы |
7 | Входящие с неизвестного номера |
8 | Входящие на мобильные местные дневные вызовы |
9 | Исходящие короткие вызовы (от 0 до 5 секунд) |
10 | Исходящие длинные вызовы (более 1 часа) |
11 | Входящие короткие вызовы |
12 | Входящие длинные вызовы |
13 | Исходящие на городские номера присоединенных операторов дневные |
14 | Входящие с городских номеров присоединенных операторов дневные |
15 | Исходящие на междугородние (не местные) номера ночные вызовы |
16 | Исходящие на городские номера ночные вызовы |
17 | Исходящие на местные мобильные номера ночные вызовы |
18 | Входящие междугородние ночные вызовы |
19 | Входящие городские ночные вызовы |
20 | Входящие на мобильные местные ночные вызовы |
21 | Исходящие на городские номера присоединенных операторов ночные |
22 | Входящие с городских номеров присоединенных операторов ночные |
Таблица 5. Значения параметров
Рис.4 Часть схемы базы данных, связанная с профилями
2.2.4 Моделирование. Применение двувходового объединения
Для первоначального анализа необходимо выбрать один их методов извлечения данных без управляемого обучения, поскольку у нас нет обучающей выборки. Впоследствии, когда накопится информация о случаях мошенничества, можно использовать уже имеющуюся информацию для обучения нейронных сетей и поиска новых случаев мошенничества. Пока же основная задача, которую мы перед собой ставим – разделить операторов на группы и проанализировать получившееся разделение с привлечением фонового знания о предметной области. Cреди доступных в Clementine 8.5 методов извлечения информации без управляемого обучения можно выделить сети Конохена, метод K-средних и двувходовый метод кластеризации. Метод K-средних нам не подходит, поскольку предполагает априорное знание о количестве кластеров. Поэтому был выбрано двувходовое объединение. В этом методе кластеризация происходит в обоих направлениях: и по наблюдениям и по переменным.
Были заданы два параметра: минимальное количество кластеров (2) и максимальное (15).
Рис. 4 Основные узлы моделирования в Clementine
На рисунке 4 представлена схема моделирования. Eе основные узлы:
- Подключение к базе данных и к таблице, содержащей значения профилей
- Узел “Type” для выделения из таблицы переменных, подаваемых на вход кластерному анализу
- Узел моделирования “Two step”
- Узел полученных при кластеризации результатов
- Узлы вывода информации: в таблицу формата Clementine, которую можно просмотреть на экране; и в первоначальную базу данных в таблицу, содержащую для каждого оператора номер кластера, в который он попал.
В результате выделилось 4 кластера:
- Кластер 1: 13 мобильный оператор, 5 проводных
- Кластер 2: 118 проводных оператора, 9 мобильных
- Кластер 3: 10 операторов. Услуги Интернет-связи.
- Кластер 4: 7 филиалов РосТелекома
Рассмотрим отдельно каждую их этих групп.
Филиалы РосТелекома выделились в одну группу, поскольку для них преобладает междугородный трафик.
Для операторов, основым источником дохода для которых является Интернет (мобильные пулы), характерны длительные вызовы и ночной трафик.
Наибольший интерес для нас представляют первый и второй кластеры. Каждый из этих кластеров содержит в основном операторов одного типа (проводного или мобильного), и несколько операторов другого типа. Возможная причина такой ситуации – в “не своей” группе оказались операторы, которые активно маршрутизируют через свои точки подключения трафик операторов других типов. С одной стороны, такая терминация трафика запрещена по межоператорским соглашениям. С другой стороны, она выгодна для присоединенных операторов: при подставлении мобильного номера городским вызов с мобильного номера на городской становится бесплатным, аналогично с вызовами на мобильные номера и подстановкой мобильного номера.
В приложении 1 представлен вклад каждого параметра в различие между кластерами 1 , 2 и 3. Анализируя полученные величины, можно выделить характерные черты профиля мобильного и профиля проводного оператора.
Так, характерными чертами портрета мобильного оператора являются исходящие вызовы на мобильные номера, короткие вызовы, вызовы на неизвестные номера.
Для проводного оператора: исходящие и входяшие вызовы на городские номера и номера городской емкости присоединенных операторов.
2.2.5 Оценка. Сравнение с другими методами
Результаты кластеризации и гипотеза о неверной маршрутизации трафика были сравнены с результатами, полученными одним крупным системным интегратором при анализе тех же данных. Неверная маршрутизация выявлялась в ходе этого анализа с помощью нескольких отчетов:
- “Несоответствие между оператором, определенным по номеру, и оператором, определенным по транку”,
- “Перекосы входящего и исходящего трафика”,
- “Номера абонентов, не принадлежащие номерной емкости присоединенного оператора”
- “Большой трафик с городского номера”
Все проводные операторы, попавшие в группу к мобильным операторам, действительно совершали мошеннические действия по терминации трафика (см. также сводную таблицу). Обозначения: 1 – профильный анализ, 2 – пороговый анализ.
Методика | Количество обнаруженных операторов | Количество вызовов | Трафик, мин | Оценка потерь (0.01 $ за 1 минуту) |
1 | Обнаружено 5 операторов | 6 681 917 | 6 611 050 | $ 66 115 |
2 | Обнаружено 9 операторов | 6 929 675 | 6 883 436 | $ 68 834 |
Таблица 6. Сводная таблица сравнения двух методик. Даннные за 3 месяца
2.2.6 Внедрение. Создание базы прецедентов
Любой оператор в базе прецедентов описывается набором чисел, первое из которых – класс, к которому он должен принадлежать, остальные – классы, к которым его можно отнести на основании его профиля за данный промежуток времени. Согласно полученным при кластеризации результатам в нашем случае таких классов четыре: проводные операторы, мобильные операторы, филиалы РосТелекома и операторы, основным источником дохода для которых является предоставление доступа в Интернет.
Если класс оператора по умолачанию не совпадает с его классом в данный промежуток времени – это указывает на возможное мошенничество с его стороны.