Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Коросов А.В. 2002. Имитационное моделирование в...doc
Скачиваний:
26
Добавлен:
12.09.2019
Размер:
3.07 Mб
Скачать

Пропуски в данных

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

При статистическом анализе многомерного массива данных исследователь всегда оказывается перед дилеммой: либо выбросить ряд (или столбец) с пробелом, либо заполнить его каким-либо значением. В практике многомерного анализа используется заполнение значением средней арифметической, рассчитанным прямо или по регрессии, а также с помощью метода главных компонент (Енюков, 1986, с. 56-61). После заполнения всех пропусков массив данных может быть обработан одним из методов. Когда результаты статистических расчетов начинают характеризовать специфику метода заполнения пробелов, их ликвидация становится неоправданной.

Таблица 3.1. Фрагмент листа Excel с результатами расчета параметров логистической зависимости доли погибших рачков от концентраций токсиканта.

A

B

C

D

E

1

a =

-0.181

2

b =

12.684

3

А =

100

Ф =

722

4

Конц.

Dреал.

Dмод.

5

45

0

1

1

6

50

0

3

7

7

55

10

6

14

8

60

30

14

253

9

65

20

29

79

10

70

50

50

0

11

75

60

71

128

12

80

100

86

195

13

85

100

94

38

14

90

100

97

7

15

16

Варьирование

С

df

S2

17

Общее

17122

10

18

Остаточное

722

8

90

19

Модельное

16400

1

16400

20

F =

182

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

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

В качестве примера рассмотрим модель роста кольчатой нерпы (данные любезно предоставлены О. В. Сергеевой). Одна особь нерпы выращивалась в бассейне института Северных морей (г. Мурманск). Условия освещенности, температуры и прочие соответствовали природным. Кроме этого, нерпу тренировали с возрастающей интенсивностью. Во время этого опыта регистрировали массу рыбы (пищи), скормленной за день (Мп), и один раз в неделю – массу самой нерпы, жившей в неволе (Мн). Цель моделирования состояла в том, чтобы описать динамику весового роста в связи с условиями кормления, а также дать рекомендации по выкармливанию нерп.

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

dМн = a · Мпi,

Мнi' = Мнi-1' + dМн,

где i – день наблюдения,

Мпi – масса скормленной рыбы,

dМн – ежедневный прирост массы особи, зависящий от объема съеденной пищи.

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

ai = ai-1 + b · ai-1,

где bкоэффициент ежедневного увеличения коэффициента ассимиляции пищи. Полная модель теперь выглядит так:

ai = ai-1 + b · ai-1,

dМн = a · Мпi.

Мнi' = Мнi-1' + dМн,

i=1, 2, …, 85 (продолжительность опыта, дни).

Теперь модель имеет 4 переменные величины:

Мп – масса рыбы, кг, съеденной за день (независимая переменная),

Мн – еженедельные значения массы тела, кг, (зависимая переменная),

Мнi' – расчетные значения массы тела (явная модельная переменная),

ai – коэффициент использования пищи на рост массы тела (скрытая переменная),

а также два параметра:

a1 – начальное значение коэффициента ассимиляции,

b – коэффициент (скорость) изменения коэффициента ассимиляции.

В соответствии с идеологией неучета пробелов разность между известной массой нерпы и массой, рассчитанной по модели, составит:

ф = (Mн – Mнi')2,

вычисляем один раз в неделю 16.06.86, 23.06.86 … 1.09.86, 8.09.86, а не для каждого дня жизни модели (взвешивание проводилось один раз в неделю); всего получаем не 85 значений (дней), а 13 значений (недель). Их сумма дает целевую функцию, которую минимизируем с помощью макроса "Поиск решения", изменяя два параметра: a1 и b.

По результатам настройки можно видеть, что при исходном значении коэффициента усвоения a1 = 0.045 и ежедневном увеличении в b 0.006 раз (на 0.6 %) к осени коэффициент усвоения пищи увеличивается до a85 = 0.075, а в среднем за сезон составит ā 0.059. Нерпа при этом увеличивает свою массу с 8.9 кг в начале лета до 17.4 кг в конце (табл. 3.3, блок "Весовой рост нерпы"). Модель показывает плавное увеличение массы тела нерпы; она хорошо согласуется с эмпирическими данными (р < 0.001, расчеты статистики F не показаны).

Таблица 3.3. Модель роста нерпы при разных режимах кормления

Дата

День

Весовой рост

Масса пищи

опыта

Mп

ai

i'

ф

i'

i''

16.06.86

1

2

8.9

0.045

8.9

0

0.6

7.9

7.9

17.06.86

2

1.4

0.045

9

0.4

7.9

18.06.86

3

1.7

0.046

9

0.5

7.9

19.06.86

4

1.5

0.046

9.1

0.4

7.9

20.06.86

5

2

0.046

9.2

0.6

8.0

21.06.86

6

1.5

0.046

9.3

0.4

8.0

22.06.86

7

0.4

0.047

9.3

0.1

8.0

23.06.86

8

1.1

9.6

0.047

9.3

0.07

0.3

8.0

24.06.86

9

1.6

0.047

9.4

0.5

8.1

30.08.86

76

2.8

0.071

15.8

0.8

9.9

31.08.86

77

2.8

0.071

16

0.8

10

01.09.86

78

2.8

16.2

0.072

16.2

0

0.8

10

02.09.86

79

2.4

0.072

16.4

0.7

10.1

03.09.86

80

2.4

0.073

16.6

0.7

10.1

04.09.86

81

2.4

0.073

16.7

0.7

10.2

05.09.86

82

2.4

0.074

16.9

0.7

10.2

06.09.86

83

2.4

0.074

17.1

0.7

10.3

07.09.86

84

2.4

0.074

17.3

0.7

10.3

08.09.86

85

2.4

17.1

0.075

17.4

0.11

0.7

10.4

10.4

a1 =

0.045

c =

0.29

b =

0.006

Ф =

1.36

Ф =

0.0015

ā=

0.059

Как уже говорилось, настроить динамическую модель в принципе можно и по единственному наблюдаемому значению. Продолжим рассмотрение примера с выкармливанием нерпы. В неволе к концу сезона она достигла массы 17 кг, тогда как средний вес диких животных в это же время составляет 10.4 кг. Свидетели говорят о сильном ожирении животного из неволи, вызванного, во всей видимости, перекармливанием. Новый вопрос формулируется так: каков должен быть объем пищи, чтобы масса нерпы в неволе стала равна нормальной массе дикой нерпы?

Рассмотренная выше модель связывает массу нерпы с массой скормленной рыбы. Уменьшить привес животного можно уменьшая ежедневную порцию пищи, например, в c раз. Дополним модель новым уравнением:

ai = ai-1 + b · ai-1,

Моi' = c · Мпi,

dМн = a · Моi'.

Мнi'' = Мнi-1'' + dМн,

где

Моi – оптимальная масса суточного потребления нерпы,

c – коэффициент приведения реального объема пищи к оптимальному.

В отличие от прежней модели здесь вычисляется, во-первых, новый, оптимальный, объем пищи (Моi') и, во-вторых, масса нерпы, которую выкармливают по новому рациону Мнi'' (табл. 3.3, блок "Масса пищи"). Изменено и стартовое значение, 6.9 кг (для 16.06.86), наблюдавшееся в природе.

Самое главное состоит в том, что в качестве функции невязки выступает единственное отличие модельной массы нерпы (8 сентября, 85 день) от массы дикой нерпы (Мд), измеренной в это же время:

Ф = ф = (Мд – Мн85'')2.

Настройка новой модели (минимизация Ф по параметру c) дает величину c = 0.29. Для достижения оптимальной ("дикой") массы нерпе надо скармливать лишь 29 % от того объема пищи, что был принят, или в среднем по 0.5 кг рыбы в сутки вместо 1.7 кг, что давали на самом деле. В этом случае динамика массы тела животного в неволе должна быть, видимо, примерно такой же, что и в природе.