Общие сведения
Компьютерное моделирование
Имитационный характер модели
Реализация модели
Описание модели
Принцип моделирования
Пример записи уравнений
Моделирование динамики численности
Моделирование рождаемости и смертности
Механизм прогноза
Переключение "факт-прогноз"
Исходные данные для моделирования
Заключение. Некоторые результаты моделирования
Приложения
Система моделирования "ИМИТАК" (Y).
Описание языка
Соглашение об использовании интерпретатора Y
Текст модели на языке ИМИТАК
Демографическая динамика РСФСР - РФ.
Фактические графики и варианты прогнозов.
Прогнозы от 1968, 1978, 1983 и 1987 гг.
в сопоставлении с прогнозом от 2009 г.
Компьютерная модель представляет исследуемое реальное явление (так называемый объект моделирования) в виде набора числовых параметров, отражающих это явление с достаточной полнотой и точностью. Специальная компьютерная программа должна формировать эти параметры и отображать их в таком виде, чтобы исследователь мог по ним судить о свойствах и поведении объекта моделирования.
Благодаря использованию модели удается теоретически помещать объект моделирования в различные обстоятельства, изучать последствия различных решений, направленных на желательное изменение реальности. Создание модели и экспериментирование с нею способствует лучшему пониманию самого исследуемого явления, помогает систематизировать и привести в наглядный вид имеющуюся информацию.
В нашем случае объектом моделирования являются процессы воспроизводства населения России (РСФСР - РФ) от послевоенного периода вплоть до наших дней. Одной из задач моделирования мы видим прогнозирование будущих многолетних изменений с целью рассмотрения разных вариантов воздействия общества на эту ситуацию.
Закономерности изменения параметров воспроизводства населения, заложенные в модель, имеют общий характер. Поэтому данную модель можно использовать и для исследования других периодов и других стран, заменив исходные данные на другие.
Формализованный язык описания модели позволяет довольно легко изменять алгоритмы, детализировать зависимости, вводить в модель новые параметры. Но значительное увеличение числа параметров и усложнение зависимостей требует более тщательной отладки модели, навыков строгого мышления, исследовательской аккуратности.
Действующая модель отражает наиболее очевидные закономерности, которые присущи воспроизводству населения и отслеживаются статистикой.
В нашей компьютерной модели нет трудных для понимания математических зависимостей, волшебным образом объясняющих все, что происходит в реальности. Зависимости, на которых основана модель, просты и очевидны, каждый окончивший среднюю школу может легко представить их себе.
Не обязательно быть большим ученым, чтобы догадаться, что вновь родившиеся люди должны прибавляться к численности населения, умершие - вычитаться, уехавшие из страны на постоянное жительство - вычитаться тоже, а въехавшие - опять же прибавляться. Конечно, демографическая статистика имеет и свои хитрые показатели, такие как нетто-коэффициент рождаемости, и особенности учета, не очевидные для непрофессионала, однако официальной целью этой деятельности является никак не сокрытие от общественности существующей демографической ситуации и тенденций ее изменения.
Модели, в которых упор делается на очевидные ("физические") зависимости между параметрами объекта моделирования, и которые призваны вместо выдачи готового решения проиграть, проимитировать на компьютере моделируемое явление ввиду затруднительности проведения подобных экспериментов в реальности, - такие модели принято называть имитационными (simulation). Хотя "имитационное моделирование" звучит по-русски как "масло масленое", такая терминология оправдана, поскольку обозначает отличие этого класса моделей от традиционных математических.
Имитационные модели отличаются высокой степенью наглядности, поскольку главный их принцип - повторить на компьютере поведение моделируемого объекта. Структурное подобие объекта и его имитационной модели позволяют по ходу исследования включать в модель новые характеристики объекта, которые поначалу были признаны несущественными. Наглядность делает имитационное моделирование удобным инструментом для разработки прогнозов.
Модель "Демографическая динамика РСФСР - РФ" реализована на специальном языке моделирования "ИМИТАК" (разработка МИУ им.Орджоникидзе, Москва 1975-77). На этом языке параметры объекта описываются конечно-разностными уравнениями. Уравнения просчитываются программой и дают в итоге ряды значений моделируемых параметров для равноотстоящих моментов времени.
Мотивом выбора инструментария моделирования послужило не только то обстоятельство, что я знаком с этим языком со студенческой скамьи, но также простота и универсальность принципа моделирования.
В то же время программа-интерпретатор языка, имеющаяся в моем распоряжении, оставляет желать лучшего, несмотря на некоторые свои приятные достоинства. В ней недостаточно развиты возможности задания исходных данных, выдачи результатов, отладки модели и др..
Тем не менее при помощи этого инструментария мне удалось в течение нескольких дней отладить работоспособную модель динамики населения РСФСР - РФ за период 1950-2009 гг. и выполнить прогнозы до 2100 года при различных предположениях о величине рождаемости и смертности.
Параметры объекта описываются на выбранном нами языке
моделирования конечно-разностными уравнениями следующего вида:
Pi(t) = Pi(t−dt) + dt ×
(T1i(t−dt) − T2i(t−dt))
...
T1i(t) = ƒ1,i(P1(t), ..., Pi(t), ...)
T2i(t) = ƒ2,i(Pi(t), ..., Pi(t), ...)
...
где t - время, dt - элементарный интервал времени, Pi(t) - моделируемые параметры, которые в языке называются "уровнями" (i=1,2, ...), T1i(t) и T2i(t) - "темпы" (так эти величины называются в языке) изменения параметров, соответственно, в части роста и снижения, ƒ1,i и ƒ2,i - произвольные алгебраические выражения над уровнями.
Для участвующих в уравнениях параметров Pi(t) задаются значения на начальный момент времени t0. Далее компьютерная программа просчитывает уравнения темпов, продвигает время на элементарный интервал t = t + dt, просчитывает уравнения параметров-уровней, далее снова рассчитывает темпы, продвигает время и так далее, пока весь заданный период времени не будет пройден.
На языке моделирования ИМИТАК запись конечно-разностных
уравнений выглядит, хотя и несколько непривычно для новичка, но довольно просто:
* МОДЕЛЬ ДЕМОГРАФИЧЕСКОЙ ДИНАМИКИ РОССИИ (РСФСР - РФ)
У ФАКТ:(100).Н=ФАКТ.П+DT*ТФАКТ
...
*
Т ТФАКТ:(100).НБ=(TABLE(ВСЕ:(61,100)#(*,I1),ВРЕМЯ,ВРЕМ0,1)-ФАКТ)/DT
...
Каждая из числовых величин, заданных в модели, обозначается кратким именем длиной не более 5-ти букв (русских или латинских). За именем может следовать указание размерности массива, индекс элемента массива или сечения, признак времени (для уровней .Н - настоящий момент, .П - прошлый; для темпов .ПН - прошлый элементарный интервал, .НБ - настоящий). Например, в записи ФАКТ:(100).Н именем ФАКТ обозначен 100-элементный массив, в котором модель формирует фактическую численность населения отдельно для каждого годичного возрастного слоя:
ФАКТ:(100)#(1) - до 1 года,
ФАКТ#(2) - от 1 года до 2,
...
ФАКТ#(10) - от 9 лет до 10,
...
ФАКТ#(99) - от 98 лет до 99,
ФАКТ#(100) - от 99 лет и старше.
Чтобы уравнения для уровня ФАКТ и темпа ТФАКТ, приведенные
выше, дали в модели фактическую численность по годичным возрастным слоям,
используется массив ВСЕ:(61,100), характеризующий возрастной состав населения
России в 1950-2010 гг (за 61 год).
Вслед за описанием модели в так называемом разделе исходных данных
должны быть заданы 61×100 = 6100 числовых значений для этого массива.
На языке ИМИТАК это представляется следующим образом:
* Значения массива ВСЕ
И ВСЕ=2683423/2143404/2165673/2065132/1219137/935778/859845/1295245/2150309/2369463/
- 2587515/2821967/2676297/2403707/2099479/1782760/1804469/2118777/2085530/2518802/
- 2351782/2772502/2306798/2384890/1998368/1859833/1680202/1404052/1171304/1221951/
- 1088401/1438711/903368/1111228/1293413/1578492/1530434/1582836/1374432/1595469/
- 1248637/1407636/1225028/1280247/1173188/1193211/1225441/1118946/883323/1225951/
- 794066/984600/732692/863465/828539/765893/809171/701453/644975/663514/
- 488138/825037/477598/570113/526614/486616/543693/445479/379191/428084/
- 276384/300335/286532/261289/239213/207925/189344/169315/146096/141136/
- 116800/88908/83138/74125/69407/66125/62525/54187/48218/41797/
- 32408/25971/20653/16309/12761/9266/6695/4789/3380/7481/
...
...
Краткое описание языка ИМИТАК имеется в приложении к данному отчету.
В уравнениях, приведенных выше для примера, уровень ФАКТ, являющийся массивом из 100 элементов, просто повторяет по ходу моделирования фактические данные о численности возрастных слоев. Это дает возможность выдать наглядные графики, но не позволяет проводить разные эксперименты и делать прогнозы.
Для имитационного моделирования численности нужно так описать закономерности, чтобы факторы, влияние которых мы собираемся исследовать, были оформлены в виде отдельных параметров модели. Мы рассмотрим изменение численности как два складывающихся процесса:
Переход в следующие годичные слои мы изменить не в силах, в то время как рождаемость, смертность по возрастам, а также миграция в той или иной мере подвластны влиянию общественной воли. Эти факторы зависят от воспитания, образования, здравоохранения, образа жизни, идеологических приоритетов, пропагандистских усилий, экономического стимулирования, приоритетов искусства.
Движение населения по годичным слоям опишем следующими
уравнениями:
У НАСЕЛ.Н:(100)=НАСЕЛ.П+DT*
- (ДВИЖ:(100).ПН-УБЫЛЬ:(100).ПН-СМЕРТ:(100).ПН+МИГРП:(100).ПН)
...
* Движение по годичным слоям и рождение
Т ДВИЖ.НБ:(100)=EL(НАСЕЛ,(I1-1),РОЖД.Н)-НАСЕЛ#(I1)
Т ДВИЖ#(100)=НАСЕЛ#(99)
...
Темпы УБЫЛЬ, СМЕРТ и МИГРП будут объяснены далее.
Ежегодная убыль населения по годичным слоям
обозначена в модели именем ФУБ и рассчитывается как разница численности
следующего годичного слоя в будущем году и данного слоя в текущем:
* Будущая численность годичных слоев
Д БУД:(100).Н=TABLE(ВСЕ#(*,MIN((I1+1),100)),(ВРЕМЯ+1),ВРЕМ0,1)
* Убыль из 99-го плюс 100-го слоя
Д УБ99.Н=НАСЕЛ.Н#(99)+НАСЕЛ#(100)-БУД#(100)
* Убыль из годичных слоев по факту
Д ФУБ:(100).Н=НАСЕЛ.Н-БУД
* Убыль УБ99 распределить на 99-й и 100-й слои пропорционально
Д ФУБ#(100).Н=УБ99*НАСЕЛ#(100)/(НАСЕЛ#(99)+НАСЕЛ#(100))
Д ФУБ#(99).Н=УБ99-ФУБ#(100).Н
...
Показатель ФУБ - это убыль, которая берется по фактическим данным о численности. В реальности она складывается из смертности и миграции в обе стороны. Поскольку 100-й годичный слой в нашей модели последний, то для него нет следующего слоя в будущем году. Поэтому рассчитывается убыль для суммы 99 и 100 слоев, а затем она распределяется на два значения ФУБ#(99) и ФУБ#(100) пропорционально численности соответствующих годичных слоев. Напомним, 100-й слой включает не только людей от 99 до 100 лет, но и более старших.
Ежегодное количество родившихся рассчитывается в модели
по фактическим данным о населении и общем коэффициенте рождаемости:
* Суммарное население
Д НАСС2.Н=ADD(ФАКТ)
...
* Общий коэффициент рождаемости
Д КРОЖД.Н=TABLE(ТАБРЖ,ВРЕМЯ,ВРЕМ0,1)
* Фактическое количество родившихся
Д ФРОЖД.Н=КРОЖД.Н*НАСС2/1000
...
Количество родившихся рассчитывается в модели по фактическим данным о населении и общем коэффициенте рождаемости:
Ежегодное количество умерших рассчитывается в модели
для каждого годичного слоя на основании данных о возрастных коэффициентах и
общем коэффициенте смертности:
* Смертность
* Общий коэффициент смертности
Д ОКСМ.Н=TABLE(ТАБСМ,ВРЕМЯ,ВРЕМ0,1)
* Возрастные коэффициенты смертности
Д ТАБСК:(100).Н=TABLE(ВКСМ:(10,100)#(*,I1),ВРЕМЯ,1960,5)
* Количества умерших по фактическим возрастным коэффициентам смертности
Д УМФВК:(100).Н=TABLE(ТАБСК,I1,1,1)*НАСЕЛ/1000
* Количество умерших по общему коэффициенту смертности
Д УМОКС=ОКСМ.Н*НАСС/1000
* Смертность по годичным слоям с поправкой на ОКСМ
Д СМРТ:(100).Н=УМФВК/ADD(УМФВК)*УМОКС.Н
Заложенный в уравнения модели механизм прогноза позволяет, начиная с указанного года, рассчитывать численность не по фактическим данным, а по показателям рождаемости и смертности, зафиксированным в данный момент. То есть, модель до указанного момента повторяет фактические данные, а после - рассчитывает численность по "замороженным" показателям.
Моменты фиксации показателей и начала прогноза задаются
в разделе исходных данных:
* Год, с которого ИР2 считать константой
И FIXR=1987
* Год, с которого СМРТ*1000/НАСЕЛ считать константой
И FIXS=1987
...
Можно "заморозить" для прогноза рождаемость, которая имела место в один момент времени, а смертность - в другой.
Запоминание показателей для прогноза осуществляется
при помощи следующих уравнений:
* Уровни рождаемости и смертности за указанные годы для прогноза
У УИР.Н=УИР.П+ТИР.ПН
У УСМ:(100).Н=УСМ.П+ТСМ:(100).ПН
*
...
Д WДР:(2,100).Н=НАСЕЛ.Н#(I2)*ДЕТВО:(2,100)
* Численность возрастов 16-34 года
Д ДЕТ34.Н=ADD(WДР#(2,*))
* Всего рождений в расчете на 1000 человек возраста 16-34 года
Д Р34.Н=РОЖД.Н/ДЕТ34.Н
...
Т ТИР.НБ=SWTCH(Р34.Н,0,(ВРЕМЯ-FIXR+DT))
Т ТСМ.НБ=SWTCH(((СМРТ*1000)/НАСЕЛ),0,(ВРЕМЯ-FIXS+DT))
...
В заданные моменты времени модель должна переключиться с
повторения фактических данных на расчет демографических параметров по
показателям рождаемости и смертности, фиксированным на момент начала прогноза.
Для этого служат следующие уравнения:
У НАСЕЛ.Н:(100)=SWTCH(ФАКТ,НАСЕЛ.П,(ВРЕМЯ-MIN(FIXR,FIXS)))+DT*
- (ДВИЖ:(100).ПН-УБЫЛЬ:(100).ПН-СМЕРТ:(100).ПН+МИГРП:(100).ПН)
...
* Фактическое количество родившихся
Д ФРОЖД.Н=КРОЖД.Н*НАСС2/1000
* Прогноз количества родившихся
Д ПРОЖД.Н=УИР*ДЕТ34
* Переключение показателя РОЖД с фактического на прогнозное значение
Д РОЖД.Н=CLIP(ПРОЖД,ФРОЖД,FIXR,ВРЕМЯ)
...
* Суммарно умерших за год
Д СУМУМ.Н=CLIP(СУФИК,УМОКС,FIXS,ВРЕМЯ)
...
* Убыль из годичных слоев по факту
Т УБЫЛЬ:(100).НБ=CLIP(0,ФУБ,FIXS,ВРЕМЯ)
* Смертность из годичных слоев прогнозная
Т СМЕРТ:(100).НБ=CLIP(УМФИК,0,FIXS,ВРЕМЯ)
* Миграционный прирост (+,-) из годичных слоев прогнозный
Т МИГРП:(100).НБ=CLIP(0,0,FIXM,ВРЕМЯ)
...
Темп УБЫЛЬ до момента FIXS принимает значения из массива ФУБ, а после данного момента получает нулевое значение. Темпу СМЕРТ, наоборот, до момента FIXS включительно присваиваются нули, а после его прохождения - количества из массива УМФИК. В результате на расчет НАСЕЛ влияет сначала УБЫЛЬ, а затем СМЕРТ.
Переключающее уравнение для темпа МИГРП в обоих случаях выдает нуль, поскольку фактор миграции пока в модели не рассматривается.
Фактические данные о динамике населения за период 1950-2009 гг. взяты с сайтов demoscope.ru и gks.ru. Поло-возрастной состав за 1950-1958 годы получен обратным счетом от данных за последующие годы. Коэффициенты смертности по возрастам взяты за период 1960-2005 с интервалом в пять лет. Интерполяция линейная с поправкой на годовое значение общего коэффициента смертности. При экстраполяции смертности по возрастам за пределы периода сохраняются значения на начальный и конечный годы с поправкой на общий коэффициент смертности по годам: для прошлого берутся за основу величины 1960 года, для будущего - за 2005.
Конкретные цифры приведены в тексте модели в разделе исходных данных. В дальнейшем они могут быть заменены на более точные, более подробные и дополнены более свежими.
Получение в наглядном виде графиков фактической динамики населения РФ позволяет сделать вывод: неоднократные заявления публичных экспертов по демографии, что нынешняя демографическая ситуация в нашей стране вызвана будто бы факторами, типичными для всех развитых стран, не соответствуют действительности.
Превышение смертности над рождаемостью, скачкообразно возникшее на рубеже 1980-1990-х годов и переломившее советскую тенденцию медленного роста рождаемости и стабилизации смертности в 1970-1980-х, не характерно для благополучных стран мира.
Это демографическое изменение, которое официальные эксперты РФ по вопросам демографии представляли как естественное продолжение долголетней тенденции 20 века, несколько усугубленное переживаемыми страной "распадом СССР" и "кризисом", есть на самом деле качественный перелом советской тенденции, равно как и постсоветская государственная политика в отношении воспроизводства населения качественно отличается от советской.
Факт профессиональной недобросовестности демографов и журналистов, которые на протяжении последних десятилетий искажают картину происходящего в стране, настолько противоречит общепринятой этике информирования общества в демократических государствах, что я счел своим долгом опубликовать полученные мной графики: Демографическая динамика РСФСР - РФ.
Призываю специалистов по моделированию, статистике, демографии объединить усилия для формирования достоверной картины воспроизводства населения в нашей стране и представления ее вниманию общества.
Alex55
24.02.2010
Обновлено __.__.2010
Москва
Система моделирования "ИМИТАК" (Y).
Описание языка
Соглашение об использовании интерпретатора Y
Текст модели на языке ИМИТАК
Демографическая динамика РСФСР - РФ.
Фактические графики и варианты прогнозов.
Прогнозы от 1968, 1978, 1983 и 1987 гг.
в сопоставлении с прогнозом от 2009 г.