УДК 004.942:519.254 ББК 32.81 В 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: Zhdanovan-drey234@mail. ru
Generalization of algorithm for forecasting time series of production systems
Abstract. The algorithm for reconstructing the model of a non-linear dynamical system from the generated time series in combination with the Kalman filtering for data assimilation and ensemble-probabilistic modeling for perturbing the initial data does not take into account the specific nature of the production systems that is associated with the presence of data gaps in the time series being tracked. To predict the time series of production systems with data discontinuities, it is necessary to use the cross-linking of the series at the place of inactivity, followed by correction for the amount of time shift in the cross-linking. The forecast error associated with the presence of unforeseeable downtime in the forecast period is calculated by the probabilistic path through the analysis of historical data and is entered in the time series as a time correction. This operation is realized due to the inclusion in the places of discontinuities of the initial time series of time shifts and the subsequent cross-linking of the pieces of the series. The results of the work can find practical application for planning the production activity of the companies, including for forecasting the commercial drilling speed of oil and gas wells.
Keywords: time series, data gaps, algorithm, production system, forecasting, Kalman filter.
Введение
Алгоритм восстановления модели нелинейной динамической системы по порождаемому временному ряду в совокупности с применением Калмановской фильтрации для усвоения данных и ансамблево-вероятностного моделирования для возмущения исходных данных, поступающих в фильтр, позволяет описать возможную неоднозначность поведения прогнози-
руемой величины в зависимости от параметров описываемого нелинейного динамического процесса.
Описанный в работах [1, 2] алгоритм имеет высокую эффективность для прогнозирования временных рядов нелинейных динамических систем с непрерывными данными, однако он не учитывает особую специфику производственных систем, которая связана с наличием пропусков данных в отслеживаемом временном ряде.
Кроме того, временные ряды данных, получаемые при мониторинге производства, имеют существенную специфику. Они могут содержать сложные нерегулярные вариации и нестационарные эффекты различного рода. В этих рядах часто присутствуют меняющиеся во времени помехи, пропуски данных, тренды, технический брак и другие случайные эффекты [3]. Все это требует применения специальных методов и приемов при анализе таких данных.
Для решения указанных проблем и обобщения работы алгоритма для случая рядов с разрывами данных в работе предложен подход, который заключается во внесении в прогноз поправки во времени, отвечающей задержкам и простоям во временных рядах производственных систем.
В качестве области применения разработанного алгоритма прогнозирования временных рядов с разрывами данных в производственных системах может быть рассмотрено бурение нефтяных и газовых скважин, основным производственным показателем эффективности которого является коммерческая скорость. При этом в случае превышения некоторого порогового значения возможно возникновение разрывов в динамике данных, которые представлены ремонтами, простоями и другими причинами, в результате которых скорость бурения начинает колебаться, затем ее поведение еще более усложняется и может даже стать хаотическим. Возникновение простоев в процессе бурения скважин в долгосрочной перспективе имеет труднопредсказуемый характер и, как правило, является следствием ошибок в общей организации работ, что делает классические методы прогнозирования неэффективными для рассматриваемой предметной области.
1. Особенности алгоритма для производственных систем
Как было указано в работах [1, 2], алгоритм прогнозирования непрерывных временных рядов нелинейных динамических систем сводится к восстановлению в заданном классе системы дифференциальных или разностных уравнений на базе скалярного временного ряда наблюдаемого процесса. С целью устранения погрешности измерения и представления с хорошей точностью положения объекта в текущий, будущий или какой-либо из прошедших моментов применяется фильтр Калмана, использующий известную математическую модель динамики объекта.
В более общем виде алгоритм прогнозирования временных рядов производственных систем, особенность которых заключается в наличии разрывов данных и случайных эффектов, можно представить в виде следующих последовательных шагов:
1) получение временного ряда с интервалом в выбранную временную итерацию;
2) заполнение «пробелов» в истории;
3) сшивание ряда в месте простоя;
4) сглаживание ряда методом скользящих средних;
5) получение ряда относительного изменения прогнозируемой величины;
6) формирование таблицы «окон» с глубиной погружения к временных интервалов;
7) добавление к таблице дополнительных данных (например, изменение величины за предыдущие годы);
8) шкалирование;
9) определение обучающей и валидационной выборок;
10) подбор параметров модели;
11) усвоение данных методом фильтра Калмана;
12) внесение поправки во времени, отвечающей задержкам и простоям;
13) проверка работоспособности алгоритма в реальных условиях.
Для прогнозирования временного ряда производственных систем с разрывами данных необходимо использовать сшивание ряда в месте простоя с последующей поправкой на величину временного сдвига при сшивании. Указанная операция реализуется за счет включения в места разрывов исходного временного ряда сдвигов по времени и последующим сшиванием кусков ряда. Разрывом признается участок временного ряда, для которого данные отсутствуют или остаются неизменными на протяжении более двух отрезков времени. Далее в прогнозе делаем поправку во времени, равную продолжительности сдвигов данных в местах разрывов временного ряда.
В прогнозируемом периоде могут возникать дополнительные непредвиденные простои, за счет которых возможно увеличение сроков реализации производственного процесса. Ошибка прогноза в таком случае рассчитывается вероятностным путем за счет анализа ретроспективных данных и вносится во временной ряд в качестве поправки по времени.
2. Описание работы алгоритма
Задача усвоения данных решается с помощью Калмановской фильтрации [4-6], что позволяет устранить погрешности измерения и представить с хорошей точностью положение объекта в данный момент (фильтрация), в будущие моменты (предсказание) или в какие-то из прошедших моментов (интерполяция или сглаживание).
При этом усвоение данных включает в себя следующие три стадии: подача обучающих данных на входы сети, обратное распространение ошибки и корректировка весов.
В ходе первого этапа усвоения каждый входной фильтр получает входной сигнал и транслирует его каждому из скрытых в следующем слое фильтров.
Затем каждый из скрытых фильтров вычисляет соответствующий результат активаци-онной функции и далее рассылает свой результирующий сигнал всем фильтрам выходного слоя.
Теперь каждый фильтр выходного слоя вычисляет соответствующий результат уже своей активационной функции. Это значение представляет собой выходной сигнал данного фильтра для соответствующих входных данных.
Кроме того, в процессе усвоения данных каждый фильтр выходного слоя сравнивает вычисленное значение с целевым значением и определяет соответствующее значение ошибки для данного входного шаблона.
На этапе корректировки в алгоритм поступают данные текущих измерений (наблюдений), которые используются для уточнения прогнозного значения вектора состояния, и вычисления собственно оценки вектора состояния динамической системы.
Ошибка усвоения данных для построенного фильтра вычисляется путем сравнения выходных и целевых (желаемых) значений. Из полученных разностей формируется функция ошибок.
Условием оптимальности построенной оценки состояния является минимум ее средней квадратической ошибки. Алгоритм последовательно обрабатывает вновь поступающие векторы измерений, учитывая при этом значения, вычисленные на предшествующем цикле.
На следующем шаге с помощью обрабатываемых на данном цикле измерений уточняются начальные условия. Для этого алгоритм вычисляет вес поправок к ним на основе ковариационных матриц оценки состояния и измерений. Чем меньшей погрешностью характеризуются измерения по сравнению с оценкой состояния системы, тем больший вес они получают. Относительные веса неизвестных, определяющих вектор состояния системы, зависят от степени их влияния на вектор измерений: больший вес получат те переменные, вклад которых в измерения больше.
Уточнение начальных условий на основе поступивших на данном цикле измерений в общем случае приводит к уменьшению неопределенности в оценке состояния системы. Исправленные таким образом начальные условия и являются выходными данными фильтра Калмана на каждом цикле.
На заключительном этапе работы алгоритма происходит подготовка к поступлению но-
вого вектора измерений. На основе заданного линейного преобразования, связывающего последующий вектор состояния с предыдущим, прогнозируется оценка состояния системы, отнесенная к моменту следующего измерения. При построении ковариационной матрицы прогнозируемого вектора состояния фильтром Калмана учитывается возможность искажения модели, описывающей поведение системы, некоторым случайным процессом с известными статистическими параметрами. Поскольку конкретные значения возмущающего эффекта не могут быть известны, данное обстоятельство способствует повышению неопределенности прогноза. По мере последовательной обработки новых измерений происходит накопление фильтром полезной информации, поэтому если элементы вектора состояния уверенно выражаются через измеренные величины, то суммарная погрешность оценок, как правило, должна снижаться. Однако поскольку вместе с улучшением точности оценок на этапе их уточнения имеет место ее снижение при построении прогноза, то эти тенденции, компенсируя друг друга, впоследствии приведут к стабилизации неопределенности, характеризующей оценку состояния системы. В случае отсутствия фактора, вносящего возмущения в процесс перехода системы из одного состояния в другое, погрешность оценок в итоге достигнет нуля. Изменяющаяся в процессе работы алгоритма степень неопределенности оценки состояния системы влечет за собой и изменение весов, вычисляемых на втором шаге; данное обстоятельство выделяет фильтр Калмана как алгоритм с переменными весами.
Если состояние рассматриваемой системы неизменно, то алгоритм фильтра Калмана сводится к последовательной форме классического метода наименьших квадратов, в котором матрица, обратная ковариационной, выступает в качестве весовой. Другими словами, фильтр Калмана является, по существу, рекуррентным способом решения задачи уравнивания по методу наименьших квадратов [7].
3. Формализация работы алгоритма
С целью расширения области функционирования рассмотренного в работе [2] модифицированного ЬБТКБ-алгоритма [8] на случай временных рядов нелинейных динамических систем с разрывами данных необходимо предусмотреть внесение в прогноз поправки по времени, отвечающей разрывам данных, связанных с задержками и простоями различной природы в рассматриваемой производственной системе.
Описанная выше задача может быть решена с помощью модификации существующего алгоритма нейронной сетью с обратным распространением ошибки, построенной по принципу многослойного перцептрона. В результате обучения нейронной сети выборками с информацией о фактической календарной продолжительности бурения скважин достигается повышение точности прогнозных сведений о результатах строительства последующих скважин, находящихся в сходных горно-геологических условиях.
Алгоритм описанных выше операций может быть представлен в следующем виде:
1) начальная инициализация исходных значений в месте разрыва случайными малыми значениями;
2) до выполнения условия прекращения работы алгоритма выполняются последующие шаги с номерами от 3 до 10;
3) распространение всех данных от входного фильтра к выходному. Для каждой числовой пары {данные, целевое значение} выполняются последующие шаги от 4 до 8;
4) каждый (/=1, 2, ..., п) входной фильтр X/ отправляет полученное им значение X/ далее всем фильтрам в следующем скрытом слое;
5) каждый (/=1, 2, ...,р) фильтр скрытого слоя 2/ суммирует взвешенные входящие к нему сигналы:
2; = V / , (1)
У
где 2/ - взвешенный входящий сигнал фильтра скрытого слоя 2;
Х/ - значение /-го нейрона входного слоя;
У, - весовое значение связи /-го нейрона входного слоя для ,-го нейрона скрытого слоя. На следующем шаге каждый фильтр скрытого слоя применяет активационные функции I (27") и полученный результат транслирует всем элементам выходного фильтра:
2, = I (27); (2)
6) каждый (к=1, 2, ...,т) выходной фильтр Ук суммирует взвешенные входящие сигналы:
У" = г0к , (3)
где Ук" - взвешенный входящий сигнал фильтра скрытого слоя Ук; 2, - значение у-го нейрона скрытого слоя;
У,к - весовое значение связи ,-го нейрона скрытого слоя для к-го нейрона выходного слоя.
На следующем шаге каждый выходной фильтр применяет активационную функцию I (Ук"), вычисляя выходное значение:
Ук = I (У/"); (4)
7) обратное распространение ошибки. Каждый (к=1, 2, ..., т) выходной фильтр Ук получает целевое значение 'к, которое является правильным для данного входного значения, и вычисляет ошибку ск :
Ск = ('к - Ук) • I(У/"). (5)
На следующем шаге вычисляется величина изменения весового коэффициента связи
АУ,к:
АУ^ =а-Ок • 2,, (6)
где а - скорость обучения сети.
Каждый (к=1, 2, ..., т) выходной фильтр Ук вычисляет величину корректировки смещения АУ0к и посылает ск фильтрам в предыдущем слое:
ЛГ0к = аск; (7)
8) каждый (7=1, 2, ...,р) скрытый фильтр 2, суммирует входящие ошибки (от фильтров в последующем слое) и вычисляет величину ошибки с 7 , умножая полученное значение
на производную активационной функции:
с 7 (^). (8)
На следующем шаге происходит вычисление величины, на которую изменится вес связи ЛУ7:
и
АУ, = а с7 ■ X/. (9)
Помимо этого, каждый (7=1, 2, ...,р) скрытый фильтр 2, вычисляет величину корректировки смещения ЛУ0,:
ЛУо 7 = ас 7; (10)
9) каждый (к=1, 2, ..., т) выходной фильтр Ук изменяет веса своих связей с элементом смещения и скрытыми фильтрами У}-к :
Кк = У7к +ЛУ7к . (11)
Каждый (/=1, 2, ..., р) скрытый фильтр 2/ изменяет веса своих связей с элементом смещения и выходными фильтрами V} :
V = V +АГ1}; (12)
10) проверяются условия завершения работы алгоритма. Условием прекращения работы алгоритма может быть как достижение суммарной квадратичной ошибкой результата на выходе сети фильтров предустановленного заранее минимума, так и выполнение определенного количества итераций алгоритма.
В основе алгоритма лежит метод градиентного спуска. В зависимости от знака градиент функции (в данном случае значение функции - это ошибка, а параметры - это веса связей в сети) дает направление, в котором значения функции возрастают (или убывают) наиболее стремительно.
Заключение
В работе показано, что существующий на сегодняшний день алгоритм прогнозирования непрерывных временных рядов имеет низкую прогнозную эффективность в случае попытки его адаптации к производственным системам, которые могут иметь разрывы данных различной природы.
С целью расширения качества и точности прогнозирования временных рядов производственных систем предложено расширение границ работы алгоритма путем его обобщения на случай наличия во временном ряде пропусков данных за счет осуществления операции сшивания рада с последующей поправкой на величину временного сдвига. Дополнительно в результате обработки ретроспективных данных во временной ряд вносится поправка по времени, связанная с наличием непредвиденных простоев в прогнозном периоде.
Разработанный алгоритм в качестве математического обеспечения программного комплекса, встроенного в информационную систему производственного предприятия, позволит в непрерывном режиме получать прогноз результатов деятельности на основании обработки текущих показателей производственных процессов и ретроспективных рядов данных процессов-аналогов.
Практическая значимость для лица, принимающего решения, заключается в возможности отслеживания в режиме реального времени долгосрочной картины деятельности предприятия, что позволит на более высоком уровне управлять рисками организации и, в отдельных случаях, указывать на необходимость перестроения производственных процессов для повышения уровня адаптации организации к изменяющимся условиям внешней среды. С помощью получаемой информации может быть оптимизировано управление парком оборудования предприятия, что позволит оценить договорные риски и возможности на любой стадии реализации проекта.
Анализ программных комплексов, построенных на базе регрессионных моделей, авто-регресионных моделей, моделей экспоненциального сглаживания, нейросетевых моделей, моделей на базе цепей Маркова, а также моделей на базе классификационно-регрессионных деревьев показал их неэффективность по отношению к временным рядам с разрывами данных (относительная ошибка прогнозирования колеблется от 16% до 33%), в то время как разработанный алгоритм на основании предварительных результатов ретроспективного анализа календарной продолжительности бурения 41 скважины Чаяндинского НГКМ позволил снизить относительную ошибку прогнозирования до 5-10%.
Результаты работы могут найти практическое применение для планирования производственной деятельности предприятия. Наличие сведений о прогнозной календарной продолжительности строительства нефтяных и газовых скважин позволит буровым предприятиям оптимизировать планирование производственной деятельности за счет рационализации подхода к загрузке буровых установок, что в конечном счете приведет к максимизации прибыли и повышению их конкурентоспособности.
Примечания:
1. Власенко А.В., Жданов А.А. Восстановление модели динамической нелинейной системы по порождаемому ею временному ряду // Политематический сетевой электронный научный журнал Кубанского государственного аграрного университета. 2017. № 129. С. 79-92.
2. Власенко А.В., Жданов А.А., Сизоненко А.Б. Разработка алгоритма прогнозирования временных рядов нелинейных динамических систем // Вестник Адыгейского государственного университета. Сер. Естественно-математические и технические науки. 2017. Вып. 3 (206). С. 143-148. URL: http://vestnik.adygnet.ru
3. Власенко А.В. Жданов А.А. Особенности прогнозирования скорости бурения нефтяных и газовых скважин // Научные труды КубГТУ. 2017. № 3. С. 1-10. URL: https://ntk.kubstu.ru/file/1533 (дата обращения: 10.05.2018).
4. Cohn S. An introduction to estimation theory // Journal of the Meteorological Society of Japan. 1997. Vol. 75. P. 257-288.
5. A local ensemble Kalman filter for atmospheric data assimilation / E. Ott, B.R. Hunt, I. Szunyogh [et al.] // Tellus. 2004. Vol. 56A. P. 415-498.
6. Evensen G. Data assimilation. The ensemble Kalman filter. Berlin; Heidelberg: Springer-Verlag, 2007. 279 pp.
7. Гончарова Е.Н. Численное дифференцирование временных рядов с использованием фильтра Кал-мана-Бьюси: дис. ... канд. физ.-мат. наук. Ставрополь, 2004. 124 c.
8. Красюк Т.В. Усвоение данных: конкуренция методов и проблема усвоения спутниковых наблюдений. URL:
http://method.meteorf.ru/publ/tr/tr348/krasuk.pdf (дата обращения: 21.08.2017).
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. Vlasenko A.V., Zhdanov A.A. Features of forecasting the speed of drilling oil and gas wells // Scientific Works of KubSTU. 2017. No. 3. P. 1-10. URL: https://ntk.kubstu.ru/file/1533 (access date: 10.05.2018).
4. Cohn S. An introduction to estimation theory // Journal of the Meteorological Society of Japan. 1997. Vol. 75. P. 257-288.
5. A local ensemble Kalman filter for atmospheric data assimilation / E. Ott, B.R. Hunt, I. Szunyogh [et al.] // Tellus. 2004. Vol. 56A. P. 415-498.
6. Evensen G. Data assimilation. The ensemble Kalman filter. Berlin; Heidelberg: Springer-Verlag, 2007. 279 pp.
7. Goncharova E.N. Numerical differentiation of time series using the Kalman-Bucy filter: Diss. for the Cand. of Phys. and Mat. Sciences degree. Stavropol, 2004. 124 pp.
8. Krasyuk T.V. Data assimilation: competition of methods and problem of assimilation of satellite observations. URL:
http://method.meteorf.ru/publ/tr/tr348/krasuk.pdf (access date: 21.08.2017).