Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Информационная поддержка управления при моделировании и прогнозировании динамики численности населения Салахов Ильшат Равилович

Информационная поддержка управления при моделировании и прогнозировании динамики численности населения
<
Информационная поддержка управления при моделировании и прогнозировании динамики численности населения Информационная поддержка управления при моделировании и прогнозировании динамики численности населения Информационная поддержка управления при моделировании и прогнозировании динамики численности населения Информационная поддержка управления при моделировании и прогнозировании динамики численности населения Информационная поддержка управления при моделировании и прогнозировании динамики численности населения Информационная поддержка управления при моделировании и прогнозировании динамики численности населения Информационная поддержка управления при моделировании и прогнозировании динамики численности населения Информационная поддержка управления при моделировании и прогнозировании динамики численности населения Информационная поддержка управления при моделировании и прогнозировании динамики численности населения Информационная поддержка управления при моделировании и прогнозировании динамики численности населения Информационная поддержка управления при моделировании и прогнозировании динамики численности населения Информационная поддержка управления при моделировании и прогнозировании динамики численности населения Информационная поддержка управления при моделировании и прогнозировании динамики численности населения Информационная поддержка управления при моделировании и прогнозировании динамики численности населения Информационная поддержка управления при моделировании и прогнозировании динамики численности населения
>

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Салахов Ильшат Равилович. Информационная поддержка управления при моделировании и прогнозировании динамики численности населения: диссертация ... кандидата технических наук: 05.13.10 / Салахов Ильшат Равилович;[Место защиты: Уфимский государственный авиационный технический университет].- Уфа, 2015.- 148 с.

Содержание к диссертации

Введение

ГЛАВА 1. Проблемы демографических процессов и анализ методов их исследования 12

1.1 Исследование демографических процессов 12

1.2 Подходы к исследованию систем 15

1.3 Системный подход исследования демографических процессов. 17

1.4 Управление демографическим процессом как системой с обратной связью 19

1.5 Метод системной динамики 25

1.6 Информационная поддержка управления 34

1.7 Постановка задачи 38

Выводы по 1-й главе 44

ГЛАВА 2. Алгоритм комплекса методов информационной поддержки при прогнозировании и моделировании численности населения 45

2.1 Описание логики разработанного подхода 45

2.2 Первое приближение модели 48

2.3 Численное интегрирование 49

2.4 Уточнение модели с помощью формулы Симпсона 52

2.5 Поиск допустимых значений коэффициентов модели 53

2.6 Процедура получения оптимальных параметров модели и

интервальных прогнозных оценок 56

Выводы по 2-й главе 64

ГЛАВА 3. Описание программного обеспечения 65

3.1 Общие сведения 65

3.2 Функциональное назначение 67

3.3 Описание логической структуры 69

3.4 Используемые технические средства 111

3.5 Вызов и загрузка 112

3.6 Входные и выходные данные 114

Выводы по 3-й главе 122

ГЛАВА 4. Результаты применения программного обеспечения 1

4.1 Результаты первого приближения модели 123

4.2 Результаты численного интегрирования модели. 124

4.3 Результаты уточнения модели с помощью формулы Симпсона 125

4.4 Результаты поиска допустимых значений коэффициентов модели 126

4.5 Результаты процедуры получения оптимальных параметров модели

и интервальных прогнозных оценок 129

Выводы по 4-й главе 134

Заключение... 135

Список литературы 137

Подходы к исследованию систем

Исследование демографических процессов является одним из наиболее значимых направлений в развитии современного общества. По совей природе эти процессы очень сложны с точки зрения взаимодействия со смежными процессами. Основными же характеристиками демографической ситуации общества являются уровень рождаемости, смертности и миграции, которые находятся во взаимодействии со множеством экономических, социальных, политических и прочих факторов [29]. При этом малейшие изменение некоторых из них спустя значительное время могут существенно повлиять на демографическую ситуацию, так как по своей природе демографические процессы являются вялотекущими [21].

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

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

Если же говорить о экономико-демографических проблемах мирового населения, то первостепенно специалисты отмечают проблему перенаселения мира со всеми вытекающими из этого обстоятельствами [55]. До периода промышленных революций уровень рождаемости ограничивался уровнем питания, здоровья и климатом. Высокая смертность, частые воины, эпидемии и религиозные обычаи стимулировали высокую рождаемость для сохранения народа, в следствии чего средний темп роста численности населения оставался довольно низким [100].

Промышленная революция привела к снижению смертности, однако охватив широкие массы, в том числе и женскую половину, привело к снижению рождаемости [56]. Если раньше ограничение рождаемости было характерно для верхних слоев населения, то в этот период оно распространилось на более широкие слои. А стремление народных масс к материальному обогащению, обеспечению пенсионного периода, различные страховые выплаты серьезно подорвали основы высокой рождаемости. Этот период получил название демографического перехода [47], который характерен для индустриально развитых стран.

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

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

Что же касается нашей страны, то основными экономико-демографической проблемами являются: низкая рождаемость, высокая смертность, снижение трудовой активности населения. К тому же нельзя упускать и факт экологических проблем, пагубно влияющих на состояния здоровья, наблюдается рост онкологических заболеваний [22].

За последние два десятилетия серьезно подорван институт семьи. Это прежде всего связано с навязанными ценностями, легко впитываемыми молодежью, которая не способно самостоятельно распознать пользу и вред принимаемой информации. За первый квартал 2014 г. в Российской Федерации процент разводов составил 83%, что на 11% выше аналогичного периода предыдущего года. Это говорит о том, что нынешняя молодежь не готова создавать семью и нести за это ответственность. Они не привыкли сопоставлять себя с действительностью, общество нуждается в проведении социальных программ, направленных на становление личности как человека, имеющего конкретные мировоззренческие, политические, религиозные позиции [6]. Иначе общество ожидает то же, что мы сейчас можем наблюдать за рубежом. Сегодня в Германии 40% мужчин не хотят заводить семью, а еще 40% семей отказываются заводить детей, что свидетельствует о потере семейных ценностей, что в итоге может привести к краху общества. Это наблюдается не только в Европе, та же ситуация и в Японии, где большинство мужчин так же отказываются от брака. Хуже того, семейные, после того как супруга им рожает единственного ребенка, теряют к супруге интерес. Япония, известная всем как страна с непоколебимыми традициями и институтом семьи, сегодня все это растеряла.

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

В прогнозных расчетах численности населения будущих периодов целесообразно задавать темпы изменения основных исследуемых переменных. Исходя из этого, можно выделить как основную проблему выявления зависимостей этих переменных формирование гипотез, на основе которых и строиться модель. Основоположником этого подхода является Дж. Форрестер [96], далее он был развит в работах советских ученых.

Первое приближение модели

Выбор метода Рунге-Кутты для численного интегрирования модели (этап 2 схемы подхода, рисунок 2.1) был обусловлен его высокой точностью и меньшей склонностью к возникновению неустойчивости решения [98]. Данный метод достаточно популярен среди исследователей благодаря ряду достоинств. По уровню точности и устойчивости метод Рунге-Кутты подходит для решения широкого спектра задач. Наиболее распространенным является именно метод Рунге-Кутты четвертого порядка точности в силу своих качественных характеристик и доступность компьютерной реализации [87].

Увеличение же вспомогательных точек приведет к увеличению точности, однако уже с пятого порядка исследователь сталкивается с вычислениями большого объема, что в свою очередь требует еще больших машинных ресурсов. Поэтому было решено остановится именно на четвертом порядке. Также метод Рунге-Кутты позволяет в ходе вычислений изменять шаг интегрирования, что значительно может сократить временные затраты [32]. Увеличивать шаг целесообразно в местах плавного изменения решения, в то время как в местах резкого изменения следует его уменьшить [88]. Однако в данной работе это не применено, так как есть необходимость оценивать адекватность полученных результатов с экспериментальными данными в определенных точках, следовательно, шаг необходимо задавать фиксированным.

Численная реализация всех проводимых расчетов осуществлялась в программной среде Delphi [30], для чего был разработан специальный программный код, который подробно описан в третьей главе диссертации, позволяющий давать наглядную интерпретацию результатов расчетов.

На основе результатов численного интегрирования определялся критерий, в соответствии с которым оценивалось качество модели системной динамики (этап 3 схемы подхода, рисунок 2.1). Учитывая тот факт, что модели системной динамики, по сути, являются системами дифференциальных уравнений с заданными начальными условиями, аналитическое решение которых возможно лишь в самых тривиальных случаях, основным подходом к их решению являются численные методы [60]. В результате применения любого численного метода для решения систем обыкновенных дифференциальных уравнений получается последовательность расчетных значений анализируемых функций. Очевидно, что чем ближе будут располагаться эти величины к экспериментальным данным, тем точнее будет считаться модель. Именно поэтому в качестве основного критерия для оценки полученных результатов по каждому уравнению в отдельности целесообразно принять показатель средней ошибки аппроксимации, характеризующий среднее отклонение расчетных значений от экспериментальных. Средняя ошибка аппроксимации [2] рассчитывается по формуле: где xрасч и xэксп - соответственно рассчитанные согласно полученной модели и известные из наблюдений экспериментальные значения исследуемого фактора ву-й момент времени; т - общее число наблюдений.

Принято считать [38], что качество подобранной зависимости является приемлемым, если средняя ошибка аппроксимации не превышает 8-10%. Следует отметить, что критерий качества модели может быть не единственным. В этом случае для принятия решения в отношении качества модели можно воспользоваться специальными методами теории принятия решений [52, 65].

Показателем качества модели в целом выступил корень квадратный из суммы квадратов средних ошибок аппроксимации: A=AN2+AD 2+AI 2 (2.14)

Выбор именно такого критерия был обусловлен простотой его интерпретации [24]: минимальное значение обобщенного критерия (2.14) соответствует наименьшей длине вектора {AN,AD,AI}. 2.4. Уточнение модели с помощью формулы Симпсона

На четвертом этапе разработанного подхода (рисунок 2.1) для уточнения значений каждого параметра модели в отдельности применялся метод Симпсона как один из наиболее точных численных методов интегрирования [13]. Поясним суть предлагаемого подхода на данном этапе. Не ограничивая общности, будем считать, что корректируется значение некоторого параметра модели р1, который встречается только в первом уравнении системы, общий вид которого обозначим

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

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

Функциональное назначение

Для улучшения показателей адекватности модели в идеале необходимо провести вариацию всех параметров внутри крупных диапазонов, при этом вариацию нужно проводить по всем параметрам одновременно. Это требует больших временных и аппаратных ресурсов, чем разработчики не обладаем. В целях сокращение временных затрат на осуществление численного эксперимента по определению диапазонов вариации коэффициентов модели (этап 5 схемы подхода, рисунок 2.1) был применен принцип декомпозиции: осуществлялся перебор пары линейных коэффициентов каждого уравнения, при фиксированных значениях остальных. При этом учитывалось соблюдение ряда дополнительных условий, что позволило сократить исходную неопределенность задачи. В качестве дополнительных условий использовались следующие: 3) Должно обеспечиваться необходимое изменение прогнозного значения численности населения N, что отражает высокую инерционность численности населения. С учетом реальной демографической ситуации в модель было включено условие, отражающее тот факт, что численность РФ в следующем временном периоде может измениться не более чем на 0,1% от текущей численности (т.е. не более чем на 142000 человек). Данное требование формализуется в виде неравенства: Где Outs - матрица результатов, содержащая значения переменных в каждой расчетной точке. Соответствие проверяется по каждому из 13 имеющемуся значению экспериментальных данных.

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

Перебор значений коэффициентов внутри полученных диапазонов Для определения наилучшего набора коэффициентов модели использовался перебор внутри полученных диапазоны (этап 6 схемы подхода, рисунок 2.1), которые позволили в несколько раз сократить объемы расчетов. Диапазоны образуют вытянутые области, разделив которые на небольшие блоки, был организован алгоритм перебора значений коэффициентов (рисунок 3.8).

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

В качестве критерия оптимальности, минимизируемого в процессе поиска оптимальных значений величин, был выбран корень квадратный из суммы квадратов средних ошибок аппроксимации, что соответствует минимальной длине вектора $AN,AD,AI].

Одной из задач настоящей работы является разработка процедуры получения параметров модели, которая отвечает всем принятым критериям качества и адекватности. А краткосрочное прогнозирование численности населения Российской Федерации с учетом диапазонов вариации «управляющих» параметров предполагает получение интервальных прогнозных оценок в модели системной динамики, позволяющей учитывать вероятности попадания наблюдаемых величин в соответствующие интервалы. Для этого необходимо сформировать информационное множество (этап 8 схемы подхода, рисунок 2.1), которое включает все необходимые для проведения анализа данные. Множество должно включать все параметры модели (линейные коэффициенты и показатели степеней переменных модели), прогнозные значение исследуемых переменных, показатели средних ошибок аппроксимации по каждому уравнению, максимальное и минимальное значение переменных и параметров модели, оптимальные значения параметров и переменных модели системной динамики численности населения с точки зрения удовлетворения накладываемых критериев оптимальности. Данный набор информации позволяет исследователю проводить широкий анализ области, в том числе получить интервальные прогнозные оценки.

В соответствии с поставленной задачей была разработана следующая процедура формирования информационного множества. На базе определенного с помощью процедуры перебора коэффициентов модели вида 3.10 - 3.12, преобразованной в модель вида (2.23) – (2.25), был организован перебор показателей степеней переменных модели (этап 7 схемы похода, рисунок 2.1). Преобразование позволит либо учесть возможное влияние переменных модели друг на друга, которое не было выявлено при построении модели, либо подтвердит гипотезу о виде модели. Перебор осуществлялся в пределах заложенных 5% изменения с фиксированным шагом. Для каждого диапазона изменений варьируемых параметров рассматривалось по три точки. Всего рассматривалось 18 показателей степеней уравнений модели.

Результаты поиска допустимых значений коэффициентов модели

При формировании информационного множества был сформирован 81 файл выгрузки результатов. Однако, возможна ситуация, при которой необходимо осуществлять анализ лишь части из них, так как объем занимаемой памяти файлов выгрузки достаточно велик и анализ всех результатов может занять длительное время, в зависимости от аппаратных возможностей исследователя. Следует иметь ввиду, что проведя анализ всего информационного множества, разделив файлы на группы, итоговый вывод по проведенному анализу необходимо делать консолидировано, так как проведя анализ по группам, в итоге исследователь получает результаты по диапазонам изменения, оптимальных значений параметров модели, прогнозных значений, значений средних ошибок аппроксимации в рамках лишь части всех возможных комбинаций параметров модели, которые так же удовлетворяют критериям адекватности модели.

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

Для недопущения двойного счета переменных, учитывающих количество попаданий прогнозных значений переменных модели в интервалы диапазона их изменений необходимо проводить обнуление всех трех матриц: for i := 0 to 9 do begin DiagramN[i] := 0; DiagramD[i] := 0; DiagramI[i] := 0; end; В качестве формата файлов выгрузки результатов формирования информационного множества был выбран текстовый файл (TXT). Для удобства обращений имя файла формировалось по следующему формату: ResultList__.txt, где вместо подчеркивания вставляется порядковый номер файла. Для непосредственного же обращения к каждому файлу информационного множества использовался цикл: for i := i_from to i_to do begin filename:=ExtractFilePath(Application.ExeName)+ ResultList +IntToStr(i)+ .txt ; ProcessFile(filename); end; ExtractFilePath – функция извлекает из FullFileName подстроку пути. Это часть полного имени файла включая конечный перед именем файла.

Свойство ExeName является строкой, содержащей имя выполняемого файла с полным путем к нему. Это свойство удобно использовать, чтобы определять каталог, из которого запущено приложение и который может содержать другие файлы (настройки, документы, базы данных и т.п.), связанные с приложением. Выражение ExtractFilePath(Application.ExeName) дает этот каталог. Обычно свойство ExeName тождественно функции ParamStr(0), возвращающей нулевой параметр командной строки — имя файла с путем.

После чего нам достаточно добавить к адресной строке имя файла информационного множества и его порядковый номер с расширением текстового файла txt.

Далее запускаем процедуру обработки файлов ProcessFile для каждого файла выгрузки. Для отображения результатов анализа был использован компонент sg типа TStringGrid, который отображает текстовые данные в ячейках. Этот компонент позволяет отображать не только текстовую, но и графическую информацию, и содержит при этом большой набор инструментов для контроля данных.

Таблица состоит из двух частей. Фиксированная часть показывает заголовки. С помощью свойств FixedCols и FixedRows можно задавать их количество. Значение 0 означает, что таблица не имеет фиксированной зоны. Рабочая часть может содержать произвольное количество кнопок и рядов, при этом их количество так же можно задавать. Полосы прокрутки позволяют показать данные, которые не умещаются в рабочую часть компонента. Они помещаются по умолчанию. При прокрутке данных рабочей области заголовки остаются.

Главным свойством компонента является Cells - массив ячеек, которые могут содержать произвольный текст. Ячейка определяется парой чисел -номером колонки и номером ряда, при этом отчет начинается с нуля. Cells имеет строковый тип, что позволяет легко прочитать или записать содержимое нужной ячейки [105].

В первые ячейки строк таблицы с результатами анализа информационного множества вставлены заголовки, соответствующие типам данных: sg.Cells[0, 1] := Минимальные ; sg.Cells[0, 2] := Максимальные ; sg.Cells[0, 3] := Оптимальные ; Компонент TStringGrid позволяет отображать текстовые данные, однако нет возможности скопировать полученные результаты в другой документ, например формата MS Excel, для дальнейшего анализа или построения презентации. Для чего было решено продублировать получаемые данные в поле LogMemo класса TMemo.

Далее циклом размещаем полученные результаты по минимаьлным, максимальным и оптимальным значениям параметров модели в ячейках таблица рабочего поля программы и здесь же консолидируем их в строки: for i := 0 to 22 do begin sg.Cells[i+1, 1] := FloatToStr(arrMinCoeffs[i]); sg.Cells[i+1, 2] := FloatToStr(arrMaxCoeffs[i]); sg.Cells[i+1, 3] := FloatToStr(optimalCoeffs[i]); s1 := s1 + FloatToStr(arrMinCoeffs[i]) + #9; s2 := s2 + FloatToStr(arrMaxCoeffs[i]) + #9; s3 := s3 + FloatToStr(optimalCoeffs[i]) + #9; end; Код #9 означает символ горизонтальной табуляции таблицы ASCII. ASCII (англ. American Standard Code for Information Interchange) — американская стандартная кодировочная таблица для печатных символов и некоторых специальных кодов [102]. ASCII представляет собой кодировку для представления десятичных цифр, латинского и национального алфавитов, знаков препинания и управляющих символов. Изначально разработанная как 7-битная, с широким распространением 8-битного варианта ASCII стала восприниматься как половина 8-битной. В компьютерах обычно используют расширения ASCII с задействованным 8-м битом и второй половиной кодовой таблицы (например КОИ-8).

В результате, при копировании данных анализа из поля LogMemo в таблицу формата MS Excel, данные размещаются по ячейкам, что облегчает дальнейшую работу с ними.

Далее проводим те же самые действия с данными по максимальным, минимальным и оптимальным прогнозным значениям, и значениям средних ошибок аппроксимации. for i := 0 to 2 do begin sg.Cells[i+24, 1] := FloatToStr(MinResults[i]); sg.Cells[i+24, 2] := FloatToStr(MaxResults[i] ); sg.Cells[i+24, 3] := FloatToStr(optimalResults[i]); sg.Cells[i+27, 3] := FloatToStr(optimalDelta[i]); s3 := s3 + FloatToStr(optimalResults[i]) + #9; s4 := s4 + FloatToStr(optimalDelta[i]) + #9;