Программы для математического моделирования прогнозы. Математические методы прогнозирования в бизнесе

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

Matlab- как средство математического моделирования

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

С помощью описываемого ПО можно сэкономить массу времени и избежать многих ошибок при вычислениях. Естественно, CAE системы не ограничиваются только этими возможностями, но в данном обзоре мы сделаем упор именно на них.

Отметим только, что спектр задач, решаемых подобными системами, очень широк:

Проведение математических исследований, требующих вычислений и аналитических выкладок;

Разработка и анализ алгоритмов;

Математическое моделирование и компьютерный эксперимент;

Анализ и обработка данных;

Визуализация, научная и инженерная графика;

Разработка графических и расчетных приложений.

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

Процессор Pentium II или выше;

400-550 Мбайт дискового пространства;

Операционные системы: Windows 98/Me/ NT 4.0/2000/2003 Server/2003x64/XP/XP x64.

Компания Wolfram Reseach, Inc., разработавшая систему компьютерной математики Mathematica, по праву считается старейшим и наиболее солидным игроком в этой области. Пакет Mathematica (текущая версия 5.2) повсеместно применяется при расчетах в современных научных исследованиях и получил широкую известность в научной и образовательной среде. Можно даже сказать, что Mathematica обладает значительной функциональной избыточностью (там, в частности, есть даже возможность для синтеза звука).

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

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

Отметим, что в разработках различных версий системы Mathematica, наряду с головной фирмой Wolfram Research, Inc., принимали участие другие фирмы и сотни специалистов высокой квалификации, в том числе математики и программисты. Система Mathematica является одной из самых крупных программных систем и реализует наиболее эффективные алгоритмы вычислений. К их числу, например, относится механизм контекстов, исключающий появление в программах побочных эффектов.

Система Mathematica сегодня рассматривается как мировой лидер среди компьютерных систем символьной математики для ПК, обеспечивающих не только возможности выполнения сложных численных расчетов с выводом их результатов в самом изысканном графическом виде, но и проведение особо трудоемких аналитических преобразований и вычислений. Версии системы под Windows имеют современный пользовательский интерфейс и позволяют готовить документы в форме Notebooks (записных книжек). Они объединяют исходные данные, описания алгоритмов решения задач, программ и результатов решения в самой разнообразной форме (математические формулы, числа, векторы, матрицы, таблицы и графики).

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

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

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

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

К недостаткам системы Mathematica следует отнести разве что весьма необычный язык программирования, обращение к которому, впрочем, облегчает подробная система помощи.

Минимальные требования к системе:

Процессор Pentium III 650 МГц;

400 Мбайт дискового пространства;

Операционные системы: Windows NT 4 (SP5)/98/ME/2000/2003 Server/XP Pro/XP Home.

Программа Maple (последняя версия 10.02) — своего рода патриарх в семействе систем символьной математики и до сих пор является одним из лидеров среди универсальных систем символьных вычислений. Она предоставляет пользователю удобную интеллектуальную среду для математических исследований любого уровня и пользуется особой популярностью в научной среде. Отметим, что символьный анализатор программы Maple является наиболее сильной частью этого ПО, поэтому именно он был позаимствован и включен в ряд других CAE-пакетов, таких как MathCad и MatLab, а также в состав пакетов для подготовки научных публикаций Scientific WorkPlace и Math Office for Word.

Пакет Maple — совместная разработка Университета Ватерлоо (шт. Онтарио, Канада) и Высшей технической школы (ETHZ, Цюрих, Швейцария). Для его продажи была создана специальная компания — Waterloo Maple, Inc., которая, к сожалению, больше прославилась математической проработкой своего проекта, чем уровнем его коммерческой реализации. В результате система Maple ранее была доступна преимущественно узкому кругу профессионалов. Сейчас эта компания работает совместно с более преуспевающей в коммерции и в проработке пользовательского интерфейса математических систем фирмой MathSoft, Inc. — создательницей весьма популярных и массовых систем для численных расчетов MathCad, ставших международным стандартом для технических вычислений.

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

Пакет Maple состоит из ядра (процедур, написанных на языке С и хорошо оптимизированных), библиотеки, написанной на Maple-языке, и развитого внешнего интерфейса. Ядро выполняет большинство базовых операций, а библиотека содержит множество команд — процедур, выполняемых в режиме интерпретации.

Интерфейс Maple основан на концепции рабочего поля (worksheet) или документа, содержащего строки ввода-вывода и текст, а также графику.

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

Вычисления в Maple

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

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

Maple также имеет множество мощных инструментальных средств для вычисления выражений с одной или несколькими переменными. Программу можно использовать для решения задач дифференциального и интегрального исчисления, вычисления пределов, разложений в ряды, суммирования рядов, умножения, интегральных преобразований (таких как преобразование Лапласа, Z-преобразование, преобразование Меллина или Фурье), а также для исследования непрерывных или кусочно-непрерывных функций.

Maple может вычислять пределы функций, как конечные, так и стремящиеся к бесконечности, а также распознает неопределенности в пределах. В этой системе можно решать множество обычных дифференциальных уравнений (ODE), а также дифференциальные уравнения в частных производных (PDE), в том числе задачи с начальными условиями (IVP) и задачи с граничными условиями (BVP).

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

Программирование

Система Maple использует процедурный язык 4-го поколения (4GL). Этот язык специально предназначен для быстрой разработки математических подпрограмм и пользовательских приложений. Синтаксис данного языка аналогичен синтаксису универсальных языков высокого уровня: C, Fortran, Basic и Pascal.

Maple может генерировать код, совместимый с такими языками программирования, как Fortran или C, и с языком набора текста LaTeX, который пользуется большой популярностью в научном мире и применяется для оформления публикаций. Одно из преимуществ этого свойства — способность обеспечивать доступ к специализированным числовым программам, максимально ускоряющим решение сложных задач. Например, используя систему Maple, можно разработать определенную математическую модель, а затем с ее помощью сгенерировать код на языке C, соответствующий этой модели. Язык 4GL, специально оптимизированный для разработки математических приложений, позволяет сократить процесс разработки, а настроить пользовательский интерфейс помогают элементы Maplets или документы Maple со встроенными графическими компонентами.

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

Интернет-совместимость

Maple является первым универсальным математическим пакетом, который предлагает полную поддержку стандарта MathML 2.0, управляющего как внешним видом, так и смыслом математики в Интернете. Эта эксклюзивная функция делает текущую версию MathML основным средством Интернет-математики, а также устанавливает новый уровень совместимости многопользовательской среды. TCP/IP-протокол обеспечивает динамический доступ к информации из других Интернет-ресурсов, например к данным для финансового анализа в реальном времени или к данным о погоде.

Перспективы развития

Последние версии Maple, помимо дополнительных алгоритмов и методов решения математических задач, получили более удобный графический интерфейс, продвинутые инструменты визуализации и построения графиков, а также дополнительные средства программирования (в том числе по совместимости с универсальными языками программирования). Начиная с девятой версии в пакет был добавлен импорт документов из программы Mathematica, а в справочную систему были введены определения математических и инженерных понятий и расширена навигация по страницам справки. Кроме того, было повышено полиграфическое качество формул, особенно при форматировании больших и сложных выражений, а также значительно сокращен размер MW-файлов для хранения рабочих документов Maple.

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

К недостаткам системы Maple можно отнести лишь ее некоторую «задумчивость», причем не всегда обоснованную, а также очень высокую стоимость этой программы (в зависимости от версии и набора библиотек цена ее доходит до нескольких десятков тысяч долл., правда студентам и научным работникам предлагаются дешевые версии — за несколько сотен долл.).

Пакет Maple широко распространен в университетах ведущих научных держав, в исследовательских центрах и компаниях. Программа постоянно развивается, вбирая в себя новые разделы математики, приобретая новые функции и обеспечивая лучшую среду для исследовательской работы. Одно из основных направлений развития этой системы — повышение мощности и достоверности аналитических (символьных) вычислений. Это направление представлено в Maple наиболее широко. Уже сегодня Maple может выполнять сложнейшие аналитические вычисления, которые нередко не по силам даже опытным математикам.

Минимальные требования к системе:

Процессор Pentium III, 4, Xeon, Pentium M; AMD Athlon, Athlon XP, Athlon MP;

400 Мбайт дискового пространства (только для самой системы MatLab и ее Help);

Операционная система Microsoft Windows 2000 (SP3)/XP.

Система MatLab относится к среднему уровню продуктов, предназначенных для символьной математики, но рассчитана на широкое применение в сфере CAE (то есть сильна и в других областях). MatLab — одна из старейших, тщательно проработанных и проверенных временем систем автоматизации математических расчетов, построенная на расширенном представлении и применении матричных операций. Это нашло отражение и в самом названии системы — MATrix LABoratory, то есть матричная лаборатория. Однако синтаксис языка программирования системы продуман настолько тщательно, что данная ориентация почти не ощущается теми пользователями, которых не интересуют непосредственно матричные вычисления.

Несмотря на то что изначально MatLab предназначалась исключительно для вычислений, в процессе эволюции (а сейчас выпущена уже версия 7), в дополнение к прекрасным вычислительным средствам, у фирмы Waterloo Maple по лицензии для MatLab было приобретено ядро символьных преобразований, а также появились библиотеки, которые обеспечивают в MatLab уникальные для математических пакетов функции. Например, широко известная библиотека Simulink, реализуя принцип визуального программирования, позволяет построить логическую схему сложной системы управления из одних только стандартных блоков, не написав при этом ни строчки кода. После конструирования такой схемы можно детально проанализировать ее работу.

В системе MatLab также существуют широкие возможности для программирования. Ее библиотека C Math (компилятор MatLab) является объектной и содержит свыше 300 процедур обработки данных на языке C. Внутри пакета можно использовать как процедуры самой MatLab, так и стандартные процедуры языка C, что делает этот инструмент мощнейшим подспорьем при разработке приложений (используя компилятор C Math, можно встраивать любые процедуры MatLab в готовые приложения).

Библиотека C Math позволяет пользоваться следующими категориями функций:

Операции с матрицами;.

Сравнение матриц;

Решение линейных уравнений;

Разложение операторов и поиск собственных значений;

Нахождение обратной матрицы;

Поиск определителя;

Вычисление матричного экспоненциала;

Элементарная математика;

Функции beta, gamma, erf и эллиптические функции;

Основы статистики и анализа данных;

Поиск корней полиномов;

Фильтрация, свертка;

Быстрое преобразование Фурье (FFT);

Интерполяция;

Операции со строками;

Операции ввода-вывода файлов и т.д.

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

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

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

Среди других библиотек системы MatLab можно также отметить System Identification Toolbox — набор инструментов для создания математических моделей динамических систем, основанных на наблюдаемых входных/выходных данных. Особенностью этого инструментария является наличие гибкого пользовательского интерфейса, позволяющего организовать данные и модели. Библиотека System Identification Toolbox поддерживает как параметрические, так и непараметрические методы. Интерфейс системы облегчает предварительную обработку данных, работу с итеративным процессом создания моделей для получения оценок и выделения наиболее значимых данных. Быстрое выполнение с минимальными усилиями таких операций, как открытие/сохранение данных, выделение области возможных значений данных, удаление погрешностей, предотвращение ухода данных от характерного для них уровня.

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

А что касается математических вычислений, то MatLab предоставляет доступ к огромному количеству подпрограмм, содержащихся в библиотеке NAG Foundation Library компании Numerical Algorithms Group Ltd (инструментарий имеет сотни функций из различных областей математики, и многие из этих программ были разработаны широко известными в мире специалистами). Это уникальная коллекция реализаций современных численных методов компьютерной математики, созданных за последние три десятка лет. Таким образом, MatLab вобрала и опыт, и правила, и методы математических вычислений, накопленные за тысячи лет развития математики. Одну только прилагаемую к системе обширную документацию вполне можно рассматривать как фундаментальный многотомный электронный справочник по математическому обеспечению.

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

Поэтому для проведения аналитических преобразований в MatLab используется ядро символьных преобразований Maple, а из Maple для численных расчетов можно обращаться к MatLab. Ведь недаром символьная математика Maple вошла составной частью в целый ряд современных пакетов, а численный анализ от MatLab и наборы инструментов (Toolboxes) уникальны. Тем не менее математические пакеты Maple и MatLab — это интеллектуальные лидеры в своих классах, это образцы, определяющие развитие компьютерной математики.

Опубликованы более подробные и корректные материалы по .

В марте 2011 года была опубликована заметка «Пять способов повысить точность прогнозирования» . Автор Алексей Скрипчан весьма дельно, просто и достаточно подробно рассмотрел в ней прогнозирование, которое необходимо выполнять в рамках маркетинга и планирования. Интересно звучит его эпитет в подразделе «Выгоды более точного прогнозирования» :

Прогнозирование становится рулем, помогающим компании держать курс, менять направление движения или уверенно плыть в незнакомых водах…

Мне бы хотелось добавить несколько слов к уже сказанному. Главным образом, необходимо отметить, что в упомянутой статье речь идет об экспертном прогнозировании. Нужно различать два вида прогнозирования: экспертное и формализованное .

Экспертное прогнозирование

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

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

  • Метод экспертных оценок
  • Метод исторических аналогий
  • Метод предвидения по образцу
  • Нечеткая логика
  • Сценарное моделирование «что – если»

Формализованное прогнозирование - это прогнозирование на основании математической модели, которая, улавливая закономерности процесса , на своем выходе имеет будущие значения исследуемого процесса. довольно много, например, согласно ряду обзоров в настоящее время насчитывается свыше 100 классов моделей прогнозирования. Число общих классов моделей, которые в тех или иных вариациях повторяются в других, конечно, гораздо меньше и сводится легко к дюжине.

  • Регрессионные модели (regression model)
  • Авторегрессионные модели ( , AR)
  • Нейросетевые модели (artificial neural network , ANN)
  • Модели экспоненциального сглаживания ( , ES)
  • Модели на базе цепей Маркова (Markov chain)
  • Классификационно-регрессионные деревья (classification and regression trees , CART)
  • Метод опорных векторов (support vector machine , SVM)
  • Генетический алгоритм (genetic algorithm , GA)
  • Модель на основе передаточных функций (transfer function , TF)
  • Формализованная нечеткая логика (fuzzy logic , FL)
  • Фундаментальные модели

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

Повышение точности прогнозирования

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

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

Спецкурсы и спецсеминары в весеннем семестре 2018/2019 уч.г.

25.03.2019 г. :14:35 – 16:10 с/к магистры «Анализ графов, сетей, функций сходства», Майсуразе А.И., 507 занятие не состоится 25 марта (понедельник), лектор болен ;
16:20 – 17:55 с/к бакалавры «Аналитический SQL», Майсурадзе А.И., 582 занятие не состоится 25 марта (понедельник), лектор болен.
27.02.2019 г. : Учебно-исследовательский семинар «Интеллектуальный анализ данных: новые задачи и методы» , руководители С.И.Гуров , А.И.Майсурадзе Спецсеминар проходит по средам в ауд. 704, начало в 18-05 . 04 марта (понедельник) на спецсеминаре состоится доклад И. С. Балашова (ВВО, 3 курс) "Исследование микробиома во время беременности методами теории графов" . Известно, что микроорганизмы, обитающие в различных локусах организма, взаимодействуют друг с другом и образуют сообщества, называемые микробиомом, а совокупность этих микроорганизмов называется микробиотой. Для ряда заболеваний показано, что микробиота является фактором риска развития определенных заболеваний. Данные о составе микробиоты можно представить в виде графа, а затем исследовать особенности этого графа в норме и при патологии. В работе будут представлены особенности предметной области и их влияние на выбор методов описания и анализа данных, представлены базовые модели, описывающие микробиом.

  • 27.02.2019 г. : Логический анализ данных в распознавании , (Logical data analysis in recognition) лектор Е.В. Дюкова , проходит по понедельникам в ауд. 645, начало в 16-20. Первое занятие 25 февраля. В спецкурсе будут изложены общие принципы, лежащие в основе дискретных методов анализа информации в задачах распознавания, классификации и прогнозирования. Будут рассмотрены подходы к конструированию процедур распознавания на основе использования аппарата логических функций и методов построения покрытий булевых и целочисленных матриц. Будут изучены основные модели и рассмотрены вопросы, связанные с исследованием сложности их реализации и качества решения прикладных задач. Спецкурс для бакалавров 2-4 курсов. По спецкурсу издано учебное пособие.
  • 27.02.2019 г. : Вероятностное тематическое моделирование (Probabilistic topic modelling), лектор профессор РАН, д.ф.-м.н. К.В. Воронцов , проходит по четвергам в ауд. 510, начало в 18-05. Первое занятие 14 февраля. Тематическое моделирование – это современная область исследований на стыке машинного обучения и компьютерной лингвистики. Тематическая модель определяет, какие темы содержатся в большой текстовой коллекции, и к каким темам относится каждый документ. Тематические модели позволяют искать тексты по смыслу, а не по ключевым словам, и создавать информационно-поисковые сервисы нового типа для систематизации знаний. В спецкурсе рассматриваются тематические модели для классификации, категоризации, сегментации, суммаризации текстов естественного языка, а также для рекомендательных систем, анализа банковских транзакционных данных и биомедицинских сигналов. Из математики нам понадобится теория вероятностей, методы оптимизации, матричные разложения. Для любителей программирования имеется возможность поучаствовать в проекте с открытым кодом BigARTM.org. Для особо увлечённых – дополнительные семинары по вечерам в офисе Яндекса. Заданиями по курсу будет решение задач из реальной жизни, у которых нет правильного ответа в конце учебника. Спецкурс для магистрантов, но студентам второго курса тоже всё будет понятно:) 18+ (для студентов, познавших теорвер).
  • 27.02.2019 г. : Задачи и алгоритмы вычислительной геометрии (Computational Geometry: Problems and Algorithms), Л.М. Местецкий , проходит по пятницам в ауд. 607, начало в 18-05. Первое занятие 15 февраля. Эффективные алгоритмы работы с геометрической информацией являются непременным атрибутом всех современных систем машинного зрения, анализа и распознавания изображений, компьютерной графики и геоинформатики. Геометрические алгоритмы предоставляют хорошее поле для развития алгоритмического мышления, необходимого в прикладной математике. В первой части спецкурса будут рассмотрены классические темы вычислительной геометрии: геометрический поиск, выпуклые оболочки, пересечение и близость объектов, диаграммы Вороного, триангуляции Делоне. Вторая часть курса посвящена скелетам, обобщениям диаграмм Вороного для многоугольников и задачам медиального анализа формы изображений. Приглашаются бакалавры.
  • 27.02.2019 г. : Методы машинного обучения и поиск закономерностей в данных (Machine learning and search of regularities in data) , лектор О.В. Сенько , проходит по четвергам в ауд. 507, начало в 18-05. Первое занятие 14 февраля. В курсе обсуждаются основные проблемы, возникающие при использовании методов обучения по прецедентам (машинного обучения). Даётся краткий обзор существующих методов распознавания и регрессионного анализа. Рассказывается о способах оценки точности на генеральной совокупности (обобщающей способности). Обсуждаются различные способы повышения обобщающей способности методов машинного обучения. Приглашаются бакалавры.
  • 27.02.2019 г. : Анализ графов, сетей, функций сходства (Graphs, Network, Distance Function Analysis), А.И. Майсурадзе, проходит по понедельникам в ауд. 582, начало в 16-20. Первое занятие 18 февраля. Рассматриваются задачи и методы анализа систем, описание которых базируется на попарном или множественном взаимодействии объектов. Эти объекты могут быть однотипными или разнотипными. Когда важно само наличие или отсутствие взаимодействия, формализация проводится на языке теории графов. Расширении графового описания количественными характеристиками приводит к сетям. Если же считается, что каждый набор объектов может быть численно охарактеризован, говорят о расстояниях или сходствах. Представлена теоретическая основа для формализации задач и построения, реализации и анализа широкого спектра моделей и методов ИАД. Исследуются эвристические модели данных, описывающие исходную информацию об объектах распознавания на основе различных реализаций понятия сходства. Рассматриваются задачи, требующие решения при реализации указанных моделей. Изучаются специальные структуры данных и алгоритмы, позволяющие эффективно настраивать и использовать изучаемые модели. Идея сходства свойственна человеческому мышлению, это породило целый комплекс подходов для всех фундаментальных задач ИАД - так называемые метрические методы. Рассмотрены методы построения и вычисления функций сходства, согласование сходства на различных множествах объектов, синтез новых способов сравнения объектов на базе уже имеющихся. Рассмотрен комплекс приёмов, предназначенный для эффективного представления и обработки метрической информации вычислительными системами. Рассматриваются характеристики графов, активно используемые при их анализе. Изучаются алгоритмы на графах - как теоретически, так и с точки зрения эффективной реализации. Различные модели роста графов. Построение репрезентативных выборок на графах. Генерация графов с заданными характеристиками. Существенное внимание в курсе уделено многочисленным формализациям кластерного анализа. Показано, какие задачи решают распространённые методы. Проведена типологизация широкого спектра задач кластеризации для гомогенных и гетерогенных систем (бикластеризация, кокластеризация). Спецкурс для магистрантов.
  • 27.02.2019 г. : Аналитический SQL (Analytical SQL), А.И. Майсурадзе, проходит по понедельникам в ауд. 507, начало в 14-35. Первое занятие 18 февраля. В наши дни автоматизация и оптимизация многих видов деятельности невозможна без сбора и последующего анализа больших объёмов информации. При этом со временем стало ясно, что некоторые модели данных особенно удобны для людей - такие модели стали универсальным языком общения с самыми разными технологиями. В этом смысле одним из самых широкоупотребительных языков оказался SQL, и сегодня самые разные технологии (совсем не только реляционные) позволяют его использовать. В курсе на практических примерах будут даваться знания и отрабатываться навыки, которые понадобятся практически любому аналитику при работе с источниками данных. Акцент делается именно на аналитической деятельности: аналитик пользуется системами сбора и хранения данных, но не собирается администрировать их. Занятия предполагают интерактивное выполнение заданий на реальных БД. Спецкурс для бакалавров.

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

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

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

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

Эвристическое прогнозирование

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

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

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

С развитием и совершенствованием электронно-вычислительной техники роль эвристических методов заметно снижается.

Математическое прогнозирование

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

Метод математического прогнозирования характеризуется объективностью и высокой точностью получаемых результатов при правильном выборе математической модели. К числу основных этапов математического прогнозирования относятся:

1) сбор и подготовка исходных данных (статистика);

2) выбор и обоснование математической модели прогнозируемого объекта;

3) обработка статистических данных для определения неизвестных параметров модели;

4) выполнение расчетов и анализ полученных результатов.

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

также к определению траектории развития после скачка.

В соответствии с законом эволюционного и скачкообразного развития техники, прогнозирование скачков неотделимо от прогнозирования эволюционного развития до скачка и после него. Системный подход к прогнозированию технического уровня машин на основе сопоставления циклов развития и потребностей позволяет определить не только достижения того или иного параметра, но и рассчитать время появления нового поколения техники, период его возможного существования. На рисунке 1 показаны характерные взаимосвязи и чередование поколений техники. Здесь отмечены участки, соответствующие стадиям жизненного цикла поколения техники: 1 — перспективная; 2 — прогрессивная; 3 — новая; 4 — модернизируемая; 5 — морально устаревшая.

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

Смена поколений

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

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

Определение технического уровня

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

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

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

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

Профессор В. Панишев рекомендует для оценки мирового уровня упаковочной техники включать в сравнительную таблицу как можно больше реально существующих и функционирующих единиц оборудования и проводить ранжирование общих, классификационных и отраслевых показателей путем сопоставления каждого из них с существующими показателями технического уровня изделий по данным технических характеристик машин, техническим условиям и другим документам («Тара и упаковка», № 3/1995).

Мы предлагаем для оценки технического уровня реально существующих фасовочно-упаковочных машин, для которых невозможно выбрать подходящий аналог, использовать закон корреляции параметров. В качестве примера были приведены отдельные показатели вертикальных воротниковых фасовочно-упаковочных автоматов, представляемые отечественными и зарубежными производителями, и по этим данным построены статистические зависимости этих показателей от производительности (PG, № 1—2/2004).

Аппроксимация этих статистических данных прямыми линиями методом наименьших квадратов (рисунок 2) показывает весьма высокую степень корреляции рассматривае мых параметров от производительности машин и, несмотря на приблизительность некоторых данных, хорошую плотность укладки точек на аппроксимирующих прямых. В этом примере не ставилась задача определения технического уровня конкретных объектов. Для решения такой задачи требуется значительно больше уточненных исходных данных.

Построенные зависимости подтверждают принципиальную возможность выполнить оценку мирового технического уровня конкретного объекта по отдельным показателям, отражающим этот уровень. Технический уровень по оцениваемому показателю может соответствовать среднему отечественному или мировому уровню при совпадении этого показателя с показателями на соответствующей аппроксимирующей прямой линии. На этих графиках, построенных по данным 3—4-летней давности, имеет место заметное расхождение уровня по отдельным показателям отечественных и зарубежных машин. Аналогичные показатели новых вертикальных воротниковых фасовочно- упаковочных автоматов по материалам международных выставок 2004 г. приведены в таблице 1.

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

На рисунке 3 отмечены показатели таблицы 1 и представлены построенные ранее на рисунке 2 аппроксимирующие прямые зависимости установленной мощности и массы машин от производительности для зарубежных автоматов (прямые 2).

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

Математик Константин Воронцов о применении задач машинного обучения в бизнесе, композициях адаптивных моделей и усовершенствовании качества данных

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

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

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

Есть много простых, быстро работающих, тоже давно известных, еще с 1960-х годов, методов, которыми мы начали пользоваться, для того чтобы решить задачу прогнозирования. Это методы экспоненциально скользящего среднего, модели Брауна, Тейла - Вейджа, Хольта - Винтерса и так далее. Некоторые из них учитывают сезонность. Сезонность не надо понимать как зима - лето, а скорее как будни - выходные, то есть недельная сезонность. Многие товары действительно продаются по будням и выходным по-разному. Мы сразу поняли, что наши крупные конкуренты в этом тендере будут использовать стандартные подходы: они будут использовать метод наименьших квадратов, потому что у них есть готовые решения, и довольно трудоемкие вычислительные методы вроде нейронных сетей или же авторегрессии. И мы решили пойти другим путем и использовать простые методы с пониманием того, что у каждого товара много своих особенностей. Есть много моделей, но неизвестно, какая модель для каждого товара будет наилучшей. Более того, мы даже предположили, что товар время от времени переключает свою модель и его сначала, может быть, лучше прогнозировать одной моделью, а потом в какой-то момент другая модель начнет работать лучше. Поэтому мы сделали адаптивную композицию простых адаптивных моделей. В каждый момент времени мы выбираем ту модель, которая в последнее время работала лучше, давала более точные прогнозы, переключаемся на нее, и именно она дает прогнозы. Первое решение, которое было сделано, - пользоваться композицией простых моделей, вместо того чтобы строить что-то более сложное.

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

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

Настал день, когда мы показывали наше решение организаторам конкурса. Мы знали, что перед нами выступал один из наших крупных конкурентов, и, когда организаторы спросили: «А сколько часов вычисляет ваша модель?», мы удивились и сказали: «Вы разве не поняли, что мы только что на моем ноутбуке за одну минуту и восемь секунд не только подсчитали все прогнозы, но и обучили нашу модель на двухлетнем интервале?» Это было, конечно, шоком. В итоге наша модель оказалась не только самой точной, но еще и самой быстрой. Мы показали, что все прогнозы по всей сети можно считать буквально за два часа, ночью, на старом сервере и что даже никакого нового оборудования закупать не надо.

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

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

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

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

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

доктор физико-математических наук, профессор факультета компьютерных наук НИУ ВШЭ