Справочник от Автор24
Поделись лекцией за скидку на Автор24

Имитационное моделирование сложных систем

  • ⌛ 2010 год
  • 👀 593 просмотра
  • 📌 557 загрузок
  • 🏢️ ВлГУ
Выбери формат для чтения
Статья: Имитационное моделирование сложных систем
Найди решение своей задачи среди 1 000 000 ответов
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Конспект лекции по дисциплине «Имитационное моделирование сложных систем» pdf
Федеральное агентство по образованию Государственное образовательное учреждение высшего профессионального образования Владимирский государственный университет А.В. ДУХАНОВ О.Н. МЕДВЕДЕВА ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ СЛОЖНЫХ СИСТЕМ Курс лекций Владимир 2010 УДК 004.94 ББК 30в6 Д Рецензенты Профессор, зав. кафедрой информатики и вычислительной техники Владимирского государственного гуманитарного университета Ю.А.Медведев Доктор технических наук, профессор ВФ РАГС и МИЭМ А.С. Шалумов Печатается по решению редакционного совета Владимирского государственного университета Д Духанов, А. В. Имитационное моделирование сложных систем: курс лекций / А. В. Духанов, О. Н. Медведева; Владим. гос. ун-т. – Владимир: Изд-во Владим. гос. ун-та, 2010. – 115 с. ISBN Формулируются основные понятия и концепции имитационного моделирования сложных систем. Подробно излагается методика построения имитационных моделей. Также рассматривается прогнозирование параметров системы, как одно из приложений имитационного моделирования. Курс лекций предназначен для студентов специальностей 010501 – прикладная математика и информатика, 230401 – прикладная математика для изучения дисциплины «Имитационное моделирование сложных систем». Ил. 10. Табл. 9. Библиогр.: 7 назв. УДК 004.94 ББК 30в6 ISBN © Владимирский государственный университет, 2010 ОГЛАВЛЕНИЕ Предисловие...................................................................................... 5 Введение .......................................................................................... 7 Лекция 1. Общие принципы моделирования ................................. 9 1.1. Предварительные определения ................................... 9 1.2. Понятие «Модель»........................................................ 9 1.3. Требования, предъявляемые к модели. Функции модели ......................................................................... 10 1.4. Классификация моделей ............................................ 11 1.5. Примеры моделей ....................................................... 14 Лекция 2. Имитационное моделирование .................................... 16 2.1. Понятие имитационного моделирования ................. 16 2.2. Преимущества и недостатки имитационного моделирования ........................................................... 17 2.3. Процесс имитационного моделирования ................. 18 Лекция 3. Концепция универсальной системы имитационного моделирования .................................. 22 Лекция 4. Датчики псевдослучайных чисел ................................ 26 4.1. Датчики псевдослучайных чисел .............................. 26 4.2. Оценка качества .......................................................... 28 4.3. Выбор параметров ЛК-генератора ............................ 29 4.4. Проверка генераторов псевдослучайных чисел ....... 33 4.5. Проверка равномерности распределения элементов последовательности с помощью критерия Колмогорова-Смирнова ........................... 34 4.6. Спектральный тест ..................................................... 35 Лекция 5. Системная динамика ..................................................... 38 5.1. Предпосылки и ограничения ..................................... 38 5.2. Системная динамика .................................................. 40 5.3. Базовые принципы системной динамики ................. 42 3 5.4. Преобразование системно-динамической модели, реализованной в PSC, в код алгоритмического языка высокого уровня .............. 49 Лекция 6. Концепция объектно-ориентированной системы моделирования .............................................................. 62 Лекция 7. Статистическая обработка результатов эксперимента................................................................. 67 7.1. Обозначения ................................................................ 70 7.2. Предварительные понятия и определения ............... 71 7.3. Оценка параметров линейной многофакторной модели ......................................................................... 72 7.4. Построение линейной многофакторной регрессионной модели ............................................... 74 Лекция 8. Прогнозирование параметров системы...................... 85 8.1. Прогнозирование с помощью методов экстраполяции ............................................................ 89 8.2. Модель Хольта-Уинтерса ........................................ 110 Контрольные вопросы.................................................................. 114 Заключение.................................................................................... 117 Библиографический список ......................................................... 118 4 ПРЕДИСЛОВИЕ В самых разных областях практической деятельности – организации производства и снабжения, эксплуатации транспорта, планировании боевых действий и выборе вооружений, расстановке кадров, бытовом обслуживании и так далее – возникают сходные задачи, решение которых можно осуществить путем построения имитационных моделей. Цель курса лекций «Имитационное моделирование сложных систем» – не делая акцента ни на одной области практики, познакомить студентов, обучающихся по специальностям «Прикладная математика и информатика» и «Прикладная математика», с основными разделами моделирования сложных систем во времени. Курс охватывает следующие разделы: 1) общие принципы моделирования; 2) имитационное моделирование; 3) концепция универсальной системы имитационного моделирования; 4) датчики псевдослучайных чисел; 5) системная динамика; 6) концепция объектно-ориентированной системы моделирования; 7) статистическая обработка результатов эксперимента; 8) прогнозирование параметров системы. В разделе «Общие принципы моделирования» приводится определение понятия «модель», требования, предъявляемые к модели, функции модели и классификация моделей. В разделе «Имитационное моделирование» приводится понятие имитационного моделирования, рассматривается процесс, а также преимущества и недостатки имитационного моделирования. 5 В разделе «Концепция универсальной системы имитационного моделирования» приводятся основные принципы построения универсальной системы имитационного моделирования. В разделе «Датчики псевдослучайных чисел» приводится описание датчиков псевдослучайных чисел и их применения при построении имитационных моделей сложных систем, в которых присутствует фактор случайности. В разделе «Системная динамика» рассматривается совокупность принципов и методов анализа динамических управляемых систем с обратной связью и их применения для решения производственных, организационных и социальноэкономических задач. В разделе «Концепция объектно-ориентированной системы моделирования» содержится описание основных принципов объектно-ориентированной системы моделирования. В разделе «Статистическая обработка результатов экспериментов» рассматривается методика оценки влияния факторов системы на ее отклик. В разделе «Прогнозирование параметров системы» рассматриваются методы оценки неизвестного параметра в будущем периоде или в неизвестной части пространства. Курс лекций предваряет «Введение», которое содержит краткую историческую справку о возникновении и развитии моделей и моделирования. 6 ВВЕДЕНИЕ В процессе жизнедеятельности нам приходится сталкиваться с проявлениями окружающего нас мира. На нас различным образом воздействуют другие люди, животные, техногенные и природные объекты. Мы также воздействуем на них и получаем соответствующую реакцию. Она может возникать почти мгновенно или с некоторым запаздыванием. Негативная реакция способствует накоплению отрицательного опыта, а позитивная – положительного. Таким способом мы отвечаем на вопрос: «Что будет, если…?» и формируем знания о процессах, происходящих в окружающем мире. Благодаря этим знаниям, расширяются наши возможности. Начало истории моделирования можно отнести к истокам самого человечества и цивилизаций. Наскальные рисунки, которые иллюстрируют события того далекого времени, можно назвать «моделью». Скульптуры античной эпохи можно определить как «модели» соответствующих персонажей. С ростом цивилизаций совершенствовались модели, расширялось их применение. Например, в эпоху древнего Рима и даже ранее люди могли создавать динамические модели, т.е. имитировать (воспроизводить) нужные события. Будущие воины отрабатывали приемы на деревянных мечах. Полководец планировал на столе с помощью карты и каменных фигурок предстоящее сражение. Во всех случаях все преследовали одну общую цель – получить более положительный эффект с будущих событий. Т.е. модель позволяла вышеуказанным людям улучшить свои действия и избежать (снизить влияние) негативных событий. Развитие моделирования неразрывно связано с успехами всей науки. Так в момент открытия дифференциальных уравне7 ний стали появляться математические модели динамических процессов. С появлением электронных вычислительных устройств связаны компьютерные имитационные модели, способные имитировать исследуемые процессы в различных масштабах времени. Цель нашего курса – рассмотреть основные понятия и принципы имитационного моделирования, условия, при которых оно необходимо, основные свойства и содержание таких моделей. Перед этим мы познакомимся с основными понятиями моделирования и классификацией моделей. 8 ЛЕКЦИЯ 1. ОБЩИЕ ПРИНЦИПЫ МОДЕЛИРОВАНИЯ 1.1. Предварительные определения Определение 1.1. Изоморфизмом называют взаимнооднозначное отображение из одной системы S в другую систему S / такое, что любому элементу x  S ставится единственный элемент x /  S / и наоборот. Определение 1.2. Гомоморфизмом называют отображение элементов одной системы S в другую систему S / с сохранением значимых свойств (отношений). 1.2. Понятие «Модель» Когда говорят о моделировании, то оперируют тремя основными понятиями: 1) объект – тот реальный предмет, процесс, который необходимо изучить или описать; 2) система – объект, процесс в котором участвующие элементы связаны некоторыми связями и отношениями; 3) модель – результат отображения исследуемого объекта, системы в известных для нас компонентах и правилах. Фактически мы ввели общее понятие модели, как представление (отображение) исходного объекта в рамках заданных форм и правил. Теперь приведем одно из развернутых определений данного понятия. Определение 1.3. Модель – представление объекта, системы или понятия в некоторой форме, отличной от реального существования, для его (ее) замещения другой системой с целью изучения оригинала или воспроизведения его каких - либо свойств. 9 Модель может быть точной копией какого-либо объекта (хотя и в другом масштабе и из другого материала) или сохранять лишь часть значимых при постановке задачи его свойств. Во втором случае модель является абстракцией объекта. Когда модель полностью дублирует объект, то она ему изоморфна. Абстрактные модели являются гомоморфными по отношению к объекту. Большинство моделей лишь гомоморфны, т.е. являются упрощенным представлением реального мира или абстракцией. Тем не менее, они отвечают на поставленные в рамках той или иной задачи вопросы. 1.3. Требования, предъявляемые к модели. Функции модели 1.3.1. Требования Модель должна быть: 1) простой и понятной пользователю; 2) целенаправленной, надежной в смысле гарантии от абсурдных ответов; 3) удобной в управлении и «общении» с ней; 4) полной, с точки зрения решения главных задач; 5) адаптивной, т.е. позволять без существенных усилий переходить к другим модификациям или обновлять данные, т.е. совершенствоваться во взаимодействии с пользователем; 6) адекватной, т.е. в полной мере в соответствии с постановкой задачи воспроизводить оригинал. 1.3.2. Функции модели В силу того, что идея представления системы с помощью модели носит столь общий характер, четкого определения функций модели не приводят. Тем не менее, можно определить пять основных направлений функций. 10 1) Модели могут помочь нам упорядочить нечеткие или противоречивые понятия, например, при сетевом планировании некоторого производственного процесса. 2) Все языки, в основе которых лежит слово, оказываются неточными, когда дело доходит до сложных понятий и описаний. Речь идет о том, что рассматриваемая система более компактно представляется в форме принятых обозначений, блоков, уравнений и т.д., нежели в словесном описании. В качестве примера можно привести уравнение теплопроводности. 3) Модели часто применяются как превосходное средство обучения лиц, которые должны уметь справляться со всевозможными случайностями до возникновения критической ситуации (модели космических кораблей, тренажеры для обучения водителей и др.). 4) Прогнозирование поведения моделируемых объектов. Здесь модель может отвечать на вопрос: «Что будет, если…». 5) Модели позволяют производить контролируемые эксперименты в ситуациях, где экспериментирование на реальных объектах экономически нецелесообразно или практически невозможно. Здесь обычно варьируют несколько параметров системы, поддерживая остальные неизменными, и наблюдают результаты эксперимента. Часто, моделируя систему, можно узнать значительно больше о ее внутренних взаимосвязях, чем оперируя с реальной системой. 1.4. Классификация моделей Мы можем давать различные классификации моделей, но не одна из них не будет полностью правильной (как мы уже знаем – идея представления системы с помощью модели носит столь общий характер). Тем не менее, можно привести общую классификацию по принципу перемещения от точности до абстракции. 11 1.4.1. Укрупненная классификация 1) Физическая (натуральная) модель внешне напоминает изучаемую систему и позволяет воспроизводить ее физические свойства. 2) Масштабируемая модель может представлять объект в различных масштабах (уменьшенные модели автомобилей, модель атомов). 3) Аналоговая модель – такая модель, в которой свойство реального объекта представляется другим свойством, аналогичным по поведению объекта. 4) Управленческие игры – когда во взаимодействие вступают люди и машинные компоненты. 5) Компьютерная модель – модель, которая представляется в виде компьютерной программы. Она позволят проводить автоматизированное исследование изучаемой системы. 6) Математическая модель – модель, в которой для представления процесса используют символы, а не физические свойства (дифференциальные уравнения и т.п.). Математические модели – совокупность математических объектов и отношений между ними, которая адекватно отображает некоторые свойства объекта. Рис. 1. Укрупненная классификация моделей по принципу перемещения от точности к абстракции Математическая модель представляет собой самостоятельное описание исследуемой системы в принятых терминах, поня12 тиях, соотношениях. Она сама по себе является самостоятельной структурой. В соответствии с правилами, ограничениями, принятыми и выведенными для соответствующего класса структурных компонент, над моделью можно проводить исследования, как бы оторвавшись, т. е. абстрагировавшись от реального объекта. Когда модель построена корректно и является адекватной, можно открывать новые свойства исследуемого объекта. Благодаря этому, с помощью абстрактных моделей могут осуществляться научные открытия. 1.4.2. Детализированная классификация моделей Классификацию моделей можно осуществлять более детально, уточняя общие классы более частными. Объединяя приводимые в различной литературе классы, можно получить следующий список моделей: 1) физическая – модель, использующая эффекты законов физики, которые встречаются в оригинале; 2) биологическая – модель, биологически связанная или подобная оригиналу; 3) материальная – модель, использующая материалы, которые могут быть в оригинале; 4) геометрическая – модель, геометрически подобная оригиналу; 5) структурная – модель, структурно подобная оригиналу, т.е. содержащая связи между компонентами, которые подобны связям в оригинале; 6) функциональная – модель, функции которой, т.е. процессы ввода-вывода, подобны функциям оригинала; 7) детерминированная – модель, в которой не задействованы случайные эффекты; 8) стохастическая – модель, на которую воздействуют случайные эффекты (в модели используются датчики случай13 ных/псевдослучайных чисел для имитации случайных эффектов); 9) статистическая – модель, не изменяющаяся во времени; 10) динамическая – модель, изменяющаяся во времени; 11) непрерывная – модель, все параметры которой представляют собой непрерывные функции времени, а значения параметров изменяются без скачков; 12) дискретная – модель, имеющая скачкообразные изменения значений параметров; 13) компьютерная – модель, в роли которой выступает компьютерная программа; 14) теоретическая – модель, полученная на основе изучения физических закономерностей; 15) формальная – модель, полученная на основе проявления свойств моделируемого объекта во внешней среде, т.е. рассмотрения оригинала как кибернетического черного ящика; 16) линейная – модель, состоящая из линейных соотношений; 17) нелинейная – модель, содержащая хотя бы одно нелинейное соотношение; 18) алгоритмическая – модель, представленная в виде систем уравнений; 19) аналитическая – модель, представленная в виде зависимостей выходных от внутренних параметров. Некоторые классы, в том числе последние шесть классов моделей, относятся к группе математических моделей. 1.5. Примеры моделей Пример 1. Microsoft Flight Simulator – серия гражданских авиасимуляторов, выпускаемые корпорацией Microsoft. MSFS можно рассматривать как специализированное программное обеспечение, 14 использующееся как тренажерный комплекс. Оно используется летными учебными заведениями для обучения пилотов. Например, MSFS позволяет освоить первоначальные навыки пилотирования в простых и сложных метеоусловиях на различных этапах полета, от предполетной подготовки, взлета и полета до выполнения снижения и посадки. Могут рассматриваться штатные и внештатные ситуации, в том числе в рамках тренировки взаимодействия экипажа по отработке аварийных ситуаций согласно руководству по летной эксплуатации соответствующего типа воздушного судна. На базе тренажерных комплексов, использующих MSFS в качестве платформы, принимаются некоторые зачеты и экзамены. Приведем классы моделей, к которым можно отнести Microsoft Flight Simulator: 1) функциональная; 2) стохастическая; 3) динамическая; 4) дискретная; 5) компьютерная; 6) теоретическая; 7) алгоритмическая (и да, и нет). Пример 2. Подопытная мышь. 1) физическая; 2) биологическая; 3) материальная; 4) структурная (и да, и нет); 5) функциональная; 6) динамическая; 7) непрерывная. 15 ЛЕКЦИЯ 2. ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ Приведенный в лекции 1 список классов моделей не содержит такого понятия как имитационная модель. На самом деле имитационные модели могут быть одновременно представителями нескольких классов. 2.1. Понятие имитационного моделирования Когда говорят об имитационном моделировании, то предполагают использование некоторой структурной схемы, математического обеспечения, а также вычислительного устройства для создания соответствующей программы. Отсюда следует определение имитационного моделирования. Определение 2.1. Имитационной моделью называют абстрактную динамическую модель, реализованную, как правило, на ЭВМ, и воспроизводящую в рамках установленных ограничений поведение оригинала в хронологическом порядке. Имитационные модели не способны формировать решение в таком виде, как в аналитических моделях, а служат лишь средством для анализа поведения системы (оригинала) в условиях, которые определяются экспериментатором. По сути, имитационное моделирование является экспериментальной и прикладной методологией, которая имеет следующие цели: 1) описать поведение системы; 2) построить теории и гипотезы, которые могут объяснить наблюдаемое поведение; 3) использовать данные теории для предсказания будущего поведения системы. 16 2.2. Преимущества и недостатки имитационного моделирования Имитационное моделирование целесообразно применять при наличии условий: 1) Не существует законченной математической постановки данной задачи (например, модель многофазных, многоканальных систем массового обслуживания). 2) Аналитические методы имеются, но очень сложны и трудоемки, а имитационное моделирование дает более простой способ решения. 3) Аналитические решения имеются, но их реализация невозможна из-за недостаточной подготовки имеющегося персонала. В этом случае сопоставляются затраты на работу с имитационным моделированием и затраты на приглашение специалистов со стороны. 4) Кроме оценки определенных параметров необходимо осуществлять наблюдение за ходом процесса в течение определенного периода. 5) Имитационное моделирование может быть единственно возможным вследствие трудности постановки эксперимента и наблюдения явлений в реальных условиях (наблюдение за поведением космических кораблей). 6) Может понадобиться сжатие шкалы времени (как замедление, так и ускорение; например, исследование проблемы развития городов). Вышеперечисленные условия можно определять как значимые преимущества применения имитационных моделей. Также можно заметить, что имитационное моделирование являются непревзойденным средством создания средств обучения в виде тренажеров, симуляторов и т.д. С помощью имитационного моделирования можно разыграть реальные процессы и ситуации, которые помогут исследователю понять и прочувствовать проблему, что стимулирует процесс поиска нововведений. Благода17 ря этому, порядка 30% из всех используемых на практике моделей являются имитационными моделями. Вместе с тем имитационное моделирование обладает рядом недостатков. Во-первых, имитационное моделирование представляет собой весьма дорогостоящий процесс, требующий существенных затрат временных ресурсов и привлечения высококвалифицированных специалистов. Во-вторых, в процессе моделирования не представляется возможным получить точный результат. При этом оценка точности может быть выполнена путем анализа чувствительности модели к изменению определенных параметров. В-третьих, имитационное моделирование в действительности не отражает полного положения вещей. Данный факт необходимо учитывать при анализе исследуемого объекта (процесса). 2.3. Процесс имитационного моделирования Построение имитационной модели, так же, как и любое исследование, требует проведения работ по следующим этапам. 1) Определение границ модели. 2) Разработка концептуальной модели. 3) Подготовка исходных данных. 4) Создание концептуальной модели в виде диаграммы. 5) Трансляция модели. 6) Оценка адекватности модели. 7) Планирование машинных экспериментов. a) Стратегическое планирование. b) Тактическое планирование. 8) Моделирование – проведение эксперимента. 9) Анализ (интерпретация) результатов. 10) Документирование и реализация. 18 Границы системы определяются таким образом, чтобы охватить те компоненты, взаимодействие которых определяет важные стороны поведения системы. При этом система должна быть способна сама генерировать любую ситуацию, любые затруднения, которые, возможно потребуется проанализировать. Разработка концептуальной схемы объекта (системы) является одним из самых важных этапов исследования. На этом этапе осуществляется формализация системы, т.е. переход от реального объекта к некоторой логической схеме (абстракции). Такая формализация начинается со словесного описания реальности в системе принятых терминов и формальных понятий. Здесь «приводятся сведения о природе и параметрах (характеристиках) элементарных явлений исследуемой системы, о виде и степени взаимодействия между ними, о месте и значении каждого элементарного явления в общем процессе функционирования системы». Завершается формализация построением общей схемы процессов, подлежащих исследованию. В дальнейшем полученная схема уточняется и дополняется в соответствии с тем уровнем детализации, который определяется (стратифицируется) постановкой задачи. Действия, которые позволяют представить модель в виде совокупности частей (подсистем, элементов), называют декомпозицией системы. Составные части модели должны обеспечивать сохранение целостности системы, с одной стороны, а с другой – достижение поставленных целей моделирования. Процесс построения концептуальной схемы системы завершается структуризацией (указанием и общим описанием связей между выделенными элементами системы), а также укрупненным описанием динамики функционирования системы и ее возможных состояний. От того, как будет построена концептуальная схема имитационной модели, зависит результат исследования. 19 Следующий, не менее важный этап имитационного моделирования – подготовка исходных данных. В некоторых случаях он проходит параллельно с построением концептуальной схемы. Фактически на данном этапе формируется информационное пространство системы. Здесь выявляются количественные характеристики (параметры) функционирования системы и ее элементов, численные значения которых составят исходные данные для моделирования. Когда подготовлены исходные данные и концептуальная схема модели, последняя оформляется в виде диаграммы, состоящей из стандартных блоков. Это технический этап, благодаря которому схема модели становится доступной для понимания широкому кругу специалистов, владеющих соответствующей методикой. Как правило, диаграмма оформляется с помощью специализированных прикладных программных средств, таких как BP Win, Microsoft Project, Visio. На этапе трансляции модели осуществляется преобразование диаграммы модели в отдельную компьютерную программу или сценарий специализированной системы моделирования. В современных версиях таких систем такой этап выполняется автоматически, благодаря наличию визуальных средств построения моделей. Оценка адекватности полученной модели осуществляется путем ее экспертизы и проигрывания на тестовых данных. На данном этапе модель проверяется на корректность, т.е. на соответствие реальному объекту в рамках поставленной задачи (границ системы). Когда модель не адекватна, то она подвергается исправлениям и корректировкам до приемлемого уровня степени уверенности, с которой можно судить о корректности выводов, касающихся реальной системы. Добившись адекватности модели, исследователи осуществляют стратегическое и тактическое планирование эксперимента. Когда говорят о стратегическом планировании, то пре20 дусматривают схему получения желаемых результатов с помощью имитационной модели. На тактическом уровне планируют способ проведения каждой серии испытаний, предусмотренных планом эксперимента. На этапе экспериментирования осуществляется проигрывание запланированных сценариев с целью получения желаемого результата. После того, как получены результаты моделирования, наступает важный этап исследования – интерпретация результатов. По полученным выходным данным эксперимента строятся выводы о поведении исследуемой системы. При этом очень важно не пропустить эффект двоякого прочтения одних и тех же результатов. В этом случае следует дорабатывать модель. На этапе интерпретации результатов также дается заключение о полезности или бесполезности модели. В случае полезности модели осуществляется ее реализация, т.е. практическое использование. На данном этапе выполняются вспомогательные действия, такие как регистрация хода осуществления исследования и его результатов, документирование процесса создания и использования модели. 21 ЛЕКЦИЯ 3. КОНЦЕПЦИЯ УНИВЕРСАЛЬНОЙ СИСТЕМЫ ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ В предыдущей лекции были рассмотрены принципы построения имитационной модели сложной системы. Они являются классическими и подходят для имитационного моделирования любой динамической системы. Основным недостатком этих принципов является трудоемкость построения модели для систем, содержащих сложные многоуровневые процессы. Основные трудности при построении имитационных моделей вызывают математический и программный этапы. В большинстве случаев математическое и программное обеспечение в разных моделях содержат одинаковые и (или) похожие блоки. Поэтому при создании моделей на разработку необходимых модулей нерационально расходуется время. Подход (концепция) универсальной системы моделирования, который основывается на автоматизации процедур, позволяет не только сэкономить время разработки и реализации имитационной модели, но и сделать процесс самого моделирования более простым и доступным. Тем самым сокращается вероятность возникновения ошибок в ходе создания моделей из-за недостаточного знания языковых средств, невнимательности в работе с большими объемами информации и т.д. Концепция универсальной системы имитационного моделирования (УСИМ) основывается на трех принципах: 1) простота; 2) модульность; 3) универсальность. Принцип простоты заключается в минимуме необходимых знаний пользователя о системе моделирования, и, как следствие в минимуме трудозатрат. 22 Принцип модульности предусматривает наличие в УСИМ общих для различных классов систем моделей – готовых модулей. При необходимости они подсоединяются к разрабатываемой модели, уточняются и дополняются. Как показывает анализ задач, возникающих в сфере системного анализа и исследования операций, автоматизации проектирования и исследования сложных систем, основной формой задания реальных объектов является описание элементов системы (модулей УСИМ) в виде конечных автоматов, а связей между элементами – многоуровневых схем сопряжения. Заключительным принципом построения УСИМ является принцип универсальности. Он определяется способностью УСИМ охватить сложные многоуровневые объекты произвольной структуры, элементы которых являются динамическими системами в широком понимании. Существующие системы моделирования можно условно разделить на две группы: системы, использующие классические языки моделирования (например, GPSS, iThink Analyst, Arena) и специализированные системы, ориентированные на решение задач имитационного моделирования какой-то конкретной узкой предметной области (например, ПАК «Волна»). Очевидно, что достоинства одной группы систем моделирования являются одновременно недостатками другой. Например, наличие в системе моделирования языковых средств для разработки сценариев позволяют решать широкий класс соответствующих задач. Специализированные системы моделирования позволяют проводить более детальное и адекватное моделирования объектов, для анализа которых они собственно и создавались. С этой точки зрения, полностью универсальную систему имитационного моделирования построить, естественно, невозможно. Но вызывает интерес создание системы, охватывающей наибольший спектр реальных объектов и, прежде всего, систем, продуктом которых является управление. 23 Учитывая рассмотренные принципы, концептуальная схема УСИМ может быть представлена в виде, показанном на рис. 2. Рис. 2. Концептуальная схема УСИМ Данная схема основана на том, что УСИМ должна осуществлять, по крайней мере, следующую совокупность операций: 1) ввод и формирование области исходных данных; 2) визуальное представление элементов моделируемой системы и схем сопряжения; 3) имитация модуля и взаимодействия элементов системы; 4) обработка результатов моделирования; 5) управление моделью. Исходя из этого, основным назначением элементов концептуальной схемы УСИМ будет являться: 1) для интерфейса пользователя – обеспечение представления состава и структуры модели реальной системы посредством модулей и возможных схем сопряжения УСИМ; 2) для библиотек стандартных процедур имитации и модулей – реализация модельного представления исследуемой системы; 24 3) для библиотек стандартных процедур обработки результатов – представление и предварительный анализ результатов моделирования в виде, удобном для восприятия и дальнейшего анализа; 4) для ядра УСИМ – обеспечение взаимодействия элементов УСИМ и управление процессом моделирования. Применение УСИМ позволяет сократить количество этапов разработки, при этом время реализации имитационной модели существенно сокращается. Этапы построения универсальной модели: 1) разработка концептуальной модели; 2) подготовка исходных данных; 3) реализация концептуальной модели в виде диаграммы; 4) планирование машинных экспериментов; 5) моделирование; 6) анализ результатов. Таким образом, технология моделирования в УСИМ, базирующаяся, главным образом, на экстраполяции исходных данных о некоторой физической системе на содержательную основу УСИМ, исходные положения которой определены независимо от моделируемого объекта, позволяет не только сократить промежуток времени между возникновением идеи о построении модели и получением результатов, но и открывает широкие возможности по проведению самых разнообразных экспериментов с составом, структурой и способами функционирования реальной системы. 25 ЛЕКЦИЯ 4. ДАТЧИКИ ПСЕВДОСЛУЧАЙНЫХ ЧИСЕЛ Приведем основные определения, используемые при изучении материалов лекции. Определение 4.1. Числа называют взаимноA, B простыми, если их наибольший общий делитель (НОД) равен единице. Например, числа 5 и 10 не являются между собой взаимно-простыми, т.к. их НОД равен пяти. Числа 15 и 49 являются взаимно простыми. Определение 4.2. Некоторое значение l  0 считается равным k по модулю m , где 0  k  m , если остаток от деления данного числа на m равен k . Выражение записывается следующим образом: l  k mod m . 4.1. Датчики псевдослучайных чисел Когда ставится задача имитационного моделирования некоторой сложной системы, зачастую в ней предполагается наличие случайностей. Например, в описании системы финансовых потоков в торговой компании встречается случайный фактор – спрос на продаваемую продукцию. Если мы рассматриваем производство болтов для некоторой сложной металлической конструкции, то их размер также может служить случайной величиной. Поэтому в имитационной модели должен присутствовать блок, отвечающий за моделирование случайных величин. Такие блоки должны выдавать последовательность случайных значений, которые должны быть распределены по заданному закону. В качестве «истинных» генераторов случайных чисел используют различные физические объекты, изменение состояния которых можно зарегистрировать существующими приборами. Например, из урановой руды вылетают частицы, которые можно 26 зарегистрировать. Интервал времени между регистрациями частиц можно принять как случайную величину. Мы же будем говорить о генераторах псевдослучайных чисел, которые можно реализовать на ЭВМ. Определение 4.3. Датчиком псевдослучайных чисел называют алгоритм (программный модуль), который позволяет генерировать последовательность разных элементов, значения которых находятся в заданном диапазоне. Нужно четко понимать, что любой генератор дает не случайную, а детерминированную последовательность чисел. У этой последовательности есть период, т.е. длина подпоследовательности, в которой все значения не повторяются. Наиболее популярными и одними из простых в реализации являются датчики, основанные на линейном конгруэнтном (ЛК) методе. Определение 4.4. ЛК-генератор – алгоритм, вычисляющий последовательность xn  целых чисел по рекуррентной формуле: xn1  axn  c  mod m . (1) Чтобы определить генератор, нужно задать четверку целых чисел m, a, c, x0 . Будем предполагать, что m  2, 1  a  m ( a  0 или a  1 брать бессмысленно, а все остальные по модулю m эквивалентны числам из диапазона 0  a  m ), 0  c  m и 0  x0  m . Нам будет удобно выделить три случая: xn1  axn  c  mod m, c  0 , (2) xn1  axn mod m, m – составное число, (3) xn1  axn mod m, m – простое число. (4) Генераторы (3), (4) являются частным случаем (2) и определяются тройкой параметров m, a, x0, причем на самом деле в случае (4) выбор x0 безразличен, при один и тот же генератор. 27 1  x0  m получается Члены ЛК-последовательности с шагом k  0 связаны формулами:  a k  1  xn  k   a k xn  c mod m ,  a  1   xn k  a k xn mod m . Таким образом, мы можем «прогнозировать» поведение ЛК-генераторов. Они являются строго детерминированными. 4.2. Оценка качества Оценка качества генератора псевдослучайных чисел осуществляется по двум критериям: 1) Равномерность распределения. 2) Независимость испытаний. Равномерность распределения можно трактовать как симметричность расстановки дискретных точек, посещаемых последовательностью. Независимость также можно рассматривать как определенную симметрию, но уже в пространстве размерности больше единицы. Значение xn 1 ЛК-последовательности зависит от единственного предыдущего xn . Период повторения последовательности l определяется как l  mint : xn  xn t . Очевидно, что l  m . При выборе значения параметров генератора следует добиваться увеличения l . Число различных значений, встречающихся среди членов последовательности также равно l . Даже если члены последовательности затем нормируются к интервалу 0,1 с помощью линейного преобразования un  xn m , все равно значения последовательности un  не заметают весь диапазон 0,1 , а принимают лишь l состояний. Именно этой характеристикой ограничена разрешающая способность имитационного эксперимента по вероятности. 28 Естественно, предпочтительно использовать ЛКгенераторы с полным периодом l  m . Можно показать, что генераторы с неполным периодом обычно имеют не просто l  m , а существенно меньше (в несколько раз). Помимо того, обычно на дискретной сетке 0, 1, 2, ..., m  1 значения, встречающие в качестве членов xn  у генераторов с неполным периодом рас- ставлены неравномерно. Это сильно сказывается на результатах моделирования при попытках увеличить точность: при мелком разбиении сетки 0, 1, 2, ..., m  1 на равные интервалы мы заинтересованы в равновозможном попадании точки в каждый из этих интервалов. Введем еще одно определение, которое отражает качество датчика псевдослучайных чисел.   Определение 4.5. Число s0  min s : a  1s  0 mod m наsN зывается мощностью ЛК-последовательности. Она показывает, многочленом, какой степени (по k ) связаны между собой два значения последовательности xn и xn  k . Этот показатель тем лучше, чем он больше – при этом ослабевают, усложняются связи между соседними членами последовательности. Требуется, чтобы последовательность чисел, вырабатываемая генератором, была хорошо перемешана. Если мы считаем xn  моделью случайной последовательности, то ее члены должны походить на результаты независимых испытаний. 4.3. Выбор параметров ЛК-генератора Приведем некоторые утверждения, которые связывают рассмотренные характеристики качества генератора с его набором параметров m, a, c, x0 . Лемма 1. Для ЛК-генератора l  m . 29 Лемма 2. Пусть последовательность yn  получается из последовательности xn  с помощью правила yn  xn mod d . Если d – делитель m , то из (1) немедленно следует yn1  ayn  c  mod d и период последовательности yn  не превосходит d . Лемма 3. Период последовательности ЛК-генератора (2) равен m (то есть является полным) если и только если выполнены условия: 1) Аддитивный член c взаимно прост с модулем m . 2) Если p – простой делитель модуля m  p делитель числа b  a  1. 3) Если 4 – делитель модуля m  4 – делитель b  a  1 . Лемма 4. Пусть a и m взаимно просты. Если a   1 mod m , то  называется порядком числа a по модулю   m . Обозначим  m  max   Z  : a   1 mod m – наиболь1am шее возможное значение порядков чисел по модулю m . Те числа a , на которых  m достигается, называются первообразными элементами по модулю m . Максимально возможный период последовательности для генератора (3) равен  m . Он реализуется, если выполнены два условия. 1) Стартовое значение x0 взаимно просто с модулем m . 2) Мультипликатор a – первообразный элемент по модулю m. Лемма 5. Период последовательности ЛК-генератора (4) равен m  1 при всяком a : 1  a  m . e Лемма 6. Пусть 1  a  m , m  p1e1 p2e2  ... pt t – канониче- ское разложение модуля m , все pk – простые, все ek  1 , тогда два утверждения эквивалентны: 30 1)  s  N такое, что a  1s  0 mod m . 2) Хотя бы один ek  1 и b  a  1 представимо в виде f b  rp1f1 p2f 2  ... pt t , где все f k  1 , все pk взаимно просты с r . Если число s существует, оно ограничено снизу величиной:  e   s  max  k   . 1 k  t   f k   Сформулируем теперь кратко основные выводы из приведенных лемм, которые позволяют сделать выбор в пользу тех или иных значений параметров ЛК-генератора. Модуль m должен быть больше для всех трех типов генераторов, поскольку он непосредственно влияет на период повторения ЛК-последовательности (см. лемму 1). Обычно ограничением сверху служат соображения быстродействия генерирующей числа программы, поскольку реализация арифметики длиной больше машинного слова вызывает довольно значительные накладные расходы. Обычно для конкретного компьютера, очевидно, такое значение не должно превышать m , чтобы эти расходы были приемлемы. Если предполагается использовать последовательность yn , полученную из последовательности xn  генератора ука- занным в лемме 2 способом, то нужно использовать более простой модуль m . Пример. Для широко распространенных последовательностей с модулем m  2 n часто утверждают, что младшие разряды их членов менее случайны (здесь речь может идти о генераторе Фон-Неймана, когда осуществляется возведение в квадрат числа в двоичном представлении и в полученном результате выбирается набор бит заданной длины). Действительно, в соответствии с леммой 2 вырезка из xn младших s разрядов (т.е. последова31 тельность yn  xn mod2s ) имеет период повторения меньше либо равный 2 s . В частности, в самый младший разряд «либо» мигает, либо постоянен. Если всѐ же m по каким-то причинам выбрано составным, то последовательности на сетке 0, 1, ..., d 1, d  m , лучше получать преобразованием yn x  d / m , то есть стараться использовать старшие разряды. Леммы 3 – 5 указывают условия, при которых генераторы (2) – (4) обладают максимально возможным периодом при данном m . Все они сводятся к ограничениям, накладываемым на мультипликатор a . Самые слабые ограничения имеет случай (4). Эти утверждения также явно указывают возможную длину периода: отметим, что в случае (4) ЛК-генератор всегда обладает почти полным периодом – l  m  1 , в случае (2) полный период l  m сравнительно легко достижим, а в случае (3) период всегда существенно меньше m . Если m представить как каноническое разложение, т.е. e m  p1e1 p2e2 ... pt t , то для достижения максимального периода в генераторе (2) мультипликатор a определяется как f a  1  rp1f1 p2f 2 ... pt t . При этом в соответствии с леммой 6 мощ-  e   ность последовательности (2) не меньше s  max  k   . 1 k t   f k   Известно, что ЛК-генераторы с мощностью s  5 устойчиво зарекомендовали себя с плохой стороны. Генератор типа (2), как это следует из леммы 3, не может иметь полного периода, если m – простое число. Поскольку мы e вынуждены выбрать составное m  p1e1 p2e2 ... pt t , то производные от xn  последовательности на сетке 0, 1, ..., q  1 построенные с помощью преобразования yn  xn mod q имеют уменьшенный 32 период, если только q равно одному из pk . Если стоит задача генерации последовательностей равномерно распределенных на дискретных целочисленных сетках с любым q , 1  q  m , то генератор типа (2) использовать невозможно. Генератор типа (4) обладает почти полным периодом и равномерно заполняет своими значениями сетку 0, 1, ..., m  1 . При этом его мощность бесконечна, а модуль является простым числом. Таким образом, наилучшими характеристиками обладают генераторы двух типов: 1) Со свободным членом c  0 , составным модулем m , и мультипликатором a , выбранном согласованным с m способом, как описано выше. Они обладают полным периодом l  m , значения последовательности xk равномерно посещают все точки сетки. При соответствующем выборе параметров можно добиться приемлемой мощности. 2) Со свободным членом c  0 и простым модулем m . Они обладают почти полным периодом l  m  1 . Значения последовательности xk равномерно посещают все точки сетки, кроме нуля. Обладают большой мощностью. 4.4. Проверка генераторов псевдослучайных чисел Как мы уже обсуждали выше, оценка качества генератора псевдослучайных чисел осуществляется по двум критериям: 1) Равномерность распределения. 2) Независимость испытаний. Тестирование генератора производится по следующему принципу: 1) с помощью генератора вырабатывается последовательность чисел длины t  1 ; 33 2) вычисляется некоторый функционал от полученной выборки; 3) процесс повторяется некоторое количество раз и строится эмпирическое распределение функционала; 4) эмпирическое распределение с помощью стандартной техники гипотез сравнивается с тем, которое функционал должен иметь, если считать выборку извлеченной из действительно равномерно распределенной случайной последовательности. К подобным тестам относятся проверки распределения длин серий – длин интервалов, разнообразные модификации покер-теста, традиционные проверки равномерности распределения элементов последовательности по критериям  2 и Колмогорова-Смирнова, а также спектральный тест. 4.5. Проверка равномерности распределения элементов последовательности с помощью критерия Колмогорова-Смирнова Критерий Колмогорова-Смирнова используется в случаях, когда объем выборки находится примерно в пределах от 10 до 100 элементов. Пусть задана сетка E  0, 1, ..., m  1 , на которой осуществляется генерация псевдослучайных чисел. Обозначим попадание сгенерированного числа xn , n  1, N ( N – объем выборки) в узел k , k  0, m  1 как событие ek . Естественно, что одно или несколько событий ek обязательно произойдет. Количество наступлений события ek , k  0, m  1 называют его абсолютной частотой, которую обозначим через  k . Очевидно, что m 1  vk  N . Таким образом, можно определить наблюдаемую i 0 34 v вероятность pkw как pkw  k . Если мы говорим о равномерном N распределении моделируемой случайной величины, то теорети- ческая вероятность наступления события ek , k  0, m  1 равна pkt  pek   1 . Чтобы определить соответствующие распредеm ления (наблюдаемое и теоретическое) достаточно для каждого k вычислить сумму Fkh  k  pih , h  w, t . Когда вычислены i 0 данные распределения, находится максимум между их абсолютными разностями: D f  max Fkw  Fkt . Полученное значение k 0, m 1 сравнивается с критическим De . Если D f  De , то гипотеза о равномерном распределении полученной последовательности является состоятельной, в противном случае последовательность не распределена по нормальному закону. 4.6. Спектральный тест Спектральный тест проверяет, насколько хорошо перемешаны последовательно выдаваемые ЛК-генератором с полным периодом значения из сетки E  0, 1, 2, ..., m  1. Обозначим через X k вектор из r последовательных значений элементов X k  xk , xk 1, ..., xk  r 1 T . Для всякого r  1 имеется ровно l различных X k , через l чле- последовательности xn , т.е. нов последовательности элементы начинают повторяться. Рассматривая X k как точки r - мерного пространства, можно заметить, что они лежат в «дискретном» гиперкубе E r с ребрами длины m (точнее, в его точках с целыми координатами). 35 Имеющиеся l различных векторов X k каким-то образом распределены среди m r точек гиперкуба E r . Рис. 3. «Дискретный» гиперкуб Er Если бы последовательность xn  была действительно случайной, то последовательные вырезки длины r из этой последовательности – равновероятно посещали бы все точки гиперкуба E r . Определим плотность распределения посещений точки T  t1,...,t r  E r для произвольной последовательности как xn  1 L 1 T , X k , L  L k 0 d T   lim  где T , X k – частота события попадания вектора X k в точку T . Для случайной последовательности она одинакова для всех 1 m r точек гиперкуба T  E r и равна d E   . Такая симметmr рия равносильна равной вероятности появления в последовательности xn  на любом месте любого вектора размерности r (т.е. вектора T  t1, ..., t r  , где все ti E  0, 1, 2, ..., m  1). берутся из сетки Хороший ЛК-генератор должен иметь более равномерную расстановку точек в E r для любых длин вырезок r  1, 2, 3, ... . 36 Для неслучайной последовательности ЛК-генератора плотность естественно определить как d T   1 l 1 T , X k , l k 0  где l – период повторения последовательности. Если период последовательности l фиксирован, то влиять на величину плотности мы не можем. Однако выбор мультипликатора a существенно влияет на расстановку точек, обладающих ненулевой плотностью посещения вырезками внутри гиперкуба. Вычислить d T  для последовательности ЛК-генератора в явном виде трудно. Поэтому для проверки рассматриваемой гипотезы используют дискретное преобразование Фурье этой плотности. ЛЕКЦИЯ 5. СИСТЕМНАЯ ДИНАМИКА Системная динамика является передовой и одной из самых эффективных методологий имитационного моделирования. Ее разработал известный американский финансист Дж. Форрестер и использовал для моделирования макро- и микроэкономических процессов. Чтобы понять суть методологии изложим в начале предпосылки создания методологии и ограничения. 5.1. Предпосылки и ограничения 5.1.1. Общая структура систем Для моделирования динамического поведения системы необходимо различать 4 иерархические ступени еѐ структуры: внешняя граница замкнутой системы, цепи обратной связи как основные структурные элементы внутри границы системы, переменные, называемые уровнями1 (в теории управления – состояние), которые представляют накопления (аккумуляцию) в цепях обратной связи, переменные, называемые темпами2, которые отражают активность в цепях обратной связи. Компонентами переменной темпа являются: 1) цель; 2) наблюдаемые условия; 3) выявление несоответствий; 4) действия, обусловленные несоответствием. 1 Более строго уровнем называется характеристика запаса системы, представляющая собой емкость резервуара. 2 Темпом называется скорость изменения уровня, характеризующего запас системы. Характеризует потоки, входящие и выходящие из резервуаров. Темпы не зависят непосредственно друг от друга. 38 5.1.2. Граница системы Она выбирается таким образом, чтобы охватить те компоненты, взаимодействие которых определяет важные стороны поведения системы. В пределах этой границы система должна быть способна сама генерировать любую ситуацию, любые затруднения, которые, возможно потребуется проанализировать. Принцип замкнутости предполагает, что поведение исследуемой системы не навязывается ей из вне, а создаѐтся внутри границ. Чтобы построить имитационную модель системы, в первую очередь необходимо выявить компоненты, чьѐ взаимодействие определяет те стороны поведения системы, которые должны быть исследованы. Для каждого конкретного случая выбор ограничивается компонентами, лежащими внутри динамической границы, соответствующей данному случаю, все же другие компоненты исключаются как нерелевантные в данной ситуации и, следовательно, находятся за пределами границы. 5.1.3. Структура цепи обратной связи Динамическое поведение системы генерируется узлами обратной связи. Цепи обратной связи являются основными ячейками систем. На рис. 4 приведена простейшая структура цепи обратной связи. Рис. 4. Простейшая структура обратной связи Цепь обратной связи описывается переменными двух типов: темп и уровень. Они необходимы и достаточны для по39 строения модели системы. Как видно из рис. 4 цепь обратной связи должна содержать по одной из этих переменных. Цепь обратной связи соответствует структуре, внутри которой принятие решения – уравнение темпа управляет потоком (процессом) или действием потока. Действие потока аккумулируется (интегрируется) и тем самым определяет уровень системы. Информация об уровне – основа для управления темпом потока. Темп – причина изменения уровня. Изменение уровня определяется только темпами потока. Один уровень может воздействовать на другой только посредством темпа потока. Ни один темп не может непосредственно воздействовать на другой темп, так же как и уровень не может воздействовать на другой. Уравнения темпов представляют собой формулировки линии поведения системы. Они определяют, каким образом имеющаяся информация об уровнях преобразуется в действие потока, т.е. приводит к принятию решений, изменяющих величины темпов потока. Внутри каждого уравнения темпа создаѐтся явная и неявная цель, к которой или от которой стремится точка рассеяния в системе. Эти уравнения содержат также способ, посредством которого можно фиксировать наблюдения в системе. 5.2. Системная динамика Системная динамика представляет собой совокупность принципов и методов анализа динамических управляемых систем с обратной связью и их применения для решения производственных, организационных и социально-экономических задач. В системах поддержки принятия решений применение системной динамики позволяет объединить несколько функциональных пространств организации в одно целое и обеспечить организационный и количественный базис для выработки более эффективной управленческой политики. Три достижения, приоб40 ратенные в основном благодаря разработкам в области вооружений, сделали возможным применение системной динамики: 1) Успехи в проектировании и анализе систем управления с обратной связью. 2) Прогресс в методах компьютерного моделирования и развитие вычислительной техники. 3) Накопленный опыт в моделировании процесса принятия решений. На первое место по своей важности следует поставить осознание необходимости развития динамических информационных систем с обратной связью, которые появились уже после того, как подобные электромеханические, а затем и электронные системы стали широко применяться на практике. Другим основным достижением, которое легло в основу системной динамики, является компьютерное моделирование. Философия системной динамики заключается в предположении, что организация более эффективно представляется в терминах, лежащих в ее основе потоков, нежели в терминах отдельных функций. Потоки людей, денег, материалов, заявок и оборудования, а также интегрированных потоков информации могут быть выявлены во всех организациях. Направленность на потоковую структуру заставляет аналитика естественным образом преодолевать внутриорганизационные границы. Методология системной динамики была построена так, чтобы сделать применимой на практике философию развития. Для этого были использованы и модифицированы известные методы представления потоковых диаграмм, математического и имитационного моделирования. Для большинства системно-динамических проектов были созданы формальные потоковые диаграммы, представляемые в виде систем дифференциальных уравнений. Как потоковые диаграммы, так и системы уравнений выражают управленческие связи с помощью двух категорий: накопителей (уровней) и потоков (темпов). Накопители представляют собой 41 такие объекты реального мира, в которых сосредотачиваются некоторые ресурсы: знания (идеи), фонды, источники рабочей силы и т.п. Потоки – это все активные компоненты системы: потоки усилий (попыток), информационные потоки, расходные платежи и т.п. Если система управления представима в виде сети накопителей и потоков, то соответствующая системно-динамическая модель может быть реализована в виде компьютерной программы. С помощью такой программы можно провести экспериментальное тестирование предлагаемых изменений управленческой политики. Исследовательской группой массачусетского технологического института был разработан компилятор DYNAMO, с помощью которого можно было решать системы линейных и нелинейных алгебраических и дифференциальных уравнений, содержащих до нескольких тысяч переменных. С появлением графических средств доступа язык моделирования DYNAMO стал языком графического моделирования. 5.3. Базовые принципы системной динамики Принято считать, что системная динамика базируется на четырех принципах, в одинаковой степени влияющих на плодотворность применения метода. 5.3.1. Первый принцип – фондовые потоки Первый принцип гласит, что динамку поведения сколь угодно сложного процесса можно свести изменениям некоторых фондов (уровней), а сами изменения регулируются темпами наполняющих или исчерпывающих фонды потоков (темпов). Подобно тому, как большинство из нас при формировании и обсуждении проблем рисуют их идеограммы в виде геометрических фигур, современные аналитические технологии предлагают делать примерно то же самое на экране монитора ПК, конструируя концептуальные схемы проблемных ситуаций плоскими идео42 граммами «фондовых потоков», динамика которых интерпретируется соответствующими программными средствами. На рис. 5 представлены примеры отображения примитивных модельных ситуаций. Рис. 5. Примеры простейших диаграмм фондовых потоков В большинстве программных средств имитационного моделирования на базе системной динамики принято использовать вышеприведенные обозначения: 1) прямоугольник – фонд (уровень); 2) двойная стрелка – поток (темп); 3) круг – управление потоком; 4) «облако» – поглотитель или источник модельных единиц (транзактов), лежащих за пределами концептуальной схемы проблемной ситуации, т.е. за рассматриваемыми границами системы. Формализованные модели динамических процессов в точном естествознании существовали уже давно и по информации о фазовых координатах в некоторых момент времени пытались определять будущие состояния системы. Однако существенным вкладом в развитие традиционного подхода системная динамика внесла через введение понятия задержки (запаздывания) темпов развития на задаваемое число единиц модельного времени. Подобные задержки диктуют дисциплину передачи изменений уровней фондов на изменения темпов их регулирования. Мо43 дельная интерпретация задержек и управление ими – одно из центральных понятий системной динамики, требующее особого внимания. 5.3.2. Второй принцип – обратные связи Второй принцип заключается в том, что нетривиальное поведение любой сложной системы связано, прежде всего, с регулированием положительных и отрицательных обратных связей. В моделях, с которыми имеет дело системная динамика, информация к воздействующим на фонды потокам может передаваться или напрямую, или через другие структурные единицы. В результате, реакцией на такое воздействие может быть изменение уровней фондов и, следовательно, замыкание циклов обратных связей. Примеры отрицательных и положительных обратных связей приведены на рис. 6. Рис. 6. Примеры обратной связи Положительные связи генерируют самоусиливающееся поведение, а отрицательные связи генерируют поведение противодействующее. Принцип регулирования нетривиального поведения обратными связями позволяет системной динамике сосредоточить внимание на концептуальных особенностях и причинах различия понятий «роста» и «развития». Действительно, сегодня уже ясно, что все основные инфраструктуры постиндустриального мира, такие как промышленное производство, численность населения и т.д. стремятся к экспоненциальному росту. В противовес роста используется понятие «развитие», которое предполагает расширение и реализацию потенциальных возможностей, 44 интенсивное улучшение своего состояния. Системная динамика декларирует, что «нет пределов развития, но есть пределы роста» и концентрирует внимание не столько на тривиальном росте, сколько на концептуальных проблемах многопланового развития. 5.3.3. Третий принцип – нелинейность Третий принцип – сохранение некоторой неопределенности концептуальных моделей за счет возможности возникновения (в непростых конструкциях с циклами обратных связей) композиций нелинейных пар. Это по существу означает, что информация о системных уровнях через обратные связи опосредованно подпитывает уровни в непропорциональном (иногда усложненном и непредсказуемом) режиме. Классические методы исследования разнообразных сложных динамических систем всегда базировались на законах сохранения – массы, энергии, импульса и т.д., которым в естественных науках отводится главенствующая роль. В экономике также подобные законы сохранения находят свое место в балансовых соотношениях и соглашениях о сохранении материальных потоков. Тем не менее, в отличие от подобных традиционных концепций, системная динамика не столь строго придерживается этих правил, концентрируя внимание на исследовании, прежде всего, природы поведения и потерей определенности за привлекательные возможности разыгрывать на моделях сценарии проблемных ситуаций сложного поведения. 5.3.4. Четвертый принцип – прагматизм Четвертый принцип утверждает, что системная динамика является прагматическим аппаратом, который наиболее адекватно способен отразить нетривиальное поведение сети фондовых потоков, обратных связей и нелинейных пар. Его целесообразно применять при анализе сложных проблемных ситуаций, 45 которые на первый взгляд не поддаются точному математическому описанию, требуют предварительных огрубленных оценок и предполагают использование в процедурах концептуальных предположений интуиции «тех, кто принимает решения» и знаний специалистов прикладных наук. Для построения компьютерных имитационных моделей систем (на основе системной динамики) на текущий момент имеется целый ряд программных продуктов от различных производителей программного обеспечения. Наиболее распространены следующие: 1) iThink® Analyst 5.0 фирмы High Performance Systems, Inc. – один из наиболее распространѐнных программных пакетов для моделирования с использованием технологии System Dynamics. 2) Powersim® Constructor 2.5 норвежской фирмы Powersim AG – аналогично iThink® Analyst реализует все необходимые функции для построения и анализа моделей, а также представления результатов моделирования. В отличие от iThink® Analyst предоставляет более широкие возможности для осуществления обмена данными с другими бизнес - приложениями на основе механизмов Microsoft Windows® DDE (Dynamic Data Exchange) и OLE (Objects Links Embedding), а также предоставляет интерфейс ActiveX для вызова функций Powersim® Constructor 2.5 из других приложений. 3) Stella® 4.0 и Stella® 5.0 фирмы High Performance Systems, Inc. – аналогичный iThink® Analyst программный продукт, реализующий ряд отличий (значительно менее распространѐн в России). Powersim – визуальный диаграммно-ориентированный язык системно-динамического моделирования для IBM. Данный пакет оснащен продвинутыми функциями: моделирование диалогов, диалоговая помощь, расширяемая библиотека функций, 46 двустороннее конвертирование данных со всеми языками системно-динамического моделирования. Приведем классификацию и обозначение элементов модели, принятые в Powersim (таблица 1). Таблица 1. Элементы имитационной модели Элемент Обозначение Уровень Темп Вспомогательная переменная Константа Табличная функция Начальное условие – Временные границы и шаг моделирования – Материальные связи Информационные связи Уровень и темп уже описаны выше. Перейдем сразу к вспомогательной переменной. Вспомогательные переменные (Auxiliary) – необходимы для определения переменных темпов и вводятся для более простого представления системы. Участвуют при формировании вспомогательных уравнений, необходимых для решения уравнений темпов. На диаграммах обозначаются в виде окружностей (таблица 1). Например, число договоров, количество рабочих на предприятии являются вспомогательными переменными. 47 Константы (Constant) – относятся к экзогенным переменным системы и необходимы для определения экзогенных параметров модели. Изображаются в виде ромбов. Табличные функции (Graph) – используются для связи между переменными, устанавливаемой не аналитически, а при помощи экспертных оценок. Как правило, табличные функции используются для косвенной связи эндогенных переменных4 модели, и изображаются в виде кружочков с графиком. Однако иногда они могут быть использованы для задания динамических рядов, описывающих экзогенные параметры модели. Начальные условия (Initial) – задают начальные значения переменных уровня. Начальные условия не отражаются на диаграммах в целях улучшения восприятия последних. Временные границы и шаг моделирования (Simulation Setup) определяются посредством задания начального времени (Start Time), конечного времени (Stop Time) и шага моделирования (Time Step). Данные величины необходимы для проведения имитационных экспериментов. На диаграммах они не отображаются. В Powersim существует достаточно большой набор инструментов для построения графического пользовательского интерфейса. К нему относятся как стандартные графические средства MS Windows, так и некоторые специфические инструменты (например, графики динамики уровней). 3 3 Экзогенная переменная (exogenous variable) – внешняя переменная, которая изменяется под влиянием внешней среды, а не за счет динамики системы. 4 Эндогенная переменная (endogenous variable) – внутренняя переменная, определяемая за счет внутренней динамики системы. 48 5.4. Преобразование системно-динамической модели, реализованной в PSC, в код алгоритмического языка высокого уровня Powersim® Constructor и iThink Analyst фактически позволяют «рисовать» динамические модели (создавать диаграммы), т.е. осуществлять визуальное моделирование. Powersim® Constructor (PSC) имеет еще одно преимущество – возможность обмена данными с различными приложениями. Несмотря на это, составление моделей в данном пакете и их эксплуатация вызывает следующие проблемы: 1) для работы моделей необходима установка PSC или ее облегченной версии (Powersim® Runtime); 2) обмен информацией между программными приложениями и PSC замедляет моделирование и повышает риск порчи или потери данных. Кроме того, несмотря на большие возможности пакета Powersim® Constructor, имитационное моделирование в нем ограничивается фиксированным набором функций. Например, статистический и регрессионный анализ, решение задач оптимизации невозможно с помощью рассматриваемого средства. Однако такая проблема решается при совместном использовании имитационных моделей и программ (алгоритмов), реализующих методы оптимизации, статистического анализа и т.д. Поэтому становится актуальной задача разработки метода преобразования имитационных моделей, представляемых в виде системы нотаций языка DYNAMO, в модели, реализованные на таком языке, который позволил бы избежать обозначенных выше проблем. Кроме того, такое преобразование позволит экономить ресурсы ЭВМ за счет значительного снижения размера дискового пространства, занимаемого получаемыми моделями, и снятия необходимости в использовании PSC. Здесь речь пойдет о преобразовании системно-динамических моделей в код алгоритмического языка, такого как Pascal 49 или C, т.е. о получении аналогичной модели, но разработанной в виде некоторого метода (процедуры) или программного модуля. В этом случае будут сняты ограничения PSC, а также решены проблемы обмена данных между приложениями. Идея преобразования моделей в коды базируется на том, что расчеты ее параметров в течение одного шага моделирования выполняются при помощи численного интегрирования (например, методом Эйлера), а также что язык DYNAMO предусматривает переменные двух основных типов – уровни и темпы. Поэтому, как может показаться, преобразование системнодинамических моделей можно выполнять при помощи «переписывания» соотношений интегрирования ДУ в код алгоритмического языка. Но, на самом деле, такое преобразование будет искажать PSC-модель, т.к. при его выполнении не будет выдержан нужный порядок вычислений. Например, если мы будем рассчитывать уровни и темпы в полном соответствии с цепочкой их следования (см. на рис. 7 уровни и темпы: Temp_1, Level_1, Temp_2, Level_2 и т.д.), то в полученном вычислительном алгоритме будет потерян эффект временной задержки в ресурсных потоках. Рис. 7. Пример реализации модели в PSC Также проблема преобразования состоит в том, что темпы от уровней могут зависеть или нет. 50 Таким образом, самой сложной частью рассматриваемой задачи является определение порядка вычислений соотношений интегрирования для переменных типа уровней. Экспериментально можно установить, что для моделей, реализованных в PSC, будет корректным рассчитывать в первую очередь все еѐ уровни на основании потоков в темпах, а затем сами темпы. Для примера рассмотрим модель, изображенную на рис. 7. Пусть для нее заданы следующие уравнения: Level_1(t) = Level_1(t-1) – dt*Temp_2 + dt * Temp_1 Level_2(t) = Level_2(t-1) – dt*Temp_3 + dt * Temp_2 Level_3(t) = Level_3(t-1) – dt*Temp_4 + dt * Temp_3 Temp_1 = IF(TIME=0, 0, INT(Level_1*0.2+Level_2*0.01)) Temp_2 = INT(Level_1*0.1+Conv_1) Temp_3 = Level_2 Temp_4 = Conv_2*4. Тогда фрагмент кода на языке Pascal, реализующий один шаг моделирования, будет следующим: Level_1 := Level_1 – dt * Temp_2 + dt * Temp_1; Level_2 := Level_2 – dt * Temp_3 + dt * Temp_2; Level_3 := Level_3 – dt * Temp_4 + dt * Temp_3; Temp_1 := IIF(TIME=0, 0, INT(Level_1*0.2+Level_2*0.01)); Temp_2 := INT(Level_1*0.1+Conv_1); Temp_3 := Level_2; Temp_4 := Conv_2*4; В коде использована функция IIF, которую легко можно написать, а также переменная TIME, в которой хранится модельное время. Для другого программного продукта имитационного моделирования очередность расчетов может быть иной. Независимо от сложности системы и специфики отрасли, в которой она функционирует, поведение уровней, темпов, а также цепей с обратной связью в ее имитационной модели не меняется. Поэтому полученный вариант очередности вычислений будет действовать не только для экспериментальных, но для всех моделей, реализованных в PSC. Когда определен порядок вычислений, остается решить задачу упорядочения вычисления переменных-конверторов и тем51 пов. Неправильная последовательность вычисления переменных-конверторов приведет к искажению результатов моделирования. В PSC расчетные формулы вычисления конверторов приводятся в порядке их добавления пользователем в модель. Упорядочить эти формулы можно с помощью нижеописанной методики. Для списка выражений составляется диаграмма зависимостей переменных друг от друга или соответствующая квадратная матрица из бинарных элементов размером n  1 n  1 , где n – количество переменных. Обозначим ее через B . Положим, что элемент матрицы bij , i  1, n, j  1, n равен единице, если i -й параметр зависит от j -й переменной. В противном случае он равен нулю. Таким образом, в строках такой матрицы, соответствующих переменным, определяются те параметры, от которых они зависят. В столбцах матрицы – влияния соответствующих параметров на переменные. Строка с номером n  1 и аналогичный столбец содержат нулевые значения и являются вспомогательными. После заполнения всех строк матрицы, кроме последней, анализируем матрицу и выписываем соответствующие выражения. Вначале выписываются выражения, соответствующие нулевым строкам матрицы. Элементы n  1 - го столбца, соответствующие таким строкам меняются на единицу. Номера этих строк (переменных) заносятся в очередь. Первый шаг начинается с того, что берется первый номер из очереди и рассматривается соответствующий столбец. Обозначим его через j * . Если в столбце нет элементов, отличных от нуля, то соответствующий элемент последней строки меняется на единицу (столбец просмотрен). В противном случае рассматриваются те строки матрицы, которые соответствуют нену52 левым элементам. Обозначим одну из таких строк через i * . В ней рассматриваются все ненулевые элементы, кроме bi * j * . Для каждого такого элемента bi* j  0 просматривается соответствующий элемент последней строки bn 1 j , ненулевое значение которого показывает, что переменная с индексом j уже вычислена, и соответствующий столбец просмотрен. Если все такие элементы, соответствующие bi* j  0 не нулевые, то выписывается выражение для переменной с номером i * , значение bi *n 1 меняется на единицу и номер i * заносится в очередь, в противном случае соответствующая строка пропускается. Выражение, соответствующее этой строке, будет выписано на одном из следующих шагов. После прохождения всего столбца с номером j * элемент bn 1 j * меняется на единицу. На этом шаг заканчивается. Затем берется следующий элемент из очереди и процедура повторяется. Итерации продолжаются до тех пор, пока n  1 - й столбец не будет заполнен полностью единицами, кроме последнего элемента bn 1n 1 и очередь не окажется пуста. В этом случае n  1 - я строка также будет заполнена единицами (кроме элемента bn 1n 1 ). Пример. Пусть задан такой набор вычислений: t1 c4 c2 c1 с7 c5 c6 t2 с3 = = = = = = = = = c1 c7 c5 c5 8, 4, c8 c3 с6 + + – + c2 – t2, c8, c4 + c3, 6, + 1, * c3, + 7. Значение переменной c8 определяется отличным от вычисления способом, например, вводом пользователя. 53 Диаграмма зависимостей будет выглядеть следующим образом (см. рис. 8). Рис. 8. Диаграмма зависимостей Построим матрицу B . Она будет выглядеть следующим образом. t1 c 4 c 2 c1 c7 c5 c6 t 2 c8 c3 t1 0 0 1 1 0 0 0 1 0 0 0 c4 0 0 0 0 1 0 0 0 1 0 0 c2 0 1 0 0 0 1 0 0 0 1 0 c1 0 0 0 0 0 1 0 0 0 0 0 c7 0 0 0 0 0 0 0 0 0 0 0 c5 0 0 0 0 0 0 0 0 0 0 0 c6 0 0 0 0 0 0 0 0 1 0 0 t2 0 0 0 0 0 0 0 0 0 1 0 c8 0 0 0 0 0 0 0 0 0 0 0 c3 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Выписываем все выражения, соответствующие нулевым строкам: с7 = 8, c5 = 4. Т.к. переменная c8 не вычисляется (в PSC такие переменные являются константами, которые можно легко распознать), то для нее действий по записи выражения не производится. 54 Переопределим матрицу. t1 c 4 c 2 c1 c7 t1 0 0 1 1 0 c4 0 0 0 0 1 c2 0 1 0 0 0 c1 0 0 0 0 0 c7 0 0 0 0 0 c5 0 0 0 0 0 c6 0 0 0 0 0 t2 0 0 0 0 0 c8 0 0 0 0 0 c3 0 0 0 0 0 0 0 0 0 0 Образуем очередь: 5, 6, 9 . c5 c6 t 2 c8 c3 0 0 1 0 0 0 0 0 1 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 Берем переменную из очереди 5 (c7) и анализируем соответствующий столбец. Рассматриваем строку 2 (с4), т.к. p25  1 . В ней элемент p29 не равен нулю. Но элемент в последней строке p11,9 равен нулю (девятый столбец не анализировался). Поэтому вторая строка пропускается. Других строк с ненулевыми элементами пятого столбца нет. После данного шага матрица и очередь будут следующими. 55 t1 c 4 c 2 c1 c7 c5 c6 t 2 c8 c3 t1 0 0 1 1 0 0 0 1 0 0 c4 0 0 0 0 1 0 0 0 1 0 c2 0 1 0 0 0 1 0 0 0 1 c1 0 0 0 0 0 1 0 0 0 0 c7 0 0 0 0 0 0 0 0 0 0 c5 0 0 0 0 0 0 0 0 0 0 c6 0 0 0 0 0 0 0 0 1 0 t2 0 0 0 0 0 0 0 0 0 1 c8 0 0 0 0 0 0 0 0 0 0 c3 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 Очередь: 6, 9 . 1 1 1 Анализируем шестой столбец (с5). Рассматриваем третью строку. В ней p32 , p3 10 не равны нулю. Но p11 2 , p11 10 равны нулю. Поэтому ее мы пропускаем. Результаты анализа четвертой строки позволяет выписать соответствующее выражение, заменить p4 11 на единицу и добавить четверку в очередь: c1 = c5 + 6. После данного шага матрица и очередь будут следующими. 56 t1 c 4 c 2 c1 c7 c5 c6 t 2 c8 c3 t1 0 0 1 1 0 0 0 1 0 0 c4 0 0 0 0 1 0 0 0 1 0 c2 0 1 0 0 0 1 0 0 0 1 c1 0 0 0 0 0 1 0 0 0 0 c7 0 0 0 0 0 0 0 0 0 0 c5 0 0 0 0 0 0 0 0 0 0 c6 0 0 0 0 0 0 0 0 1 0 t2 0 0 0 0 0 0 0 0 0 1 c8 0 0 0 0 0 0 0 0 0 0 c3 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 Очередь: 9, 4 . 1 1 1 1 После рассмотрения девятого столбца получим: c4 = c7 + c8, c6 = c8 + 1. t1 c 4 c 2 c1 c7 c5 c6 t 2 c8 c3 t1 0 0 1 1 0 0 0 1 0 0 c4 0 0 0 0 1 0 0 0 1 0 c2 0 1 0 0 0 1 0 0 0 1 c1 0 0 0 0 0 1 0 0 0 0 c7 0 0 0 0 0 0 0 0 0 0 c5 0 0 0 0 0 0 0 0 0 0 c6 0 0 0 0 0 0 0 0 1 0 t2 0 0 0 0 0 0 0 0 0 1 c8 0 0 0 0 0 0 0 0 0 0 c3 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 1 0 Очередь: 4, 2, 7  . 57 1 1 1 1 1 1 Четвертый столбец (c1) t1 c 4 c 2 c1 c7 c5 c6 t 2 c8 c3 t1 c4 c2 c1 c7 c5 c6 t2 c8 c3 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Очередь: 2, 7  . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Второй столбец (c4). t1 c 4 c 2 c1 c7 c5 c6 t 2 c8 c3 t1 0 0 1 1 0 0 0 1 0 0 c4 0 0 0 0 1 0 0 0 1 0 c2 0 1 0 0 0 1 0 0 0 1 c1 0 0 0 0 0 1 0 0 0 0 c7 0 0 0 0 0 0 0 0 0 0 c5 0 0 0 0 0 0 0 0 0 0 c6 0 0 0 0 0 0 0 0 1 0 t2 0 0 0 0 0 0 0 0 0 1 c8 0 0 0 0 0 0 0 0 0 0 c3 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 1 0 0 1 0 Очередь: 7  . Седьмой столбец (c6): 58 1 1 1 1 1 1 1 1 1 1 1 1 с3 = с6 + 7. t1 c 4 t1 0 0 c4 0 0 c2 0 1 c1 0 0 c7 0 0 c5 0 0 c6 0 0 t2 0 0 c8 0 0 c3 0 0 0 1 Очередь: 10 . c 2 c1 c7 c5 c6 t 2 c8 c3 1 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 0 0 1 0 1 1 1 1 1 1 Десятый столбец (с3): c2 = c5 – c4 + c3, t2 = c3 * c3. t1 c4 c2 c1 c7 c5 c6 t2 c8 c3 t1 c 4 c 2 c1 c7 c5 c6 t 2 c8 c3 0 0 1 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 1 1 1 0 1 0 59 1 1 1 1 1 1 1 Очередь: 3, 8 . Третий столбец (с2). t1 c 4 c 2 c1 c7 c5 c6 t 2 c8 c3 t1 0 0 1 1 0 0 0 1 0 0 c4 0 0 0 0 1 0 0 0 1 0 c2 0 1 0 0 0 1 0 0 0 1 c1 0 0 0 0 0 1 0 0 0 0 c7 0 0 0 0 0 0 0 0 0 0 c5 0 0 0 0 0 0 0 0 0 0 c6 0 0 0 0 0 0 0 0 1 0 t2 0 0 0 0 0 0 0 0 0 1 c8 0 0 0 0 0 0 0 0 0 0 c3 0 0 0 0 0 0 1 0 0 0 0 1 0 1 1 1 1 0 1 1 Очередь: 8 . 1 1 1 1 1 1 1 1 1 Восьмой столбец (t2): t1 = c1 + c2 – t2. t1 c4 c2 c1 c7 c5 c6 t2 c8 c3 t1 c 4 c 2 c1 c7 c5 c6 t 2 c8 c3 0 0 1 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 1 1 1 1 1 60 1 1 1 1 1 1 1 1 1 1 Очередь: 1 . И, наконец, первый столбец. t1 c 4 c 2 c1 c7 c5 c6 t 2 c8 c3 t1 0 0 1 1 0 0 0 1 0 0 c4 0 0 0 0 1 0 0 0 1 0 c2 0 1 0 0 0 1 0 0 0 1 c1 0 0 0 0 0 1 0 0 0 0 c7 0 0 0 0 0 0 0 0 0 0 c5 0 0 0 0 0 0 0 0 0 0 c6 0 0 0 0 0 0 0 0 1 0 t2 0 0 0 0 0 0 0 0 0 1 c8 0 0 0 0 0 0 0 0 0 0 c3 0 0 0 0 0 0 1 0 0 0 1 1 1 1 1 1 1 1 1 1   – очередь пуста. В итоге получаем следующий набор вычислений: c7 c5 c1 c4 c6 с3 c2 t2 t1 = = = = = = = = = 8, 4, c5 c7 c8 с6 c5 c3 c1 + + + + – * + 6, c8, 1, 7, c4 + c3, c3, c2 – t2. 61 1 1 1 1 1 1 1 1 1 1 ЛЕКЦИЯ 6. КОНЦЕПЦИЯ ОБЪЕКТНООРИЕНТИРОВАННОЙ СИСТЕМЫ МОДЕЛИРОВАНИЯ Существуют шесть основных понятий, на которых базируется концепция ООСМ. 1) Граф модели. Все процессы, независимо от количества уровней структурного анализа, объединяются в виде ориентированного графа. 2) Транзакт – формальный запрос на какое-либо обслуживание. Транзакт в отличие от обычных заявок, которые рассматриваются при анализе моделей массового обслуживания, имеет набор динамически изменяющихся особых свойств и параметров. Пути миграции транзактов по графу стохастической сети определяются логикой функционирования компонентов модели в узлах сети. Транзакт является динамической единицей любой модели, работающей под управлением имитатора. Транзакт может выполнять следующие действия: a. порождать группы (семейства) других транзактов; b. поглощать другие транзакты конкретного семейства; c. захватывать ресурсы и использовать их некоторое время, а затем – освобождать; d. определять времена обслуживания, накапливать информацию о пройденном пути и иметь информацию о своем дальнейшем пути и о путях других транзактов. Основные параметры транзактов: a. уникальный идентификатор транзакта; b. идентификатор (номер) семейства, к которому принадлежит транзакт; 62 c. наборы различных ресурсов, которые транзакт может захватывать и использовать какое-то время; d. время жизни транзакта; e. приоритет – неотрицательное число; приоритет учитывается при доступе их к ресурсам, например, в очереди; f. параметры обслуживания в каком-либо обслуживающем устройстве (включая вероятностные характеристики). Примеры транзактов: a. требование на перечисление денег; b. заказ на выполнение работ в фирме; c. телеграмма, поступающая на узел коммутации сообщений. 3) Узлы графа сети представляют собой центры обслуживания транзактов (но необязательно массового обслуживания). В узлах транзакты могут задерживаться, обслуживаться, порождать семейства новых транзактов, уничтожать другие транзакты. С точки зрения вычислительных процессов в каждом узле порождается независимый процесс. Вычислительные процессы выполняются параллельно и координируют друг друга. Они реализуются в едином модельном времени, в одном пространстве, учитывают временную, пространственную и финансовую динамику. Нумерация и присвоение имен узлам стохастической сети производится разработчиком модели. Следует учесть, что транзакт всегда принадлежит одному из узлов графа и независимо от этого относится к определенной точке пространства или местности, координаты которой могут изменяться. Примеры узлов: a. бухгалтерия; b. производственный (ремонтный) участок; c. генератор или умножитель транзактов; d. склад ресурсов; 63 e. транспортное средство, которое перемещает ресурсы из одной точки пространства в другую; f. компьютерный центр коммутации сообщений (или пакетов сообщений). 4) Событие – факт выхода из узла одного транзакта. События всегда происходят в определенные моменты времени. Они могут быть связаны с точкой пространства. Интервалы между двумя соседними событиями в модели – это, как правило, случайные величины. Предположим, что в момент времени t произошло какое-то событие, а в момент времени t  d должно произойти ближайшее следующее, но не обязательно в том же узле. Если в модель включены непрерывные компоненты, то, очевидно, что передать управление таким компонентам модели можно только на время в пределах интервала t , t  d  . Разработчик модели практически не может управлять событиями вручную (например, из программы). Поэтому функция управления событиями отдана специальной управляющей программе – координатору, автоматически внедряемому в состав модели. 5) Ресурс независимо от его природы в процессе моделирования может характеризоваться тремя общими параметрами: мощностью, остатком и дефицитом. Мощность ресурса – это максимальное число ресурсных единиц, которые можно использовать для различных целей. Остаток ресурса – число незанятых на данный момент единиц, которые можно использовать для удовлетворения транзактов. Дефицит ресурса – количество единиц ресурса в суммарном запросе транзактов, стоящих в очереди к данному ресурсу. При решении задач динамического управления ресурсами можно выделить три основных типа: материальные, информационные и денежные ресурсы. 64 6) Пространство – географическая, декартова плоскость. Узлы, транзакты и ресурсы могут быть привязаны к точкам плоскости и мигрировать в ней. Понятия 2 – 6 являются видами объектов моделируемой системы. Они располагаются в графе и взаимодействуют по определенным правилам и схемам. Таким образом, реализуется верхний графический уровень модели, состоящий из стандартизированных блоков. Если в средствах моделирования, работающих на базе методологии «Системная динамика» таких типов объектов не превышает десяти, то в общих системах, таких как GPSS или Pilgrim, их количество измеряется на десятки. Это позволяет более гибко осуществлять моделирование особенностей функционирования систем. Чтобы глубже понять принципы работы моделирующих систем рассмотрим несколько типов объектов: 1) генератор транзактов; 2) очередь; 3) узел обслуживания; 4) терминатор; 5) клапан. Генератор транзактов, имеющий, как правило, бесконечную емкость, создает новые транзакты и передает их в другие блоки модели. Источник для создания транзактов находится за пределами границы системы. В очереди транзакты упорядочиваются в порядке поступления. Выход транзактов из очереди, например, к узлу обслуживания, осуществляется по определенным правилам. Различают очереди с приоритетами и без них. Если в очереди учитывается приоритет транзактов, то он учитывается при их упорядочении. Узел обслуживания (одноканальный или многоканальный) принимает транзакт при наличии свободного канала. Когда время обслуживания закончилось, транзакт выпускается из узла. Обслуживание может быть в порядке поступления транзакта 65 в освободившийся канал, либо по правилу абсолютных приоритетов. Если последнее правило задано и возникает ситуация, при которой в «голове» очереди на обслуживание находится транзакт с ненулевым приоритетом, все каналы заняты, причем в одном из каналов на обслуживании находится транзакт с более низким приоритетом, то выполняется следующее: 1) обслуживание «неприоритетного» транзакта прерывается; 2) «неприоритетный» транзакт удаляется из канала в стек временного хранения; 3) канал занимает транзакт с большим приоритетом. После освобождения канала его занимает прерванный транзакт. Время обслуживания такого транзакта определяется как полное время обслуживания за вычетом времени нахождения в канале до прерывания. Возможны вложенные прерывания, когда транзакт с некоторым приоритетом, вытеснивший предыдущий транзакт, сам вытесняется транзактом с большим приоритетом. Поэтому глубина стека временного хранения вытесненных транзактов не ограничена. Терминатор уничтожает поступающий в него транзакт. В терминаторе фиксируется время жизни транзакта. Клапан перекрывает транзакты, когда это требуется в моделировании. Если клапан открыт, транзакты проходят его без задержки, т.е. за нулевое модельное время. Часто такой блок применяется для синхронизации или для моделирования работы с информационными ресурсами. С помощью вышеперечисленных блоков можно составить имитационную модель дискретных систем с потоками, таких как систем массового обслуживания. Примером такой системы может являться автозаправочная станция. Здесь транзакты играют роль автомобилей, узлы обслуживания – станция, в которой заправочная колонка является отдельным каналом. 66 ЛЕКЦИЯ 7. СТАТИСТИЧЕСКАЯ ОБРАБОТКА РЕЗУЛЬТАТОВ ЭКСПЕРИМЕНТА Эффективность машинных экспериментов с имитационными моделями системы S , формализуемых в виде схем массового обслуживания, существенно зависит от выбора плана эксперимента, так как именно план определяет объем и порядок проведения вычислений на ПЭВМ, приемы накопления и статистической обработки результатов моделирования системы и в целом влияет на эффективность использования ресурсов ПЭВМ при моделировании. Математические методы планирования экспериментов основаны на кибернетическом представлении процесса проведения эксперимента, наиболее подходящей моделью которого является абстрактная схема типа «черного ящика» вида Y    X  , где Y   y1, y2 , ..., yk  – множество векторов зависимых выходных переменных, называемых реакциями или откликами (для машинного эксперимента эти переменные являются эндогенными); X  x1, x2 ,...., xm  – множество векторов входных независимых переменных, называемых факторами (для машинного эксперимента они являются экзогенными). Функция  , связывающая отклик с факторами, называется функцией реакции. При проведении машинного эксперимента с моделью для оценки характеристик процесса функционирования исследуемой системы необходимо создать такие условия, которые способствовали бы выявлению влияния факторов, находящихся в функциональной связи с искомой характеристикой. Для этого необходимо: 1) отобрать факторы xi , i  1, m , влияющие на искомую характеристику, и описать функциональную зависимость; 67 2) установить диапазон изменения факторов ximin ...ximax ; 3) определить координаты точек факторного пространства x1, x2 ,..., xm , в котором следует проводить эксперимент; 4) определить необходимое число реализаций и их порядок в эксперименте. Свойства объекта исследования, т.е. процесса машинного моделирования системы S на многофакторное возмущение, – одна из задач математического планирования эксперимента. Наиболее распространенными и полно отвечающими задачам статистического моделирования являются полиномиальные модели. Задача нахождения полиномиальной модели, описывающей систему или отдельные ее характеристики, состоит в оценке вида и параметров некоторой функции от переменных x1, x2 ,..., xm  . Рассмотрим влияние m количественных факторов xi , i  1, m на некоторую реакцию (отклик)  в отведенной для xi min экспериментирования локальной  области ...ximax , i  1, m факторного пространства G . Функцию ре- акции  x1, x2 ,..., xm  представим в виде полинома степени d d от m переменных, который содержит Cm  d коэффициентов: ~ ~ ~     b0  bi xi  bij x j xi   1 i  m    i, j ~ i i im bi1 , i 2 ,..., i m x11 x23 ...xm , (5) i1 , i 2 ,..., i m  ij  d Для нахождения значений коэффициентов данного полинома используют регрессионный анализ (метод наименьших d квадратов). Для него необходимо получить N  Cm  d результа- 68 тов наблюдения величины отклика. В регрессионном анализе полагается, что выполняется ряд предпосылок. 1) Результаты наблюдений y1, y2 ,..., y N – независимые, нормально распределенные случайные величины. Речь идет о распределении y относительно некоторой фиксированной точки x1, x2 ,..., xm  , так как на значение y влияют и другие неконтролируемые параметры. Если эта предпосылка не удовлетворяется, то коэффициенты регрессии найти можно, однако ничего нельзя будет сказать об эффективности метода, т.е. нельзя оценить точность уравнения регрессии. Если y не подчиняется нормальному распределению, то стараются подобрать такую функцию преобразования, чтобы перейти от y новой случайной величине q  f  y  , приближенной распределенной по нормальному закону. Например, для многих ассиметричных распределений делается замена q  ln y  . 2) Дисперсии  2y   2 yu , u  1, N равны друг другу. Это означает, что если производить многократные и повторные наблюдения над величиной yu при некотором определенном наборе значений x1u , x2u ,..., xku  , то получим дисперсию  2y , которая не будет зависеть от математического ожидания Myu , т.е. не будет отличаться от  2y , полученной при повторных наблюдениях для любого другого набора независимых переменных. Это требование также не всегда выполняется для реального эксперимента. 3) Независимые переменные x1, x2 ,..., xm измеряются с пренебрежимо малой ошибкой по сравнению с ошибкой в определении y . 69 При таких предпосылках оказывается возможным вычислить коэффициенты полинома, а также оценить их точность и точность уравнения регрессии в целом. Проведение эксперимента над моделью любой сложной системы завершается полученим больших массивов данных. В состав данных массивов входят наборы исходных данных, значения промежуточных и результирующих параметров. Практически для любой системы требуется определить степени влияния исходных параметров на результат, меру линейной зависимости, и получить иные статистические показатели функционирования системы. В данном разделе приводятся методы получения статистической информации работы системы путем использования соответствующей имитационной модели на основе статистических исследований. Для обработки результатов эксперимента используются линейные многофакторные модели. С помощью грамотно построенной многофакторной модели можно определить, как себя ведет отклик рассматриваемой сложной системы в зависимости от изменения факторов. Построение линейной многофакторной модели осуществляется с помощью методов корреляционно-регрессионного анализа. 7.1. Обозначения  y1    y  y   2  – значения отклика (зависимой переменной) в пе   y   n риодах времени, где n – число периодов наблюдения.   X  x1, x 2 , x m – ряды m факторов (независимых или объясняющих переменных). x i – среднее значение i - й переменной. 70 7.2. Предварительные понятия и определения Дисперсия случайной величины x определяется по формуле:  xi  x  n  x2  2 i 1 . n 1 Ее называют еще среднеквадратическим отклонением. Определение 7.1. Величину  x   x2 называют стандартным отклонением величины x . Коэффициент корреляции между случайными величинами x и y:  xi  x yi  y  n rxy  i 1 n  xi  x   yi  y  i 1 2 n . 2 i 1 Коэффициент корреляции характеризует тесноту или силу связи между переменными y и x . Значения принимаемые rxy находятся на отрезке  1, 1 . Если rxy  0 , то корреляция положительна, т.е. с увеличением (уменьшением) одной переменной ( x ) увеличивается (уменьшается) другая переменная ( y ). Если корреляция отрицательна, то наблюдается обратная ситуация. При нулевой корреляции связи между переменными нет. Если речь идет о многофакторной модели, то вычисляется  R  1  e2 , где 2 коэффициент множественной корреляции a  e2 – остаточная дисперсия отклика,  a2   2y – общая дисперсия отклика. 71 Общая дисперсия характеризует разброс наблюдений фактических значений от среднего y . Остаточная дисперсия: n  y  y i  e2  it 2 i 1 , n  m 1 где yit – вычисленные значения переменной y посредством уравнения регрессии при подстановке в него наблюдаемых фактических значений x i . Остаточная дисперсия характеризует ту часть рассеяния переменной y , которая возникает из-за всякого рода случайностей и влияния неучтенных факторов. Коэффициент детерминации  D  1  e2 . 2 a Данный коэффициент служит для оценки точности регрессии, т.е. соответствия полученного уравнения регрессии имеющимся эмпирическим данным. Значение коэффициента изменяется в пределах 0, 1 . Чем D ближе к единице, тем точнее регрессионная модель. Стандартная ошибка оценки равна  e2 . Можно показать, что при D  0 корреляционнорегрессионная связь между переменными x и y отсутствует. Если D  1 , то связь функциональная. 7.3. Оценка параметров линейной многофакторной модели Общий вид линейной многофакторной модели следующий: m yˆ  a x j j , (6) j 0 72 где x 0  1 – дополнительная константа для учета в уравнение регрессии свободного коэффициента (в этом случае в матрицу X добавляется единичный вектор-столбец и единичная строка): yˆ   y1t ,, ynt  . В матричной форме уравнение (6) примет вид yˆ  aT x . Для оценки параметров регрессионной модели необходимо минимизировать следующую функцию: S a    y  yˆ 2   y  XaT  y  Xa  min , т.е. минимизировать сумму квадратов остатков. Такой метод, называемый методом наименьших квадратов Вам известен. Дифференцируя S a  по компонентам вектора a , получаем следующее соотношение: S a   2 X T y  2 X T Xb  0 a или X T Xa  X T y . (7) Соотношение (7) является системой линейных уравнений, решением которой при условии обратимости матрицы X T X является  a  XT X 1 X T y . Решение системы (7) можно осуществить соответствующими методами, например, методом Жордана-Гаусса. Здесь    XT X        x1i  x1i 2  x1i    n  xim  xim x1i      xim    x1i xim  ;     2 xim  73    yi    1  xi yi  XT y   .     xm y  i i  Когда нам известна методика оценки параметров линейной многофакторной модели, мы можем приступать к ее построению.  7.4. Построение линейной многофакторной регрессионной модели Построение многофакторной модели содержит не только этапы вычислений регрессионных коэффициентов, но и оценку правомерности ее использования по различным критериям. Также необходима проверка обсужденных ранее предпосылок. Построение модели выполняется по следующим этапам: 1) априорное исследование системы; 2) формирование перечня факторов и их логический анализ; 3) сбор исходных данных и их первичная обработка; 4) спецификация функции регрессии; 5) оценка функции регрессии; 6) отбор главных факторов; 7) проверка адекватности модели; 8) интерпретация модели; 9) прогнозирование неизвестных значений зависимой переменной. Последний этап может не выполняться, если только требуется оценить влияние выбранных факторов на отклик системы. Рассмотрим подробнее содержание этапов. 74 7.4.1. Априорное исследование системы В соответствии с целью работы на основе знаний в области рассматриваемой системы конкретизируются явления, процессы, зависимость между которыми подлежит оценке. При этом подразумевается, прежде всего, четкое определение явлений в системе, установление объектов и периода исследования. На этом этапе должны быть сформулированы осмысленные и приемлемые гипотезы о зависимости явлений, например, зависимость производительности труда от автоматизации производственного процесса, уровня квалификации рабочих и размеров вознаграждений за труд. 7.4.2. Формирование перечня факторов и их логический анализ Для определения разумного числа переменных в регрессионной модели, необходимо, прежде всего, ориентироваться на соображения профессионально-теоретического характера. Исходя из физического смысла явления, производят классификацию переменных на зависимые и объясняющие. 7.4.3. Сбор исходных данных и их первичная обработка Исходная информация может быть представлена в трех формах: 1) динамические (временные) ряды; 2) пространственная информация – информация о работе нескольких объектов в одном разрезе времени; 3) сменная (табличная форма) – информация о работе нескольких объектов за разные периоды. Объем выборки (число значений переменных) не может быть произвольным и зависит от количества факторов, входящих в состав модели с учетом свободного члена. Рекомендуется для статистически значимой модели на один фактор осуществ75 лять выборку в объеме 5 – 8 наблюдений. Общий объем выборки рассчитывается исходя из количества факторов, а также количества свободных членов уравнения регрессии. 7.4.4. Спецификация функции регрессии На данном этапе исследования дается конкретная формулировка гипотезы о форме связи (линейная или нелинейная, простая или множественная и т.д.). Для этого используются различные критерии для проверки состоятельности гипотетического вида зависимости. Также проверяются предпосылки корреляционно-регрессионного анализа. 7.4.5. Оценка функции регрессии Здесь определяются числовые значения параметров регрессии, и вычисляется ряд показателей, характеризующих точность модели. 7.4.6. Отбор главных факторов Одним из важных этапов составления многофакторной модели является отбор объясняющих переменных. В первую очередь на данном этапе формируют перечень тех факторов, которые могут влиять на отклик системы. Обычно их число достигает нескольких десятков. Поэтому построенная с таким количеством факторов модель может быть неустойчивой. Она проявляется, когда при изменении некоторых факторов значение зависимой переменной будет расти вместо того, чтобы уменьшаться. При небольшом количестве факторов полученная модель может приводить к ошибкам при принятии решений в ходе ее анализа. В связи с этим определяют рациональных перечень факторов. 76 Отбор факторов из предварительного списка производят с помощью их анализ на мультиколлинеарность. Определение 7.2. Мультиколлинеарность – попарная корреляционная зависимость между факторами. Считается, что мультиколлинеарная зависимость между факторами корреляции x i и x j присутствует, если коэффициент парной rij  0,7  0,8 . Отрицательное воздействие мультиколлинеарности состоит в следующем: 1) усложняется процедура выбора главных факторов; 2) искажается смысл коэффициента множественной корреляции (он предполагает независимость факторов); 3) усложняются вычисления при построении самой модели; 4) снижается точность оценки параметров регрессии, искажается оценка дисперсии. Следствием снижения точности является ненадежность регрессионных коэффициентов и отчасти неприемлемость их использования для интерпретации меры воздействия соответствующей объясняющей переменной на зависимую переменную. Оценки коэффициента становятся очень чувствительными к выборочным наблюдениям. Здесь становится ненадежным применение критериев значимости. Таким образом, становится ясным, что при построении рассматриваемой модели необходимо установить стохастическую мультиколлинеарность, которую по возможности следует устранить. Для измерения мультиколлинеарности можно использовать квадрат коэффициента множественной корреляции: D  R2 . Значение D является коэффициентом детерминации. Вве- дем коэффициент парной детерминации при отсутствии мультиколлинеарности 77 d yj  ryj2 . Тогда, D m  d yj . (8) j 1 Соотношение (8) показывает, что в многофакторной модели присутствуют связи только между зависимой переменной y и факторами x j , j  1, m . Связи между факторами отсутствуют. Равенство (8) может выполняться в редких случаях. Поэтому вводят меру мультиколлинеарности: M D m  d yj . j 1 Чем меньше эта разность, тем меньше мультиколлинеарность. Для ее снижения используется метод исключения переменных. Суть метода определяется исключением тех факторов, которые хорошо коррелированы. При этом порог модуля коэффициента корреляции rij , i  1, m; j  1, m задается значением больше 0,6. Как правило, если rij  0,7, i, j  1, m , то один из факторов исключают. Здесь сразу возникает вопрос: «Какой из двух хорошо коррелированных факторов исключать?» Решение об исключении того или иного фактора принимают, исходя из управляемости факторов на уровне системы. Если фактор хорошо управляем и позволяет улучшить функционирование системы, то его оставляют в модели. Но часто возникают ситуации, когда оба фактора положительно влияют на систему, и на них можно воздействовать. Поэтому вопрос исключение факторов решают путем процедуры отбора главных факторов. Принятие решения об отборе главных факторов производится с применением анализа значений специальных статистических характеристик. 78 Процедуры отбора главных факторов включает следующие этапы: 1) анализ факторов на мультиколлинеарность и ее снижение (исключение); 2) анализ тесноты взаимосвязи факторов x j , j  1, m с зависимой переменной y ; 3) анализ степени влияния факторов на зависимую переменную; 4) проверка коэффициента регрессии a j , j  0, m на статистическую значимость; 5) анализ факторов на управляемость; 6) построение новой регрессионной модели без исключенных факторов. 7) исследование целесообразности исключения факторов из модели с помощью коэффициента детерминации. Для выполнения первых двух этапов составляют корреляционную матрицу следующего вида (таблица 2). Таблица 2. Корреляционная матрица 2 m y … № переменной 1 x x x1 1 r12 … r1m r1 y x2 r21 1 … r2m r2 y       xm rm 2 rm 2 … 1 rmy x Для анализа факторов на мультиколлинеарность используют коэффициенты парной корреляции rij , i, j  1, m . Анализ тесноты взаимосвязи x j , j  1, m и y проводится с использованием соответствующих коэффициентов парной 79 корреляции r jy , j  1, m . Если r jy  0 , то j -й фактор исключается автоматически. Далее факторы сортируются в порядке возрастания модулей коэффициентов парной корреляции. Принятие решения об их исключении начинается с первых элементов полученной последовательности. Окончательное решение об исключении принимается в ходе анализа других статистических характеристик. Анализ степени влияния факторов на зависимую переменную осуществляется путем вычисления коэффициента  k .  k  ak  xk y , где k  1, m . Коэффициент показывает, на сколько  y изменится зависимая переменная y , если изменить на  x k k -й фактор при фиксированных значениях остальных факторов. Он учитывает влияние анализируемого фактора на зависимую переменную «с учетом различий уровня его колеблемости». Фактор x j с меньшим коэффициентом  j по отношению к фактору x i (коэффициент i ) может быть исключен из модели. Принятие решения об исключении фактора из модели путем вычисления коэффициента  k имеет меньший вес по отношению к принятию решения на базе оценки тесноты связи фактора с зависимой переменной. Т.е. если для факторов x i и x j установлено, что riy  r jy , но i   j , то исключению подлежит фактор x j . Проверка коэффициентов на статистическую значимость проводится по одному из двух критериев: 1) критерий Стьюдента; 2) критерий Фишера. 80 Проверка коэффициентов по критерию Стьюдента проводится по следующей формуле: a tk  k , k  1, m , S ak где ak – коэффициент регрессии при k -м факторе, S ak – стандартное отклонение оценки параметра ak , вы- числяемое по формуле: S ak   e2    k 1  d yj n  1 . Здесь число степеней свободы статистики Стьюдента равно f  n  m 1 . Полученные значения tk , k  1, m сравниваются с критическим значением t f , , где  – уровень значимости. Если tk  t f , , то очевидно ak существенно больше нуля, а фактор x k оказывает большее влияние на зависимую переменную y . В противном случае фактор исключается из модели. Проверка статистической значимости по критерию Фишера проводится с помощью формулы: 2  a  Fk   k  , k  1, m .  Sa   k Здесь число степеней свободы статистики Fk следующие f1  1 , f 2  n  m  1 . Как в предыдущей методике, значения Fk F f1 f 2 , . Если сравниваем с критическим значением Fk  F f1 f 2 , , то фактор x k оказывает существенное влияние на y . В противном случае фактор x k исключается. 81 При анализе факторов на управляемость осуществляется логический анализ факторов на предмет возможности воздействия на них на уровне системы. Те факторы, которые не поддаются управлению, исключаются из модели. Например, мы исследуем зависимость объема выпускаемой продукции от следующих факторов: размер вознаграждения рабочим, скорость резки деталей, которую выполняет станок, количество технических перерывов за одну смену. Очевидно, что мы не можем воздействовать на второй фактор, т.к. он определяется техническими характеристиками оборудования. Поэтому, при близких значениях коэффициентов корреляции и  k , мы его исключаем. Построение новой регрессионной модели. Пусть мы исключили из полученной ранее модели с коэффициентом детерминации Dm m2 факторов. Тогда строим новую регрессионную модель с оставшимися m1  m  m2 факторами. Для нее также вычисляем коэффициент детерминации Dm1 . Исследование целесообразности исключения m2 факторов из модели с помощью коэффициента детерминации осуществляется путем расчета следующей величины: Dm  Dm1 n  m  1 . (9) F1  m  m1 1  Dm    С помощью данной величины, которая имеет F - распределение со степенями свободы f1  m  m1  m2 и f 2  n  m  1 , устанавливается, вносят ли совместно исключен- ные факторы существенную долю в вариацию объясняющей переменной y . Разность Dm  Dm1 в (9) является мерой дополнительного объяснения вариации y за счет обратного включения выведенных из модели факторов. 82 Значение F1 сравнивают с критическим F , f1 , f 2 для уровня значимости  и степеней свободы f1, f 2 . Если F1  F , f1 , f 2 , то m2 объясняющих переменных совместно оказывают существенное влияние на вариацию переменной y , и, следовательно, все m2 переменные из модели нельзя исключать. В противном случае, m2 переменных совместно не оказывают существенного влияния на вариацию переменной y . Здесь эти переменные окончательно исключаются из модели. 7.4.7. Проверка адекватности модели Данный этап анализа включает: 1) оценку значимости коэффициента детерминации; 2) проверку качества подбора теоретического уравнения; 3) вычисление специальных показателей. Оценка значимости коэффициента детерминации необходима для решения вопроса: оказывают ли выбранные факторы влияние на зависимую переменную? Оценка позволяет выявить такие ситуации, когда величина D целиком обусловлена случайными колебаниями в выборке, на основании которой он вычислен. Для оценки значимости D используется F - статистика со степенями свободы f1  m, f 2  n  m  1 : Dn  m  1 . m1  D  Если значение F превышает критическое, то включенные в уравнение регрессии переменные достаточно объясняют зависимую переменную y . F Проверка качества подбора теоретического уравнения осуществляется с использованием средней ошибки аппроксимации. 83 E 1 n  yi  yit   100% . n i 1  yit   Специальные показатели применяются для характеристики воздействия отдельных факторов на итоговый показатель. Коэффициент эластичности:  ke  ak xk . y Он показывает, насколько процентов в среднем изменяется функция с изменением аргумента на 1% при фиксированных значениях других аргументов. Мера вариации результативного признака за счет изолированного влияния фактора x k : g k   k2 . Показатель системного эффекта факторов показывает общее влияние факторов без учета внутренних связей: m  s  R 2    2j . j 1 7.4.8. Интерпретация системы Результаты регрессионного анализа сравниваются с гипотезами, сформулированными на первом этапе исследования, и оценивается их правдоподобие с точки зрения поведения системы. 7.4.9. Прогнозирование неизвестных значений зависимой переменной Полученное уравнение регрессии находит практическое применение в прогностическом анализе. Прогноз получают путем подстановки в регрессию численно оцененных значений факторов. 84 ЛЕКЦИЯ 8. ПРОГНОЗИРОВАНИЕ ПАРАМЕТРОВ СИСТЕМЫ Прогноз осуществляется для оценки неизвестного параметра в будущем периоде времени или в неисследованной части пространства. При прогнозировании используют два понятия: 1) Предсказание – суждение о будущем состоянии процесса (или состоянии процесса в неисследованной части пространства), основанное на субъективных оценках качественных и количественных факторов. 2) Прогнозирование – оценка параметра в будущем периоде или в неисследованной области пространства на базе эвристических и математических методов. Эвристические методы базируются на использовании трудно формализуемых или не формализуемых явлений или процессов. В математических методах осуществляется подбор и обоснование соответствующей модели исследуемого процесса, а также способов определения неизвестных параметров. Здесь задача прогнозирования сводится к решению уравнений, описывающих данную модель для заданного момента времени. Для экономических систем наиболее популярны методы экстраполяции, которые отличаются простотой, наглядностью и легко реализуются на ЭВМ. Экстраполяционные методы предполагают, что существует связь между прошлым, настоящим и будущим. Когда речь идет о временных рядах, то существенен порядок, в котором осуществляются наблюдения. Временной ряд yt , t  1, n может быть представлен в следующем виде: yt  xt   t , где xt – детерминированная компонента процесса, 85  t – стохастическая (случайная) компонента процесса. Детерминированная компонента, иначе ее называют трендом, xt характеризует общую тенденцию изменения изучаемого показателя. Стохастическая компонента  t отражает случайные колебания или шумы. Отрезок времени k , отмеряемый от момента времени t , т.е. точки n  1, n  2, ..., n  k , называют периодом упреждения или прогнозным периодом. Если период упреждения находится в пределах трех лет, то прогноз называют краткосрочным. Когда мы прогнозируем на период от трех до пяти лет, то выполняем среднесрочный прогноз, а при периоде более пяти лет – долгосрочный прогноз. При прогнозировании оценивается математическое ожидание исследуемого процесса (точечный прогноз) и величина интервала, в который с заданной вероятностью попадет прогнозируемое значение процесса (интервальный прогноз). Эстраполяционные методы можно классифицировать на следующие группы: 1) методы авторегрессии; 2) методы, основанные на разложении временного ряда на компоненты; 3) методы, позволяющие учесть неравнозначность исходных данных; 4) методы прямой экстраполяции; 5) методы, основанные на построении многофакторных корреляционно-регрессионных моделей. Дадим краткую характеристику вышеприведенным группам. Авторегрессионные модели используют в случае, когда влияние факторов на исследуемый параметр четко не определено, т.е. невозможно выделить стабильные во времени причинно86 следственные связи. Такие модели целесообразно применять для сильно автокоррелированных динамических рядов. При построении моделей авторегрессии предполагается, что во временных рядах существует связь между недавно реализованными значениями и значением, которое наступит в будущем, т.е. имеется корреляция. Модель авторегрессии имеет следующий вид: yt  a0  a1 yt 1  a2 yt 2  ...  am yt m , где al , l  0, m – параметры уравнения регрессии, yt – значение показателя в прогнозном периоде ( t  n  1, n  k ). При составлении данного уравнения часто осуществляют элиминирование мультиколлинеарности в матрице приведенных рядов данных ( n  m  2 ):  ym 1   ym     y  1 ym  2 ym 1  y2  yn    yn 1  .      yn  m  Для улучшения свойств прогнозной модели в нее вводят фактор времени в виде самостоятельной переменной t . Увеличение точности прогнозирования в ряде случаев достигается за счет учета линейного тренда. Методы прогнозирования, основанные на разложении временного ряда на компоненты – главная тенденция, сезонные колебания и случайная составляющая, – позволяют описать многие (практически любые) экономические процессы независимо от их характера. При аддитивной связи компонент модель имеет вид: yt  yt/  yt// , где yt/ – трендовая составляющая, yt// – сезонные колебания и случайная составляющая. 87 При этом последняя ( yt//  yt  yt/ ) может быть разложена в ряд Фурье: yt//  a0  m  ai cositr  bi sin itr   t . i 1 Смысл переменной t r и правила вычисления коэффициентов a0 , ai , bi , i  1, m приведены в работе [3]. Качество прогнозирования напрямую зависит от качества и полноты исходных данных. Вышеприведенные методы могут давать сбои при неравнозначности исходных данных (например, разные размерности и порядки значений факторов). Преодолеть данную проблему можно с помощью соответствующих методов: 1) метод авторегрессии с последующей адаптацией коэффициентов уравнения; 2) метод взвешенных отклонений. Мы рассмотрим один из подходов адаптации коэффициентов. Для адаптации коэффициентов модели авторегрессии может быть использован принцип метода градиентного (наискорейшего) спуска:   an  ao  k  grad lt2 , (10) где an – вектор новых коэффициентов, ao – вектор старых коэффициентов, k  0 – управляемый коэффициент, lt  – ошибка прогноза в момент времени t   . После математических преобразований получим откорректированные оценки коэффициентов: an  ao  2klt  xt . Для нахождения коэффициента k можно использовать итеративную процедуру, описанную в работе [4]. 88 8.1. Прогнозирование с помощью методов экстраполяции Прогнозирование с помощью методов экстраполяции включает в себя следующие этапы: 1) определение цели и задачи исследования, анализ прогнозируемого объекта; 2) подготовка исходных данных; 3) фильтрация исходного временного ряда; 4) логический отбор видов аппроксимирующей (прогнозной) функции; 5) оценка математической модели прогнозирования (вычисление коэффициентов прогнозной функции); 6) выбор математической модели прогнозирования. 8.1.1. Определение цели и задачи исследования, анализ прогнозируемого объекта Данный этап предусматривает детальное логическое изучение системы и формулирование взаимодействий ее компонент. 8.1.2. Подготовка исходных данных На данном этапе устанавливается полнота исходных рядов данных. Недостающие значения вычисляются с помощью методов интерполяции. Например, если значение yk , k  1, n в поквартальном ряде отсутствует, то его можно вычислить (оценить) с помощью следующей формулы: yk  4 . (11) yk   yk 1  yk 1  yk  5  yk  3 Вычисление недостающего значения по формуле (11) позволяет учесть соседние значения и прошлогоднюю тенденцию изменения ряда. 89 8.1.3. Фильтрация временного ряда На данном этапе осуществляется выявление аномальных значений и замена их значениями, соответствующими тенденциям динамики прогнозируемого параметра. Аномальным значением называют такую величину члена ряда, которая существенно отклоняется от значений ближних элементов. Устранение аномальных явлений осуществляется двумя способами, которые могут быть использованы по отдельности или последовательно: сглаживание и выравнивание. Сглаживание применяется для устранения случайных отклонений (шума) из экспериментальных значений исходного ряда. Сглаживание проводится с помощью многочленов, приближающих группы опытных точек (методом наименьших квадратов). Чаще всего применяют линейную зависимость. При сглаживании пересчет ведется не только для текущих значений yk , k  1, n , но и для соседних. Для трех точек используется следующие формулы: 1 yk/   yk 1  yk  yk 1  , 3 1 yk/ 1  5 yk 1  2 yk  yk 1  , 6 1 yk/ 1   yk 1  2 yk  5 yk 1  . 6 Для пяти точек используются следующие формулы: 1 yk/   yk  2  yk 1  yk  yk 1  yk  2  , 5 1 yk/ 1  4 yk  2  3 yk 1  2 yk  yk 1  , 10 1 yk/ 1   yk 1  2 yk  3 yk 1  4 yk  2  , 10 90 1 3 yk 2  2 yk  yk 1  yk  2  , 5 1 yk/  2   yk  2  y0  2 yk 1  3 yk  2  . 5 Сглаживание (даже в простом линейном варианте) является во многих случаях эффективным средством выявления тренда при наличии в экспериментальных точках случайных помех и ошибок измерения. Выравнивание применяется для представления исходного ряда без изменения его числовых значений. Для этого исходную эмпирическую формулу y  f t , a, b , где t – момент времени, yk/  2  a, b – параметры, приводят к следующему виду: Y  a1T  b1 . Здесь используется двухпараметрическая зависимость, которая широко распространена и проста в получении. Использование большего числа параметров влечет за собой получение громоздких формул и, зачастую, неудачу в выравнивании. Наиболее часто при выравнивании используется логарифмирование и замену переменной. Ниже приводятся примеры выравнивания для некоторых эмпирических формул. Пример 1: y  atb . Логарифмирование: lg y  lg a  b lg t . Замена переменных T  lg t , Y  lg y , b1  lg a , a1  b . Пример 2: y  aebt . Логарифмирование: lg a  lg a  bt lg e . Замена переменных a1  b lg e , b1  lg a , T  t . 91 Пример 3: 1 . y a  bet Выравнивание: Y  1 , T  et , a1  b , b1  a . y С помощью выравнивания мы имеем линейную зависимость, для которой значительно проще определить коэффициенты. После прогнозирования полученные значение необходимо пересчитать по формулам, обратным исходному преобразованию. На практике метод выравнивания используется для определения приближенных значений параметров аппроксимирующей функции. 8.1.4. Логический отбор аппроксимирующей функции На данном этапе осуществляется анализ исходного ряда данных на предмет изменения его значений во времени. При этом учитываются условия протекания рассматриваемого процесса и требования, предъявляемые к математической модели. Этап предусматривает рассмотрение и решение следующих вопросов: 1) какой функции соответствует поведение значений исследуемого параметра (монотонной, стабильно монотонной, периодической, имеющей один или несколько экстремумов, функции детерминированного хаоса); 2) имеются ли ограничения для показателя сверху и снизу, связанные с постановкой задачи; 3) имеет ли функция, определяющая процесс, точки перегиба; 4) обладает ли анализируемая функция свойством симметричности (такие случаи могут проявляться, например, при рассмотрении жизненного цикла товара); 92 5) накладываются ли на процесс ограничения во времени. Ниже приведены классы наиболее часто используемых функций. Степенной полином: y t   a0  m  ait i ; i 1 экспоненциальный полином: m   y t   exp a  ait i  ;   i 1   гиперболический полином:  y t   a0  m  a ti , 1 i 1 i где y – прогнозируемый показатель, t – момент времени, a0 , a1,..., am – параметры (коэффициенты) экстраполирующих функций. На практики хорошие результаты показывают линейная, квадратичная и степенная ( yt   atb ) функции. Они содержат малое количество параметров и в прогнозном периоде показывают большую точность. Также хорошие результаты получаются, когда используются следующие функций: Экспоненциальная: yt   aebt ; модифицированная экспоненциальная: yt   k  aebt ; гиперболическая: b yt   a  ; ct 93 логистическая: k . yt   1  beet При выборе вида аппроксимирующей функции, когда есть возможность, прибегают к графическому способу подбора по виду точек временного ряда. Иногда вместо значений ряда используют их первые разности zk  yk  yk 1, k  2, n или производную аппроксимирующей функции. Для программной реализации выбора аппроксимирующей функции осуществляют верификацию прогноза по ретроспективному периоду, в которой используются остатки: ei  yi  f a, ti  , где ti – i -й момент времени, i  1, n ; f a, ti  – значение экстраполирующей функции в момент времени ti ; a – вектор параметров экстраполирующей функции; yi – фактическое значение параметра в момент времени ti . Когда средняя величина остатков равна или близка нулю, то функция может быть внесена в список прогнозных функций. Обычно при прогнозировании выбирают сразу несколько аппроксимирующих функций. Окончательный выбор осуществляется путем сравнения точности прогнозирования по ретроспективному периоду. 8.1.5. Оценка математической модели прогнозирования На данном этапе определяются параметры различных аппроксимирующих функций. Для этого используется метод наименьших квадратов (МНК) и его модификации, метод экспоненциального сглаживания, метод вероятностного моделирования, метод адаптивного сглаживания. 94 Мы подробно рассмотрим 2 метода: модификацию МНК и метод экспоненциального сглаживания. Метод наименьших квадратов, как мы уже знаем, сводится к минимизации квадратов разности расчетного значения параметра и фактического на ретроспективном периоде: n S   yˆ  y  i i 2  min , (12) i 1 где ŷ i – расчетные значения исходного ряда, yi – фактические значения исходного ряда, n – число на- блюдений. МНК с соотношением (12) называют классическим МНК. В этом случае предполагается, что все значения ряда являются равноправными. Если это не так, то каждое слагаемое умножается на коэффициент дисконтирования i  1, i  1, n; n  i  1 . i 1 Такая модификация носит название «Метод взвешенных наименьших квадратов» (МВНК). В данном методе соотношения (12) принимает вид: n Sw    xˆ  x  i i i 2  min . i 1 Коэффициенты i могут быть заданы в числовой форме или в виде функции. Обычно строят возрастающие последовательности, показывая, что будущее поведение системы в большей степени определяется поздними наблюдениями, чем ранними. Метод наименьших квадратов является одним из самых простых с точки зрения реализации на ЭВМ. За этой простотой, к сожалению, стоят три серьезных недостатка: 95 1) Модель тренда жестко фиксируется, и с помощью МНК можно получить прогноз на небольшой период. Из этого следует, что МНК относят к методам краткосрочного прогнозирования. 2) Выбор вида модели весьма затруднителен. Также сложно обосновать выбор весов в МВНК. 3) Метод МНК хорошо реализуется для линейных и реализуемых зависимостей. В этом случае нахождение коэффициентов модели сводится к решению системы линейных уравнений. Задача значительно усложняется, если для прогноза используется функциональная зависимость, не сводимая к линейной. Метод экспоненциального сглаживания является эффективным и надежным методом среднесрочного прогнозирования. В данном методе предполагается, что чем ближе точка (значение по времени) к прогнозному периоду, тем выше их ценность. Такое положение лежит в основе метода экспоненциального сглаживания. Сущность метода заключается в сглаживании исходного динамического ряда взвешенной скользящей средней, веса которой ( wi , i  1, n ) подчиняются экспоненциальному закону (рис. 9). Пусть исходный динамический ряд описывается полиномом следующего вида: bp p b yt  b0  b1t  2 t 2  ...  t  t , 2! p! где b0 , b1, ..., b p – коэффициенты полинома, p – порядок (степень) полинома,  t – случайная составляющая. Величина Stk  y  называется экспоненциальной средней k - го порядка для ряда yt . 96 Рис. 9. Коэффициент экспоненциального сглаживания Параметр сглаживания  определяет влияние исходного ряда наблюдений. Чем больше  , тем больше вклад последних наблюдений в формирование тренда, а влияние начальных условий убывает быстро. При малом значении параметра  прогнозные оценки учитывают все наблюдения, при этом уменьшение влияния более ранней информации происходит медленно. В расчетах экспоненциальная средняя определяется с помощью рекуррентной формулы Брауна: Stk  y   Stk 1 y   1   Stk1 y  . (13) Для того чтобы использовать соотношение (13), необходимо задать начальные условия S0l , l  1, k по формуле БраунаМейера: n S 0l   i 0  bˆi  1    n  1  j !  1 j n 1    j , (14) n ! l  1! j! i  j 0 где bˆi , i  0, n – оценки коэффициентов. Оценку коэффициентов прогнозирующего полинома определяют через экспоненциальные средние по фундаментальной теореме Брауна-Мейера. 97 Рассмотрим применение метода экспоненциального сглаживания для линейного и параболического тренда, которые наиболее популярны. 8.1.6. Линейная модель Брауна Она имеет следующий вид: yt  b0  b1t   t . (15) Начальные приближения (условия) для случая линейного тренда равны (по формуле (14)): экспоненциальная средняя первого порядка: 1 S11 y   b0  b1 ;  экспоненциальная средняя второго порядка: 21    S12  y   b0  b1 ;  Экспоненциальные средние первого и второго порядков в момент времени t (см. формулу (15)): S12  y   y1  1   S11 y  ; S22  y   S12  y   1   S12  y  . Для t  2 : St1 y   yt  1   St11 y  ; St2  y   St1 y   1   St21 y  . Оценки коэффициентов линейного тренда: bˆ  2 S 1  y   S 2  y  , t  t   bˆ1  S t1  y   S t2  y  . 1 Прогноз на m шагов (в моменты времени t  tn 1, tn  m ) равен yt  bˆ0  bˆ1t . При этом оценка ошибки прогноза будет рав98 на:   t  2    3 1  41     51    2  2  2 4  3 t m  2 2t m . 8.1.7. Параболический тренд 1 yt  b0  b1t  b2t 2   t . 2 Начальные приближения 1   2    b ; 1 S01  y  b0  b1  2  2 2 1   3  2  b ; 21    S02  y  b0  b1  2  2 2 1   4  3  b . 31    S03  y  b0  b1  2  2 2 Экспоненциальные средние: St1 y  yt  1   St11 y  ; St2  y  St1 y   1   St21 y  ; St3  y  St2  y   1   St31 y  . Оценки коэффициентов параболической для тренда: bˆ  3 S 1  y   S 2  y   S 3  y  ; bˆ1  bˆ2   t t  1    2  1    2  t 6  5 S  y   25  4 S 1 t S  y  2S 1 t 2 t  y   S t3  y . 99 2 t зависимости  y   4  3 S t3  y ; Прогноз на m шагов (в моменты времени t  tn 1, tn  m ) ра1 вен yt  bˆ0  bˆ1t  bˆ2 t 2 . При этом оценка ошибки прогноза 2 будет равна:  *y    t 2  3 2  3 3t1 . Для метода экспоненциального сглаживания основным и наиболее трудным моментом является выбор параметра сглаживания  . Он определяет оценки коэффициентов модели, а, следовательно, и результаты прогноза. Приближенная оценка параметра метода  осуществляется двумя способами: 1) Соотношение Брауна, выведенное из условия равенства скользящей и экспоненциальной средней: 2  , где N – число точек ряда, для которых динамика N 1 считается однородной и устойчивой (число точек в интерва2 ле сглаживания). Иногда   , где n – число наблюдеn 1 ний (точек) в ретроспективном периоде. 2) Соотношение Мейера:    n , где  n – средняя квадратическая ошибка модели;   e – средняя квадратическая ошибка исходного ряда. Очевидно, что выбор параметра  нужно связывать с точностью прогнозирования. Для более обоснованного выбора  можно использовать процедуру обобщенного сглаживания, в результате которой получаются соотношения, связывающие оценку ошибки прогноза  и параметр сглаживания: для линейной модели:  2  1  4  5 2  2 1  3   2 2 3  2 ; 2 1      100 для квадратичной модели:    2   2 2  3 3  3 2 , где  1   ,  – горизонт прогнозирования,   – дисперсия остатков на ретроспективном диапазоне. Очевидно, что при уменьшении параметра сглаживания  снижается оценка ошибки прогноза, но при этом увеличивается риск получения некачественной экстраполяционной модели. Качество прогноза во многом зависит от выбора порядка полинома. Известно, что превышение второго порядка модели не приводит к существенному увеличению точности прогноза, но значительно усложняет расчет. В заключение отметим, что метод экспоненциального сглаживания является одним из наиболее эффективных, надежных и широко применяемых методов прогнозирования. Он позволяет получить оценку параметров тренда, характеризующих не средний уровень процесса, а тенденцию, сложившуюся к моменту последнего наблюдения, и при этом отличается простотой вычислительных операций. Проиллюстрируем применение метода экспоненциального сглаживания на конкретном примере. Ниже, в таблице 3 приведены исходные данные. Таблица 3. Год t yt 1997 1998 1 40 1999 2 43 2000 3 46 4 48 Очевидно, что представленный ряд исходных значений можно аппроксимировать с помощью линейной функции. Ее коэффициенты, вычисленные с помощью метода наименьших a  2,7 ; b  37,5 , т.е. квадратов будут следующие: 101 y  2,7t  37,5 . При этом относительная ошибка составит    0,3 . Параметр сглаживания при N 4 2   0,4 . 4 1 Найдем экспоненциальные средние. Начальные условия: S11  37,5  будет равен 1  0,4 2,7  33,45 ; 0,4 21  0,4 2,7  29,4 . 0,4 Вычислим экспоненциальные средние, начиная с момента времени t  2 (мы делаем прогноз на ретроспективном периоде для m  1 при t  2 ) и с использованием вышеприведенных начальных условий. S12  37,5  S12  0,4  40  0,6  33,45  36,07 , S 22  0,4  36,07  0,6  29,4  32,07 . Соответственно пересчитываются коэффициенты регрессии a и b: 0,4 36,07  32,07  2,67 , aˆ 2  1  0,4 bˆ2  2  36,07  32,07  40,07 , а прогнозируемое значение равно yˆ 2  40,07  2,67  1  42,74 . Мы умножаем на единицу, т.к. осуществляем прогноз на один период m  1 . Аналогичным образом вычисляются необходимые величины для t  3, 5 . 102 В таблице 4 сведены исходные, промежуточные и результирующие значения прогнозирования с помощью метода экспоненциального сглаживания. yt t 1 2 3 4 5 ( l 1) 40 43 46 48 - Таблица 4. S 1 S 2 ât b̂t 36,07 38,84 41,71 44,22 32,07 34,78 37,55 40,21 40,07 42,90 45,86 48,23 2,67 2,71 2,77 2,67 t t ŷ t 42,74 45,62 48,63 51,89 yˆ t  yt -0,26 -0,38 0,63 - Окончательная модель прогнозирования yt  m  2,67m  48,23 . Оценка ошибки прогноза   0,46 . 8.1.8. Выбор математической модели прогнозирования Выбор моделей прогнозирования базируется на оценке их качества. Качество модели определяется их точность и адекватностью. Адекватность характеризуется наличием и учетом определенных статистических свойств. Точность модели определяется степенью ее близости к фактическим данным. Адекватность модели Модель прогнозирования считается адекватной, если она учитывает существенную закономерность исследуемого процесса. В ином случае ее нельзя применять. Закономерность исследуемого процесса находит отражение в наличии определенных статистических свойств остаточной компоненты. Их всего три: 1) независимость остатков; 2) случайность остатков и подчинение их нормальному закону распределения; 103 3) равенство суммы остатков нулю. Независимость остаточной компоненты означает отсутствие автокорреляции между остатками ei  yi  yit , i  1, n . Наличие автокорреляции может привести к следующим последствиям: 1) дисперсия остатков регрессии будет недооцененной; 2) выборочная дисперсия параметров регрессии будет рассчитана с ошибкой, что станет препятствием к корректному применению МНК при построении модели исходного динамического ряда. Для идентификации наличия автокорреляции остатков используется критерий Дарбина-Уотсона, в соответствии с которым вычисляется d - статистика: n   yi  yit    yi 1  yit1 2 d  i 2 n ,   yi  yit  2 i 1 где yi , i  1, n – фактические значения исходного ряда, yit , it  1, n – теоретические значения ряда, n – объем выборки. Установлено, что область значений величины d является отрезок 0, 4 . Согласно методу Дарбина-Уотсона существуют нижний d н и верхний d в пределы значений статистики d . Такие значения, зависимые от уровня значимости, объема выборки и числа объясняющих переменных (факторов), называют критическими. С ними сравнивается полученная величина d . При сравнении возникает один из четырех ниже перечисленных случаев (см. таблица 5, рис. 10). Критерий Дабрина-Уотсона обладает двумя недостатками: 1) наличие области неопределенности, в которой нельзя прийти ни к какому выводу; 104 2) при объеме выборки менее 15 для статистики d не существуют критические значения d н и d в . Таблица 5. № п/п Случай 1 dв  d  4  dв 2 0  d  dн 3 dн  d  dв или 4  dв  d  4  d н 4 4  dн  d  4 Принимаемое решение принимается гипотеза отсутствия автокорреляции остатков принимается гипотеза существования положительной автокорреляции остатков при выбранном уровне значимости нельзя прийти к определенному выводу принимается гипотеза о существовании отрицательной автокорреляции остатков Рис. 10. Возможные случаи для значения статистики d В этом случае для оценки независимости остатков можно использовать коэффициент автокорреляции: d ra  1  . 2 Расчетное значение ra сравнивается с табличным raT . При этом степень свободы f равна n . Если ra  raT , то остатки независимы. Проверка случайности остатков осуществляется с помощью расчета количества так называемых точек поворота (критерий пиков и впадин). Здесь каждое значение ряда остатков сравни- 105 вается с двумя соседними. Если оно больше или меньше их, то данная точка ряда является поворотной. Пусть всего поворотных точек K . Тогда, если остатки случайны, то должно выполняться следующее строгое неравенство:  2n  1 29    K   2 16n    . 90     3 Соответствие ряда остатков нормальному закону распределения можно проверить с помощью критерия КолмогороваСмирнова. Также такую проверку можно выполнить, используя коэффициенты асимметрии – Ac (мера «скошенности») и экс- цесса – Ek (мера «скученности»): n  Ac  1 ei3 n i 1 1  ei2    n i 1  n  3 ; n  Ek  1 ei4 n i 1 1 n 2  ei  n   i 1   2 3. Данные коэффициенты оцениваются на близость к нулю. Для этого вычисляются среднеквадратические отклонения: 6n  2 Sa  ; n  1n  3 Se  24nn  2n  3 n  12 n  3n  5 . Если выполняются соотношения: Ac  1,5Sa ; 106 Ek  1,5Se , то считается, что распределение ряда остатков не противоречит нормальному закону. В случае Ac  2Sa или Ek  2Se , то распределение ряда не соответствует нормальному закону распределения, и построение прогноза и его доверительных интервалов не правомочно. Если 1,5Sa  Ac  2Sa или 1,5Se  Ek  2Se , т.е. коэффициенты попадают в зону неопределенности, то можно использовать RS - критерий: RS  Emax  Emin  / S , где Emax  max ei , Emin  min ei , S – среднеквадратическое i 1, n i 1, n отклонение остатков. Если значение RS попадает между табулированными границами с заданным уровнем значимости, то гипотеза о нормальном распределении ряда остатков принимается. Равенство нулю средней ошибки можно проверить с помощью критерия Стьюдента: tp  1 n ei n i 1  n . S Если t p больше табличного значения при числе степеней свободы статистики t f  n  1 и заданном уровне значимости  , то гипотеза равенства нулю средней ошибки отклоняется. Оценка точности модели f выполняется с помощью ряда характеристик. Ниже приведены наиболее часто используемые показатели: 1) оценка стандартной ошибки; 2) средняя относительная ошибка модели; 3) среднее линейное отклонение; 4) ширина доверительного интервала. Оценка стандартной ошибки осуществляется по формуле: 107 n  yi  f xi 2 S1, f  x   i 1 n p , где n – число наблюдений, p – число определяемых коэффициентов модели. Средняя относительная по формуле: m  ошибка оценки вычисляется 1 n yi  f xi  100% . n i 1 f xi   Среднее линейное отклонение вычисляется по формуле: n  yi  f xi  B  i 1 nn  1 . Ширина доверительного интервала в точке прогноза Данный показатель позволяет определить, в каком диапазоне может находиться прогнозное значение. При вычислении ширины доверительного интервала оценивают верхнее и нижнее значение посредством определения стандартных ошибок коэффициентов модели. Для решения задач используются интервальные оценки коэффициентов модели: aiI  ai  t p Sai , (16) где ai , i  0, m – коэффициенты модели (предполагается, что в ней присутствует свободный член, в противном случае i изменяется от единицы до m ), S ai , i  0, m – стандартное отклонение коэффициента (см. статистическую значимость коэффициентов регрессии), t p – теоретическое значение критерия 108 Стьюдента при уровне значимости 0,05 и числе степеней свободы f1  n  m  1 . Если работа ведется с аппроксимацией вида yt  a1x  a0 , то стандартные отклонения вычисляются по следующим формулам: S a0  2 n , S a1  2 n ,  xi  x 2 i 1 где  2 – среднеквадратическое отклонение исходного ряда. Следует обратить внимание на то, что S a0 для многофакторной модели вычисляется точно также как для вышеуказанной аппроксимации. Несмещенная оценка дисперсии случайной составляющей: ̂ 2  1 n2 n  y  y i it 2 . i 1 Используя соотношение вида (16) вычисляются верхняя и нижняя границы доверительного интервала Yu , Yd :     Yu  f au , x ; Yd  f a d , x , где aiu  ai  t p Sai , aid  ai  t p Sai , x – вектор факторов, используемый для прогнозирования. По найденным границам вычисляется ширина доверительного интервала:   Yu  Yd . Из вышесказанного следует, что ширина доверительного интервала зависит: 1) от числа степеней свободы, и как следствие, от объема выборки, т.е. чем больше объѐм выборки, тем, при прочих равных условиях, меньше ширина доверительного интервала; 109 2) от величины стандартного отклонения Sai , i  0, m : чем больше данная величина, тем шире интервал. Итогом работ по выбору вида математической модели прогноза является формирование ее обобщенных характеристик. В них должны входить: 1) вид уравнения модели и значения его параметров; 2) оценка точности и адекватности модели; 3) точечные и интервальные прогнозные оценки. 8.2. Модель Хольта-Уинтерса Модель Хольта-Уинтерса относится к классу мультипликативных моделей с линейным ростом и позволяет проводить экстраполяционный прогноз с учетом сезонного спектра исходного ряда и общей тенденции поведения параметра. При этом предполагается, что временной ряд разбит на равные интервалы, которые называют сезонами. Пусть ряд Y разбит на k сезонов по L значений. Всего ряд содержит kL значений. Модель Хольта-Уинтерса для таких обозначений имеет следующий вид: yt t     at   bt F t    L , где yt    – прогнозная оценка,  – период упреждения (шаг прогнозирования), at , bt , F t    L – адаптируемые коэффициенты модели. Последний множитель модели F называют коэффициентом сезонности. Все коэффициенты адаптируются (т.е. пересчитываются) при переходе между сезонами, т.е. от членов ряд с номером t  L к t . Задача прогнозирования параметра с помощью модели Хольта-Уинтерса сводится к нахождению ее коэффициентов, которые вычисляются по следующим рекуррентным формулам: 110 bt   1 yt   1  1 bt  1  at  1 , F t  L  (17) at   2 bt   bt  1  1  2 at  1 , (18) F t   3 (19) yt   1  3 F t  L  . bt  В данных формулах присутствуют переменные 1 ,  2 ,  3 . Такие переменные называются параметрами сглаживания. Они задаются специалистом в диапазоне от нуля до единицы. Их нахождение для модели, описывающей тот или иной процесс – отдельная задача. Очевидно, что для вычисления необходимых коэффициентов нам потребуется вычислить их начальные значения a0 , b0 , F  3 , F  2 , F  1 , F 0 . Величины a0 и b0 являются коэффициентами линейной аппроксимации исходного временного ряда y   y1, y2 ,..., ykL  . Обозначим через ytl значения аппроксимации в момент времени t  1, kL , т.е. ytl  a0t  b0 . Тогда оставшиеся начальные значения вычисляются по следующим формулам: F  p   1 k y z  p ,i  , p  0, L  1 , где zi  iL  p . k i 1 y z  p,i ,l  Имея начальные коэффициенты, мы можем вычислять коэффициенты модели от сезона к сезону и перейти, тем самым, к прогнозированию. Очевидно, что горизонт прогнозирования кратен величине сезона L . При этом рекомендуют осуществлять прогноз только на один сезон   1, L . Оценку адекватности модели можно осуществить с помощью ранее приведенной методики (см. прогнозирование с помощью экстраполяции). 111 Для иллюстрации работы модели Хольта-Уинтерса приведем пример. Даны следующие значения параметра y (см. таблица 6). Таблица 6. t 1 2 3 4 5 6 7 8 9 10 11 12 y 49 78 84 94 65 99 111 142 103 189 152 181 Пусть сезон состоит из четырех значений L  4 , тогда k  3 . Аппроксимация для данного ряда имеет следующий вид: ytl  10,98t  40,86 . Отсюда a0  10,98 ; b0  40,86 . Вычислим начальные значения коэффициента сезонности. Для этого рассчитаем значения аппроксимации ytl , t  1,12 в каждый момент времени исторического периода (см. таблица 7): Таблица 7. t 1 2 3 4 5 6 ytl 51,79 62,72 73,65 84,58 95,51 106,44 t 7 8 9 10 11 12 ytl 117,37 128,3 139,23 150,16 161,09 172,02 1  49 65 103  Отсюда F  3       0,79 , 3  51,79 95,51 139,23  F  2  1,14 , F  1  1,01, F 0  1,09 . Пусть заданы следующие параметры сглаживания: 1  0,4 ,  2  0,3 , 3  0,6 . Тогда по формулам (17)–(19) можно последовательно находить коэффициенты модели (см. таблица 8). t -3 -2 at  bt  F t  y t  – – – – 0,787091 1,141154 – – 112 Таблица 8. yt t  – – bt  at  t y t  yt t  – – 1,007124 – – 40,864 1,086843 8,276464 42,83221 1,001236 49 40,22719 7,366116 48,07418 1,429957 78 67,76762 8,070179 57,78718 1,275015 84 68,14361 7,640718 64,42582 1,310162 94 82,53274 4,032448 60,03897 1,050072 65 64,50543 3,200137 61,29705 1,541034 99 103,0521 4,755359 69,68126 1,465787 111 101,628 7,117056 82,30894 1,559189 142 114,44 5,594413 84,35052 1,152686 103 93,90377 7,504419 96,31162 1,793842 189 148,7762 4,788733 94,76375 1,548708 152 151,9436 5,048805 100,4194 1,70514 181 172,7226 Прогнозные значения yt 12   ,   1,4 приведены в табли-1 1 2 3 4 5 6 7 8 9 10 11 12 – 10,98 F t  – це 9.  yt 12    Таблица 9. 1 2 3 4 115,752 189,1933 171,1586 197,0559 113 КОНТРОЛЬНЫЕ ВОПРОСЫ 1. Дайте определение понятия «модель». 2. Провести сопоставление понятий «модель», «система», «объект». 3. Какие требования предъявляются к модели? 4. Какие функции выполняет модель? 5. Перечислите классы моделей и их свойства согласно укрупненной классификации. 6. Назовите классы моделей и их свойства согласно детализированной классификации. 7. Какая модель называется имитационной? 8. Перечислите этапы построения имитационной модели. 9. Что происходит на этапе трансляции модели? 10. К каким последствиям может привести использование неадекватной модели? 11. В чем отличие стратегического и тактического планирования эксперимента? 12. На каких принципах строится концепция УСИМ? 13. Какие операции должна выполнять УСИМ? 14. Назовите этапы имитационного моделирования согласно концепции УСИМ. 15. Дайте определение понятия «датчик псевдослучайных чисел». 16. Что такое линейный конгруэнтный генератор? 17. Каким образом можно определить качество ЛК-генератора? 18. Перечислите принципы выбора параметров ЛК-генератора. 19. Что такое период генератора псевдослучайных чисел? 20. С помощью какого критерия можно проверить равномерность распределения чисел, полученных с помощью ЛКгенератора? 114 21. Что такое мощность ЛК-последовательности? 22. Каким образом можно подобрать параметры генератора с ненулевым аддитивным членом и составным модулем, что бы его период был полным? 23. Назначение спектрального теста. 24. Назовите базовые принципы системной динамики. 25. Приведите структуру простейшей цепи обратной связи. 26. Дайте определение понятиям «уровень» и «темп»? 27. Назовите примеры программных продуктов, применяемых при построении имитационных моделей. 28. Что такое экзогенная переменная? 29. Что такое эндогенная переменная? 30. Как можно представить динамическую модель, основанную на системной динамике, в виде математических соотношений? 31. В чем заключается концепция объектно-ориентированной системы моделирования? 32. Что такое транзакт? Какие действия он может выполнять? 33. Приведите примеры транзактов. 34. Какими характеристиками обладает транзакт? 35. На что влияет приоритет транзакта? 36. Что представляет собой узел графа сети в концепции ООСМ? 37. Какие этапы необходимо пройти при проведении машинных экспериментов с моделью? 38. Дайте определение понятию «многофакторная модель». 39. Что характеризует остаточная дисперсия? 40. Назовите назначение коэффициента детерминации? 41. Каким образом можно оценить параметры многофакторной модели? 42. Назовите этапы построения многофакторной модели. 43. В чем заключается отрицательное воздействие коэффициента мультиколлинеарности на результат моделирования? 115 44. При выполнении расчетов коэффициентов корреляции коэффициент r12 оказался равным 0,8. Какой фактор необхо45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. димо исключить из модели? По каким критериям проводится анализ факторов на статистическую значимость? Для чего необходимо проверять модель на адекватность? Что показывает коэффициент эластичности? Назовите отличия предсказания от прогноза? Приведите классификацию экстраполяционных методов прогнозирования. На какие компоненты разбивается ряд при прогнозировании методами разложения ряда? Влияют ли исходные данные на качество прогноза? Назовите этапы прогнозирования с помощью методов экстраполяции. В чем заключается подготовка исходных данных для выполнения прогноза? В чем заключается критерий Дарбина-Уотсона? Приведите характеристики модели Хольта-Уинтерса? 116 ЗАКЛЮЧЕНИЕ Курс лекций «Имитационное моделирование сложных систем», не делая акцента ни на одной области практики, знакомит читателей с основными разделами моделирования сложных систем во времени. В частности рассматриваются принципы построения имитационных моделей, динамических моделей, построенных на принципах системной динамики, а также методика статистической обработки результатов экспериментов и прогнозирование. Конечно, данное учебное пособие не может дать все знания по имитационному моделированию сложных систем, однако, имеющаяся в нем информация достаточно полно отражает все главные задачи дисциплины, демонстрирует основные способы их решения. После изучения материалов данного пособия, студент или любой другой изучающий данную дисциплину человек, получит достаточный объем знаний, необходимых для решения серьезных прикладных задач. Также курс лекций снабжен списком литературы, в которой любой желающий может найти более полную информацию по узким вопросам данной дисциплины. 117 БИБЛИОГРАФИЧЕСКИЙ СПИСОК 1. Афанасьев, В.Н. Анализ временных рядов и прогнозирование: Учебник / В. Н. Афанасьев, М.М. Юзбашев. – М.: Финансы и статистика, 2001. – 228с. – ISBN 5-279-02419-8. 2. Бережная, Е.В.Математические методы моделирования экономических систем: Учеб. пособие / Е.В. Бережная, В.И. Бережной. – М.: Финансы и статистика, 2001. – 368с. – ISBN 2-279-02291-8. 3. Лабскер, Л.Г. Теория массового обслуживания в экономической сфере / Л.Г. Лабскер, Л. О. Бабешко. – М.: Банки и биржи. Изд. объединение «ЮНИТИ», 1998. – 320с. – ISBN 5-238-00020-0. 4. Лукинский, В.С. Модели и алгоритмы управления обслуживанием и ремонтом автотранспортных средств / В.С. Лукинский, Е.И. Зайцев, В.И. Бережной. – СПб.: СПГИЭА, 1997. – 122с. – ISBN 5-88996-063-6. 5. Френкель, А.А. Математические методы анализа динамики и прогнозирования производительности труда / А.А. Френкель. – М.: Экономика, 1972. – 190с. 6. Форрестер Дж. Динамика развития города / Дж. Форрестер. – М.: Прогресс, 1974. – 286 c. 7. Форрестер Дж. Мировая динамика / Дж. Форрестер. – М.: ACT, 2003. – 384 c. – ISBN 5-17-019253-3. 118 ДУХАНОВ Алексей Валентинович МЕДВЕДЕВА Ольга Николаевна ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ СЛОЖНЫХ СИСТЕМ Курс лекций Подписано в печать __.__.10 Формат 60х84/16. Усл. печ. л._,_. Тираж 100 экз. Заказ Издательство Владимирского государственного университета. 600000, Владимир, ул. Горького, 87.
«Имитационное моделирование сложных систем» 👇
Готовые курсовые работы и рефераты
Купить от 250 ₽
Решение задач от ИИ за 2 минуты
Решить задачу
Найди решение своей задачи среди 1 000 000 ответов
Найти
Найди решение своей задачи среди 1 000 000 ответов
Крупнейшая русскоязычная библиотека студенческих решенных задач

Тебе могут подойти лекции

Смотреть все 493 лекции
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot