Проблема классификации моделей и методов прогнозирования Текст научной статьи по специальности «Экономика и бизнес»
Рассмотрены различные подходы к классификации методов и моделей прогнозирования . Проводится сравнение сильных и слабых сторон каждого подхода. Проанализированы отличия между методами подготовки данных для прогнозирования , инструментами для прогнозирования и собственно методами получения оценок прогноза, поскольку во многих публикациях и источниках данные понятия не отделяются друг от друга, что приводит к смешиванию методов и моделей прогнозирования . Приведены основные критерии, которым должна соответствовать классификация методов и моделей прогнозирования для того, чтобы отвечать требованиям полноты и сопоставимости.
i Надоели баннеры? Вы всегда можете отключить рекламу.
Похожие темы научных работ по экономике и бизнесу , автор научной работы — Михайлова Е.Б.
Методы прогнозирования, используемые в инновационном менеджменте
Моделі та методи аналізу і прогнозування складних процесів
Вопросы прогнозирования преступности, осуществляемого органами внутренних дел
Методы прогнозирования социально-экономического развития рынка санаторно-курортных услуг
Классификация прогнозов в электроэнергетике
i Не можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.
Article examines the approaches of different authors to classification of prediction methods and models, compares the strengths and weaknesses of each approach, which are illustrated on certain practical examples. Article analyzes the differences between methods of data-preparing for forecasting , forecasting tools and methods of obtaining forecast’s estimates, since many publications and sources, these concepts are not separated from each other, which leads to mixing of methods and models of forecasting . Author presents the main criteria that must comply with classification of forecasting methods and models to meet requirements of completeness and comparability.
Текст научной работы на тему «Проблема классификации моделей и методов прогнозирования»
ПРОБЛЕМА КЛАССИФИКАЦИИ МОДЕЛЕЙ И МЕТОДОВ ПРОГНОЗИРОВАНИЯ
Рассмотрены различные подходы к классификации методов и моделей прогнозирования. Проводится сравнение сильных и слабых сторон каждого подхода. Проанализированы отличия между методами подготовки данных для прогнозирования, инструментами для прогнозирования и собственно методами получения оценок прогноза, поскольку во многих публикациях и источниках данные понятия не отделяются друг от друга, что приводит к смешиванию методов и моделей прогнозирования. Приведены основные критерии, которым должна соответствовать классификация методов и моделей прогнозирования для того, чтобы отвечать требованиям полноты и сопоставимости.
Прогнозирование, классификация, методы и модели прогнозирования, глубина упреждения прогноза.
PROBLEM OF FORECASTING MODELS AND METHODS CLASSIFICATION
Article examines the approaches of different authors to classification of prediction methods and models, compares the strengths and weaknesses of each approach, which are illustrated on certain practical examples. Article analyzes the differences between methods of data-preparing for forecasting, forecasting tools and methods of obtaining forecast’s estimates, since many publications and sources, these concepts are not separated from each other, which leads to mixing of methods and models of forecasting. Author presents the main criteria that must comply with classification of forecasting methods and models to meet requirements of completeness and comparability.
Forecasting, classification, forecasting models and methods, depth of forecast’s feedforward.
Одно из центральных мест в философии науки занимает принцип детерминизма, говорящий о всеобщей взаимосвязанности и взаимообусловленности. Основной же задачей науки как таковой является поиск объективной истины, выражающейся в выявлении причинно-следственных связей между событиями и явлениями для возможности прогнози-
рования будущей действительности. Именно возможность предсказывания будущей действительности является одной из важнейших целей сбора, систематизации, обновления и анализа фактов об окружающем нас мире.
Для понимания, в каком конкретном случае к какой модели следует прибегать при имеющихся ограничениях; в
каких направлениях на данный момент развивается прогностическая наука, актуальна задача классификации методов и моделей прогнозирования.
Самой общей классификацией является деление методов прогнозирования на интуитивные и формализованные. Интуитивные методы прогнозирования применяются тогда, когда объект либо слишком прост и потому не требует детального описания, либо настолько сложен, что аналитически учесть влияние многих факторов практически невозможно. Формализованные методы позволяют строить модели прогнозирования, то есть на основе математической зависимости оценивать будущее значение процесса — строить прогноз.
В одном из подходов [1] данное деление основывается на значении глубины упреждения прогноза, рассчитываемого по формуле:
где Дt — абсолютное время упреждения; Ьх — величина эволюционного цикла объекта прогнозирования.
Другими словами, т — это отношение временного периода, на который строится прогноз, к общей длине анализируемого ряда. Например, если необходимо спрогнозировать значение на 1 месяц вперед, исходя из данных за прошлый год, то глубина упреждения прогноза в данном случае будет равна:
На практике здесь проходит грань между составлением тактических и стратегических прогнозов. При состав-
лении первых исследователю нет необходимости выбирать дальнее плечо прогноза — его выбор периода прогноза будет зависеть от управленческих решений, которые необходимо будет принять, основываясь на проводимом анализе. В случае стратегического прогноза (на 5-10-20 лет вперед) следует использовать различные варианты экспертных оценок, поскольку они будут учитывать не только количественные, но и качественные изменения в изучаемом процессе. Например, можно сколько угодно пытаться прогнозировать объемы выхода продукции с распределительного центра (РЦ) компании на 2-5 лет вперед, основываясь на статистике прошлых лет, но без понимания долгосрочной стратегии развития логистики компании (работа с ассортиментом, переключение объемов на другие РЦ, рост производительности труда, капитальный ремонт и прочее) даже статистически надежный прогноз будет некорректен, а значит, не принесет никакой практической пользы. С данной точки зрения критерий классификации вполне оправдан, однако, если взглянуть на проблему «от обратного», то мыслится необоснованной невозможность применения интуитивных оценок к прогнозам с небольшой глубиной упреждения, и Э. Тихонов не приводит никаких дополнительных доводов для этого. Однако краткосрочный прогноз, построенный с помощью формализованных методов, априорно позволяет получить меньшую ошибку прогноза, чем при использовании интуитивных методов, что на самом деле и должно определять выбор метода прогнозирования.
К сожалению, несмотря на достаточную освещенность данного вопроса в научной литературе, дальнейшая приведенная классификация не имеет четкой логики и однозначно определенных классификационных признаков. В полном объеме она представлена на рисунке 1.
Рисунок 1 — Классификация методов прогнозирования по Э. Тихонову
Стоит отметить, что на втором этапе автор задает классификационный признак — «общий принцип действия». Интуитивные методы в соответствии с ним подразделяются на индивидуальные и коллективные, а формализованные — на экстраполяционные, системно-структурные, математические, ассоциативные и методы опережающей информации. Далее все методы подразделяются в зависимости от способа получения прогнозной информации.
На этом этапе возникает ряд спорных вопросов. Во-первых, если в основу второго этапа классификации закладывается общий принцип действия, то непонятно разграничение экстраполяци-онных методов и математических — ведь корреляционно-регрессионный анализ также является одним из методов экстраполяции, когда будущие значения ряда исследователь получает на основании предыдущих и текущих его значений (т. е. распространяет «вперед» какую-либо тенденцию). Факторный анализ вообще не является методом прогнозирования — это метод поиска взаимосвязей между переменными.
Налицо возможная ошибка автора в том, что в его классификации смешаны методы для подготовки исходных данных, инструменты для прогнозирования и собственно методы прогнозирования, а также количественные и неколичественные методы. Методы подготовки данных — это методы обработки исходной информации, позволяющие обработать или каким-либо способом улучшить имеющийся исследуемый массив (к ним можно отнести факторный анализ, всю ветвь методов опережающей информации, вариационные методы). Инструменты для прогнозирования — это устоявшиеся методики математической обработки исследуемого ряда данных (например, указанный
МНК, матричный метод, экспоненциальное сглаживание). Методы подготовки данных — это методы обработки исходной информации, позволяющие оптимизировать или каким-либо способом улучшить имеющийся исследуемый массив (к ним можно отнести факторный анализ, всю ветвь методов опережающей информации, вариационные методы). Инструменты для прогнозирования — это устоявшиеся методики математической обработки исследуемого ряда данных (например, указанный МНК, матричный метод, экспоненциальное сглаживание). Они могут применяться вне зависимости от конечного используемого метода прогнозирования. Собственно, методы прогнозирования — это синтез методов подготовки исходных данных и инструментов для прогнозирования, используемые для анализа полученной информации с целью получения итогового прогнозного значения ряда данных.
Во-вторых, в работе присутствуют классификационные признаки для каждой «ступени», однако подробно разобран только принцип деления методов на интуитивные и формализованные. Дальнейшее выделение признаков в пособии не обосновано и не даются четкие определения для каждого из них. Например, не понятно, по какому принципу методы делятся на экстраполяци-онные, математические, системно-структурные и т. д. Также если третья ступень выделяется по способу получения прогнозной информации, то данный признак некорректен, т. к. большая часть указанных методов не позволяет получить оценку прогноза.
В другой работе «Основы экономического прогнозирования» [2] также дается только классификация методов прогнозирования без обзора моделей (рис. 2).
Рисунок 2 — Классификация методов прогнозирования по Н. М. Громовой и Н. И. Громовой
Несмотря на то что авторский коллектив использует в своем подходе аналогичные классификационные признаки (степень формализации, общий принцип действия, способ получения прогнозной информации), данная структура более строгая и ясная. Однако выбор самих классификационных признаков также не обосновывается и подробно авторами не разбирается.
Авторами не дается определение формализованных методов, а также последующих ветвей классификации. Однако деление формализованных методов на методы прогнозной экстраполяции и методы моделирования можно считать здравым и логичным.
Общая структура, к сожалению, не отражает всей широты существующих методов прогнозирования, например, отсутствует группа корреляционно-регрессионных методов. Но в то же время она включает в себя методы, ко-
торые могут быть объединены в одну группу. Например, методы экспоненциального, адаптивного сглаживания, метод скользящих средних и гармонических весов можно объединить в одну группу методов сглаживания ряда на основе скользящих средних.
В работе [3] Д. В. Мамонтова и С. В. Селезнева приведена классификация как методов, так и моделей прогнозирования. Методы в этой работе на первом этапе классически делятся на интуитивные и формализованные. Классификация методов прогнозирования, описанная в цитируемой работе, приведена на рисунке 3, моделей — на рисунке 4. Как видно из схемы, авторы не приводят классификацию формализованных методов, а далее непосредственно переходят к описанию моделей прогнозирования. Можно заключить, что в случае формализованного подхода метод и модель приравниваются друг к
другу, что не совсем корректно, т. к. метод прогнозирования — это устойчивая последовательность действий, которые совершает исследователь для получения модели прогнозирования. Модель прогнозирования — это функциональное представление, адекватно описывающее исследуемый процесс и являющееся основой для получения его будущих значений. Классификация самих моделей прогнозирования приведена без классификационных признаков. Тем не менее в статье четко и подробно описаны ос-
новные группы и виды моделей прогнозирования, даны их определения и отличительные черты. Например, модели предметных областей обозначены как узкоспециализированные — их применение ограничено зависимостями и законами той сферы, в которой они применяются. Статистические и структурные модели в этом плане описаны как более гибкие и универсальные — на одних и тех же моделях есть возможность строить прогнозы явлений из абсолютно разных предметных областей.
Рисунок 3 — Классификация методов прогнозирования по Д. В. Мамонтову и С. В. Селезневу
Авторы дают определение и примеры статистических и структурных моделей, но в то же время они не выделяют классификационный признак, в соответствии с которым они подразде-
ляют данные модели. Таким образом, у авторов отсутствует обоснование деления моделей на подгруппы, а классификация прогностических методов явно не завершена.
Модели предметной области
Рисунок 4 — Классификация моделей прогнозирования по Д. В. Мамонтову и С. В. Селезневу
После ознакомления с различными точками зрения на данную проблему определим основные моменты, которые необходимо учесть при составлении классификации методов и моделей прогнозирования, чтобы избежать возможных ошибок и спорных моментов:
— необходимо классифицировать только методы и модели, используемые при получении прогнозных оценок;
— обязательно разделять классификации методов и моделей прогнозирования;
— обязательно обосновывать и пояснять классификационные признаки;
— выделять общие классификационные группы, а не отдельные виды методов или моделей прогнозирования.
1. Тихонов, Э. Е. Методы прогнозирования в условиях рынка : учеб. пособие. — Невинномысск, 2006.
2. Громова, Н. М., Громова, Н. И. Основы экономического прогнозирования. — М. : Академия Естествознания, 2006.
3. Мамонтов, Д. В., Селезнев, С. В. Классификация методов и моделей прогнозирования // Устойчивое развитие горных территорий. — 2014. — № 1. -С. 51-55.
1. Twhonov, E. E. Methods of forecasting in conditions of market : tutorial. -Nevinnomyssk, 2006.
2. Gromova, N. M., Gromova, N. I. Foundations of economic prognosis. — M. : Academy Of Natural Sciences, 2006.
3. Mamontov, D. V., Selezniov, S. V. Classification of methods and models of forecasting // Sustainable development of mountain territories. — 2014. — № 1. -P. 51-55.
Модели и методологии разработки ПО

Существуют модели разработки ПО. И существуют методологии. В интернете много противоречивой информации о том, что есть что и как их отличать. Начинающему специалисту бывает сложно в этом разобраться. В этой статье мы расставим все точки над i.
Этапы жизненного цикла ПО
У любого программного обеспечения есть жизненный цикл — этапы, через которые оно проходит с начала создания до конца разработки и внедрения. Чаще всего это подготовка, проектирование, создание и поддержка. Этапы могут называться по-разному и дробиться на более мелкие стадии.

Рассмотрим эти этапы на примере жизненного цикла интернет-магазина.
Подготовка. Иван решил запустить книжный интернет-магазин и начал анализировать, какие подобные сайты уже представлены в сети. Собрал информацию об их трафике, функциональности.
Проектирование. Иван выбрал компанию-подрядчика и обсудил с её специалистами архитектуру и дизайн будущего интернет-магазина.
Создание. Иван заключил с разработчиками договор. Они начали писать код, отрисовывать дизайн, составлять документацию.
Поддержка. Иван подписал акт сдачи-приёмки, и подрядчик разместил интернет-магазин на «боевых» серверах. Пользователи начали его посещать и сообщать о замеченных ошибках в поддержку, а программисты — оперативно всё исправлять.
Модель разработки программного обеспечения описывает, какие стадии жизненного цикла оно проходит и что происходит на каждой из них.
А методология включает в себя набор методов по управлению разработкой: это правила, техники и принципы, которые делают её более эффективной.
Основные модели разработки ПО
- Code and fix — модель кодирования и устранения ошибок;
- Waterfall Model — каскадная модель, или «водопад»;
- V-model — V-образная модель, разработка через тестирование;
- Incremental Model — инкрементная модель;
- Iterative Model — итеративная (или итерационная) модель;
- Spiral Model — спиральная модель;
- Chaos model — модель хаоса;
- Prototype Model — прототипная модель.
Из этих моделей наиболее популярны пять основных: каскадная, V-образная, инкрементная, итерационная и спиральная. Разберём их подробнее.
Waterfall (каскадная модель, или «водопад»)
В этой модели разработка осуществляется поэтапно: каждая следующая стадия начинается только после того, как заканчивается предыдущая. Если всё делать правильно, «водопад» будет наиболее быстрой и простой моделью. Применяется уже почти полвека, с 1970-х.

Преимущества «водопада»
- Разработку просто контролировать. Заказчик всегда знает, чем сейчас заняты программисты, может управлять сроками и стоимостью.
- Стоимость проекта определяется на начальном этапе. Все шаги запланированы уже на этапе согласования договора, ПО пишется непрерывно «от и до».
- Не нужно нанимать тестировщиков с серьёзной технической подготовкой. Тестировщики смогут опираться на подробную техническую документацию.
Недостатки каскадной модели
- Тестирование начинается на последних этапах разработки. Если в требованиях к продукту была допущена ошибка, то исправить её будет стоить дорого. Тестировщики обнаружат её, когда разработчик уже написал код, а технические писатели — документацию.
- Заказчик видит готовый продукт в конце разработки и только тогда может дать обратную связь. Велика вероятность, что результат его не устроит.
- Разработчики пишут много технической документации, что задерживает работы. Чем обширнее документация у проекта, тем больше изменений нужно вносить и дольше их согласовывать.
«Водопад» подходит для разработки проектов в медицинской и космической отрасли, где уже сформирована обширная база документов (СНиПов и спецификаций), на основе которых можно написать требования к новому ПО.
При работе с каскадной моделью основная задача — написать подробные требования к разработке. На этапе тестирования не должно выясниться, что в них есть ошибка, которая влияет на весь продукт.
V-образная модель (разработка через тестирование)
Это усовершенствованная каскадная модель, в которой заказчик с командой программистов одновременно составляют требования к системе и описывают, как будут тестировать её на каждом этапе. История этой модели начинается в 1980-х.

Преимущества V-образной модели
- Количество ошибок в архитектуре ПО сводится к минимуму.
Недостатки V-образной модели
- Если при разработке архитектуры была допущена ошибка, то вернуться и исправить её будет стоить дорого, как и в «водопаде».
V-модель подходит для проектов, в которых важна надёжность и цена ошибки очень высока. Например, при разработке подушек безопасности для автомобилей или систем наблюдения за пациентами в клиниках.
Incremental Model (инкрементная модель)
Это модель разработки по частям (increment в переводе с англ. — приращение) уходит корнями в 1930-е. Рассмотрим её на примере создания социальной сети.
- Заказчик решил, что хочет запустить соцсеть, и написал подробное техническое задание. Программисты предложили реализовать основные функции — страницу с личной информацией и чат. А затем протестировать на пользователях, «взлетит или нет».
- Команда разработки показывает продукт заказчику и выпускает его на рынок. Если и заказчику, и пользователям социальная сеть нравится, работа над ней продолжается, но уже по частям.
- Программисты параллельно создают функциональность для загрузки фотографий, обмена документами, прослушивания музыки и других действий, согласованных с заказчиком. Инкремент за инкрементом они совершенствуют продукт, приближаясь к описанному в техническом задании.

Преимущества инкрементной модели
- Не нужно вкладывать много денег на начальном этапе. Заказчик оплачивает создание основных функций, получает продукт, «выкатывает» его на рынок — и по итогам обратной связи решает, продолжать ли разработку.
- Можно быстро получить фидбэк от пользователей и оперативно обновить техническое задание. Так снижается риск создать продукт, который никому не нужен.
- Ошибка обходится дешевле. Если при разработке архитектуры была допущена ошибка, то исправить её будет стоить не так дорого, как в «водопаде» или V-образной модели.
Недостатки инкрементной модели
- Каждая команда программистов разрабатывает свою функциональность и может реализовать интерфейс продукта по-своему. Чтобы этого не произошло, важно на этапе обсуждения техзадания объяснить, каким он будет, чтобы у всех участников проекта сложилось единое понимание.
- Разработчики будут оттягивать доработку основной функциональности и «пилить мелочёвку». Чтобы этого не случилось, менеджер проекта должен контролировать, чем занимается каждая команда.
Инкрементная модель подходит для проектов, в которых точное техзадание прописано уже на старте, а продукт должен быстро выйти на рынок.
Iterative Model (итеративная модель)
Это модель, при которой заказчик не обязан понимать, какой продукт хочет получить в итоге, и может не прописывать сразу подробное техзадание.

Рассмотрим на примере создания мессенджера, как эта модель работает.
- Заказчик решил, что хочет создать мессенджер. Разработчики сделали приложение, в котором можно добавить друга и запустить чат на двоих.
- Мессенджер «выкатили» в магазин приложений, пользователи начали его скачивать и активно использовать. Заказчик понял, что продукт пользуется популярностью, и решил его доработать.
- Программисты добавили в мессенджер возможность просмотра видео, загрузки фотографий, записи аудиосообщений. Они постепенно улучшают функциональность приложения, адаптируют его к требованиям рынка.
Преимущества итеративной модели
- Быстрый выпуск минимального продукта даёт возможность оперативно получать обратную связь от заказчика и пользователей. А значит, фокусироваться на наиболее важных функциях ПО и улучшать их в соответствии с требованиями рынка и пожеланиями клиента.
- Постоянное тестирование пользователями позволяет быстро обнаруживать и устранять ошибки.
Недостатки итеративной модели
- Использование на начальном этапе баз данных или серверов — первые сложно масштабировать, а вторые не выдерживают нагрузку. Возможно, придётся переписывать большую часть приложения.
- Отсутствие фиксированного бюджета и сроков. Заказчик не знает, как выглядит конечная цель и когда закончится разработка.
Итеративная модель подходит для работы над большими проектами с неопределёнными требованиями, либо для задач с инновационным подходом, когда заказчик не уверен в результате.
Spiral Model (спиральная модель)
Используя эту модель, заказчик и команда разработчиков серьёзно анализируют риски проекта и выполняют его итерациями. Последующая стадия основывается на предыдущей, а в конце каждого витка — цикла итераций — принимается решение, продолжать ли проект. Эту модель начали использовать в 1988 году.

Рассмотрим, как функционирует эта модель, на примере разработки системы «Умный дом».
- Заказчик решил, что хочет сделать такую систему, и заказал программистам реализовать управление чайником с телефона. Они начали действовать по модели «водопад»: выслушали идею, провели анализ предложений на рынке, обсудили с заказчиком архитектуру системы, решили, как будут её реализовывать, разработали, протестировали и «выкатили» конечный продукт.
- Заказчик оценил результат и риски: насколько нужна пользователям следующая версия продукта — уже с управлением телевизором. Рассчитал сроки, бюджет и заказал разработку. Программисты действовали по каскадной модели и представили заказчику более сложный продукт, разработанный на базе первого.
- Заказчик подумал, что пора создать функциональность для управления холодильником с телефона. Но, анализируя риски, понял, что в холодильник сложно встроить Wi-Fi-модуль, да и производители не заинтересованы в сотрудничестве по этому вопросу. Следовательно, риски превышают потенциальную выгоду. На основе полученных данных заказчик решил прекратить разработку и совершенствовать имеющуюся функциональность, чтобы со временем понять, как развивать систему «Умный дом».
Спиральная модель похожа на инкрементную, но здесь гораздо больше времени уделяется оценке рисков. С каждым новым витком спирали процесс усложняется. Эта модель часто используется в исследовательских проектах и там, где высоки риски.
Преимущества спиральной модели
- Большое внимание уделяется проработке рисков.
Недостатки спиральной модели
- Есть риск застрять на начальном этапе — бесконечно совершенствовать первую версию продукта и не продвинуться к следующим.
- Разработка длится долго и стоит дорого.
На основе итеративной модели была создана Agile — не модель и не методология, а скорее подход к разработке.
Что такое Agile?
Agile («эджайл») переводится с английского как «гибкий». Включает в себя практики, подходы и методологии, которые помогают создавать продукт более эффективно:
- экстремальное программирование (Extreme Programming, XP);
- бережливую разработку программного обеспечения (Lean);
- фреймворк для управления проектами Scrum;
- разработку, управляемую функциональностью (Feature-driven development, FDD);
- разработку через тестирование (Test-driven development, TDD);
- методологию «чистой комнаты» (Cleanroom Software Engineering);
- итеративно-инкрементальный метод разработки (OpenUP);
- методологию разработки Microsoft Solutions Framework (MSF);
- метод разработки динамических систем (Dynamic Systems Development Method, DSDM);
- метод управления разработкой Kanban.
Различия между Agile и традиционным подходом к разработке мы свели в таблице:

Не всё перечисленное в списке — методологии. Например, Scrum чаще называют не методологией, а фреймворком. В чём разница? Фреймворк — это более сформированная методология со строгими правилами. В скраме все роли и процессы чётко прописаны. Помимо Scrum, часто используют Kanban.
Kanban
Сегодня это одна из наиболее популярных методологий разработки ПО. Команда ведёт работу с помощью виртуальной доски, которая разбита на этапы проекта. Каждый участник видит, какие задачи находятся в работе, какие — застряли на одном из этапов, а какие уже дошли до его столбца и требуют внимания.

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

Совсем скоро мы организуем трёхдневный онлайн-интенсив по Agile-методологиям. На нём вы научитесь использовать все преимущества этого подхода, управлять разработкой и выпускать проекты любой сложности. Ждём вас!
Лекция 01.
Понятие моделирования.
Способы представления моделей
Моделирование – способ, процесс замещения оригинала его аналогом (моделью) с последующим изучением свойств и поведения оригинала на модели.
- формализации (проектирование и настройка модели, систем моделей и моделей систем),
- собственно моделирования (постановка различных задач и решение их на модели),
- интерпретации результатов моделирования, комплексирования с уже имеющимися реальными системами.
Модель вместо исходного объекта используется в случаях, когда эксперимент опасен, дорог, происходит в неудобном масштабе пространства и времени (долговременен, слишком кратковременен, протяжен ), невозможен, неповторим, ненагляден и т. д. Проиллюстрируем это:
- «эксперимент опасен» при деятельности в агрессивной среде вместо человека лучше использовать его макет; примером может служить луноход;
- «дорог» прежде чем использовать идею в реальной экономике страны, лучше опробовать её на математической или имитационной модели экономики, просчитав на ней все «за» и «против» и получив представление о возможных последствиях;
- «долговременен» изучить коррозию процесс, происходящий десятилетия, выгоднее и быстрее на модели;
- «кратковременен» изучать детали протекания процесса обработки металлов взрывом лучше на модели, поскольку такой процесс скоротечен во времени;
- «протяжен в пространстве» для изучения космогонических процессов удобны математические модели, поскольку реальные полёты к звёздам (пока) невозможны;
- «микроскопичен» для изучения взаимодействия атомов удобно воспользоваться их моделью;
- «невозможен» часто человек имеет дело с ситуацией, когда объекта нет, он ещё только проектируется. При проектировании важно не только представить себе будущий объект, но и испытать его виртуальный аналог до того, как дефекты проектирования проявятся в оригинале. Важно: моделирование теснейшим образом связано с проектированием. Обычно сначала проектируют систему, потом её испытывают, потом снова корректируют проект и снова испытывают, и так до тех пор, пока проект не станет удовлетворять предъявляемым к нему требованиям. Процесс «проектирование-моделирование» цикличен. При этом цикл имеет вид спирали с каждым повтором проект становится все лучше, так как модель становится все более детальной, а уровень описания точнее;
- «неповторим» это достаточно редкий случай, когда эксперимент повторить нельзя; в такой ситуации модель единственный способ изучения таких явлений. Пример исторические процессы, ведь повернуть историю вспять невозможно;
- «ненагляден» модель позволяет заглянуть в детали процесса, в его промежуточные стадии; при построении модели исследователь как бы вынужден описать причинно-следственные связи, позволяющие понять все в единстве, системе. Построение модели дисциплинирует мышление. Важно: модель играет системообразующую и смыслообразующую роль в научном познании, позволяет понять явление, структуру изучаемого объекта. Не построив модель, вряд ли удастся понять логику действия системы. Это означает, что модель позволяет разложить систему на элементы, связи, механизмы, требует объяснить действие системы, определить причины явлений, характер взаимодействия составляющих.
Процесс моделирования есть процесс перехода из реальной области в виртуальную (модельную) посредством формализации , далее происходит изучение модели (собственно моделирование ) и, наконец, интерпретация результатов как обратный переход из виртуальной области в реальную. Этот путь заменяет прямое исследование объекта в реальной области, то есть лобовое или интуитивное решение задачи. Итак, в самом простом случае технология моделирования подразумевает 3 этапа: формализация , собственно моделирование , интерпретация ( рис. 1.1 ).
| Рис. 1.1. Процесс моделирования (базовый вариант) |
Если требуется уточнение, эти этапы повторяются вновь и вновь: формализация (проектирование), моделирование, интерпретация. Спираль! Вверх по кругу.
Более подробно весь цикл разработки показан на рис. 1.14, где отражены методы, способы, приёмы, с помощью которых реализуется каждый из этапов.
Поскольку моделирование способ замещения реального объекта его аналогом, то возникает вопрос: насколько аналог должен соответствовать исходному объекту?
Вариант 1: соответствие 100%. Очевидно, что точность решения в этом случае максимальна, а ущерб от применения модели минимален. Но затраты на построение такой модели бесконечно велики, так как объект повторяется во всех своих деталях; фактически, создаётся точно такой же объект путём копирования его до атомов (что само по себе не имеет смысла).
Вариант 2: соответствие 0%. Модель совсем не похожа на реальный объект. Очевидно, что точность решения минимальна, а ущерб от применения модели максимален, бесконечен. Но затраты на построение такой модели нулевые.
Конечно, варианты 1 и 2 это крайности. На самом деле модель создаётся из соображений компромисса между затратами на её построение и ущербом от неточности её применения. Это точка между двумя бесконечностями. То есть, моделируя, следует иметь в виду, что исследователь (моделировщик) должен стремиться к оптимуму суммарных затрат, включающих ущерб от применения и затраты на изготовление модели (см. рис. 1.2 ).
| Рис. 1.2. Соотношение суммарных затрат и точности для различных вариантов детализации прикладной модели |
Просуммируйте две кривые затрат получится одна кривая общих затрат. Найдите оптимум на суммарной кривой: он лежит между этими крайними вариантами. Видно, что неточные модели не нужны, но и абсолютная точность тоже не нужна, да и невозможна. Частое и распространённое заблуждение при построении моделей требовать «как можно точнее».
«Модель поиск конечного в бесконечном» эта мысль принадлежит Д. И. Менделееву. Что отбрасывается, чтобы превратить бесконечное в конечное? В модель включаются только существенные аспекты, представляющие объект, и отбрасываются все остальные (бесконечное большинство). Существенный или несущественный аспект описания определяют согласно цели исследования. То есть каждая модель составляется с какой-то целью . Начиная моделирование, исследователь должен определить цель, отделив её от всех возможных других целей, число которых, по-видимому, бесконечно.
К сожалению, указанная на рис. 1.2 кривая является умозрительной и реально до начала моделирования построена быть не может. Поэтому на практике действуют таким образом: двигаются по шкале точности слева направо, то есть от простых моделей («Модель 1», «Модель 2» ) ко все более сложным («Модель 3», «Модель 4» ). А процесс моделирования имеет циклический спиралевидный характер: если построенная модель не удовлетворяет требованиям точности, то её детализируют, дорабатывают на следующем цикле (см. рис. 1.3 ).
Улучшая модель, следят, чтобы эффект от усложнения модели превышал связанные с этим затраты. Как только исследователь замечает, что затраты на уточнение модели превышают эффект от точности при применении модели, следует остановиться, поскольку точка оптимума достигнута. Такой подход всегда гарантирует окупаемость вложений.
Из всего сказанного следует, что моделей может быть несколько: приближенная, более точная, ещё точнее и так далее. Модели как бы образуют ряд. Двигаясь от варианта к варианту, исследователь совершенствует модель. Для построения и совершенствования моделей необходима их преемственность, средства отслеживания версий и так далее, то есть моделирование требует инструмента и опирается на технологию.
Инструмент типовое средство, позволяющее достичь оригинальный результат и обеспечивающее сокращение затрат на выполнение промежуточных операций (имиджи, стандартные библиотеки, мастера, линейки, резинки ).
Технология набор стандартных способов, приёмов, методов, позволяющий достичь результата гарантированного качества с помощью указанных инструментов за заранее известное время при заданных затратах, но при соблюдении пользователем объявленных требований и порядка.
Среда совокупность рабочего пространства и инструментов на нем, поддерживающая хранение и изменение, преемственность проектов и интерпретирующая свойства объектов и систем из них.
Иногда модели пишут на языках программирования, но это долгий и дорогой процесс. Для моделирования можно использовать математические пакеты, но, как показывает опыт, в них обычно не хватает многих инженерных инструментов. Оптимальным является использование среды моделирования.
В нашем курсе в качестве такой среды выбрана «Система проектирования и моделирования Stratum-2000». Лабораторные работы и демонстрации, которые вы встретите в курсе, следует запускать как проекты среды Stratum-2000.
Модель, выполненная с учётом возможности её модернизации, конечно, имеет недостатки, например, низкую скорость исполнения кода. Но есть и неоспоримые достоинства. Видна и сохранена структура модели, связи, элементы, подсистемы. Всегда можно вернуться назад и что-то переделать. Сохранен след в истории проектирования модели (но когда модель отлажена, имеет смысл убрать из проекта служебную информацию). В конце концов, модель, которая сдаётся заказчику, может быть оформлена в виде специализированного автоматизированного рабочего места (АРМа), написанного уже на языке программирования, внимание в котором уже, в основном, уделено интерфейсу, скоростным параметрам и другим потребительским свойствам, которые важны для заказчика. АРМ, безусловно, вещь дорогая, поэтому выпускается он только тогда, когда заказчик полностью оттестировал проект в среде моделирования, сделал все замечания и обязуется больше не менять своих требований.
Моделирование является инженерной наукой, технологией решения задач. Это замечание очень важное. Так как технология есть способ достижения результата с известным заранее качеством и гарантированными затратами и сроками, то моделирование, как дисциплина:
- изучает способы решения задач, то есть является инженерной наукой;
- является универсальным инструментом, гарантирующим решение любых задач, независимо от предметной области.
Смежными моделированию предметами являются: программирование, математика, исследование операций.
Программирование потому что часто модель реализуют на искусственном носителе (пластилин, вода, кирпичи, математические выражения ), а компьютер является одним из самых универсальных носителей информации и притом активным (имитирует пластилин, воду, кирпичи, считает математические выражения и т. д.). Программирование есть способ изложения алгоритма в языковой форме. Алгоритм один из способов представления (отражения) мысли, процесса, явления в искусственной вычислительной среде, которой является компьютер (фон-Неймановской архитектуры). Специфика алгоритма состоит в отражении последовательности действий. Моделирование может использовать программирование, если моделируемый объект легко описать с точки зрения его поведения. Если легче описать свойства объекта, то использовать программирование затруднительно. Если моделирующая среда построена не на основе фон-Неймановской архитектуры, программирование практически бесполезно.
Какова разница между алгоритмом и моделью?
Алгоритм это процесс решения задачи путём реализации последовательности шагов, тогда как модель совокупность потенциальных свойств объекта. Если к модели поставить вопрос и добавить дополнительные условия в виде исходных данных (связь с другими объектами, начальные условия, ограничения), то она может быть разрешена исследователем относительно неизвестных. Процесс решения задачи может быть представлен алгоритмом (но известны и другие способы решения). Вообще примеры алгоритмов в природе неизвестны, они суть порождение человеческого мозга, разума, способного к установлению плана. Собственно алгоритм это и есть план, развёрнутый в последовательность действий. Следует различать поведение объектов, связанное с естественными причинами, и промысел разума, управляющий ходом движения, предсказывающий результат на основе знания и выбирающий целесообразный вариант поведения.
модель + вопрос + дополнительные условия = задача .
Математика наука, предоставляющая возможность исчисления моделей, приводимых к стандартному (каноническому) виду. Наука о нахождении решений аналитических моделей (анализ) средствами формальных преобразований.
Исследование операций дисциплина, реализующая способы исследования моделей с точки зрения нахождения наилучших управляющих воздействий на модели (синтез). По большей части имеет дело с аналитическими моделями. Помогает принимать решения, используя построенные модели.
Проектирование процесс создания объекта и его модели; моделирование способ оценки результата проектирования; моделирования без проектирования не существует.
Смежными дисциплинами для моделирования можно признать электротехнику, экономику, биологию, географию и другие в том смысле, что они используют методы моделирования для исследования собственного прикладного объекта (например, модель ландшафта, модель электрической цепи, модель денежных потоков и т. д.).
Компьютерная графика помогает организовать удобный естественный интерфейс для управления моделью, для наблюдения за её реакциями. Важно понимать, что пользователь взаимодействует с моделью не напрямую, а именно через интерфейс: с одной стороны он посылает ей исходные (входные) данные (например, с помощью окон ввода, кнопок, движков, командной строки и т. д.), с другой смотрит на результат работы модели, то есть воспринимает посредством интерфейса выходные данные.
Искусственный интеллект подразумевает построение высших моделей (например, адаптивных, которые умеют самонастраиваться, умеют создавать друг друга и т. д.). Подразумевается, что модель интеллекта в состоянии сама строить модели прикладных объектов и систем; объяснение того, как это делается, даётся в курсе «Модели и методы искусственного интеллекта». Вместе с тем заметим, что ряд исследователей, говоря об искусственном интеллекте, имеют в виду применение моделей (обучения, воспроизведения, языка и т. д.) для изучения и имитации одной из самых сложных систем во Вселенной человека.
Заметим, что искусственный интеллект достаточно большая модель, которая содержит обширную информацию об окружающем мире и мета-модели, умеющие её достраивать. Мета-модели имеют большое подобие с имитируемым ими человеком.
В зависимости от носителя различают модели: натурные, мысленные, математические, имитационные, графические, фотографические и так далее. Каждая из моделей обладает различной способностью к прогнозу свойств объекта. Например, по фотографии человека в анфас вряд ли можно верно представить, как выглядит его затылок. Приближение в виде трёхмерной модели намного лучше, но можно ли с её помощью определить, когда, например, у виртуального человека вырастут волосы длиной 50 см? Имитационная модель ещё более информативна. Но наибольшей ценностью обладают модели, пригодные для решения задач, то есть обладающие прогностическими свойствами, умеющие отвечать на вопросы. Следует различать два понятия «модель» и «задача». Модель связывает переменные между собой законами. Эти законы действуют независимо от того, какая сейчас задача стоит перед нами. Модель объективна, она подобна миру, который нас окружает, и содержит в себе информацию об этом. Структура мира (в общем смысле) неизменна, фундаментальна, модель, следовательно, тоже. А человек, как существо субъективное, имеющее собственные цели, часто меняющиеся желания, ставит, в зависимости от своих потребностей, каждый раз новые задачи, требует решить возникающие у него проблемы. Он ставит вопросы к окружающему миру, с законами которого нельзя не считаться. Удобно ставить вопросы к модели, которая содержит нужную информацию о мире. Поэтому задача это совокупность вопроса и модели. Можно к модели задавать все новые и новые вопросы и при этом не менять модель, но менять задачу.
То есть модель способ нахождения ответов на вопросы. Чтобы ответить на поставленный вопрос, модель должна быть преобразована по правилам, обеспечивающим её эквивалентность, к виду, соответствующему ответу на вопрос. Это означает, что модель должна быть сформирована по правилам определённой алгебры (алгебра есть правила преобразования). А процедура, которая помогает применить такие правила к модели, называется методом .
Модель падения тела под углом к горизонту содержит информацию о координатах траектории, заданных в осях (x, y) : y = x 2 + 4 · x 3 (координаты тела в полете) см. рис. 1.5 .
| Рис. 1.5. Траектория движения тела, брошенного под углом к горизонту |
Модель связывает две переменные y и x законом f(y, x) = 0 . Модель может быть расширена некоторыми исходными данными, например, так: y = x 2 + 4 · x 3 , y = 0 (интересуют не все возможные значения y , а только точки на поверхности Земли).
y = 0 это тоже закон, но более мелкого масштаба. Такие уравнения могут появляться и исчезать в зависимости от исследуемой проблемы. Обычно их называют гипотезами .
Теперь модель и вопрос вместе образовали задачу:
| y = x 2 + 4 · x 3 , y = 0 , x = ? |
Трактовать задачу можно так: при каких значениях x тело окажется на поверхности Земли?
Модель подразумевает, что исследователь может решать с её помощью прямые и обратные задачи.
Прямая задача не требует алгебраических преобразований, достаточно только арифметических подстановок: x = 2 , y = x 2 + 4 · x 3 , y = ? . Ответ: y = 1 . То есть, если на вход модели подать значение 2, то на выходе модели будет значение 1 см. рис. 1.6 .
| Рис. 1.6. Вид модели для решения прямой задачи |
Обратная задача: y = 0 , y = x 2 + 4 · x 3 , x = ? Ответ: x = 1 , x = 3 . То есть ответ говорит: чтобы на выходе модели обеспечить значение 0, надо, чтобы на вход модели было подано значение 1 (или 3).
И в первом, и во втором случае мы в разной мере преобразовывали модель, но всегда так, чтобы на входе у неё была известная величина, а на выходе неизвестная.
В первом варианте y := x 2 + 4 · x 3 .
Во втором варианте модель преобразуется к виду: 0 = x 2 + 4 · x 3 . Здесь мы опустили ряд преобразований, известных из курса средней школы, а именно:
| D := b 2 4 · a · c , где a = 1 , b = 4 , c = 3 . x := (b ± sqrt(D))/(2 · a) . x := 1 или x := 3 . |
Преобразования происходили с учётом правил алгебры. Если бы правила алгебры были нам неизвестны, то решить обратную задачу нам бы не удалось. А значит, не удалось бы ответить на поставленный вопрос: « x = ? ».
Способность модели преобразовываться с помощью алгебры даёт возможность в дальнейшем использовать её многократно для решения различных задач, делать на ней прогнозы.
Сравните: телефонный справочник это тоже своеобразная модель, но какие прогнозы вы можете сделать, какие обратные задачи решить? Как вычислить фамилию абонента по номеру телефона? Какую алгебру вы используете?
Поэтому, создавая модель, следует обязательно думать о том, какой алгеброй она будет преобразовываться. Создавать алгебру следует параллельно с моделью или использовать уже готовую алгебру и не отходить при построении модели от её правил.
Ещё один тип задач, который приходится решать на моделях задачи настройки модели.
Приведём пример. При каких значениях параметра a модель y = a · x 2 + 4 · x 3 обеспечит y = 9 при x = 2 ? Решаем систему уравнений:
| y = a · x 2 + 4 · x 3 y = 9 x = 2 |
| 9 = a · 2 2 + 4 · 2 3 |
Далее, по правилам арифметики и алгебры, получим ответ: a = 1 .
От показанного на рис. 1.7 структурного изображения модели можно перейти к другому, математическому, её виду: Y = M(X) .
| Рис. 1.7. Структурное изображение модели в среде моделирования |
Модель закономерность, преобразующая входные значения в выходные. А как известно из математики, с выражением Y = M(X) можно решить три вида задач, которые приведены в табл. 1.1.
Ряд моделей может быть недоопределён это означает, что вариантов ответов много (два, три, сто или бесконечное множество). Если нужен один ответ, то проблему надо доопределять, дополнять условиями. «Недоопределён» означает, что можно произвольно, кроме гипотез, законов, ответа, потребовать дополнительно выполнение ещё каких-то условий. Возможно, при построении модели что-то не было учтено, не хватает каких-то законов. Рецепт понятен: модель надо достроить. Но может быть и по-другому. Решений много и есть, видимо, лучшие решения, и есть похуже. Тогда для нахождения лучшего решения следует сузить область решений, накладывая определённые ограничения, чтобы отсеять остальные. Такие задачи часто называют задачами управления .
Часть определений, которым надо безусловно удовлетворить, называются ограничениями .
Часть определений, относительно которых высказывают только пожелания («быть как можно больше или меньше»), называются критериями .
В целом получается обратная задача. А то, что надо определить управляемая переменная. То есть интересуются: как следует изменить входной параметр (управление), чтобы обеспечить выполнение законов, не выйти за ограничения и чтобы при этом критерий принял наилучшее значение?
Пример. Модель: y = x 2 + 4 · x 3 . Вопрос: x = ? Доопределение модели: y должен быть максимизирован, x ≥ 2.5 . Так как y должен быть максимизирован, то мы должны стараться двигаться вверх вдоль графика функции ( рис. 1.8 ) и следить, чтобы значение x не стало меньше 2.5. Как видно из рисунка, значение y станет максимальным при x = 2.5 . Ответ: y = 0.75 , x = 2.5 .
| Рис. 1.8. Графическая иллюстрация решения задачи с ограничениями |
Отметим, что создать модель бывает проще, чем сразу дать себе ответ на интересующий вопрос. Наверное, на практике вы замечали, что часто гораздо проще составить уравнения, чем угадать решение задачи. Например: решено разделить огромный шар размером с Землю на две половинки, полученную половинку снова поделить пополам и так далее. Попробуйте ответить на вопрос: сколько раз ( n ) надо провести такую операцию, чтобы размер делимой частички в результате достиг размера атома? Наверняка, сразу ответить на этот вопрос не удастся, интуиция подводит, придётся составить модель.
Пусть D = 6 400 км = 6 400 000 м диаметр шара (Земли), а d = 10 9 м диаметр атома. Тогда модель есть выражение: 2 n = D/d или 2 n = 6 400 000/10 9 . Отсюда получаем: 2 n = 6.4 · 10 15 или n = log2(6.4 · 10 15 ) . Итак, приближённо, n = 53 . Неожиданный результат, не правда ли?! Можно ли было его предугадать?
Ещё несколько примеров. Тривиальные модели: x = 5° ; телефон друга Сидорова . Такие модели не несут в себе прогностических свойств, поскольку на основе известной информации невозможно вычислить каким-либо образом другую информацию. Зная телефон одного друга Сидорова, невозможно вычислить телефон другого его друга. Это так называемые пра-модели (pra-model). Фактически это данные.
Заметим, что недооценка в современных условиях понятия моделирования ведёт к использованию в АРМах коммерческого назначения только данных. Именно поэтому такие АРМы не способны решать прогностические задачи и решают, в основном, только учётные задачи (см. рис. 1.9 ).
| Рис. 1.9. Типовая схема взаимодействия АРМов в АСУ (без решения задач прогнозирования) |
Чтобы проиграть ситуацию на предприятии на будущее, узнать, к чему приведёт то или иное решение, следует в состав АРМов включать модели (см. рис. 1.10 ).
| Рис. 1.10. Схема взаимодействия АРМов в АСУ (при постановке задач прогнозирования) |
На рис. 1.11 показана пирамида моделей, различных по степени прогностичности.
| Рис. 1.11. Соотношение типов моделей по степени прогностичности |
Обратите внимание: уровень «Модель» «питается» информацией, структурированной по типу предыдущего уровня «Пра-модель», то есть она потребляет на входе данные, перерабатывает их и возвращает тоже данные, то есть модели более низкого уровня (пра-модели). Подчеркнём ещё раз, что данные это тоже модели! Уровень «Супра-модель» потребляет на входе модели в виде объектов и операций, перерабатывает их и возвращает модели (примером таких супра-моделей могут служить грамматики, способные преобразовывать модели (уравнения). Более детально см. рис. 1.12). Данный принцип справедлив и для всех последующих (вышестоящих) уровней. Пирамида на рис. 1.11 представлена в виде функциональных уровней; это означает, что каждый последующий уровень мощнее предыдущего, то есть он позволяет получить больший, более мощный качественный результат.
Модели могут принимать различную форму, в зависимости от способа мышления исследователя, его взгляда на мир, используемой алгебры. Использование различных математических аппаратов впоследствии приводит к различным возможностям в решении задач.
Модели могут быть:
- феноменологические и абстрактные;
- активные и пассивные;
- статические и динамические;
- дискретные и непрерывные;
- детерминированные и стохастические;
- функциональные и объектные.
Феноменологические модели сильно привязаны к конкретному явлению. Изменение ситуации часто приводит к тому, что моделью воспользоваться в новых условиях достаточно сложно. Это происходит оттого, что при составлении модели её не удалось построить с точки зрения подобия внутреннему строению моделируемой системы. Феноменологическая модель передаёт внешнее подобие.
Абстрактная модель воспроизводит систему с точки зрения её внутреннего устройства, копирует её более точно. У неё больше возможностей, шире класс решаемых задач.
Активные модели взаимодействуют с пользователем; могут не только, как пассивные, выдавать ответы на вопросы пользователя, когда тот об этом попросит, но и сами активируют диалог, меняют его линию, имеют собственные цели. Все это происходит за счёт того, что активные модели могут самоизменяться.
Статические модели описывают явления без развития. Динамические модели прослеживают поведение систем, поэтому используют в своей записи, например, дифференциальные уравнения, производные от времени.
Дискретные и непрерывные модели. Дискретные модели изменяют состояние переменных скачком, потому что не имеют детального описания связи причин и следствий, часть процесса скрыта от исследователя. Непрерывные модели более точны, содержат в себе информацию о деталях перехода.
Детерминированные и стохастические модели. Если следствие точно определено причиной, то модель представляет процесс детерминировано. Если из-за неизученности деталей не удаётся описать точно связь причин и следствий, а возможно только описание в целом, статистически (что часто и бывает для сложных систем), то модель строится с использованием понятия вероятности.
Распределённые, структурные, сосредоточенные модели. Если параметр, описывающий свойство объекта, в любых его точках имеет одинаковое значение (хотя может меняться во времени!), то это система с сосредоточенными параметрами. Если параметр принимает разные значения в разных точках объекта, то говорят, что он распределён, а модель, описывающая объект, распределённая. Иногда модель копирует структуру объекта, но параметры объекта сосредоточенны, тогда модель структурная.
Функциональные и объектные модели. Если описание идёт с точки зрения поведения, то модель построена по функциональному признаку. Если описание каждого объекта отделено от описания другого объекта, если описываются свойства объекта, из которых вытекает его поведение, то модель является объектно-ориентированной.
Каждый подход имеет свои достоинства и недостатки. Разные математические аппараты имеют разные возможности (мощность) для решения задач, разные потребности в вычислительных ресурсах. Один и тот же объект может быть описан различными способами. Инженер должен грамотно применять то или иное представление, исходя из текущих условий и стоящей перед ним проблемы.
Приведённая выше классификация является идеальной. Модели сложных систем обычно имеют комплексный вид, используют в своём составе сразу несколько представлений. Если удаётся свести модель к одному типу, для которого уже сформулирована алгебра, то исследование модели, решение задач на ней существенно упрощается, становится типовым. Для этого модель должна быть различными способами (упрощением, переобозначением и другими) приведена к каноническому виду, то есть к виду, для которого уже сформулирована алгебра, её методы. В зависимости от используемого типа модели (алгебраические, дифференциальные, графы и т. д.) на разных этапах её исследования используются различные математические аппараты.
Полный (расширенный) вариант схемы, представленной на рис. 1.13 , см. на рис. 1.14. После прочтения всего курса лекций рекомендуется вернуться к рис. 1.14 и детально, на более глубоком уровне, ознакомиться с ним.
| Рис. 1.13. Схема процесса моделирования (уточнённый вариант) |
На рис. 1.15 представлены этапы построения модели.
| Рис. 1.15. Этапы процесса моделирования |
Спираль, которая была рассмотрена на рис. 1.3 , представлена на рис. 1.15 как виток. Но обратите внимание на возможность возвращения с каждого этапа на более ранний (или более ранние) при обнаружении ошибки. Спираль имеет достаточно сложный вид, прошита дополнительными связями.
Общее описание технологии моделирования расположено в файле справки системы «Stratum-2000» в разделе «Теория моделирования» («Помощь» > «Теория моделирования»). Сначала данный раздел стоит прочитать бегло, а затем подробно после того, как вы усвоите весь курс и накопите опыт описания объектов на примерах и опыте, приобретённом в ходе выполнения курсовой работы.
Конечно, моделирование, как уже было сказано, в соединении с проектированием это технология решения проблем, задач. Но у каждой технологии все-таки есть граница, за которой она менее эффективна. Такая граница есть и здесь. Посмотрите снова на рис. 1.13 . Очевидно, что первые этапы решают менее формализованные задачи, а последующие все более формальные. Соответственно, методы первых этапов менее формализованы, а последующих более формальные, мощные. Это означает, что самые трудные и ответственные этапы для моделировщика первые. Здесь от него требуется больше интуитивных решений. И ошибка на более ранних этапах больше сказывается на дальнейших решениях, возвращаться и переделывать приходится гораздо больше, чем на последних этапах. Поэтому удачные решения на первых этапах вызывают пристальный интерес системотехников, наука моделирования проявляет к ним повышенное внимание. Поскольку формальные методы легко автоматизируются, то последние этапы схемы поддержаны программными продуктами и легко доступны конечным пользователям, но наибольший интерес сегодня представляют программные продукты, поддерживающие первые этапы системы, помогающие формализовать задачи. А также системы, обеспечивающие сквозное проектирование, доведённое до моделирования и конечной реализации (автоматическое порождение кода по описанию проекта).
Здесь можно упомянуть два направления. Первое инструментальное. Проектировщику необходим инструмент для формального описания рассматриваемого им объекта. Известно несколько таких инструментов: RationalRose, «Аналитик», IDEF по технологии SADT, Stratum. Есть инструменты, подсказывающие решения, есть просто пассивные наборы, библиотеки. Одним из инструментов нахождения решений является технология АЛРИЗ; следуя её алгоритму, отвечая на вопросы этой технологии, можно гарантированно придти к решению.
Второй путь аналитические системы, выводящие из фактов знания. О них пойдёт речь в следующем нашем курсе «Модели и методы искусственного интеллекта».
В качестве примера посмотрим, как можно обнаружить, а потом описать закономерность.
Допустим, что нам нужно решить «Задачу о разрезаниях», то есть надо предсказать, сколько потребуется разрезов в виде прямых линий, чтобы разделить фигуру ( рис. 1.16 ) на заданное число кусков (для примера достаточно, чтобы фигура была выпуклой).
Попробуем решить эту задачу вручную.
| Рис. 1.16. Задача о разрезании фигуры на заданное число кусков |
Из рис. 1.16 видно, что при 0 разрезах образуется 1 кусок, при 1 разрезе образуется 2 куска, при двух 4, при трёх 7, при четырёх 11. Можете ли вы сейчас сказать наперёд, сколько потребуется разрезов для образования, например, 821 куска? По-моему, нет! Почему вы затрудняетесь? Вам неизвестна закономерность K = f(P) , где K количество кусков, P количество разрезов. Как обнаружить закономерность?
Составим таблицу, связывающую известные нам числа кусков и разрезов.
Пока закономерность не ясна. Поэтому рассмотрим разности между отдельными экспериментами, посмотрим, чем отличается результат одного эксперимента от другого. Поняв разницу, мы найдём способ перехода от одного результата к другому, то есть закон, связывающий K и P .
Уже кое-какая закономерность проявилась, не правда ли?
Вычислим вторые разности.
Очевидно, что далее продолжать процедуру вычисления разностей смысла нет.
Теперь все просто. Функция f называется производящей функцией . Если она линейна, то первые разности равны между собой. Если она квадратичная, то вторые разности равны между собой. И так далее.
Функция f есть частный случай формулы Ньютона:
Коэффициенты a , b , c , d , e для нашей квадратичной функции f находятся в первых ячейках строк экспериментальной таблицы 1.5.
Итак, закономерность есть, и она такова:
K = a + b · p + c · p · (p 1)/2 = 1 + p + p · (p 1)/2 = 0.5 · p 2 + 0.5 · p + 1 .
Теперь, когда закономерность определена, можно решить обратную задачу и ответить на поставленный вопрос: сколько надо выполнить разрезов, чтобы получить 821 кусок? K = 821 , K = 0.5 · p 2 + 0.5 · p + 1 , p = ?
Решаем квадратное уравнение 821 = 0.5 · p 2 + 0.5 · p + 1 , находим корни: p = 40 .
Подведём итоги (обратите на это внимание!).
Сразу угадать решение мы не смогли. Поставить эксперимент оказалось затруднительно. Пришлось построить модель, то есть найти закономерность между переменными. Модель получилась в виде уравнения. Добавив к уравнению вопрос и уравнение, отражающее известное условие, образовали задачу. Поскольку задача оказалась типового вида (канонического), то её удалось решить одним из известных методов. Поэтому задача оказалась решена.
И ещё очень важно отметить, что модель отражает причинно-следственные связи. Между переменными построенной модели действительно есть крепкая связь. Изменение одной переменной влечёт за собой изменение другой. Мы ранее сказали, что «модель играет системообразующую и смыслообразующую роль в научном познании, позволяет понять явление, структуру изучаемого объекта, установить связь причины и следствия между собой». Это означает, что модель позволяет определить причины явлений, характер взаимодействия её составляющих. Модель связывает причины и следствия через законы, то есть переменные связываются между собой через уравнения или выражения.
Но. Сама математика не даёт возможности выводить из результатов экспериментов какие-либо законы или модели, как это может показаться после рассмотренного только что примера. Математика это только способ изучения объекта, явления, и, причём, один из нескольких возможных способов мышления. Есть ещё, например, религиозный способ или способ, которым пользуются художники, эмоционально-интуитивный, с помощью этих способов тоже познают мир, природу, людей, себя.
Итак, гипотезу о связи переменных А и В надо вносить самому исследователю, извне, сверх того. А как это делает человек? Посоветовать внести гипотезу легко, но как научить этому, объяснить это действо, а значит, опять-таки как его формализовать? Подробно мы покажем это в будущем курсе «Моделирование систем искусственного интеллекта».
А вот почему это надо делать извне, отдельно, дополнительно и сверх того, поясним сейчас. Носит это рассуждение имя Геделя, который доказал теорему о неполноте нельзя доказать правильность некоторой теории (модели) в рамках этой же теории (модели). Посмотрите ещё раз на рис. 1.12 . Модель более высокого уровня преобразует эквивалентно модель более низкого уровня из одного вида в другой. Или генерирует модель более низкого уровня по эквивалентному опять же её описанию. А вот саму себя она преобразовать не может. Модель строит модель. И эта пирамида моделей (теорий) бесконечна.
А пока, чтобы «не подорваться на ерунде», вам надо быть настороже и проверять все здравым смыслом. Приведём пример, старую известную шутку из фольклора физиков.
«О вреде огурцов»
Огурцы вас погубят! Каждый съеденный огурец приближает вас к смерти. Удивительно, как думающие люди до сих пор не распознали смертоносности этого растительного продукта и даже прибегают к его названию для сравнения в положительном смысле («как огурчик!»). И, несмотря ни на что, производство консервированных огурцов растёт.
С огурцами связаны все телесные недуги и вообще все людские несчастья.
- Практически все люди, страдающие хроническими заболеваниями, ели огурцы.
- 99.9% всех людей, умерших от рака, при жизни ели огурцы.
- 100% всех солдат ели огурцы.
- 99.7% всех лиц, ставших жертвами автомобильных и авиационных катастроф, употребляли огурцы в пищу в течение двух недель, предшествовавших несчастному случаю.
- 93.1% всех малолетних преступников происходят из семей, где огурцы потребляли постоянно.
Есть данные и о том, что вредное действие огурцов сказывается очень долго: среди людей, родившихся в 1889 году и питавшихся впоследствии огурцами, смертность равна 100%. Все лица рождения 18891909 годов имеют дряблую морщинистую кожу, потеряли почти все зубы, практически ослепли (если болезни, вызванные потреблением огурцов, не свели их уже давно в могилу).
Ещё более убедительный результат, полученный известным коллективом учёных-медиков: морские свинки, которым принудительно скармливали по 20 фунтов огурцов в день в течение месяца, потеряли аппетит!
Единственный способ избежать вредного действия огурцов изменить диету. Ешьте суп из болотных орхидей. От него, насколько нам известно, ещё никто не умирал.
Движемся дальше. Сложность задачи часто диктует тот способ представления модели, который будет использоваться при её описании. Покажем это на примере простейшей задачи.
Задача 1. Пусть два объекта (например, пешеход и велосипедист) движутся друг другу навстречу ( рис. 1.17 ) со скоростями V1 и V2 соответственно. Необходимо узнать: когда и где встретятся эти объекты?
| Рис. 1.17. Задача о встрече |
Аналитический способ представления задачи 1
Аналитический явный способ
Эта модель весьма далека от реальности. Что-либо изучить на ней представляется проблематичным, так как из неё можно найти только время T и место встречи S . Идеализация заключается в том, что дорога считается идеально прямой, без уклонов и подъёмов, скорости объектов считаются постоянными, желания объектов не меняются, силы безграничны, отсутствуют помехи для движения, модель не зависит от величин D , V1 , V2 (они могут быть сколь угодно большими или малыми).
Реальность обычно не имеет ничего общего с такой постановкой задачи. Но за счёт большой идеализации (идеализации большого порядка) получается очень простая модель, которая может быть разрешена в общем виде (аналитически) математическими способами. Так формулируются чаще всего алгоритмические модели, где протянута цепочка вычислений от исходных данных к выходу. Поэтому мы применили в записи знак присваивания . После вычисления правой части выражения её значение присваивается переменной, стоящей в левой части. Далее значение этой переменной применено в правой части следующего выражения. Схематически это выглядит так, как показано на рис. 1.18 .
| Рис. 1.18. Схема решения задачи о встрече (аналитический явный способ) |
Аналитический неявный способ
В данной формулировке за счёт использования знака уравнивания получена связь переменных f(T, V1, V2, D, S) = 0 в виде системы уравнений. Устанавливая знак «?» на различные переменные, можно формулировать при необходимости целый ряд произвольных задач, например так:
При этом задачи формулируются пользователем и не предусматриваются специально моделировщиком. То есть модель имеет вид объекта. Мы получили более качественную модель. Идеализация её велика, но за счёт неявной формы записи появилась возможность изменения задачи, изучения на ней целого ряда проблем.
Имитационный способ представления задачи 1
При имитационном способе решения обязательным является наличие некоего счётчика, который позволяет моделировать процесс по шагам или по деталям процесса.
Имитационный алгоритмический способ
Повторяя пошагово расчёт в цикле, на каждом этапе работы алгоритма будем имитировать течение процесса ( рис. 1.19 ). Обратите внимание, что процесс берётся не в целом, а как бы в деталях, по шагам. Переменная t является координатой, а значит, отслеживается счётчиком с шагом h . Идея имитации продвигать пешехода и велосипедиста на величину V · h на каждом такте, где h достаточно малая величина. Поскольку мы рассматриваем множество актов движения по отдельности, можно по ходу менять все переменные модели, например, V . Если путь пройден большой ( S1 ), то можно устроить привал ( V = 0 ) на некоторое время. Остановка процесса имитации определяется суммой путей, пройденных велосипедистом и пешеходом навстречу друг другу, и сравнением её с расстоянием D .
| Рис. 1.19. Блок-схема решения задачи о встрече (имитационный алгоритмический способ) |
На формально-математическом языке алгоритм выглядит так, как показано ниже.
Имитационный геометрический способ
Решение может быть найдено геометрически. Для этого в осях (t, S) схемой, показанной на рис. 1.20 , строятся траектории движения объектов.
| Рис. 1.20. Схема решения задачи о встрече (имитационный геометрический способ) |
На рис. 1.21 вы видите картину, образованную двумя осциллограммами. Точка, в которой пересекаются осциллограммы, является предполагаемой точкой встречи двух объектов.
| Рис. 1.21. Вид решения задачи о встрече (имитационный геометрический способ) |
Имитационная статистическая постановка задачи
Главное отличие имитационных моделей от аналитических, которые мы рассмотрели выше, состоит в том, что имитационную модель можно постепенно усложнять, при этом результативность модели не падает.
Усложним задачу 1, введя в неё дополнительное условие. Представим, что на пути первого и/или второго объекта встретится помеха пусть это будет участок железной дороги со шлагбаумом, который работает по случайному закону. Если шлагбаум открыт, то объект может переходить железную дорогу, в противном случае он не имеет права этого делать.
Промоделировать случайную работу шлагбаума можно с помощью генератора случайных чисел (ГСЧ). В различные моменты времени ГСЧ будет выдавать случайное число r = 0 или r = 1 , это будет означать, что шлагбаум закрыт или, соответственно, открыт (см. рис. 1.22 ).
| Рис. 1.22. Вид функции случайных помех (к задаче о встрече) |
Частоту открывания шлагбаума можно контролировать, увеличивая или, наоборот, уменьшая число q , пересчитав случайное число r в z по формуле: z := ed(q r) .
На рис. 1.23 дана иллюстрация усложнённой задачи 1.
| Рис. 1.23. Иллюстрация к усложнённой задаче о встрече |
На рис. 1.24 представлена алгоритмическая схема задачи.
| Рис. 1.24. Схема решения задачи о встрече (имитационный статистический способ) |
Условия b1 и b2 контролируют, находится ли первый и/или второй объект менее чем за 5 метров от шлагбаума, когда тот закрыт. b1 = 1 ( b2 = 1 ) это условие «не двигаться», если объект находится в зоне шлагбаума и шлагбаум закрыт; a место нахождения шлагбаума, расстояние до шлагбаума от нуля; f флаг встречи. Если f = 0 , то встреча произошла и моделирование начинается снова с t = 0 , S1 = 0 , S2 = 0 , а к статистическим счётчикам необходимо прибавить итоги эксперимента номер эксперимента, время встречи, место встречи.
Поскольку алгоритм использует случайные числа в качестве исходных данных, придётся сделать несколько экспериментов и найти средние значения выходных величин. Результат одного эксперимента случаен и ни о чем не говорит. Среднее значение более информативно. Ещё более информативны сведения о первом и втором моменте среднем и разбросе значений вокруг него (дисперсии) и так далее.
Имитационный критериальный способ
Этот способ ещё один шаг к усложнению модели и приближению её к реальным условиям. Если во всех предыдущих случаях скорость V была известна, то теперь она непредсказуема, даже статистически, что чаще всего и наблюдается в реальных условиях. Скорость V объекта принимается из некоторых дополнительных моделей. Причём эти модели могут быть с обратными связями. Например, скорость может зависеть от обстановки, степени достижения цели, плана, целесообразности поведения, знания местности, желания двигаться (психологический мотив). Такая постановка ведёт к адаптивным системам и системам искусственного интеллекта.
Например, если объект (пешеход) имеет возможность осмотреть местность с обзорной башни, то он может заранее просчитать свой путь и затем следовать ему. Без обзорной башни пешеход может зайти в безвыходный тупик или бесконечно долго перебирать варианты пути. Для адаптивных систем вводится критерий для оценки перспективности выбора направления движения.
Итак, подведём итог.
Модель способ замещения реального объекта, используемый для его исследования, когда натуральный эксперимент невозможен, дорог, опасен, долговременен.
Примеры. Поскольку исследование Луны небезопасно для человека, для этой цели используют луноход как модель исследователя; поскольку реальные эксперименты над экономикой страны дороги по своим последствиям, то используют математические модели экономики для изучения последствий управляющих решений; поскольку процесс обработки металлов взрывом скоротечен во времени, то его изучают на модели в увеличенном масштабе времени, а процесс коррозии в уменьшенном; атом изучается в увеличенном масштабе пространства, а космогонические процессы в уменьшенном масштабе пространства; поскольку при проектировании объекта его попросту не существует, то исследование будущих свойств объекта ведётся на модели.
Модель несёт системообразующую и смыслообразующую роль в научном познании. На модели изучают неизвестные свойства предметов. Модель стремится как можно более ярко выразить структуру явления, его главные аспекты. Модель является концентрированным выражением сущности предмета или процесса, выделяя только его основные черты.
Знания это модели окружающего мира, фиксируемые человеком в его мозгу или на технических носителях. Модели обладают повышенной наглядностью, выделяя главные аспекты сущности, и активно используются в процессах познания и обучения. Человек, решая, как ему поступить в той или иной ситуации, всегда пытается представить себе последствия решения, для этого он проигрывает ситуацию, представляет её себе мысленно, строя модель в голове. Компьютер является усилителем для производства данной деятельности, инструментом информационной технологии. Компьютерные модели ускоряют процесс исследования, делают его более точным.
Алгоритмы знания, выстраиваемые человеком (или, шире, разумным существом) в цепочку так, чтобы соединить исходное состояние с желаемым, целью; это один из вариантов ряда мероприятий, шагов, приводящих к цели.
Таким образом, модели это основа разумной мыслительной деятельности; модели играют роль базиса, а моделирование роль инструмента для прогнозирования.
Процесс моделирования состоит из трёх стадий: формализации (переход от реального объекта к модели), моделирования (исследование и преобразования модели), интерпретации (перевод результатов моделирования в область реальности).
Модель есть зависимость F между входом X и выходом Y . Модель отражает закономерность Y = F(X) . Часто модель является законом. Модель верна в рамках допущенных при её построении гипотез. Поэтому модель ограничена некоторой областью и адекватна в ней.
Набор моделей образует научную дисциплину (механика, физика, горное дело и т. д.) Модель может быть расширена путём учёта в ней дополнительных параметров. Тогда область её применения становится шире.
Объект может быть представлен в виде аналитической или имитационной модели.
Аналитическое представление подходит лишь для очень простых и сильно идеализированных задач и объектов, которые, как правило, имеют мало общего с реальной (сложной) действительностью, но обладают высокой общностью. Аналитические модели обычно применяют для описания фундаментальных свойств объектов (поэтому ими так широко пользуется теоретическая физика), так как фундамент прост по своей сути. Сложные объекты редко удаётся описать аналитически.
Имитационное моделирование позволяет разлагать большую модель на части (объекты, «кусочки»), которыми можно оперировать по отдельности, создавая другие, более простые или, наоборот, более сложные модели. Таким образом, имитационное моделирование тяготеет к объектно-ориентированному представлению, которое естественным образом описывает объекты, их состояние, поведение, а также взаимодействие между ними. Имитационную модель можно постепенно усложнять и усложнять; аналитический способ этого не допускает или допускает, но с большими ограничениями.
Модель может быть соединена с другими моделями. Математически это означает совместное решение моделей (пересечение) и наложение тождеств на связываемые переменные. При связывании модели образуют систему, которая имеет определённую структуру (вложенную, параллельную, последовательную, смешанную, с обратными связями и т. д.)
Если к построенной модели добавить вопрос, то с помощью неё можно решить задачу, получить ответ, который заранее не очевиден. Если ответ заранее очевиден, то модель не строят. Обычно одна и та же модель годится для решения множества задач. Решая задачи, человек обычно строит модели в своей голове и оживляет (интерпретирует) их там же или на искусственном носителе (в среде моделирования).
модель + вопрос + дополнительные условия = задача .
В виде условий могут быть любые дополнительные выражения: равенства, присваивания начальных данных, неравенства, цели, функционалы и т. д., имеющие смысл ограничений, условий, дополнительных связей.
В виде вопроса может служить одна (или несколько) из неизвестных переменных.
Задача доопределяет свободные переменные модели, сужает область возможных решений.
Задачи, решаемые на модели, делятся на прямые и обратные. Прямые задачи по заданному X находят Y путём подстановки X в уравнение Y = F(X) . Обычно такие задачи называют задачами анализа . Обратные задачи по заданному Y находят X путём нахождения обратной функции F 1 и подстановки X = F 1 (Y) . Обычно их называют задачами синтеза . Если найти обратную функцию F 1 в явном виде затруднительно, то составляют вычислительные схемы для численного определения X . Часто к этому виду приводятся задачи управления объектами.
Ещё одной специфической задачей является нахождение по заданным X и Y зависимости F или её коэффициентов. Это задача построения (или настройки ) модели .
Роль модели
Построив модель, исследователь может:
- прогнозировать свойства и поведение объекта как внутри области, в которой построена модель, так и (при обоснованном применении) за её пределами (прогнозирующая роль модели);
- управлять объектом, отбирая наилучшие воздействия путём испытания их на модели (управляющая роль);
- познавать явление или объект, модель которого он построил (познавательная роль модели);
- получать навыки по управлению объектом путём использования модели как тренажёра или игры (обучающая роль);
- улучшать объект, изменяя модель и испытывая её (проектная роль).
Адекватность модели
Поскольку модель является выражением конечного ряда и только важнейших для конкретного исследования аспектов сущности, то она не может быть абсолютно идентичной моделируемому объекту. Кроме этого, реальный объект бесконечен для познания. Поэтому нет смысла стремиться к бесконечной точности при построении модели. Для выяснения необходимой степени адекватности обычно строят ряд моделей, начиная с грубых, простых моделей и двигаясь ко все более сложным и точным. Как только затраты на построение очередной модели начинают превышать планируемую отдачу от модели, то уточнение модели прекращают. Первоначальные шаги производятся в каком-либо существующем универсальном моделирующем пакете. После одобрения модели под неё пишется специализированный пакет. Необходимость в этом возникает в случае, если функционирование модели в универсальной среде моделирования не удовлетворяет требованиям быстродействия (или каким-то другим).
В задачи данного курса входит изучение приёмов и способов, необходимых для формализации, изучения и интерпретации систем.
Моделирование прикладная инженерная наука класса технологических. Моделирование дисциплина, ставящая целью построение моделей и их исследование посредством собственных универсальных методов, а также специфических методов смежных с ней наук (математика, исследование операций, программирование).
Классификация методов и моделей прогнозирования
Я занимаюсь прогнозированием временных рядов уже более 5 лет. В прошлом году мною была защищена диссертация по теме «Модель прогнозирования временных рядов по выборке максимального подобия», однако вопросов после защиты осталось порядочно. Вот один из них — общая классификация методов и моделей прогнозирования.
Обычно в работах как отечественных, так и англоязычных авторы не задаются вопросом классификации методов и моделей прогнозирования, а просто их перечисляют. Но мне кажется, что на сегодняшний день данная область так разрослась и расширилась, что пусть самая общая, но классификация необходима. Ниже представлен мой собственный вариант общей классификации.
В чем разница между методом и моделью прогнозирования?
Метод прогнозирования представляет собой последовательность действий, которые нужно совершить для получения модели прогнозирования. По аналогии с кулинарией метод есть последовательность действий, согласно которой готовится блюдо — то есть сделается прогноз.
Модель прогнозирования есть функциональное представление, адекватно описывающее исследуемый процесс и являющееся основой для получения его будущих значений. В той же кулинарной аналогии модель есть список ингредиентов и их соотношение, необходимый для нашего блюда — прогноза.
Совокупность метода и модели образуют полный рецепт!
В настоящее время принято использовать английские аббревиатуры названий как моделей, так и методов. Например, существует знаменитая модель прогнозирования авторегрессия проинтегрированного скользящего среднего с учетом внешнего фактора (auto regression integrated moving average extended, ARIMAX). Эту модель и соответствующий ей метод обычно называют ARIMAX, а иногда моделью (методом) Бокса-Дженкинса по имени авторов.
Сначала классифицируем методы
Если посмотреть внимательно, то быстро выясняется, что понятие «метод прогнозирования» гораздо шире понятия «модель прогнозирования». В связи с этим на первом этапе классификации обычно делят методы на две группы: интуитивные и формализованные [1].
Если мы вспомним нашу кулинарную аналогию, то и там можно разделить все рецепты на формализованные, то есть записанные по количеству ингредиентов и способу приготовления, и интуитивные, то есть нигде не записанные и получаемые из опыта кулинара. Когда мы не пользуемся рецептом? Когда блюдо очень просто: пожарить картошку или сварить пельмени — тут рецепт не нужен. Когда еще мы не пользуемся рецептом? Когда желаем изобрести что-то новенькое!
Интуитивные методы прогнозирования имеют дело с суждениями и оценками экспертов. На сегодняшний день они часто применяются в маркетинге, экономике, политике, так как система, поведение которой необходимо спрогнозировать, или очень сложна и не поддается математическому описанию, или очень проста и в таком описании не нуждается. Подробности о такого рода методах можно глянуть в [2].
Формализованные методы — описанные в литературе методы прогнозирования, в результате которых строят модели прогнозирования, то есть определяют такую математическую зависимость, которая позволяет вычислить будущее значение процесса, то есть сделать прогноз.
На этом общая классификация методов прогнозирования на мой взгляд может быть закончена.
Далее сделаем общую классификация моделей
Здесь необходимо переходить к классификации моделей прогнозирования. На первом этапе модели следует разделить на две группы: модели предметной области и модели временных рядов.
Модели предметной области — такие математические модели прогнозирования, для построения которых используют законы предметной области. Например, модель, на которой делают прогноз погоды, содержит уравнения динамики жидкостей и термодинамики. Прогноз развития популяции делается на модели, построенной на дифференциальном уравнении. Прогноз уровня сахара крови человека, больного диабетом, делается на основании системы дифференциальных уравнений. Словом, в таких моделях используются зависимости, свойственные конкретной предметной области. Такого рода моделям свойственен индивидуальный подход в разработке.
Модели временных рядов — математические модели прогнозирования, которые стремятся найти зависимость будущего значения от прошлого внутри самого процесса и на этой зависимости вычислить прогноз. Эти модели универсальны для различных предметных областей, то есть их общий вид не меняется в зависимости от природы временного ряда. Мы можем использовать нейронные сети для прогнозирования температуры воздуха, а после аналогичную модель на нейронных сетях применить для прогноза биржевых индексов. Это обобщенные модели, как кипяток, в которые если бросить продукт, то он сварится вне зависимости от его природы.
Классифицируем модели временных рядов
Мне кажется, что составить общую классификацию моделей предметной области не представляется возможным: сколько областей, столько и моделей! Однако модели временных рядов легко поддаются простому делению [3]. Модели временных рядов можно разделить на две группы: статистические и структурные.
- регрессионные модели (линейная регрессия, нелинейная регрессия);
- авторегрессионные модели (ARIMAX, GARCH, ARDLM);
- модель экспоненциального сглаживания;
- модель по выборке максимального подобия;
- и т.д.
- нейросетевые модели;
- модели на базе цепей Маркова;
- модели на базе классификационно-регрессионных деревьев;
- и т.д.
Для обоих групп я указала основные, то есть наиболее распространенные и подробно описанные модели прогнозирования. Однако на сегодняшний день моделей прогнозирования временных рядов имеется уже громадное количество и для построения прогнозов, например, стали использовать SVM (support vector machine) модели, GA (genetic algorithm) модели и многие другие.
Общая классификация
Таким образом мы получили следующую классификацию моделей и методов прогнозирования.
- Тихонов Э.Е. Прогнозирование в условиях рынка. Невинномысск, 2006. 221 с.
- Armstrong J.S. Forecasting for Marketing // Quantitative Methods in Marketing. London: International Thompson Business Press, 1999. P. 92 – 119.
- Jingfei Yang M. Sc. Power System Short-term Load Forecasting: Thesis for Ph.d degree. Germany, Darmstadt, Elektrotechnik und Informationstechnik der Technischen Universitat, 2006. 139 p.
UPD. 15.11.2016.
Господа, дошло до маразма! Недавно мне прислали на рецензию статью для ВАКовского издания со ссылкой на эту запись. Обращаю внимание, что ни в дипломах, ни в статьях, ни тем более в диссертациях ссылаться на блог нельзя! Если хотите ссылку, то используйте эту: Чучуева И.А. МОДЕЛЬ ПРОГНОЗИРОВАНИЯ ВРЕМЕННЫХ РЯДОВ ПО ВЫБОРКЕ МАКСИМАЛЬНОГО ПОДОБИЯ, диссертация… канд. тех. наук / Московский государственный технический университет им. Н.Э. Баумана. Москва, 2012.