Определение параметров процесса образования редких событий в экономике для их последующего прогнозирования
Определение параметров процесса образования редких событий в экономике для их последующего прогнозирования
Аннотация
Код статьи
S042473880020016-6-1
Тип публикации
Статья
Статус публикации
Опубликовано
Авторы
Кораблев Юрий Александрович 
Должность: доцент
Аффилиация: Финансовый Университет при Правительстве Российской Федерации (Финуниверситет)
Адрес: Москва, Российская Федерация
Выпуск
Страницы
80-91
Аннотация

В статье представлен метод определения неизвестных параметров процесса, формирующего редкие события в экономике. Редкие события рассматриваются не со статистической точки зрения, а с точки зрения процессов, которые образуют эти события. Причем процесс образования редких событий может быть задан произвольным алгоритмом. Такой процесс также будет использовать неизвестные параметры, которые могут быть не только статическими, но и динамическими. Например, если рассматривать процесс потребления, в результате которого образуются дискретные покупки неподконтрольными нам покупателями, то такими параметрами могут быть максимальный запас и динамически изменяющаяся скорость потребления. В общем виде процесс может быть произвольным и его могут описывать различные параметры. Задача состоит в нахождении этих неизвестных параметров процесса, ориентируясь только на выборку редких событий. Идея метода — минимизация функции потерь, которая определяется на основе различий между событиями, образованными в результате функционирования модели процесса, и событиями из исходной выборки наблюдений. Каждое событие, помимо времени появления, характеризуется еще и дополнительной информацией, например объемом покупки. Необходимо найти такие значения параметров процесса, которые позволяли бы получить очень похожую выборку событий. Динамические параметры процесса задаются в виде кубических сплайнов особой структуры. Для однозначного описания каждого динамического параметра в целевую функцию вносится штраф за чрезмерную гладкость (шероховатость) соответствующих сплайнов. Приведен пример процесса и структура его параметров, подлежащая определению. Оптимизация происходит численными методами, за основу берется алгоритм Нелдера–Мида, который запускается на сетке, чтобы найти глобальный оптимум. Параметры процесса определяются по шагам, в начале только чтобы получить несколько событий, необходимых для продолжения расчетов, потом следующая группа событий и т.д., это позволяет большую оптимизационную задачу разбить на последовательность простых задач, что существенно снижает общую трудоемкость.  Описано предположение, которое должно соблюдаться, чтобы такой прием был справедлив. Рассмотрен пример выявления неизвестных параметров на примере процесса потребления. Определив параметры процесса, можно переходить к экстраполяции и осуществлять прогноз будущих событий.

Ключевые слова
редкие события, процесс образования событий, определение параметров процесса, прогнозирование событий, имитационное моделирование, оптимизация, алгоритм Нелдера–Мида.
Источник финансирования
Исследование выполнено при финансовой поддержке Российского фонда фундаментальных исследований (проект 19-010-00154).
Классификатор
Дата публикации
18.06.2022
Всего подписок
11
Всего просмотров
451
Оценка читателей
0.0 (0 голосов)
Цитировать   Скачать pdf
1

1. ВВЕДЕНИЕ

2 Анализ и прогнозирование редких событий в экономике являются актуальной задачей. Данное исследование развивает ранее предложенный подход для анализа и прогнозирования редких событий в экономике (Кораблев, 2020), который основывается на рассмотрении событий с точки зрения процессов, которые формируют эти события.
3 Другие существующие методы ограничиваются лишь статистическим рассмотрением событий. Одни методы определяют либо вероятности появления событий на определенном участке времени, моделируют потоки событий как потоки случайных событий, в основном ограничиваясь пуассоновскими потоками без последействия, либо строят простейшие модели марковского процесса, например метод Виллемейна (Willemain et al., 2001, 2004).
4 Существуют подходы, которые базируются на методах классификации. В них в случае внешних наблюдаемых факторов распознаются закономерности, при которых в следующем периоде можно ожидать появления редкого события. Во всех этих методах не прогнозируется момент времени возникновения события, а дается оценка вероятности возникновения события на интервале времени. В большинстве методов, если предсказанное событие не появилось, то на следующий период опять дается точно такой же прогноз, т.е. все оценки получаются статическими.
5 Последние обзоры различных подходов к анализу и прогнозированию редких событий можно найти в работах (Kaya, Sahin, Demirel, 2020; Carreno, Inza, Lozano, 2020; Prince, Turrini, Meissner, 2021; Halim, Quaddus, Pasman, 2021). В них рассматриваются сотни работ других авторов, но ничего похожего на предлагаемый здесь метод в них нет.
6 Основная идея предлагаемого автором подхода заключается в том, чтобы анализировать процессы возникновения событий в источниках этих событий. В предыдущих работах (Кораблев, 2020; Кораблев, Голованова, Кострица, 2020) такими процессами были процессы потребления или накопления возмущения, а источниками — покупатели или клиенты (что позволило прогнозировать будущие покупки клиентов или моменты обращения клиента в парикмахерскую). Однако эти работы ограничивались исключительно процессами, схожими с опустошением/наполнением емкости, и процессы анализировались исключительно математическими методами. В этой работе мы распространим подход на произвольные процессы (для лучшего понимания демонстрационный пример будет основан на процессе потребления, но вместо него можно рассмотреть любой процесс).
7 Предлагаемый подход анализа редких событий состоит из пяти этапов:
8
  1. события разделяются по разным выборкам — в зависимости от того, в каких источниках событий они были сформированы (выполняется автоматически, если данные от разных источников не смешиваются);
  2. выдвигаются предположения о процессе, который формирует события в источнике (построение алгоритмической модели);
  3. определяются параметры процесса из имеющейся выборки событий;
  4. параметры процесса экстраполируются на будущее (любым известным методом);
  5. запускается сам процесс с установленными значениями параметров, в результате которого получают прогноз будущих событий. Точность прогноза будущих событий зависит от точности определения и экстраполяции параметров процесса (при условии, что модель процесса была верной).
9 Данное исследование направлено на разработку универсального метода анализа и прогнозирования событий, которые могут порождаться произвольными процессами. Стоит отметить, что нас не интересуют случайные процессы, т.е. такие, в которых для образования событий используются случайные числа. Случайность есть мера неопределенности, мера незнания. Нас интересуют процессы, в которых события образуются как бы детерминировано, по некоторым физическим законам. Это предположение можно ослабить, приняв, что если внутри процесса имеется неопределенность, то нас будет интересовать только динамика математического ожидания (усреднение по реализациям) всех нестационарных параметров, когда параметры процессов могут быть описаны в виде аналитических функций. Дополнительно можно допустить присутствие некоторой внешней неопределенности, из-за которой события наблюдаются с погрешностями. В итоге необходимо определить нестационарные параметры процесса по зашумленным данным.
10

2. ОСНОВНАЯ ИДЕЯ

11 В первую очередь необходимо описать процесс формирования событий. В общем виде это может быть произвольный алгоритм. Как в эконометрике или анализе данных исследователь формирует математическую модель, так и здесь будет формироваться модель, но не математическая, а алгоритмическая. Ключевым элементом в такой модели является образование событий в результате некоторых операций сравнения. При формировании событий, помимо момента времени, может возвращаться информация об этом событии (например, в процессах потребления такой информацией будет объем покупок).
12 В модели процесса могут использоваться нестационарные параметры процесса, которые будут изменяться со временем независимо от того, что происходит в самом процессе. Эти параметры ненаблюдаемы, их нельзя назвать экзогенными переменными. Их можно сравнить с коэффициентами эконометрических моделей ( a0,a1, ), но с допущением, что они будут динамическими, т.е. a0t,a1t,    . Например, в процессах потребления (как в моделях управления запасами) переменной будет являться текущий запас, а параметром — нестационарный спрос. Мы хотим найти эти неизвестные параметры. Определять их будем с помощью соотнесения имеющейся выборки редких событий с выборкой событий, полученной в результате функционирования нашей модели. Для этого можно задать функцию потерь и оптимизировать ее численными методами. В результате такой оптимизации будут подобраны параметры процесса, при которых формируемая выборка будет мало отличаться от имеющейся выборки наблюдений. Основная идея достаточно проста и интуитивно понятна, однако реализация сталкивается с некоторыми трудностями, которые успешно преодолеваются.
13

3. ФОРМА ПРЕДСТАВЛЕНИЯ ПАРАМЕТРОВ ПРОЦЕССА

14 Статические параметры процесса будут задаваться одним числом. Динамические параметры будут задаваться в виде кубических сплайнов gt , представленных через изменяющуюся скачками третью производную g'''sk в каждом узле sk . Наш сплайн будет немного похож на дифференциальное уравнение. Он будет определяться через начальные значения в стартовом узле, а на всех других узлах будет меняться только его третья производная. Заметим, что такая форма сплайна эквивалента представлению через значения и вторые производные (value-second derivative representation), которая, в свою очередь, эквивалента классическому представлению четырьмя параметрами при степенях переменной1. В итоге, чтобы задать значение изменяющегося со временем параметра процесса в виде сплайна gt , требуется задать:
1. Автор провел все соответствующие аналитические расчеты, чтобы убедиться в этом.
15
  1. узлы сплайна s1<s2<<sm (точки сочленения полиномов, число узлов m и их местоположение выбирается исследователем априори; самый распространенный способ выбрать узлы, чтобы они совпадали с наблюдениями, или распределить их равномерно на всем интервале наблюдений);
  2. начальное значение, а также первую и вторую производную в первом узле gs1 , g's1 , g''s1 ;
  3. значения третьей производной g'''sk во всех предшествующих моменту времени t узлах k: sk<t .
16 Благодаря такой форме представления сплайна необходимо определять только те значения, которые предшествовали интересующему нас периоду времени. Это поможет нам, когда мы начнем заниматься оптимизацией и подгонять параметры процесса (мы сможем подбирать параметры по одному событию последовательно, а не для всей выборки сразу). Заметим, что в последнем узле значение третьей производной можно не задавать.
17 Значения сплайна в произвольный момент времени t определяется через значения и производные, соответствующие предшествующему узлу sk (из классической формы сплайна последовательными преобразованиями выводится форма, соответствующая ряду Тейлора, что было ожидаемо). Для времени t и предшествующего этому времени узла sk выполняем:
18 g''t=g''sk+t-skg'''sk, (1)
19 g't=g'sk+t-skg''sk+0,5t-sk2g'''sk, (2)
20 gt=gsk+t-skg'sk+0,5t-sk2g''sk+t-sk3/6g'''sk . (3)
21 Данная форма представления сплайна гарантирует непрерывность вплоть до второй производной, третья производная меняется скачками в узлах сплайна. Выражения серьезно упрощаются, если время продвигается всегда только на единицу. При этом вычисления опираются на значения не предыдущего узла, а на значения в предыдущий момент времени. В модели процесса будем использовать процедуру продвижения модельного времени, в результате которой продвигаются все значения динамических параметров.
22 Заметим, что практически во всех работах, посвященных восстановлению неизвестных функций сплайнами, применяются натуральные сплайны, которые в начале и в конце превращаются в прямую линию. Таким образом, вторая производная на концах сплайна обнуляется, в начале отсчета она берется равной нулю, и к окончанию выборки она также должна прийти к нулю. Если мы введем такое условие, то вторую производную в начальном узле можно будет не подбирать. Можно не подбирать и значение третьей производной в предпоследнем узле sm-1, так как его можно выразить через ранее определенные значения. Если hk=sk+1-sk — расстояние между узлами, g''s1=0 , то g''sm=k=1m-1hkg'''sk=0 , откуда
23 g'''sm-1=-k=1m-2hkg'''sk/ hm-1 (4)
24

25 Рис. 1. Поведение второй производной g''t в кубическом натуральном сплайне
26 Примечание. Третья производная изменяется скачками, вторая кусочно-линейно. Вторая производная начинается и заканчивается в нуле.
27 Ранее было сказано, что наблюдения могут быть с погрешностью (данные зашумлены). Обычно для борьбы с шумом к функции потерь добавляют штраф за чрезмерную гладкость (шероховатость, roughness). В нашей задаче для кубического сплайна штраф на шероховатость рассчитывается как s1smg''t2dt . Это можно сделать как во время функционирования процесса, суммируя квадрат второй производной, так и после завершения процесса. Пропуская промежуточные вычисления (следует интегрировать квадрат g''t=g''sk+t-skg'''sk ), получим, что штраф за шероховатость для нашего сплайна можно определить как
28 s1smg''t2dt=k=1m-1g''sk+g'''skhk3-g''sk3/3g'''sk , (5)
29 где g''sk=g'''s1h1++g'''sk-1hk-1 .
30 Далее, возвращаясь к процессу образования событий, вспоминаем, что параметров может быть несколько. И для каждого динамического параметра необходимо предусмотреть все вышеописанное (для разных параметров узлы сплайна удобно располагать одинаковым способом, но в общем случае количество узлов и их расположение может отличаться). Дополнительно позволим некоторым параметрам быть статическими, а не динамическими. В этом случае для них определяется только одно значение. В итоге для модели процесса необходимо предусмотреть схему значений для описания параметров процесса, показанную на рис. 2.
31

32 Рис. 2. Пример схемы значений для описания параметров процесса формирования событий; P1 — первый параметр (статический); P2 — второй параметр (динамический)
33

4. ПРИМЕР ПРОЦЕССА И СХЕМЫ ПАРАМЕТРОВ

34 В качестве примера рассмотрим процесс потребления, как в моделях управления запасами (с пополнением запаса до максимума), но с учетом того, что этот процесс использует параметры. Параметрами будут максимальный запас и спрос. Критический уровень запаса выбирается равным 0, так как он оказывается как бы мультиколлинеарен максимальному запасу, поэтому можно одновременно изменять их на одинаковое число, и результат от этого не изменится. Начальное и конечное время задаются вне модели (так как не являются ни параметрами, ни переменными). Модель процесса будет следующей:
35
  1. Максимальный запас = P[1];
  2. Спрос = P[2];
  3. Критический запас = 0;
  4. Время = Начальное время;
  5. Запас = Максимальный запас;
  6. Пока (Время ≤ Конечное время)
  7. {
  8. Запас = Запас – Спрос;
  9. Если (Запас ≤ Критический запас) то
  10. {
  11. Создать событие (Время, Максимальный запас – Запас);
  12. Запас = Максимальный запас;
  13. }
  14. Продвинуть время и обновить параметры;
  15. Максимальный запас = P[1];
  16. Спрос = P[2];
  17. }
36 Функция «Создать событие» добавляет в выборку событие с заданным временем и значением. Процедура «Продвинуть время и обновить параметры» продвигает время на один шаг (в данном примере — на 1 день), обновление параметров происходит, как было описано ранее — похожим на численное интегрирование способом. Схема значений параметров процесса будет такой же, как на рис. 2, но только с двумя параметрами (первый параметр — статический, второй — динамический). Когда происходит обращение к параметрам, то возвращается значение, соответствующее текущему времени. Например, можно хранить обновленное значение в самом первом значении ( g2 — для второго параметра). Статические параметры не изменяются (не обновляются).
37 Забегая вперед, напомним, что процесс будет запускаться только на время появления заданного числа событий (например, пока не появится четыре события). В этом случае в условие остановки цикла надо добавить проверку того, что сформировалось заданное число событий.
38

5. ФУНКЦИЯ ПОТЕРЬ

39 Обозначим моменты появления событий как ti и ti' — для наблюдений и для событий, полученных в результате функционирования модели процесса (моделирования). Каждое событие несет некоторую информацию/признак/воздействие2 (например, объем покупки). Обозначим эти признаки как yi и yi' — соответственно для исходных наблюдений и для событий, полученных в результате моделирования.
2. Ограничимся случаем, когда каждое событие характеризуется только одним скалярным значением, а не вектором значений (обобщить не составит проблем).
40 Введем функцию потерь, которая будет показывать различия в двух выборках, исходной и сгенерированной. Рассчитаем квадраты отклонений. Но так как по каждому событию мы имеем две характеристики, то у нас будет несколько сумм:
41 S=i=2nti-ti'2+μi=2nyi-yi'2,  (6)
42 где нумерация начинается со второго события, так как первое событие служит отправной точкой, с которой начинает функционировать модель процесса; μ — весовой коэффициент, необходимый для того, чтобы смешать в нужных пропорциях отклонения различных величин измерения; n — размер выборки. В качестве альтернативного варианта можно измерять квадраты относительных отклонений, в этом случае значения становятся безразмерными:
43 S=i=2nti-t'iti-ti-12+μi=2nyi-y'iyi2,  (7)
44 где для времени берется отношение к предыдущему интервалу времени между событиями, а для значений — отношение к наблюдаемому значению (можно делить на y'i , тогда будет определяться относительное отклонение наблюдения от прогнозного значения).
45 Чтобы восстановить параметры процесса можно было единственным способом, мы вводим штраф за гладкость (шероховатость) для каждого параметра с соответствующим весовым коэффициентом:
46 S=i=2nti-t'iti-ti-12+μi=2nyi-y'iyi2+z=1Nдин. пар.αzs1smg''zt2dt, (8)
47 где z  — номер одного из динамических параметров; Nдин. пар.  — число динамических параметров; g''zt  — вторая производная от функции (сплайна) динамического параметра; αz  — коэффициент, с которым учитывается данный штраф в общей функции потерь (также известен как параметр сглаживания, или коэффициент α-регуляризации Тихонова). Обратим внимание на то, что этот штраф интегрирует абсолютные значения квадрата второй производной. Получается немного странная ситуация, когда при сравнении событий используются относительные отклонения, а штраф дает абсолютные значения. Значение для параметра сглаживания в этом случае надо выбирать намного меньше.
48 Если модель процесса не дает нужного числа событий, мы можем утверждать, что функция потерь обращается в бесконечность (надо дать шанс сформироваться нужному числу событий, для этого необходимо немного увеличить время моделирования, например, на величину, равную 10 временным интервалам между последними двумя событиями).
49

6. ОПТИМИЗАЦИЯ

50 Для оптимизации используем хорошо зарекомендовавший себя алгоритм Нелдера–Мида (Nelder, Mead 1965), который способен двигаться в направлении лучшего значения, даже если расчет целевой функции не всегда возможен. Оптимизацию необходимо производить на сетке, чтобы не застрять в одном локальном оптимуме, причем если при оптимизации мы покидаем заданную ячейку, то оптимизация прекращается и происходит поиск уже из следующей ячейки. Существует несколько других подходов3 для оптимизации в условиях множества локальных экстремумов, но, по мнению автора, удобнее и понятнее использовать обычный поиск на сетке, тем более что исходные данные и некоторые представления о модели процесса могут подсказать, какой шаг сетки следует выбирать по каждой переменной.
3. Генетические алгоритмы (Goldberg, 1989; Саймон, 2020) и разбросанный поиск (scatter search, поиск по разбросу) (Laguna, Marti, 2006). Разбросанный поиск применяется в оптимизаторе OptQuest, который используется во многих системах имитационного моделирования, включая Anylogic.
51 По каждому динамическому параметру в начальном узле сплайна надо определить три значения, а в каждом последующем узле — по одному значению. Если каждое значение перебирается на сетке, то получается огромное число комбинаций значений параметров. Мы будем подбирать значения для такого числа узлов, чтобы получить только несколько событий, а не все сразу. На первом шаге мы подбираем параметры процесса на N событий вперед, и для этих параметров запускаем оптимизацию на сетке. На следующем шаге мы как бы сдвигаем скользящее окно на одну позицию (на одно событие) и начинаем подбирать параметры для вошедших N событий. Например, если N=2 , то на первом шаге подбираются параметры, отвечающие за образование первого и второго события4, на втором шаге — второго и третьего, подбирая их на сетке.
4. Так как отправной точкой является время первого события, то первое образованное событие на самом деле будет вторым событием.
52 Заметим, что в целевой функции учитываются как вошедшие, так и предшествующие, не вошедшие в скользящее окно, события (так как функция потерь строится на сравнении выборок событий). Параметры, отвечающие за образование предшествующих, не вошедших в окно событий, используются в оптимизации, но не на сетке. Мы предполагаем, что их определенные на предыдущем шаге значения лежат в нужном нам локальном оптимуме. На рис. 3 показано, какие параметры перебираются на сетке на каждом новом шаге для случая N=2 (при условии, что узлы сетки sk совпадают с наблюдениями).
53

54 Рис. 3. Подбор параметров на N=2 событий вперед
55 Примечание. На первом шаге перебирается пять параметров, на втором – два, на третьем — тоже два.
56 На первом шаге на вход оптимизатора подается вектор из пяти значений (у параметра P2 третье значение всегда 0), причем в качестве начальных точек берется полная комбинация всех возможных значений параметров. На втором шаге подается шесть значений, но число начальных комбинаций ограничено только комбинациями последних двух значений (в узлах s2 и s3 берется полная комбинация возможных значений, но на вход оптимизатора каждый раз подаются все значения, включая значения в узле s1 ). То есть первые четыре значения также выбираются оптимизатором. Это позволяет избежать «эффекта бабочки», когда малые отклонения в начале приведут к огромным отклонениям в самом конце. На третьем шаге на вход оптимизатора подается семь значений, но комбинации определяются перебором на сетке только значений в узлах s3 и s4 . Скользящее окно задает, для каких значений будет происходить полный перебор на сетке для того, чтобы определить начальные точки, из которых запускается оптимизация.
57 Можно сформулировать следующее предположение.
58 Предположение. Параметры процесса, соответствующие событию, не зависят от событий, расположенных в более чем N позициях от текущего события.
59 Иными словами, ранее запущенный алгоритм оптимизации нашел такой экстремум, который при добавлении новых событий и соответствующих им значений параметров может по-прежнему оказаться глобальным экстремумом при оптимизации на сетке новых добавленных значений. Это предположение может быть верно, так как восстанавливаемый динамический параметр (как функция) на одном участке может практически не зависеть от поведения этого же параметра на сильно удаленном участке.
60 Конечно, желательно определять размер N как можно большим, в идеале — равным размеру выборке, но это очень сильно повлияет на объем вычислений. Нужно найти некоторый баланс между временем выполнения всех расчетов и точностью определяемых параметров. Время выполнения первого шага может быть самым большим, так как на нем находится больше всего параметров, а время второго шага может быть наименьшим. С ростом номера шага время будет увеличиваться, так как процесс будет запускаться до тех пор, пока не образуется нужное число событий.
61

7. ПРИМЕР РАБОТЫ МЕТОДА

62 Рассмотрим работу метода на примере процесса потребления, описанного выше. В качестве начальных данных возьмем данные, образованные этим же процессом с некоторыми предустановленными параметрами (предполагаем их неизвестными). Нашей целью будет восстановить эти значения параметров, располагая только выборкой событий (табл. 1).
63 Таблица 1. Данные редких событий
64
ti yi ti yi ti yi ti yi
03.01.2020 2429 30.04.2020 2526 17.07.2020 2508 09.10.2020 2418
25.01.2020 2461 14.05.2020 2500 29.07.2020 2466 24.10.2020 2457
22.02.2020 2465 26.05.2020 2556 09.08.2020 2418 12.11.2020 2478
11.03.2020 2528 06.06.2020 2402 21.08.2020 2484 10.12.2020 2409
26.03.2020 2462 19.06.2020 2574 05.09.2020 2517 31.12.2020 2478
12.04.2020 2481 03.07.2020 2437 23.09.2020 2467
65 В качестве целевой используем функцию потерь с относительными отклонениями (8). Пусть определение дат событий ti имеет большее значение, чем характеристика этого события yi (объем покупки). Пусть μ=0,1 (вес суммы квадратов относительных отклонений yi ). Для штрафа за нелинейность примем коэффициент сглаживания, равный α=10-6.
66 Прежде чем запускать алгоритм, следует определить, на сколько событий вперед N следует подбирать параметры. Если подбирать параметры на четыре события вперед, то первый шаг получается таким, как на рис. 4а, если на пять — как на рис. 4б (в табл. 2 и 3 показаны числовые результаты первого шага).
67

68

а) N=4

69

б) N=5

70

Рис. 4. Первый шаг алгоритма определения параметров на четыре и пять событий вперед

71 Примечание. Гладкая сплошная линия показывает восстановленное значение скорости потребления g2t (шт./день); пунктирная — искомую функцию потребления, заложенную в модель; ступенчатая — среднее потребление yi/ti+1-ti ; площадь под каждой ступенькой будет объемом покупки yi .
72 Таблица 2. Значения параметров после первого шага алгоритма
73
Параметр Значение
N=4 N=5
Максимальный запас (истинное значение 2400) g1=1992,141 g1=2371,628
Начальная скорость потребления g2s1=85,084 g2s1=153,222
Первая производная скорости потребления g˙2s1=-0,21103 g˙2s1=-4,8323
Третья производная скорости потребления в узле s1 g2s1=-6,5058×10-4 g2s1=1,4825×10-2
Третья производная скорости потребления в узле s2 g2s2=-6,5419×10-4 g2s2=-1,4202×10-2
Третья производная скорости потребления в узле s3 g2s3=1,8618×10-2 g2s3=5,6984×10-5
Третья производная скорости потребления в узле s4 g2s4 выражается через предыдущие значения g2s4=4,0556×10-3
Третья производная скорости потребления в узле s5 - g2s5 выражается через предыдущие значения
74 Таблица 3. Полученные события после первого шага алгоритма
75
События Дата
Исходные 03.01.2020 25.01.2020 22.02.2020 11.03.2020 26.03.2020 12.04.2020
N=4 26.01.2020 20.02.2020 12.03.2020 25.03.2020 -
N=5 24.01.2020 22.02.2020 11.03.2020 27.03.2020 12.04.2020
Значения (объем покупки)
Исходные 2429 2461 2465 2528 2462 2481
N=4 1992,141 2079,106 2116,739 2169,692
N=5 2386,468 2485,890 2378,407 2413,642 2532,705
76 Так как алгоритм опирается только на значения целевой функции, рассчитываемые по отклонениям полученных событий от выборки наблюдений, алгоритм не осознает, что на рис. 4а функция потребления оказалась ниже среднего уровня. В случае N=4 алгоритм подобрал максимальный запас, равный 1992, что позволило с меньшим потреблением сформировать события, расположенные близко к имеющимся наблюдениям. Ситуация немного улучшится, если продолжить выполнять алгоритм на следующих шагах (при N=4 ), но когда скользящее окно сдвинется на одно событие, параметры в первом узле могут оказаться в локальном минимуме; при этом они перестанут перебираться на сетке. Картина заметно улучшается, если определять параметры процесса сразу на N=5 событий вперед. Пятое событие вносит нужную информацию, позволяющую точнее определить начальные параметры. Далее результаты приводятся для случая N=5 .
77 На втором шаге скользящее окно событий сдвигается вправо, и для пяти событий осуществляется подбор параметров, учитывающих значения параметров, найденных для первого сформированного события. Значения параметров, определенные для этого события, подставляются в оптимизатор, «как есть», а для значений параметров, необходимых для образования следующих пяти событий, берется множество возможных комбинаций значений, оптимизация запускается для каждой такой комбинации.
78 Это позволяет кардинально пересмотреть ранее полученные значения параметров, попавших в скользящее окно (события со второго по пятое). Значения параметров для первого образованного события также изменяются при оптимизации, но уже только относительно полученных на первом шаге значений. Так, значение максимального запаса изменилось с ранее определенного 2371,628 на 2410,712. На третьем шаге скользящее окно вновь сдвигается на одну позицию и перебором на сетке определяются новые значения параметров, попавшие в это скользящее окно, а также корректируются значения параметров, в него не вошедшие.
79 Аналогично алгоритм выполняет все последующие шаги и останавливается после 18 шага, когда будут подобраны все значения параметров, необходимые для формирования 22 событий. Результат работы алгоритма после шагов 2 и 3 изображены на рис. 5, а за 18 шагов — на рис. 6. В табл. 4 показаны события, образованные в результате функционирования процесса, с подобранными параметрами. Только в 1 из 22 событий дата события отличается на 1 день. Значения событий (объемы покупок) отличаются в каждом событии от исходных очень незначительно (в большинстве событий меньше, чем на 1%, и только в последних событиях — на 2 и 3%).
80

Шаг 2

81

Шаг 3

82

Рис. 5. Результат работы алгоритма после второго и третьего шагов

83

84 Рис. 6. Результат работы алгоритма после 18 шагов
85 Таблица 4. Полученные события после 18 шага
86
События Дата
Исходные Полное совпадения в 21 из 22 событий; только для события с датой 12.11.2020 процесс определил событие на день раньше (11.11.2020)
Процесс
Значения (объем покупки)
Исходные 2429 2461 2465 2528 2462 2481
Процесс 2468,564 2472,071 2547,122 2464,828 2494,400
Исходные 2526 2500 2556 2402 2574 2437
Процесс 2545,614 2511,836 2566,986 2411,377 2585,020 2445,382
Исходные 2508 2466 2418 2484 2517 2467
Процесс 2498,655 2470,175 2406,726 2462,082 2515,078 2523,396
Исходные 2418 2457 2478 2409 2478
Процесс 2489,236 2509,046 2522,387 2406,723 2575,255
87 В результате применения данного метода получилось вполне надежно определить параметры процесса, который был задан лишь обычным алгоритмом, один параметр алгоритма был статическим, а второй динамическим. Напомню, что мы искали скорость расхода продукции не у себя, а у неподконтрольного нам клиента. В (Кораблев, 2020) математическим методом также получалось восстановить скорость потребления (программная реализация в (Korablev, 2022)), но сейчас мы определили даже размер запаса и объемы покупок.
88 Стоит обратить внимание на то, что благодаря использованию скользящего окна событий у нас получилось разделить одну большую оптимизационную задачу огромной размерности на небольшое число задач значительно меньшей размерности (трудоемкость немного увеличивается с номером шага). Если бы мы подбирали значения параметров для всех событий из выборки, то трудоемкость задачи была бы астрономической и мы не смогли бы за приемлемое время осуществить необходимые вычисления.
89

8. ЗАКЛЮЧЕНИЕ

90 Ключевой особенностью предложенного метода является способность восстанавливать параметры выбранного процесса образования событий, причем не только как статические, а как динамические параметры, которые плавно изменяются со временем. Существуют исследования, где моделируются процессы образования событий (например, в моделях управления запасами), но вот исследований, где восстанавливаются параметры процессов по имеющейся выборке, тем более в виде динамических функций, автор не встречал. В данном исследовании целью является не просто моделировать процесс образования событий, а именно восстановить его параметры.
91 В нашем примере для более глубокого понимания был взят процесс потребления, но на его место можно было поместить любой другой процесс образования событий с иным набором параметров и с произвольным алгоритмом. В методе сравнивается лишь выходной поток событий (с их информационными характеристиками), ограничений на способ формирования событий мы не делали. Однако модель этого процесса должна позволять однозначно находить значения этих параметров. Так, в нашем примере мы были вынуждены отказаться от определения значения критического уровня запасов — иначе он бы информационно смешивался с максимальным запасом и нельзя было бы с помощью имеющихся данных отделить один от другого. Исследования на тему, как формировать такие алгоритмические модели, автору не попадались.
92 В отличие от чисто математических моделей представление процессов в виде алгоритмических моделей дает значительно большую гибкость (практически бесконечную) при исследовании редких событий. Получается некоторая задача регрессии алгоритмов. Если классические регрессионные задачи опираются на математические (алгебраические) модели и определение параметров происходит методом наименьших квадратов аналитически, то сейчас мы используем алгоритмические модели и опираемся на численные методы оптимизации. Интересно, станет ли в будущем такой подход в исследованиях столь же популярным, как эконометрика?
93 В нашем случае при оптимизации функции потерь мы ограничились обычной оптимизацией на сетке, чтобы не застревать только на одном локальном оптимуме. И этого было вполне достаточно, чтобы мы успешно справились со своей задачей. Однако можно применять и более сложные методы оптимизации, — такие как разбросанный поиск (scatter search) или генетические алгоритмы. Возможно, они позволят быстрее находить глобальный оптимум и, возможно, не будут перебирать лишние неправильные комбинации параметров. Исследователи свободны выбирать любые известные им средства оптимизации.
94 Как отмечалось в начале статьи, целью определения параметров процесса является дальнейшее прогнозирование будущих событий, но прежде необходимо произвести экстраполяцию параметров процессов на будущее. Экстраполяцию параметров процесса можно производить любым известным методом, можно осуществлять поиск закономерности параметров с такими внешними наблюдаемыми факторами, как ВВП, курс рубля, безработица и т.д. Определив, как будут вести себя параметры процесса в будущем, не составит труда запустить сам процесс и получить выборку будущих событий.
95 Можно пойти дальше и дополнительно предположить, что процесс является полностью неизвестным и требуется подобрать как процесс, так и его параметры, не опираясь ни на что, кроме как на исходную выборку редких событий. В этом случае можно даже создать особый механизм перебора моделей из некоторого множества операторов. У автора есть некоторые соображения по этому поводу, но данное исследование уже получилось достаточно объемным.
96 Сам по себе анализ и прогнозирование редких событий в экономике является важной и очень актуальной задачей. Способность разбираться в процессах образования событий позволит влиять на эти процессы и контролировать появление самих событий (если мы имеем возможность управлять этими процессами). В то же время, если мы не можем повлиять на процессы, мы сможем подготовиться к появлению будущих событий, что позволит либо извлечь определенную выгоду, либо уменьшить возможные потери. В русле этого направления исследований можно даже создать специальное направление обучения в экономике, которое бы готовило соответствующих аналитиков, открывать научные лаборатории и проводить научные исследования как для государственных структур, так и для бизнеса.

Библиография

1. Кораблев Ю.А. (2020). Метод восстановления функции по интегралам для анализа и про-гнозирования редких событий в экономике // Экономика и математические методы. М.: ЦЭМИ РАН. Т. 56. № 3. С. 113–124. DOI: 10.31857/S042473880010485-2

2. Кораблев Ю.А., Голованова П.С., Кострица Т.А. (2020). Емкостный метод анализа редких событий в сфере услуг // Экономическая наука современной России, 90, 3, 132–142. DOI: 10.33293/1609-1442-2020-3(90)-132-142.

3. Саймон Д. (2020). Алгоритмы эволюционной оптимизации. Биологически обусловленные и популяционно-ориентированные подходы к компьютерному интеллекту. Пер. с англ. А.В. Логунова. М.: ДМК Пресс. 1002 с.

4. Carreno A., Inza I., Lozano J. (2020). Analyzing rare event, anomaly, novelty and outlier detec-tion terms under the supervised classification framework. Artificial Intelligence Review, 53, 3575–3594. DOI:10.1007/s10462-019-09771-y

5. Goldberg D.E. (1989). Genetic algorithms in search, optimization, and machine learning. Boston: Addison-Wesley. 432 p.

6. Halim S.Z., Quaddus N., Pasman H. (2021). Time-trend analysis of offshore fire incidents using nonhomogeneous Poisson process through Bayesian inference. Process Safety and Environ-mental Protection, 147, 421–429. DOI:10.1016/J.PSEP.2020.09.049

7. Kaya G.O., Sahin M., Demirel O.F. (2020). Intermittent demand forecasting: A guideline for me-thod selection. Sadhana — Academy Proceedings in Engineering Sciences, 45, 1, 45–51. DOI: 10.1007/s12046-020-1285-8

8. Korablev Yu. A. (2022). Restoration of function by integrals with cubic integral smoothing spline in R. ACM Transactions on Mathematical Software. (In print). DOI: 10.1145/3519384

9. Laguna M., Marti R. (2006). Scatter Search. In: Metaheuristic procedures for training neutral networks, p. 139–152. DOI: 10.1007/0-387-33416-5_7

10. Nelder J.A., Mead R. (1965). A simplex method for function minimization. The Computer Jour-nal, 7, 308–313. DOI: 10.1093/comjnl/7.4.308

11. Pince C., Turrini L., Meissner J. (2021). Intermittent demand forecasting for spare parts: A criti-cal review. Omega, 105, 102513. DOI:10.1016/j.omega.2021.102513

12. Willemain T.R., Smart Charles N., Schwarz Henry F. (2004). A new approach to forecasting intermittent demand for service parts inventories. International Journal of Forecasting, 20, 3, 375–387. DOI: 10.1016/S0169-2070(03)00013-X

13. Willemain T.R., Park D.S., Kim Y.B., Shin K.I. (2001). Simulation output analysis using the threshold bootstrap. European Journal of Operational Research, 134, 1, 17–28. DOI: 10.1016/S0377-2217(00)00209-5

Комментарии

Сообщения не найдены

Написать отзыв
Перевести