Сфера применения искусственных нейронных сетей (ИНС), в последнее время весьма обширна и напрямую связана с математическим моделированием различных процессов и ситуаций.
Большой популярностью пользуется применение ИНС в прогнозировании временных рядов. Самым хорошо узнаваемым примером временных рядов является демографическая статистика, которая стала объектом данного исследования.
В данной статье был приведен пример создания и обучения искусственной нейронной сети, способной прогнозировать население города средней величины, а также сам прогноз на 5 лет вперед.
При моделировании демографической динамики были учтены следующие параметры, взятые из официального источника (Башкортостанстат): общая численность населения, рождаемость, смертность населения города и прибыль (убыль) за счет миграции, но последний показатель был исключен программой на этапе «скользящего окна» и далее в вычислениях не использовался.
В качестве обучающей выборки был представлен набор данных с 2004 по 2016 года. Предварительный сбор и анализ данных был проведен при помощи программного продукта Microsoft Office Excel, а создание и обучение ИНС проводилось на базе аналитической платформы Deductor Studio.
Входные и выходные данные обучающей выборки:
- Дата — входной параметр.
- Численность — выходной параметр.
- Родившиеся — выходной параметр.
- Умершие — выходной параметр.
Для более достоверного прогноза был произведен анализ по значениям за выбранный период времени каждой из 4-х нейронных сетей.
Этапы проведения работы:
- Сбор и подготовка данных.
- Очистка данных (парциальная предобработка):
- Редактирование аномалий.
- Очистка от шумов.
- Сглаживание.
- Трансформация данных:
- Преобразование к скользящему окну.
- Группировка и сортировка данных.
- Приведение типов.
- Построение и создание ИНС.
При избавлении от аномалий была использована малая степень подавления, так же как при спектральной обработке исходных данных (очистка шумов). Запустив мастер обработки, в качестве обработчика была выбран алгоритм скользящего окна, который локальным усреднением показателя позволяет снять с эмпирических кривых влияние случайных величин.
Архитектура нейронной сети.
Тип функции для всех подстраиваемых нейронных сетей — сигмоида (крутизна 1,00), алгоритм Back — Propagation (online-режим), со скоростью обучения 0,1 (задает градиентную составляющую в суммарной величине коррекции веса). Средняя ошибка для остановки обучения по каждому множеству составляет 10%. Каждая нейронная сеть имеет по одному скрытому слою с различным количеством нейронов: 10, 15, 20, 25.
1. Нейросеть [13x10x3]
Источник данных: имеющиеся множества данных — обучающее и тестовое.
Учитель: процент количества строк обучающего множества 70 (распознано 100% примеров), тестового множества 30% (распознано примеров 100%). Средняя ошибка обучающего множества не превышает 7,1%; средняя ошибка тестового множества не превышает 1%.
2. Нейросеть [13x15x3]
Источник данных: имеющиеся множества данных — обучающее и тестовое.
Учитель: процент количества строк обучающего множества 70 (распознано 100% примеров), тестового множества 30% (распознано примеров 100%). Средняя ошибка обучающего множества не превышает 1,3%; средняя ошибка тестового множества не превышает 9,5%.
3. Нейросеть [13x20x3]
Источник данных: имеющиеся множества данных — обучающее и тестовое.
Учитель: процент количества строк обучающего множества 70 (распознано 100% примеров), тестового множества 30% (распознано примеров 50%). Средняя ошибка обучающего множества не превышает 1%; средняя ошибка тестового множества не превышает 8,2%.
4. Нейросеть [13x25x3]
Источник данных: имеющиеся множества данных — обучающее и тестовое.
Учитель: процент количества строк обучающего множества 70 (распознано 100% примеров), тестового множества 30% (распознано примеров 100%). Средняя ошибка обучающего множества не превышает 3%; средняя ошибка тестового множества не превышает 7%.
Для проверки качества построенных моделей были построены тестовые прогнозы на 2015-2016 года (табл. 1-3), результаты которых были сравнены с демографическими показателями, представленными Башкортостанстат. Средняя погрешность прогноза составляет не более 5%, что говорит о высоком уровне обученности сети и хорошем уровне умения построения прогнозов данными моделями.
Таблица 1. Результаты прогнозов численности населения 4-х моделей на 2015-2016 года
Год |
Фактические данные (численность населения) |
Число нейронов в скрытом слое |
|||
10 |
15 |
20 |
25 |
||
2015 |
279692 |
280046 |
280046 |
280046 |
280046 |
2016 |
280233 |
278831 |
279290 |
278857 |
279618 |
Таблица 2. Результаты прогнозов рождаемости 4-х моделей на 2015-2016 года
Год |
Фактические данные (рождаемость) |
Число нейронов в скрытом слое |
|||
10 |
15 |
20 |
25 |
||
2015 |
4192 |
4254 |
4254 |
4254 |
4254 |
2016 |
4330 |
4162 |
4203 |
4208 |
4145 |
Таблица 3. Результаты прогнозов умерших 4-х моделей на 2015-2016 года
Год |
Фактические данные (умершие) |
Число нейронов в скрытом слое |
|||
10 |
15 |
20 |
25 |
||
2015 |
3240 |
3200 |
3200 |
3200 |
3200 |
2016 |
3320 |
3236 |
3194 |
3209 |
3222 |
На основании полученных результатов был сделан вывод, что наиболее предпочтительной нейронной сетью для дальнейшего прогнозирования можно считать ИНС [13x25x3].
Затем были построены прогнозы численности населения (рис. 1) на 2017-20201 года, а так же уровня рождаемости и смертности (рис. 2).
По построенным прогнозам можно сделать вывод, что в ближайшие годы численность населения города будет постепенно возрастать, а рождаемость будет превалировать над смертностью.


Проведенное исследование показало, что искусственные нейронные сети могут успешно использоваться для прогнозирования временных рядов. При своевременном добавлении актуальных данных ИНС можно использовать при планировании многих видов производства и применять в системах поддержки принятия решения.