Имитационное моделирование в среде ms excel

Автор работы: Пользователь скрыл имя, 23 Июня 2014 в 19:49, лекция

Краткое описание

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

Прикрепленные файлы: 1 файл

Имитационное моделирование в среде ms excel (на примерах из экол.doc

— 3.27 Мб (Скачать документ)

 

В рассмотренных выше модельных конструкциях скорость выражена линейной функцией. Для имитации динамики сложной многокомпонентной системы рекомендуется использовать именно наиболее простые виды соотношений (Страшкраба, Гнаук, 1989, с. 30; Боровиков, Боровиков, 1997, с.  530). В то же время при необходимости можно взять любую другую форму зависимости, например, из числа приведенных в табл. 2.6.

На базе простейших типов моделей, которые были рассмотрены выше, можно построить модели, сочетающие различные их комбинации и усложнения. Возможно, одну из самых сложных конструкций будет иметь модель, учитывающая два контура обратной связи (сочетание С2, С3 и С4). Первый контур – это тот способ, с помощью которого текущие значения одних переменных контролируют будущие значения других переменных. Второй контур – это способ изменения величины параметров, зависящих от достигнутых уровней внутренних и внешних переменных. Первая петля обратной связи через посредство параметров регулирует уровни переменных, а вторая петля регулирует параметры регуляции переменных. Такую сложную структуру имеют биологические явления запаздывания, насыщения, скачки, пороги реакции, мертвые зоны, ограничения, петли гистерезиса (Страшкраба, Гнаук, 1989, с. 30; Гиг, 1987, с. 613; Безель, 1987, с. 20; Николис, Пригожин, 1979, с. 71; Волькенштейн, 1981, с. 464). При этом граница между параметрами и переменными размывается и архитектура модели приближается к виду сети обратных связей (Новосельцев, 1989, с. 67). Автор избегал построения моделей такого типа ввиду их полной беззащитности перед лицом любой критики.

 

Пример с популяцией гадюки

Для моделирования динамики отлова меченых животных использовалась динамическая модель второго типа (табл. 2.7, С2).

В соответствии с блок-схемой модель предполагает, что в каждый момент отлова (i-й год) численность равна N, а между двумя этапами отлова популяция теряет Nd особей; в тот же момент столько же особей добавляется из числа молодых (Nb). Эту идею можно выразить алгебраической формулой с условиями:

N i = Ni–1 – Nd + Nb,   N i = Ni–1  = N,  Nd = Nb (i=1991,1992,...,1998). 

Чтобы перейти к наблюдаемым в природе величинам, нужно их выразить через популяционные параметры. Предположим, что… (нет, нельзя писать на математическом сленге!). Как было сказано выше, в пробах каждого (i-го) года подсчитывалось число особей, помеченных в предыдущем году; это число равно mi. Его и надо выразить формулой. Нам известно и другое значение – число особей, помеченных и выпущенных в предыдущем i–1-м году; оно равно Mi–1. Далее найдем, сколько меченых особей выжило к текущему i-му году (Mi). Так, если число погибших составляет Nd, то их доля во всей популяции – Nd/N. Когда метки достаточно хорошо перемешаны в популяции, то доля меток, потерянных за счет гибели, будет равна доле погибших особей (Nd/N), и общие потери меток между текущим и предыдущим (i–1-м и i–м) годами равно (Nd/N)·Mi–1. Понятно, что число сохранившихся меток в этот (i-й) год составит:

Mi = Mi-1 – (Nd / N) · Mi–1.

Используя пропорцию Петерсена, выразим число меченых животных, которые должны быть отловлены из популяции в i-м году:  mi =  Mi · n i /  N.            Итак, состояние популяции гадюки в каждый год выражается тремя формулами:

N i = Ni–1 – Nd + Nb;

Mi = Mi–1 – (Nd / N) · Mi–1;

mi = Mi · n i /  N,

где

i = 1, 2, 3, 4 (судьба  однажды помеченных особей отслеживалась  в течение четырех лет).

В этой модели переменные m, M0, n известны, а параметры N0 и Nd (Nb=Nd) предстоит оценить.

 

Табличное программирование

 

После того как построена математическая основа модели, можно приступать к программированию, переносу математических выражений в среду ЭВМ. В рамках развиваемого подхода программирование означает создание имитационной системы на листе Excel. В отличие от программирования последовательного (Basic), структурного (Fortran, Pascal, C, TurboBasic, QuickBasic), блокового (СЛАМ, Sepath в Statistica, “I think") и объектного (Visual Basic, Delphi и др.) организация имитационной системы на листе Excel есть программирование табличное. Оно имеет целый ряд отличительных черт.

1. Программировать в  электронной таблице очень просто, это доступно практически любому пользователю, в общих чертах знакомому с пакетом Excel. Ввод формул в ячейки листа Excel и есть программирование. Для этого достаточно только:

  • знать правила ввода формул (проще всего создавать формулы с помощью мыши и затем, при необходимости, редактировать),
  • знать правила формирования ссылок на ячейки (абсолютные ссылки, которые не изменяются при автозаполнениях, снабжены значками валюты $),
  • уметь среди множества функций листа Excel выбрать нужную (они вызываются кнопкой f), обычно требуется не больше 10 функций (СУММ(), СТАНДОТКЛОН(), СЛЧИС(), СЧЁТ(), ...).

2. Программируя на электронном  листе, не нужно заботиться об  организации ввода-вывода и интерфейсе, поскольку Excel великолепно реализует эти функции самым “дружелюбным” образом. Не только данные, но и вся имитационная система с моделью и ее графическим отображением сохраняются в одном файле. Понятно, что в случае необходимости объем данных можно изменить, увеличив длину ряда. При этом важно следить за тем, чтобы диапазоны ссылок в формулах (суммирование и др.) включали бы и новые данные.

3. На листе Excel не нужно  конструировать циклы, необходимые  в других пакетах для организации  хода времени или для перебора вариант выборки. Табличная форма позволят “развернуть” временную последовательность в пространстве электронного листа (например, сверху вниз). При этом ячейки одной строки содержат значения переменных, характеризующих состояние исследуемого объекта в данный определенный момент времени, а набор строк отражает последовательную смену состояния объекта во времени. Большое число строк листа Excel (16384 в Excel 7 и 65563 в Excel 97) позволяет отобразить сколь угодно продолжительную динамику (или сколь угодно большую выборку). Модель уже не есть единственная формула, встроенная в тело многократно повторяющегося цикла, как в алгоритмических языках программирования. Модель на листе Excel предстает как множество стереотипных формул, рассчитывающих значения всех переменных для каждого момента времени. Как уже было показано, ввод множества формул не представляет проблемы, благодаря предусмотренной в Excel процедуре “автозаполнение”. При этом остается только следить за правильностью ссылок на параметры (они должны быть абсолютными). Некоторые полезные приемы работы в Excel даны в одноименном разделе четвертой главы.

4. Программа на листе Excel оказывается абсолютно прозрачной, поскольку все данные и результаты  счета моментально визуализируются  в численной форме и их можно охватить буквально одним взором. Сложные формулы можно разделять на ряд простых и на листе Excel отражать все промежуточные результаты счета (промежуточные переменные). Быстро ориентироваться в структуре перекрестных ссылок позволяют команды панели “Зависимости”, связывающие стрелками ячейки вызываемые и вызывающие ячейки.

 

Компоненты имитационной модели

 

Численное моделирование имеет дело с тремя видами значений: исходными данными, рассчитанными значениями переменных и со значениями параметров. На листе Excel массивы с этими значениями занимают обособленные области.

Исходные реальные данные, выборки или ряды чисел, получают при непосредственном  натурном наблюдении или в опытах. В рамках процедуры моделирования они остаются неизменными (понятно, что при необходимости можно дополнить или уменьшить наборы значений) и играют двоякую роль. Часть из них (независимые переменные среды, Х) служат основой для расчета модельных переменных; чаще всего это характеристики природных факторов (ход времени, фотопериод, температуры, обилие корма, доза токсиканта, объемы сброса поллютантов и др.).  Другая часть данных (зависимые переменные объекта, Y) представляет собой количественную характеристику состояния, реакций или поведения объекта исследований, которая была получена в тех или иных условиях, при действии зарегистрированных факторов среды. В биологическом смысле первая группа значений не зависит от второй; напротив, переменные объектов зависят от переменных окружения. На лист Excel данные вводят с клавиатуры или из файла в обычном режиме работы с электронной таблицей.

Модельные расчетные данные воспроизводят теоретически мыслимое состояние объекта, которое определяется предыдущим состоянием, уровнем наблюдаемых факторов среды и характеризуется ключевыми параметрами изучаемого процесса. В ординарном случае при расчете модельных значений (YМi) для каждого временного шага (i) используются параметры (А), характеристика предыдущего состояния  (YМi-1) и текущие уровни факторов среды (Хi):

YМi = f(A, YМi-1 , Х i, i),

где

  f() – принятая форма соотношения параметров и переменных среды, вид модели,

i = 1, 2, … Т или i =1, 2, … n.

Расчеты характеристик системы по модельным формулам для каждого временного шага (для каждого состояния) позволяют сформировать массив модельных явных переменных (YМ), который должен в точности повторять структуру массива реальных зависимых переменных (Y), что необходимо для последующей настройки модельных параметров. Формулы для расчета модельных переменных вводят в ячейки листа Excel вручную (см. раздел Полезные приемы).

Параметры модели (A) составляют третью группу  значений. Все параметры можно представить как множество:

A = {a1, a2,…, aj,…, am},

где  j – номер параметра, 

m -- общее число параметров,

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

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

Первичные значения параметров вводят с клавиатуры. Часто достаточно задать единицы, a = 1. В других случаях следует вводить биологически правдоподобные величины. В дальнейшем точные значения параметров рассчитывает специальная процедура “Поиск решения” (см. раздел Имитационная система).

 

Пример с популяцией гадюки

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

Блок реальных данных занимает на листе Excel диапазон ячеек А1:С6 (табл. 2.8). Блок параметров в нашем примере должен содержать значение общей численности (N), число ежегодно гибнущих особей (Nd) и объем пополнения (Nb, Nb=Nd) популяции. Эти величины необходимо задать сразу же в первом приближении. На электронном листе Excel они помещены снизу: F8 =5000, F9 =500, F10 =F9, D2 =F8.

Таблица 2.8. Имитационная модель снижения числа меченых особей (M') в островной популяции гадюки в предположении постоянства численности (N), объемов отхода (Nd) и пополнения (Nb);

приведены значения до настройки параметров

 

 

A

B

C

D

E

F

G

1

Год

n

m

N'

d'

M'

m'

2

1994

158

 

5000

 

158

 

3

1995

365

18

5000

0.1

142

10

4

1996

273

10

5000

0.1

128

7

5

1997

214

10

5000

0.1

115

5

6

1998

238

9

5000

0.1

104

5

7

             

8

       

N=

5000

 

9

       

Nd=

500

 

10

       

Nb=

500

 

11

       

d%=

10

 

 

В соответствии с построенной ранее моделью численность популяции ежегодно поддерживается балансом процессов гибели и пополнения:

Ni = Ni-1 – Nd + Nb.

Эта динамика в формате Excel примет вид:

D3 =D2–$F$9+$F$10,

D4 =D3–$F$9+$F$10,

D5 =D4–$F$9+$F$10,

D6 =D5–$F$9+$F$10      (табл. 2.8, столбец D, или графа N').

Ежегодная смертность равна:

di = Nd/N, или в формате Excel:

E3 =$F$9/D3, … (графа d').

Число выживших меченых особей будет равно:

 M'i = M'i-1 – di-1· M' i-1, или

F3 =F2–F2*E2, … (графа M').

В соответствии с моделью Петерсена число меченых особей в пробе  составит:

m'i = M'i · n i / N, или

G3 =F3*B3/D3, …, G6 = F6*B6/D6 (графа m').

После ввода всех формул в таблице Excel отображаются результаты расчетов; в данном случае численность сохраняется неизменной Ni = 5000 экз. (графа N').

Как видно из таблицы, модельное число повторно отловленных гадюк уменьшается (m'), но не совсем так, как реальные значения (m). Это говорит о том, что произвольно взятые величины N0 и Nd требуют уточнения; модель ждет настройки. Она проведена в следующем разделе.

 

Имитационная система

 

Имитационной системой называют информационную среду, в арсенал которой должны входить средства ввода и сохранения данных, программирования, отладки, настройки модели и презентации результатов (Моисеев, 1981, с. 213).

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

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

В первом случае нужно приложить все усилия, чтобы уменьшить наблюдаемое отличие путем изменения значений параметров. Следуя этой логике, к трем блокам имитационной модели следует добавить, как минимум, еще три: 4) блок расчета отличий реальных и модельных переменных (расчет функции отличия или функции невязки), 5) блок процедуры последовательного изменения параметров с целью снижения “функции отличий” до нуля, 6) блок оценки статистической значимости уравнения. Если к этим блокам добавить еще и 7) диаграмму, изображающую реальность и модель, то совокупность из семи этих частей сформирует полноценную “имитационную систему” – среду для построения, настройки и исследования имитационной модели реального процесса (рис. 2.5).

Информация о работе Имитационное моделирование в среде ms excel