Rozetka UA

Анализ и прогноз

Дмитрий Горчилин

dmitrygorchilin@gmail.com
Аналитическая работа- использование методологии ОТС (общая теория систем) для анализа бизнес процессов и прогнозирования их состояния.

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

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

Проблема системного подхода вот в чем: реальный мир представляет сложную стохастическую систему. То есть, логический анализ этой системы невозможен ввиду огромного размера. Параметры состояния системы зачастую подвержены действию случайных и труднопредсказуемых факторов. То есть, предлагается изучать непонятно что, которое неизвестно как работает. Возможно ли это? Да, возможно. Прежде всего, в некотором стабильном состоянии логика действий различных систем, как правило, однообразна. Взаимодействие систем носит логический, предсказуемый характер. Не зная всех объектов системы и их связей между собой, мы можем фиксировать часть параметров. Грубо говоря, у нас груда черных ящиков, они связаны проводами. Если есть возможность разместить на этих проводах приборы (как можно больше приборов)- мы получим возможность оценивать состояние взаимодействия этих черных ящиков в целом.

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

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

Предлагаемое решение заключается в выведении семейства эмпирических формул, связывающих значения, колонки данной таблицы. Звучит просто, но за таким выведением огромный объем вычислительных операций, огромнейшая работа с базами данных. Синтетическая методика, численные методы плюс исследование функций. Предметная область в двух измерениях представляет из себя нечто вроде гималайских гор, многомерные исследования сложней на порядки. Работа эта сложная, считать придется много J  К счастью, современные компьютеры обладают необходимым быстродействием, они способны хранить огромные объемы данных. Более того- несмотря на объемы вычислений стоимость работы аналитиков и программистов все равно выше.

В качестве своеобразного концепта написана программа-демонстратор на Java. За ограниченное время (минуты) она выявляет эмпирические формулы, связывающие некоторый начальный массив тестовых данных. Проблема демонстратора в том, что производится выбор из нескольких формул, которыми и формируется исходный массив. В реальности данные нужно будет накапливать на SQL сервере, переписывать логику под SQL. Хотя и демонстрационная программа способна обрабатывать массив в 10-15 млн double чисел даже без дополнительных настроек Java. В принципе, технически не существует ограничений по количеству формул оцениваемых на применимость. Более того, вполне можно эти формулы генерировать автоматически, с помощью специальной программы. Автоматически же их и проверять.

Что делать, если некоторая строчка не соответствует расчетной формуле? Это прекрасно! На эту строчку нужно обратить пристальное внимание. Возможно, данные искажены сознательно. Здесь что угодно- да хоть злой умысел или попытка скрыть липовой статистикой факты. Второй вариант- мы зафиксировали некий переходный процесс, в котором взаимодействие частей системы меняется относительно стабильного состояния. Понимание сути этого процесса- вопрос к экспертам. Будь то начало закипания воды в чайнике, банкротство фирмы или революция. Метод не объясняет сути состояния, он лишь помечает красным флажком это место.

Зачем это все нужно? В свое время служил на объекте в Софрино. Знатное было местечко, даже Горбачев приезжал посмотреть. Водили раз очередного экскурсанта-генерала, показывали советские суперкомпьютеры, МВК Эльбрус-2М, огромные помещения забитые гудящими и мигающими шкафами, на стенах большие панели с ядовито-зелеными алфавитно-цифровыми индикаторами, еще советские терминалы, с корпусом из добротной листовой стали. У генерала возник вопрос, который он сам не смог сформулировать, в смысле, зачем это все нужно, зачем такую прорву денег потратили? Какой-то сообразительный старший лейтенант нашелся: посмотрите, вот тут кнопку нажал- и сразу видно что враг затеял! Все остались довольны, включая генерала. Врать не буду- у меня нет такой кнопки, нажимая которую можно предсказать курс доллара на ближайший год, а так же распечатать план-график войн и революций на ближайшую пятилетку.   Но у меня есть методика, используя которую, опираясь на предсказуемые значения параметров состояния некоторой системы можно предположить последующее состояние системы, значение остальных ее параметров. Нельзя сказать, что методика абсолютно достоверна. Но если вероятность прогноза более 50%- это уже хорошо, это больше статистической погрешности. Делать прогноз о достоверности своих прогнозов дело неблагодарное, но она будет вполне достаточной для того, чтобы воспользовавшиеся ими специалисты и руководители не пожалели бы о затраченном рабочем времени.

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

Методика позволяет предметно отвечать на вопросы, возникающие в бизнесе, политике или технике. «Каков будет объем реализации данного вида продукции при..?», «Какое количество депозитных вкладов будет преждевременно расторгнуто при …?». В принципе, для методики нет большой разницы что считать- хоть параметры работы некоторого сложного технологического оборудования, хоть финансовые показатели организации, хоть политическую активность в некоторой стране. Все что можно свести в таблицу, все представленное цифрами можно обсчитать. Обсчитать, найти закономерности и взаимосвязи. В принципе, в отдельных случаях для методики даже не очень важно, что это за цифры. Они могут быть предоставлены БЕЗ комментариев, что резко снижает возможности разглашения служебной информации. Кроме того, в отдельных случаях можно будет обратить внимание экспертов на наличие некоторой проблемы. А именно- по расчетным значениям объем реализации некоторых товаров или услуг, выручка некоторой торговой точки должна быть больше. То есть, существует проблема, которую следует выявить и устранить.

Огромны возможности применения программы в банковской деятельности. Начиная от расчета планируемых остатков на коррсчете в НБУ (работа главного позиционера) до движения по счетам отдельного вида, как по плану счетов так и по аналитическим признакам, от кассовых остатков до спроса на отдельные виды банковских услуг.

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

Второй вариант развития: экспертная система. Фиксируя некоторые качественные изменения системы, можно понять, какие именно изменения параметров к ним приводят. Состояния эти должны возникать часто, по ним должна быть большая база. Тогда появляется возможность формулировать так называемые эвристики, в данном случае, логические правила. В принципе, возможно создание самообучаемой системы.

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

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

Об авторе: Горчилин Дмитрий Ильич, 45 лет, образование высшее, 1994 НМетАУ, с отличием.

1997-2000 год: металлургический завод имени Петровского, инженер производственного отдела, инженер отдела маркетинга, старший инженер отдела маркетинга, начальник инженерного бюро. 

2000-2015 год: крупный банк, старший специалист системной поддержки ОДБ ГО. 

Теперь ложка дегтя: вот есть табличка, запусти чудо-программу, дай прогноз курса доллара на ближайшие полгода! Увы, так оно не работает. Даже подбор самой функции это долгая и кропотливая работа. Исходные параметры, значения- очень кропотливо. Но методология позволяет решать задачи, о физическом устройстве которых мы можем не иметь представления. Это сложно, это интересно.

 

Английская версия