УДК 519.254 ББК 22.172 В 58
Власенко Александра Владимировна
Кандидат технических наук, доцент, зав. кафедрой компьютерных технологий и информационной безопасности института компьютерных систем и информационной безопасности Кубанского государственного технологического университета, Краснодар, e-mail: [email protected]
Жданов Андрей Андреевич
Аспирант кафедры компьютерных технологий и информационной безопасности института компьютерных систем и информационной безопасности Кубанского государственного технологического университета, Краснодар, e-mail: [email protected]
Предварительная обработка временных рядов производственных систем
(Рецензирована)
Аннотация. Для решения практических задач необходимо осуществление специального предварительного преобразования данных для успешного их усвоения с помощью Калмановской фильтрации и дальнейшего прогнозирования динамики изменения производственной системы. Предложены методы предварительной обработки данных: кодирование входных и выходных потоков данных, нормировка данных, предобработка данных - удаление очевидных систематических ошибок, скачков и регулярностей. Общим принципом предварительной обработки данных как для входов, так и для выходов является максимизация энтропии. Ряды данных, получаемые при мониторинге производства, имеют существенную специфику. Они могут содержать сложные нерегулярные вариации и нестационарные эффекты различного рода. Для обеспечения требуемой точности и согласованности данных о производственном процессе необходима интеграция различных форматов представлений данных и исключение их дублирования. Очистка данных является специальным механизмом для выявления и удаления явных ошибок и других несоответствий во входных данных. Фильтры для усвоения данных работают только с числовыми данными, что указывает на необходимость кодировки входных и выходных данных. Для того чтобы фильтр усвоения трактовал входные и выходные значения единообразно, все величины должны быть нормированы. Полученные в результате предварительной обработки данные позволяют повысить точность и достоверность работы модуля прогнозирования временных рядов посредством оптимизации конфигурации работы фильтра и параметров модели производственной системы.
Ключевые слова: временной ряд, предварительная обработка данных, кодирование, нормировка, энтропия, производственная система, прогнозирование, фильтр Калмана.
Vlasenko Aleksandra Vladimirovna
Candidate of Technical Sciences, Associate Professor, Head of Computer Technologies and Information Security Department, Institute of Computer Systems and Information Security, Kuban State University of Technology, Krasnodar, e-mail: [email protected]
Zhdanov Andrey Andreevich
Post-graduate student of Computer Technologies and Information Security Department, Institute of Computer Systems and Information Security, Kuban State University of Technology, Krasnodar, e-mail: [email protected]
Preliminary processing time series data of production systems
Abstract. To solve practical problems, it is necessary to carry out a special preliminary data transformation for their successful assimilation with the help of Kalman filtering and further forecasting the dynamics of changes in the production system. Methods of preliminary data processing are suggested: coding of input and output data streams, data normalization, data preprocessing: removal of obvious systematic errors, jumps and regularities. The general principle of preliminary data processing, both for inputs and outputs, is maximization of entropy. The series of data obtained during the monitoring of production have a significant specificity. They can contain complex irregular variations and nonstationary effects of various kinds. To ensure the required accuracy and consistency of data on the production process, it is necessary to integrate various formats of data representations and to avoid their duplication. Data cleaning is a special mechanism for detecting and removing explicit errors and other inconsistencies in the input data. Filters for data assimilation work only with numerical data, which indicates the need for coding input and output data. In order for the assimilation filter to treat input and output values uniformly, all quantities must be normalized. The data obtained as a result of preliminary processing allows increasing the accuracy and reliability of the work of the time series forecasting module by optimizing the configuration of the filter operation and the parameters of the production system model.
Keywords: time series, preliminary data processing, coding, normalization, entropy, production system, forecasting, algorithm, Kalman filter.
Введение
Как было показано в работах [1, 2], при анализе временных рядов главной задачей является реконструкция породившей этот ряд динамической системы. При этом математиче-
ская модель динамической системы считается заданной, если введены параметры системы, определяющие однозначно ее состояние, и указан закон эволюции.
Однако оправдываемость прогноза поведения системы в будущем во многом зависит от способности модели выявить такие факторы, которые носят антисистемный, деструктивный характер в перспективе, даже если локально они системны. Даже малые изменения параметров порядка могут приводить к глобальным изменениям процесса.
Сама проблема анализа данных для подготовки программы вероятностного прогнозирования временных рядов с использованием методов усвоения данных заключается в том, что теоретические возможности методов анализа на практике оказываются неприменимы для конкретной системы или требуют необоснованно много временных, финансовых, интеллектуальных затрат на их реализацию. Поэтому любую модель приходится адаптировать под конкретную систему, а исходные данные подвергать тщательному отбору и обработке.
Чтобы прогнозировать динамику изучаемой системы по порождаемому временному ряду, нужно иметь не просто дискретную переменную, а некоторый закон эволюции, которому она подчиняется.
При решении большинства практических задач необходимо осуществление специального предварительного преобразования данных для успешного усвоения данных и дальнейшего прогнозирования. Такими преобразованиями являются: изменение шкалы, нормализация и стандартизация.
1. Материалы и методы
Восстановление в заданном классе системы дифференциальных или разностных уравнений по скалярному временному ряду наблюдаемого процесса включает три основных этапа:
1) построение базиса независимых переменных, временная эволюция которых удовлетворяла бы некоторой системе дифференциальных уравнений;
2) построение общей модели исследуемой системы в выбранном классе дифференциальных уравнений и при заданном типе нелинейности;
3) редукция и уточнение модельных уравнений на основе требования глобальной устойчивости исследуемой системы.
В общем случае обратная задача нелинейной динамики решается методами усвоения данных: вариационным или с помощью Калмановской фильтрации. В настоящем исследовании, благодаря осуществлению специальной предварительной обработки исходного временного ряда, наиболее предпочтительным становится второй метод по следующим причинам:
1) в исходный временной ряд вносятся корректировки с учетом временных сдвигов;
2) исходные временные ряды содержат предыстории каждой системы, что позволяет построить ансамбль начальных значений и применить ансамблевый фильтр Калмана. Ансамблевые методы позволяют говорить о вероятности прогнозного значения.
Фильтр Калмана в этом случае использует известную математическую модель динамики объекта, которая описывает, какие вообще изменения состояния объекта возможны, чтобы устранить погрешности измерения и представить с хорошей точностью положение объекта в данный момент (фильтрация), в будущие моменты (предсказание) или в какие-то из прошедших моментов (интерполяция или сглаживание).
Успешность процедуры усвоения данных и дальнейшего использования фильтров решающим образом зависит от качества подготовки информации.
2. Особенности предобработки временных рядов производственных систем
Как было отмечено выше, для успешного прогнозирования характеристик производственной системы необходимо, прежде всего, подготовить данные, записанные в виде временных рядов.
Последовательность предварительной подготовки данных для усвоения и фильтрации имеет вид:
1) кодирование входных и выходных потоков данных;
2) нормировка данных;
3) предобработка данных: удаление очевидных систематических ошибок, скачков и ре-гулярностей;
После предварительной обработки проводится:
1) выбор оптимальной конфигурации фильтра, дающей минимальную ошибку прогноза;
2) оценка ошибки прогноза.
Предположим, что предварительная обработка данных проведена. Тогда в результате нормировки переведенных в числовую форму данных все данные, входные и выходные, отображаются на числовом пространстве в единичном кубе. Далее, когда данные подготовлены, единственным возможным источником информации для усвоения и моделирования являются начальные данные, аналогично обучающей выборке в нейронных сетях.
Обозначим х. одну (произвольную) компоненту предобработанных данных. Тогда
среднее количество информации, которую несет в себе каждый временной ряд х", равно энтропии распределения значений этой компоненты Н ( ). Если все возможные значения сосредоточены в малой области внутри единичного интервала, то и содержание информации в такой компоненте мало. В предельном случае нулевой энтропии, когда все значения переменной совпали, эта переменная вообще не несет информации. И наоборот, когда значения х.а распределены в единичном интервале равномерно, такая переменная несет максимальную информацию.
Таким образом, можно сделать вывод, что максимизация энтропии является общим принципом предварительной обработки данных как для входов, так и для выходов [3].
Еще раз подчеркнем, что временные ряды данных, получаемые при мониторинге производства, имеют существенную специфику. Они могут содержать сложные нерегулярные вариации и нестационарные эффекты различного рода. В этих рядах часто присутствуют меняющиеся во времени помехи, пропуски данных, тренды, технический брак и другие случайные эффекты. Все это требует применения специальных методов и приемов при анализе таких данных.
Для производственного процесса обычно характерны следующие особенности:
1) большое число случайных факторов, изменяющихся во времени и влияющих на качество и технико-экономические показатели работ;
2) наличие случайных факторов, которые не изменяются во времени, а возникают внезапно: например, поломки оборудования, инциденты и аварии;
3) разнообразие внешних физических условий производственного процесса;
4) искажение полезного сигнала.
Современные компьютерные системы дают возможность сбора большого объема данных технологических параметров бурения. На буровых используются автоматические станции, которые снимают показания датчиков в реальном времени, производят обработку замеров и передачу обработанных данных. Программные модули производят непрерывный контроль и управление полным технологическим циклом строительства скважины.
В то же время на результаты измерений, проводимых в процессе бурения, влияют различные случайные воздействия, которые изменяют реальную картину работы оборудования в процессе измерений. В результате существенно осложняется прогнозирование скорости бурения скважин.
Для технологического процесса бурения скважины характерны следующие особенности [4]:
1) большое число случайных факторов, изменяющихся во времени и влияющих на качество и технико-экономические показатели работ;
2) наличие случайных факторов, которые не изменяются во времени, а возникают внезапно: например, аварии, инциденты, браки, осложнения, непроизводительные повторные работы, ремонты оборудования и простои;
3) разнообразие геолого-технических условий бурения;
4) искажение полезного сигнала, в том числе о скорости бурения, используемого для определения параметров режима бурения.
В зависимости от причин возникновения выделяют следующие разновидности разрывов во временных рядах, которые обусловлены производственными простоями: ожидание оборудования и материалов, ожидание бригады, отсутствие спецтехники, приостановка работ по причине неблагоприятных погодных условий, сезонное бездорожье, отсутствие разрешительной документации на производство работ, ожидание согласования планов работ.
Возникновение простоев в процессе бурения скважин в долгосрочной перспективе имеет труднопредсказуемый характер и, как правило, является следствием ошибок в общей организации работ. В связи с этим для повышения качества прогнозирования таких временных рядов необходимо использовать сшивание ряда в месте простоя с последующей поправкой на величину временного сдвига при сшивании. Для этого исходный временной ряд с наличием временных пробелов (простоев) перерабатывается за счет введения сдвигов по времени там, где данные отсутствуют или остаются неизменными на протяжении двух временных шагов; далее полученный на предыдущем шаге кусочный ряд сшивается в местах разрывов.
Для обеспечения требуемой точности и согласованности данных о производственном процессе необходима интеграция различных форматов представлений данных и исключение дублирования данных. Дублирующаяся или утраченная информация может стать причиной некорректной или неадекватной статистики и ошибки в прогнозе. Для очистки, фильтрации и хранения данных используются специальные хранилища данных.
3. Методы предобработки временных рядов
Очистка данных является специальным механизмом для выявления и удаления явных ошибок и других несоответствий во входных данных для дальнейшего качественного прогнозирования любого производственного процесса.
Те или иные проблемы с качеством отдельных измерений встречаются в различных временных рядах данных, характеризующих производственный процесс, например, как результат случайных ошибок при вводе информации, возможной утери информации и других непредвиденных ситуаций. Такими проблемами или несоответствиями могут быть и разрывы рядов данных, связанные с простоями в производственном процессе.
Метод очистки и фильтрации данных для стабильного поддержания качества прогноза должен удовлетворять следующим основным критериям [5, 6]:
1) находить и удалять все известные основные ошибки или несоответствия в данных из отдельных источников и при интеграции данных из нескольких разных источников.
2) исключить корреляцию ошибок;
3) поддерживаться программным обеспечением для сокращения объемов ручной проверки и коррекции;
4) допускать возможность работы с новыми и дополнительными источниками.
Математические алгоритмы базируются на арифметических операциях умножения и
сложения, соответственно фильтры для усвоения данных работают только с числовыми данными. В то же время не всегда исходный вид входной информации имеет численное представление. Все такие данные нуждаются в кодировке - переводе в численную форму.
Выделим два типа нечисловых данных: упорядоченные (ординальные) и категориальные.
Для первого типа переменная имеет дискретный вид и может быть ранжирована: 01>С2>.>С„. Переменные второго типа также могут быть представлены дискретным набором вида (С1, С2, ..., Сп), однако упорядоченность в этом случае отсутствует.
Соответственно, для кодирования переменных ординального типа требуется просто каждому номеру категорий поставить в соответствие некоторые числовые значения, которые сохраняли бы существующую упорядоченность.
Следуя общему принципу максимизации энтропии, необходимо стремиться к тому, чтобы энтропия закодированных данных принимала максимальные значения.
Известно, что среди определенных на конечном интервале статистических функций распределения максимальной энтропией обладает равномерное распределение. Это означает, что после кодирования и нормировки переменных желательно получить такие значения при-
меров рядов, которые равномерно заполняют единичный интервал. Тогда все члены ансамбля временных рядов несут в себе приближенно равную информационную нагрузку. Рассмотрим следующий способ кодирования ординальных переменных (рис. 1).
Рис. 1. Способ кодирования ординальных переменных
р
Разобьем единичный интервал на отрезки Ахк = р, где Р - общее число примеров в
обучающей выборке, Рк - число примеров класса к. Тогда численное значение для ординального класса расположено в центре соответствующего отрезка.
Рассмотрим теперь категориальные переменные. Чтобы кодирование не искажало структуры соотношений между переменными, будем придерживаться правила: если переменные не упорядочены, схема их кодирования также должна быть не упорядочена. Будем использовать для категориальных переменных два способа кодировки.
Первый способ - двоичное симметричное кодирование, при котором имена п переменных-категорий кодируются значениями п бинарных состояний: п^п.
Первая переменная (категория) получает код (1, 0, 0, ..., 0), вторая категория - (0, 1, 0, ..., 0), ..., п-я категория - (0, 0, 0, ..., 1).
При этом способе кодировки расстояния между всеми векторами-категориями равны.
Если же классы значительно различаются числом членов ансамбля, то функция распределения значений переменной становится значительно неоднородна, а этот факт существенно понижает информативность данной переменной. В этом случае возникает необходимость использования второго способа кодировки п^ш, а имена п категорий необходимо кодировать двоичным кодом длиной ш бит.
Пусть один из 4-х классов-категорий (пусть это класс С1) таков, что: Р1>>Р2~Р3~Р4.
При первом способе кодировки первый член ансамбля будет активироваться значительно чаще остальных, что приведет к потере равномерности распределения. Тогда веса других примеров будут иметь меньше возможностей для усвоения [7].
Для равномерной загрузки членов ансамбля воспользуемся вторым способом: С1=(0,0), С2=(1,0), Сз=(0,1), С4=(1,1).
Главное различие в кодировании входных и выходных переменных обусловлено тем, что входные переменные непосредственно участвуют в усвоении данных системой, а выходные - в оценке ошибки прогноза. Поэтому кодировка выходов будет {0, 1}.
Обратимся к входным переменным. Усвоение первого члена ансамбля определяется непосредственно значениями входов: на них умножаются невязки, зависящие от выходов. Выбор схемы кодирования входов влияет на процесс усвоения. Ввиду логической равноправности значений различных входов предпочтительной является симметричная кодировка входов: {-1, 1}.
Результаты моделирования и прогнозирования временного ряда не должны зависеть от единиц измерения входных и выходных величин, которые могут иметь различные единицы измерения. Для того чтобы фильтр усвоения трактовал входные и выходные значения единообразно, все величины должны быть нормированы (нормализованы), то есть приведены к
единичному безразмерному масштабу. Нормализацией вектора называется действие, заключающееся в делении значений на норму вектора [8, 9].
Таким образом, приведение исходных данных к единичному масштабу осуществляется через линейную нормировку каждой из переменных на диапазон максимального разброса ее возможных значений. Однако такая нормировка не всегда применима.
Если в исходных данных встречаются относительно редкие значения, значительно превышающие типичные, то эти нетипичные выбросы будут определять масштаб всей нормировки. Тогда большинство значений отнормированной переменной будет сосредоточено около нуля (рис. 2).
2SD
-15 -10 -б □ 5 10 15
Рис. 2. Гистограмма значений переменной при наличии редких, но больших по амплитуде отклонений от среднего
Поэтому целесообразнее при нормировке использовать не экстремальные значения переменной, а, напротив, типичные, каковыми являются статистические характеристики: среднее значение и дисперсия переменной величины.
При статистической нормировке, однако, нет гарантии, что все нормированные величины лежат в единичном интервале. Кроме того, в этом случае заранее неизвестен максимальный разброс значений переменной, что имеет значение при дальнейшей работе с выходными данными. Поэтому возникает необходимость ограничить диапазон изменения переменных.
С этой целью используется функция активации данных. Наиболее часто в качестве актива-ционной функции используется бинарная сигмоидальная функция, определенная выражением:
/ (а) = . (1)
1 + е а
Функция (1) нормирует данные, причем множество значений этой функции лежит на отрезке [0, 1]. Пример нормированных таким образом данных представлен на рисунке 3.
Из рисунка 3 можно также сделать вывод, что распределение нормированных таким образом значений значительно ближе равномерному, нежели при линейной нормировке (рис. 2).
Можно добиться еще большей максимизации энтропии, если провести совместную нормировку всех членов ансамбля.
Рассмотрим совместную нормировку входов методом выбеливания. Для совместной энтропии двух статистически независимых рядов выполняется неравенство:
Н(хг,х;) < И(х) + И(х]). (2)
Таким образом, входная информация статистически независимых рядов более информационно насыщена.
ел
50
ш ю
3]
1D □
□ 02 ПЧ □.!-: D.S 1
Рис. 3. Нелинейное сигмоидальное преобразование при нормировке исходных данных для анализа временных рядов
Установим требование, чтобы после нормировки новые входы были декоррелированы между собой. Для этого найдем среднее и матрицу ковариации данных [10]:
1 P
x=-£*a, (3)
P a=1
tw - p-7 t « - x )(xa - x). (4)
ij P 1 a=1
Столбцами диагонализированной ковариационной матрицы являются собственные векторы ковариационной матрицы:
££U]k =ÄkUlk. (5)
j ij
Запишем линейное преобразование в виде:
~ = Ui^jt. (6)
Преобразование (6) называется выбеливанием [11]. Оно превращает все входные значения в некоррелированные величины с нулевым средним и единичной дисперсией и увеличивает общую энтропию входных данных за счет выравнивания распределения ансамблей данных [12].
Заключение
В работе показано, что временные ряды данных, характеризующих производственные процессы, могут иметь несоответствующий для работы модели вид, содержать разного рода ошибки, пропуски, нетипичные и аномальные элементы, а также прочие компоненты, искажающие действительную картину динамики эволюции системы.
С целью повышения качества и точности модели, восстанавливаемой на основании данных динамики изменения временных рядов, предложены методы предварительной обработки данных: кодирование входных и выходных потоков данных, нормировка данных, предобработка данных (удаление очевидных систематических ошибок, скачков и регулярностей).
Полученные в результате предварительной обработки данные позволяют повысить точность и достоверность работы модуля прогнозирования временных рядов посредством оптимизации конфигурации работы фильтра и параметров модели производственной системы.
Примечания:
1. Власенко А.В., Жданов А.А. Восстановление модели динамической нелинейной системы по порождаемому ею временному ряду // Политематический сетевой электронный научный журнал Кубанского государственного аграрного университета. 2017. № 129. С. 79-92.
2. Власенко А.В., Жданов А.А., Сизоненко А.Б. Разработка алгоритма прогнозирования временных рядов нелинейных динамических систем // Вестник Адыгейского государственного университета. Сер. Естественно-математические и технические науки. 2017. Вып. 3 (206). С. 143-148. URL: http ://vestnik.adygnet.ru
3. Афраймович В.С., Рейман А.М. Размерность и энтропия в многомерных системах // Нелинейные волны. Динамика и эволюция / ред. А.В. Гапонов-Грехов, И.М. Рабинович. М.: Наука, 1989. С. 238262.
4. Власенко А.В. Жданов А.А. Особенности прогнозирования скорости бурения нефтяных и газовых скважин // Научные труды КубГТУ. 2017. № 3. URL: https://ntk.kubstu.ru/file/1533 (дата обращения: 10.05.2018).
5. Мицель А.А., Ефремова Е.А. Методы предобработки входных данных для системы прогнозирования финансовых временных рядов // Доклады Томского государственного университета систем управления и радиоэлектроники. 2005. № 3. С. 5660.
6. Методика анализа данных. BaseGroup Labs. URL: http:// www.basegroup.ru (дата обращения: 30.04.2018).
7. Нейронные сети. Statistica Neural Networks: Методология и технологии современного анализа данных / под ред. В.П. Боровикова. 2-е изд., перераб. и доп. М.: Горячая линия-Телеком, 2008. 392 с.
8. Бокс Дж., Дженкинс Г.М. Анализ временных рядов, прогноз и управление. М.: Мир, 1974. 406 с.
9. Безручко Б.П., Смирнов Д.А. Математическое моделирование и хаотические временные. Саратов: Гос. УНЦ «Колледж», 2005. 320 с.
10. Проблемы нелинейной динамики. III: Локальные методы прогнозирования временных рядов / А.Ю. Лоскутов, О.Л. Котляров, И.А. Истомин, Д. И. Журавлев // Вестник Московского университета. Сеp. Физика. Астрономия. 2002. № 6. С. 3-21.
11. Емельянов В.В., Курейчик В.В., Курейчик В.М. Теория и практика эволюционного моделирования. М.: ФИЗМАТЛИТ, 2003. 432 с.
12. Власенко А.В., Жданов А.А. Описание нелинейных динамических систем с помощью дискретных отображений // Научные труды КубГТУ. 2017. № 3. С. 11-19. URL: https://ntk.kubstu.ru/file/1534 (дата обращения: 06.05.2018).
References:
1. Vlasenko A.V., Zhdanov A.A. Restoration of the model of a dynamic nonlinear system according to the time series generated by it // Polythematic Network Electronic Scientific Journal of the Kuban State Agrarian University. 2017. No. 129. P. 79-92.
2. Vlasenko А.V., Zhdanov A.A., Sizonenko A.B. Development of the algorithm of forecasting time serie of nonlinear dynamic systems // The Bulletin of the Ady-ghe State University. Ser. Natural-Mathematical and Technical Sciences. 2017. Iss. 3 (206). P. 143-148. URL: http://vestnik.adygnet.ru
3. Afraymovich V.S., Reiman A.M. Dimension and entropy in multidimensional systems // Nonlinear waves. Dynamics and evolution / ed. by A.V. Gaponov-Grekhov, I.M. Rabinovich. M.: Nauka, 1989. P. 238262.
4. Vlasenko A.V., Zhdanov A.A. Features of forecasting the speed of drilling oil and gas wells // Scientific works of KubSTU. 2017. No. 3. URL: https://ntk.kubstu.ru/file/1533 (access date: 10.05.2018).
5. Mitsel A.A., Efremova E.A. Methods of preconditioning data input for system of forecasting of financial time series // Reports of Tomsk State University of Control Systems and Radio Electronics. 2005. No. 3. P. 56-60.
6. Methods of data analysis. BaseGroup Labs. URL: http: // www.basegroup.ru (access date: 30.04.2018).
7. Neural networks. Statistica Neural Networks: Methodology and technologies of modern data analysis / ed. by V.P. Borovikov. 2nd ed., revised and enlarged. M.: Goryachaya Liniya-Telecom, 2008. 392 pp.
8. Box G., Jenkins G.M. Time series analysis: forecasting and control. M.: Mir, 1974. 406 pp.
9. Bezruchko B.P., Smirnov D.A. Mathematical modeling and chaotic time series. Saratov: Gos. UNTs College, 2005. 320 pp.
10. Problems of nonlinear dynamics. III: Local methods of forecasting time series / A.Yu. Loskutov, O.L. Kotlyarov, I.A. Istomin, D.I. Zhuravlev // Bulletin of Moscow University. Ser. Physics. Astronomy. 2002. No. 6. P. 3-21.
11. Emelyanov V.V., Kureichik V.V., Kureychik V.M. Theory and practice of evolutionary modeling. Moscow: FIZMATLIT, 2003. 432 pp.
12. Vlasenko A.V., Zhdanov A.A. Description of nonlinear dynamic systems using discrete mappings // Scientific works of KubSTU. 2017. No. 3. P. 11-19. URL: https://ntk.kubstu.ru/file/1534 (access date: 06.05.2018).