Рус Eng Cn Translate this page:
Please select your language to translate the article


You can just close the window to don't translate
Library
Your profile

Back to contents

Software systems and computational methods
Reference:

Algorithm for preprocessing and unification of time series based on machine learning for data structuring

Kopyrin Andrey Sergeevich

PhD in Economics

Head of Department, Department of Information Technology, Sochi State University

354000, Russia, Krasnodarskii krai, g. Sochi, ul. Plastunskaya, 94

kopyrin_a@mail.ru
Other publications by this author
 

 
Makarova Irina Leonidovna

PhD in Technical Science

Head of Department, Department of Applied Mathematics and Computer Science, Sochi State University

354000, Russia, Krasnodarskii krai, g. Sochi, ul. Plastunskaya, 94

ratton@mail.ru
Other publications by this author
 

 

DOI:

10.7256/2454-0714.2020.3.33958

Received:

23-09-2020


Published:

26-10-2020


Abstract: The subject of the research is the process of collecting and preliminary preparation of data from heterogeneous sources. Economic information is heterogeneous and semi-structured or unstructured in nature. Due to the heterogeneity of the primary documents, as well as the human factor, the initial statistical data may contain a large amount of noise, as well as records, the automatic processing of which may be very difficult. This makes preprocessing dynamic input data an important precondition for discovering meaningful patterns and domain knowledge, and making the research topic relevant.Data preprocessing is a series of unique tasks that have led to the emergence of various algorithms and heuristic methods for solving preprocessing tasks such as merge and cleanup, identification of variablesIn this work, a preprocessing algorithm is formulated that allows you to bring together into a single database and structure information on time series from different sources. The key modification of the preprocessing method proposed by the authors is the technology of automated data integration.The technology proposed by the authors involves the combined use of methods for constructing a fuzzy time series and machine lexical comparison on the thesaurus network, as well as the use of a universal database built using the MIVAR concept.The preprocessing algorithm forms a single data model with the ability to transform the periodicity and semantics of the data set and integrate data that can come from various sources into a single information bank.


Keywords:

machine learning, preprocessing, data unification, clearing data, forecasting, fuzzy time series, MIVAR, time series, data mining, knowledge base

This article written in Russian. You can find original text of the article here .

Введение

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

По данным исследования [5] более половины специалистов-аналитиков считают, что очистка и подготовка данных занимают более 60% общего времени анализа. Качество результатов предварительной обработки данных влияет на результат обнаружения и анализа паттернов [1].

Экономическая информация является гетерогенной и полуструктурированной или неструктурированной по своей природе.

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

Целью предварительной обработки является преобразование необработанных данных из различных источников в набор нечетких временных рядов, имеющих упорядоченную структуру. Предварительная обработка данных представляет собой ряд уникальных задач, которые привели к появлению различных алгоритмов и эвристических методов для решения таких задач предварительной обработки, как слияние и очистка, идентификация переменных и т.д.[4].

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

Материалы и методы

Современные методологии обработки данных предполагают широкое использование машинного обучения. Между машинным обучением и традиционными статистическими методами есть существенные различия. Во-первых, машинное обучение концентрируется на задаче «прогнозирования», используя универсальные алгоритмы обучения для поиска закономерностей в вариативных и объемных данных [9]. Напротив, статистические методы в основном ориентированы на подтверждение гипотез, основанных на умозаключениях, которые достигаются путем определения и аппроксимации вероятностных функций для конкретного модели [3]. Во-вторых, большинство методов машинного обучения не содержат гипотез, поскольку их цель – обнаружить неочевидные ассоциации в данных, тогда как традиционная статистика обычно полагается на определенные предположения и гипотезы, часто те, которые вытекают из модели, которая сгенерировала данные [16]. В-третьих, наборы инструментов, используемые для оценки ошибок построения модели машинного обучения, как правило, отличаются от инструментов традиционных статистических методов, которые в основном полагаются на вычисление значения p для нулевой гипотезы [3, 12]. В-четвертых, традиционное статистическое моделирование, как правило, позволяет получить простую в понимании модель, представляющую результат, который легко понять и интерпретировать.

Однако факторы реальной экономики обычно не независимы друг от друга, и их связи могут быть нелинейными. Подходы машинного обучения, в свою очередь, рассматривают все возможные взаимодействия между переменными в соответствии с многомерными нелинейными паттернами, независимо от степени сложности, при этом стремясь уловить как можно больше информативных и потенциальных особенностей и корреляций. Это ведет к тому, что созданную с помощью данных методов модель нелегко понять или интерпретировать. Фундаментальная цель машинного обучения - обобщение, выходящее за рамки примеров в обучающей выборке. Обобщение возможно потому, что модели основаны на гораздо большем наборе данных, затем проверяются в независимом наборе данных и далее настраиваются для достижения наилучшей производительности [6].

Исторически концепция обнаружения полезных паттернов в данных получила множество названий таких как: интеллектуальный анализ данных, извлечение знаний, data mining, археология данных и обработка паттернов данных и т. п.

Многие задачи обработки данных предполагают, что данные соответствуют идеальным распределениям без каких-либо (или при наличии очень незначительного количества) пропущенных, неверных или несогласованных значений. Однако в действительности это происходит достаточно редко. Большинство существующих методов очистки данных используют реляционные модели, в которых предполагается, что данные находятся в структурированном табличном формате. Однако структурированные наборы данных (или организованные наборы данных, мы используем эти термины взаимозаменяемо) не всегда имеют реляционный формат. На самом деле многие наборы данных, такие как XML, можно описать с помощью языков разметки и шаблонов. Это определяет необходимость разработки более общей теории, способной обрабатывать структурированные наборы данных, независимо от того, является ли набор данных таблицей или другим структурированным форматом [8].

Необработанные данные обычно не находятся в структуре удобной для работы исследователей и недостаточно организованы.

Термин «предварительная обработка данных» относится к любому преобразованию данных до применения алгоритма обучения. Предварительная обработка данных решает целый ряд проблем качества данных, связанных с выбросами и шумом. Основной целью удаления выбросов является удаление объектов данных, которые не имеют отношения или только слабо относятся к базовому анализу ключевых отношений. Основное внимание на этом этапе уделяется удалению объектов, препятствующих анализу данных. Кластерный анализ аналогичен обнаружению выбросов, поскольку оба метода имеют дело с устранением слабо релевантных или нерелевантных объектов.

Она включает в себя поиск примеров и устранение несоответствий; замену недостающих значений; идентификацию, удаление или замену выбросов; дискретизацию числовых данных или генерацию числовых фиктивных переменных для категориальных данных; уменьшение размерности; извлечение/отбор признаков; и масштабирование признаков (нормализация, стандартизация или преобразование Бокса-Кокса) [11]. Также предполагается, что масштабирование объектов посредством стандартизации (или нормализации Z-score) является важным этапом предварительной обработки для многих алгоритмов машинного обучения.

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

Результаты

В качестве основы алгоритма был использован процесс представленный в работе [15]

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

.jpg_02

Рис. 1. Общая схема алгоритма препроцессинга.

Рассмотрим каждый из указанных этапов подробнее.

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

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

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

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

б. Шум в данном контексте отнесём к заведомо некорректному значению атрибута в источнике данных, которое выходит за множество допустимых значений данного свойства. Например, к подобным данным можно отнести отрицательное потребление коммунальных услуг или объем продаж превышающий складские остатки и текущее производство. Обработка зашумленных данных включает бининг [17], поиск регрессии, анализ выбросов.

Методы биннинга сглаживают упорядоченные значения данных, исследуя значения вокруг данных. Ключевым параметром методов биннинга является размер вложенного поля. Регрессионный метод заключается в изменении значения шума путем настройки функциональной модели, соответствующей значению атрибута данных. Анализ выбросов заключается в построении кластеров методом кластеризации. Атрибуты точек данных внутри одного кластера схожи, но значения атрибутов точек данных между различными кластерами могут иметь значительное отклонение [19].

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

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

a. Унификация гетерогенных данных Так как экономические данные могут быть собраны из разных источников, то общий набор будет иметь проблемы с гетерогенностью содержания. Указанная проблема в основном представлена несоответствиями в атрибутах данных, таких как имена атрибутов и единицы измерения. Например, показатель затрат может быть назван «Затраты», «Издержки», «Costs», а единица измерения может быть руб., тыс. руб. USD и т.п.

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

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

Для автоматизированного решения указанных проблем авторы предлагают совместное использование методов построения нечеткого временного ряда и машинного лексического сопоставления на сети тезауруса, а также использования универсальной базы данных, построенной с использованием концепции МИВАР [2] нечеткий временной ряд можно определить следующим образом:

Нечеткое множество А универсального множества U, U={u1, u2, ..., un}, имеет вид

A = f A(u1)/u1 + f A(u2)/u2 +···+ f A(un)/un (1)

где fA -функция принадлежности нечеткого множества A, fA: U→(0, 1), fA(ui) представляет степень, в которой UI соответствует нечеткому множеству A, и 1 ≤i ≤n.

Пусть Y(t)(t=..., 0, 1, 2, ...), подмножество R (реального времени), будет универсальным множеством на котором нечеткие множества fi(t)(i =1, 2, ...) определены и пусть F(t) состоит из f1(t), f2(t)... Тогда F(t) назовем нечетким временным рядом определенным на Y(t)(t=..., 0, 1, 2, ...)

Есть два вида моделей нечетких временных рядов: изменяющиеся во времени и инвариантные во времени. Если для любого времени t R (t, t − 1) не зависит от t, то F (t) называется нечетким временным рядом, инвариантным во времени. В противном случае это называется изменяющимся во времени нечетким временным рядом [14].

Представим неинтегрированный временной ряд как изменяющийся во времени нечеткий временной ряд, где с одной стороны изменяется распределение временных промежутков наблюдений (так как данные из разных источников варьируются), а с другой стороны различные значения ряда в большей или меньшей степени относятся к исследуемому явлению (различается семантика наименований переменных). Проблему интеграции предлагается решать с использованием машинного обучения следующим образом: по графовой семантической сети Wordnet с использованием нечетких алгоритмов определяется функция принадлежности каждой переменной к эталонному значению [18]. Данная функция определяется как степень близости семантики исследуемой переменной к эталонной, где 1 – эквивалентные понятия, 0 – несвязанные категории.

Все полученные переменные записываются в разработанную авторами базу знаний имеющую структуру (объект, свойство, отношения) [10], формируя набор данных с установленными первичными отношениями. При дальнейшем реализации алгоритма от пользователя запрашивается коэффициент достоверности в интервале (0, 1) и для последующей трансформации из базы знаний извлекается интегрированный нечеткий временной ряд, функция принадлежности значений которого выше указанного коэффициента.

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

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

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

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

Заключение

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

Практические различия, с которыми столкнулись авторы при проведении эмпирических исследований имеют вид:

1. Разные форматы входных данных.

2. Разное семантическое наполнение – отличающиеся наименования переменных.

3. Различная периодичность данных (день, неделя, месяц и т.п.).

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

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

Предлагаются следующие этапы обработки:

1. Подключение различных источников данных (csv, xlsx, использование драйверов odbc, ado и т.д.).

2. Формирование загружаемого временного ряда по образцу (имя – период – значение – тип периода).

3. Запись сформированного ряда в универсальную базу знаний исходного временного ряда (формируются записи в следующие фреймы: FrObject FrProperty, FrDescription, более подробно о структуре базы знаний в [10]).

4. Обработка и запись в базу знаний нечеткого временного ряда:

a. При наличии имеющихся расхождений по семантике переменной (названии объекта или свойств) производится установление взаимоотношений с текущими записями с использованием тезауруса и лингвистических графов (Wordnet).

b. Выбор алгоритма перевода в другую периодичность для приведения нечеткого временного ряда в инвариантную форму.

5. Сводка единого временного ряда и запись его в базу знаний.

Использование указанного алгоритма позволяет повысить качество анализируемых данных по сравнению с традиционными статистическими методами и снизить трудоемкость предварительной стадии интеллектуального анализа.

References
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.