электронное научно-техническое издание
НАУКА и ОБРАЗОВАНИЕ
Эя №<К! 77 - 30569. Государственная регистрация №0421100025.ISSN 1994-0408_
Нейросетевое прогнозирование уровня глюкозы в крови больных сахарным диабетом I типа # 07, июль 2011
авторы: Карпенко А. П., Косоруков К. Н., Сабуров А. А., Чернецов С. А.
УДК 519.6
МГТУ им. Н.Э. Баумана apkarpenko@mail.ru ingrim@mail.ru al.saburov@gmail.com serge.a.ch@gmail.com
Введение
Работа выполнена в рамках исследований по разработке автоматической системы прогнозирования оптимальных доз инсулина, которая при объединении с инсулиновой помпой и сенсором непрерывного мониторинга уровня глюкозы в подкожной ткани пациента могла бы выполнять функции искусственной поджелудочной железы.
Сахарный диабет 1 типа - это метаболическое заболевание, вызванное абсолютным дефицитом секреции инсулина и характеризующееся неспособностью организма поддерживать уровень глюкозы в крови (BG - Blood Glucose) в целевом интервале 4-6 ммоль/л - в обычном состоянии и до 9 ммоль/л - после еды. Диабет вызывает множество опасных осложнений, избежать которые можно только путем контроля уровня BG и его удержания в физиологичном интервале. Основным путем решения этой задачи в настоящее время является введение в кровь пациента искусственных препаратов (генноинженерных человеческих инсулинов), которые могут симулировать действие эндогенного инсулина, вырабатываемого в-клетками здоровой поджелудочной железы.
Оптимальные типы и дозы искусственного инсулина (далее - инсулина) зависят от многих факторов. Подбор этих типов и доз является сложной задачей,
с которой могут справиться далеко не все пациенты. Для решения указанной задачи созданы системы непрерывного измерения уровня BG - Continuous Glucose Monitoring Systems (CGM-системы), а также системы непрерывного подкожного введения инсулина (инсулиновые помпы - insulin pumps).
На основе CGM-систем и инсулиновых помп разработаны и интенсивно разрабатываются системы автоматического управления уровнем BG. Со структурной точки зрения эти системы включают в себя две следующие основные подсистемы - подсистема прогнозирования уровня BG и подсистема определения оптимального времени и требуемой дозы инсулина.
Среди методов прогнозирования уровня BG можно выделить следующие три направления [1, 2].
1) Использование математических моделей динамики глюкозы в теле пациента в виде обыкновенных дифференциальных уравнений, уравнений в частных производных или интегро-дифференциальные уравнения.
2) Использование нейросетевых алгоритмов прогнозирования значений уровня BG.
3) Использование комбинированных решений.
Данная работа посвящена исследованию точности нейросетевых алгоритмов прогнозирования значений уровня BG. Целью работы является выбор оптимальной нейронной сети и алгоритма ее обучения для использования в системе прогнозирования оптимальных доз инсулина. Исследование выполнено с использованием программной системы MatLab (версия 7.9).
В статье существенно используются понятия «гликемический индекс» пищи и «физическая активность» пациента.
Гликемический индекс пищи (Glycemic (Glycaemic) Index, GI) - показатель
влияния продуктов питания после их употребления на уровень BG. Индекс
отражает сравнительную реакцию организма на данный продукт с его реакцией
на чистую глюкозу, у которой гликемический индекс принят равным 100.
Гликемический индекс продуктов питания изменяется от 0 до 100 и более Электронный журнал, №7 июль 2011 г. http://technomag.edu.ru Страница 2
единиц, пропорционально скорости усвоения организмом этих продуктов. Низкий гликемический индекс продукта означает, что при его употреблении уровень BG растет медленно. Чем выше гликемический индекс продукта, тем быстрее увеличивается уровень BG после употребления продукта и тем выше одномоментный уровень BG.
Физическая активность пациента (Physical Activity, PA) - субъективный индекс, изменяющийся от 0 до 10 единиц пропорционально двигательной активности человека. Физическая активность улучшает процессы метаболизма в организме человека и повышает чувствительность организма к инсулину. Поэтому при высоком уровне физической активности для понижения уровня BG требуемые дозы инсулина могут быть меньшими.
В первом разделе работы приведена постановка задачи. Второй раздел содержит описание программного комплекса MultiNet, предназначенного для автоматизации исследований. В третьем разделе рассмотрены архитектуры используемых в работе нейронных сетей. В четвертом разделе приведены результаты исследования с использованием «узкого» набора исходных данных, включающих в себя только уровни BG, инсулина и количество принятых с пищей углеводов. В пятом разделе приведены результаты исследования с использованием «широкого» набора исходных данных, содержащих кроме уровня BG, инсулина и количества принятых с пищей углеводов еще гликемический индекс пищи и оценку физической активности пациента .
Более детально некоторые аспекты исследований, результаты которых представлены в данной работе, рассмотрены в работах [3-6]. Результаты исследования эффективности прогнозирования уровня BG на основе нейронечеткого подхода приведены в публикации [7]. Аналогичные результаты, полученные с использованием нейронных сетей Кохонена, не рассматриваемых в данной работе, рассмотрены в публикации [8]. Сравнение эффективности нейросетевого прогнозирования уровня BG и прогнозирования методом экстраполяции по выборке максимального правдоподобия выполнено в работе [9].
http://technomag.edu.ru/doc/199871.html Страница 3
1. Постановка задачи
Пусть Д = (t0,t1v..,tk) - равномерная временная сетка, шаг которой
равен т. На сетке Д определены значения уровня BG и введенных пациенту доз инсулина I, количество принятых с пищей углеводов C, значения гликемического индекса принятой пищи GI и индекса физическая активность пациента PA. Другими словами, известны величины
BG(t t) = BGl, I(t .) = I i, C(t i) = C., GI(t .) = GI г, PA(tl) = PAl, i e [0: k]. Назовем совокупность данных
{BGl,Iг,C.,GI г, PAl, I e [1: k]} = {BG(Д), I(Д),C(Д), GI(Д), РА(Д)} «широкой» выборкой. Будем также рассматривать аналогичную «узкую» выборку
{BGl,I г,Ci,i e [1: k]} = {BG(Д),I(Д),C(Д)}. В качестве общего обозначения, как широкой, так и узкой выборок используем обозначение {V (Д)}, где в случае широкой выборки V e {BG, I, C, GI, PA}, а в случае узкой выборки - V e {BG, I, C}.
Первые klearn узлов сетки Д обозначим Д learn, а оставшиеся ktest = k - klearn узлов - Дtest. Часть исходной выборки данных {V(Д1еагп)}
используем в качестве обучающей выборки, а оставшуюся часть выборки {V (Д test)} - в качестве тестовой выборки.
Наряду с абсолютными длинами обучающей и тестовой выборки будем рассматривать их относительные значения
7 learn 7 test
klearn k ~ test k
k learn __k '
к к Введем в рассмотрение также сетки
^Н = {/г +1' К+2 К +Н )' ^Ъ^ ,ш,/ = {/г-Ъ-шз 1г-Ъ-2в ' К-Ъ-З ' К-Ъ ' К' ^Г+/ )' где /Г - текущий момент времени; [/Г; /Г +Н ] = Т - период прогноза; [/г ; ^ +/ ] = /т = Т/ - период «опережения»; / _ъ _ шз ; /г ] = Тш - период предыстории; Ъ - начальный индекс предыстории; з - величина шага
предыстории; т - число шагов предыстории (рисунок 1). Легко видеть, что для указанных величин имеют место следующие ограничения:
К-от > 0; г + Ь < к; г + / < к.
т-Ъ-тх —*—к -
К-Ъ-25 ^г-Ъ-х 1г-Ъ
н-*-1--1--1-*-1-*-1-
Рисунок 1 - К формированию сетки б- 5т/: -=2; 5=3;/=2
Положим, что прогнозирование выполняется в момент времени на
период прогноза Т, и это прогнозирование производится на основе значений
исходной выборки в узлах сетки 8-5т /, т.е. на основе значений {V(8-5т/-)}.
В общем случае, величины -, 5, т, / могут быть различными для различных компонентов исходной выборки. Другими словами, величины -у, sV, mV, /у, а
значит и соответствующие сетки 5— ^ ту у, вообще говоря, различны.
Обозначим В, 5, М, Р векторы начальных индексов предыстории, величин шагов предыстории, чисел шагов предыстории и чисел шагов «опережения», соответственно. Например, для узкой выборки В = (-ВО; -1; -с), 5 = (5ВО; ; 5С),
М = (тво; т1; тс), р =(/во; у; ус).
Целесообразность использования рассмотренной достаточно сложно
сконструированной сетки т / объясняется следующими причинами.
1) В эндокринологии хорошо известно, что введенный пациенту инсулин начинает оказывать влияние на уровень Во (понижать его) спустя примерно час с момента введения. Это означает, что при прогнозировании уровня ВО, например, на 20 минут, не имеет смысла учитывать инсулин, введенный менее чем за 40 минут до текущего времени. Аналогично, после приема пищи (поглощения известного количества углеводов) уровень Во начинает повышаться не сразу.
2) В некоторых случаях пациент может уверенно прогнозировать, что через известный промежуток времени будет иметь место прием с пищей известного количества углеводов и/или физическая нагрузка примерно известной интенсивности.
На основании первого из этих соображений ближайший слева от
текущего момента времени ¡г узел ¡г _Ь сетки £ т у отстоит от этого времени
на Ь шагов сетки А, а каждый из предшествующих узлов - на £ шагов той же
сетки. На основании второго из указанных соображений в сетку
включен период опережения Ту (рисунок 1).
Ставим задачу прогнозирования уровня ВО на период прогноза Т на
основе совокупности значений {V(3_£ту)} 1) узкой исходной выборки,
2) широкой исходной выборки. Прогнозируемые уровни ВО обозначим ВО.
Очевидно, что при прогнозировании уровня ВО на основе совокупности
значений {V(3Ь_£ту)} возможен пропуск моментов введения инсулина,
принятия с пищей углеводов и т.д. Поэтому может быть целесообразным сглаживание исходной выборки - построение прогноза на основе суммарных значений компонентов этой выборки Vr_Ь, Vr_Ь_5, Vr_Ь_25,..., Vr_Ь_т£, где
Vr_Ь = Vr_Ь + К_Ь +1 + ... + К , К_Ь_э = КГ_Ь_тэ + КГ_Ь_25 + ... + Vr_Ь_э_1,--.
Пусть оценка ВО тем или иным образом получена в 1 моментов времени
, ti ., ^, т.е. известны оценки ВО-г, ВО-2,., ВОц; ^ > 0, ^ < к.
Эффективность прогнозирования оцениваем следующими величинами:
- оценка математического ожидания квадрата ошибки прогнозирования (среднеквадратичная ошибка)
1 1 2
тэе = 11 Е- ; (1)
1} =1
- оценка математического ожидания модуля относительной ошибки прогнозирования (mape)
1 i
mape = - X
lj=1
BGi
(2)
Здесь Ei. = Et (8q s g f , 8h+) = BG^. - BGij - ошибка прогнозирования в момент
времени ti
2. Программный комплекс MultiNet для автоматизации исследований
В настоящее время на рынке присутствует значительное число программных систем, поддерживающих работу с нейронными сетями. Примерами таких систем являются Statistica (фирма StatSoft), BrainMaker (компания California Scietific Software), NeuroSolutions (компания NeuroDimension), MatLab (компания MathWorks). Выбор в пользу программной системы MatLab сделан ввиду широких возможностей данной системы, удобства разработки сложных приложений, развитых средств визуализации результатов исследования.
Вообще говоря, для нейросетевого прогнозирования уровня BG могут быть использованы различные классы нейронных сетей, многие варианты их топологий и широкий набор алгоритмов обучения. В этих условиях выбор нейронной сети, обеспечивающий наименьшие значения ошибки прогнозирования, требует очень больших затрат времени исследователя. Для сокращения этих затрат целесообразна разработка специализированной программы, обеспечивающей ускорение процесса исследования.
Структура разработанного программного комплекса MultiNet представлена на рисунке 2. Основу программы составляют классы dataHandler, Details, MatrixHost, NNmgr.
Рисунок 2 - Структура программного комплекса MultiNet
Класс dataHandler реализует однократное чтение широкой или узкой выборок данных из файла, а также создание, так называемой, матрицы данных. Указанная матрица представляет собой набор данных для различных интервалов прогнозирования и чисел учитываемых параметров.
Класс Details обеспечивает хранение информации об исследуемой сети или некотором наборе (матрице) таких сетей.
Класс MatrixHost реализует обучение и тестирование указанного набора сетей. Объекты этого класса содержат матрицу объектов NNmgr, каждый из которых включает в себя подлежащую исследованию нейронную сеть, результат прогноза, а также ссылку на объект Details, который содержит все данные о матрице этих объектов. При создании указанной матрицы объектов задается список варьируемых параметров. Например, можно создать матрицу объектов, которая задает четыре различных числа нейронов в скрытом слое, пять алгоритмов обучения и шесть различных длительностей прогноза. Класс MatrixHost реализует также построение графиков результатов экспериментов. Примеры результатов работы системы MultiNet приведены ниже (разделы 5, 6).
3. Типы используемых нейронных сетей
Рассмотрим следующие типы нейронных сетей:
- нелинейная авторегрессионная сеть (Nonlinear Autoregressive Network -NARX-сеть);
- сеть Элмана - частный случай многослойной рекуррентной сети (Layer-Recurrent Network - LRN-сеть);
- опережающая сеть прямого распространения (Feed-Forward Network -FFN-сеть).
NARX-сеть является сетью прямого распространения. Выделяют параллельный и последовательно-параллельный варианты архитектуры этой сети. Архитектура используемой в работе NARX-сети представлена на рисунке 3.
Рисунок 3 - Параллельный вариант архитектуры NARX-сети
Здесь и далее на аналогичных рисунках показана двухслойная сеть и приняты следующие обозначения: IW - матрица весов входа; LW - матрица весов нейронов промежуточного слоя; p - вектор входов; y - выход сети; TDL (Tapped Delay Line) - линии задержки. Линии задержки определим вектором
Lrûn 1 out \ lin 1 out
= (l ;l ), где l , l - длины входной и выходной линий соответственно.
Сеть Элмана имеет один внутренний слой, сигмоидальную функцию активации нейронов первого слоя, линейную функцию активации нейронов выходного слоя. Архитектура сети представлена на рисунке 4, где D -временная задержка на один шаг. Заметим, что программная система MatLab поддерживает обучение сети Элмана только с помощью алгоритма градиентного спуска.
Inpu-t Recurrent tansig layer Output purelin layer
Рисунок 4 - Архитектура нейронной сети Элмана FFN-сеть имеет архитектуру, представленную на рисунке 5.
=ригеИп |
Рисунок 5 - Архитектура FFN-сети прямого распространения
Если не оговорено иное, далее имеется в виду, что исследование выполнено для исходной выборки данных длиной k= 1900 значений, шаг которой т = 5 мин. Первые k1earn =950 значений использованы для обучения нейронных сетей, а оставшиеся ktest =950 значений - для их тестирования.
4. Прогнозирование на основе «узкой» выборки
Последовательно рассмотрим эффективность прогнозирования на основе «узкой» исходной выборки с помощью NARX-сетей, сетей Элмана и FFN-сетей. Будем различать краткосрочное прогнозирование (период прогноза T=5, 10, 20 минут), среднесрочное прогнозирование ^=70, 80, 90 минут) и долгосрочное прогнозирование ^=180, 190, 200 минут).
4.1. NARX-сети. Исследуем влияние на эффективность прогнозирования следующих факторов:
- алгоритм обучения сети;
- величина опережения;
- число нейронов в промежуточном слое сети;
- длины линий задержки.
Алгоритм обучения сети. Рассмотрим в качестве алгоритмов обучения алгоритм градиентного спуска с возмущением и адаптацией параметра скорости настройки (Gradient descent with momentum and adaptive learning rate backpropagation - GDX) и алгоритм Левенберга-Марквардта (LevenbergMarquardt -LM).
Исследование показывает, что значительно более высокую эффективность прогнозирования обеспечивают NARX-сети, обученные с помощью GDX-алгоритма. Так при среднесрочном прогнозировании оценка среднего квадратичного отклонения ошибки прогнозирования mse для этого алгоритма до 23 % меньше той же ошибки для LM-алгоритма. Более того, в последнем случае NARX-сеть дает значительное число абсолютно неприемлемых значений ошибки mse. Некоторые результаты данного исследования иллюстрирует рисунок 6.
Величины опережения. Рассмотрим два следующих варианта: 1) опережения отсутствуют - F1 = (0;0;0); 2) имеет место опережение на один шаг по уровню инсулину и количеству принятых углеводов - F2 = (0;1;1). Некоторые результаты исследования приведены на рисунке 7, показывающем, что вектор опережений F2 = (0;1;1) позволяет уменьшить ошибку прогнозирования mse до 5 %.
Рисунок 6 - Влияние алгоритма обучения на эффективность ИАЯХ-сети при
краткосрочном прогнозе: ^ = (0;2;2); п = 5; I = (2;3); к1еагп = 400; Т1 = 20 мин; Т2 = 40 мин; Т3 = 60 мин
Рисунок 7 - Влияние опережения на эффективность ЫАЯХ-сети:
аш-алгоритм; ^ = (0;0;0); = (0;1;1); п = 5; Ь = (0;1); к1еагп = 0,7
Число нейронов в промежуточном слое сети. Влияние числа нейронов промежуточного слоя п на эффективность прогнозирования иллюстрирует рисунок 8. Рисунок показывает, что для всех периодов прогнозирования увеличение числа нейронов с пяти до 10 уменьшает ошибку прогнозирования,
но несущественно, Поэтому для ускорения процесса обучения ИАЯХ-сети целесообразно ограничиться п = 5.
Рисунок 8 - Влияние числа нейронов на эффективность ИАЯХ-сети: аДХ-алгоритм; ^ = (0;1;1); п1 = 5; п2 = 10; Ь = (0;1); ~1еагп = 0,7
Длины линий задержки. Исследование выполнено для следующих длин линий задержки: Ь1 = (0;1); Ь2 = (1;2); Ь3 = (2;3). Некоторые результаты исследования иллюстрирует рисунок 9, показывающий, что увеличение длин линий задержки ИАЯХ-сети не приводит к заметному повышению точности прогноза. Флюктуации точности прогноза обусловлены случайными ошибками обучения сети.
Рисунок 9 - Влияние длины линий задержки на эффективность ИАЯХ-сети:
СЛХ-алгоритм;
_? = (0;1;1); п = 5; Ь = (0;1); Ь2 = (1;2); Ьз = (2;3); ~1еагп = 0,7_
Итого, результаты исследования показывают, что ИАЯХ-сети обеспечивают удовлетворительное качество прогноза для краткосрочных интервалов прогнозирования и неудовлетворительное качество - для среднесрочных и долгосрочных интервалов прогнозирования^ Более высокая точность прогноза достигается с использованием ИАЯХ-сетей, обучаемых с помощью алгоритма градиентного спуска, когда число нейронов в промежуточном слое принимает значения от пяти до 10^
Пример результатов краткосрочного прогнозирования с помощью ИАЯХ-сети приведен на рисунке 10^ Здесь и далее на аналогичных рисунках
пунктирная линия соответствует ВО •
Рисунок 10 - Пример результатов прогнозирования с помощью ИАЯХ-сети:
GDX-алгоритм; F = (0;1;1); n = 5; L = (0;1); k
learn
0,7; T = 10 мин
4.2. Сети Элмана. Исследуем влияние на эффективность прогнозирования следующих факторов:
- величина опережения;
- число нейронов в промежуточном слое сети;
- длина обучающей выборки.
Величина опережения. Аналогично разделу 4.1 рассмотрим варианты = (0;0;0), ^ = (0;1;1). Некоторые результаты исследования приведены на
рисунке 11. Рисунок показывает, что, как и для ААЛХ-сети, указанное опережение позволяет уменьшить ошибку прогнозирования mse примерно на 5%.
Рисунок 11 - Влияние опережения на эффективность сети Элмана: = (0;0;0); ^ = (0;1;1); п = 5; Ь = (0;0); ~1еагп = 0,7
Число нейронов в промежуточном слое сети. Влияние числа нейронов промежуточного слоя п на эффективность прогнозирования иллюстрирует рисунок 12. Рисунок показывает, что для краткосрочных периодов прогнозирования увеличение числа нейронов с пяти до 10 незначительно уменьшает ошибку прогнозирования, а для среднесрочных и долгосрочных периодов прогнозирования может как уменьшать, так и увеличивать эту ошибку. Отметим, что увеличение числа нейронов с пяти до 10 значительно увеличивает время обучения нейронной сети.
Рисунок 12 - Влияние числа нейронов п на эффективность сети Элмана:
F = (0;1;1); n1 = 5; n2 = 10 ; L = (0;0); к
learn
0,7
Длина обучающей выборки. Рассмотрены шесть следующих вариантов:
^еат = од. ^2еагп = 0,2;... к6еагп = 0,7. Результаты исследования иллюстрирует рисунок 13, показывающий, что минимальную ошибку прогнозирования для всех интервалов прогнозирования обеспечивает доля обучающей выборки к1еагп, равная 0,4 - 0,5.
J learn
J learn
Рисунок 13 - Влияние относительной длины обучающей выборки на
эффективность сети Элмана: ^ (0;1;1); п = 5; ^ (0;0); к
learn
0,1;
k2earn = 0,2; k6earn = 0,7
Итого, исследование показывает, что так же, как ИАЯХ-сети, сети Элмана, обеспечивают удовлетворительное качество прогноза лишь на краткосрочных интервалах прогнозирования. На среднесрочных
и долгосрочных интервалах прогнозирования качество прогноза сетей Элмана является не удовлетворительным. Для краткосрочного прогнозирования можно рекомендовать к использованию нейронную сеть Элмана со следующими значениями параметров: опережение входных данных, определяемое вектором F = (0;1;1); число нейронов в промежуточном слое п = 5 ^ 10 ; доля обучающей
выборки ~1еагп = 0,7.
Пример результатов краткосрочного прогнозирования с помощью сети Элмана приведен на рисунке 14.
Рисунок 14 - Пример результатов прогнозирования с помощью сети Элмана: ^ = (0;1;1); Ь = (0;0); ~1еагп = 0,5; Т = 10 мин
4.3. ^ГЖсети. Исследуем влияние на эффективность прогнозирования следующих факторов:
- число шагов предыстории;
- начальные индексы предыстории;
- величины шагов предыстории;
- число нейронов в промежуточном слое сети;
- относительная длина обучающей выборки.
Во всех случаях в качестве алгоритма обучения используем алгоритм Левенберга-Марквардта, в качестве оценки эффективности прогнозирования -величину таре.
Замечание. Нами рассмотрено использование в качестве критерия эффективности прогнозирования также величины mse (1). Результаты исследования показывают, что с точки зрения точности прогнозирования использование указанных критериев приводит к примерно одинаковым результатам. Однако с точки зрения удобства интерпретации результатов лицом, принимающим решения, критерий эффективности таре оказывается более предпочтительным.
Числа шагов предыстории. Рассмотрим следующие варианты: М1 = (3;3;3); М 2 = (5;5;5); М3 = (10;10;10). Некоторые результаты исследования
приведены на рисунке 15, показывающем, что задержки могут значительно повысить точность прогнозирования.
Рисунок 15 - Влияние числа шагов предыстории на эффективность РРА-сети: М1 = (3;3;3). М2 = (5;5;5). Мъ = (10;10;10); В = (0;18;0). ^ = (-3;6;4); п = 20.
~1еагп = 0,7
Особенно указанный эффект заметен для средне- и долгосрочного интервалов прогнозирования, когда точность прогнозирования повышается до
50 %. Отметим, что так же, как в КЛЯХ-сетях и сетях Элмана, увеличение числа шагов задержки увеличивает число входов нейронной сети, а, следовательно, и время на ее обучение.
Начальные индексы и величины шагов предыстории. Исследование выполнено при следующих значениях указанных величин: В1 = (0;6;0);
В2 = (0;6;0); В3 = (0;18;0); 51 = (-1;6;4); = (-2;6;4); = (-3;6;4). Результаты исследования иллюстрирует рисунок 16. Рисунок показывает, что различные комбинации параметров предыстории могут в широких пределах менять точность прогнозирования. Например, набор параметров В3 = (0;18;0), ^ = (-3;6;4) повышает точность прогноза на среднесрочном интервале
прогнозирования примерно на 25 % (по сравнению с худшим результатом, представленном на том же рисунке)
Рисунок 16 - Влияние начальных индексов и величин шагов предыстории на
эффективность РСТ-сети: М = (10;1(«0); В1 = №6;0); В2 = №6;0); Вз = (0;18;0). «1 = (-1;6;4). ^ = (-2;6;4). ^ = (-3;6;4); п = 20. ~,,„„, = 0 7
Число нейронов в промежуточном слое сети. Рассмотрим следующие варианты: п1 = 10; п2 = 15; п3 = 20. Некоторые результаты исследования
представлены на рисунке 17, который показывает, что в условиях исследования лучшие результаты прогнозирования обеспечивает РРИ-сеть, имеющая в скрытом слое п = 20 нейронов. По сравнению с вариантом использования в скрытом слое 10 нейронов, такая сеть обеспечивает при долгосрочном прогнозировании уменьшение ошибки таре примерно на 25 %.
Рисунок 17 - Влияние числа нейронов в промежуточном слое на эффективность ^И-сети: М = (10;10;10); В = (0;18;0); 5 = (-3;6;4); п1 = 10; п2 = 15; п3 = 20;
kleam =
Относительная длина обучающей выборки. Рассмотрим два варианта относительной длины обучающей выборки: к^еагп = 0,5 ; к2еагп = 0,7. Результаты данного исследования иллюстрирует рисунок 18.
Рисунок 18 - Влияние относительной длины обучающей выборки на эффективность РРК-сети: М = (10;10;10); В = №18;0); 5 = (-3^4); п = 20;
k,
learn
0,5. k
learn
0,7
Рисунок 18 показывает, что увеличение относительной длины обучающей выборки более величины 0,5 не увеличивает точность прогнозирования.
Итого, результаты исследования эффективности РРА-сети показывают, что нейронные сети прямого распространения могут обеспечить удовлетворительное качество прогноза уровня ВО на всех рассмотренных интервалах прогнозирования. Среднеквадратичная относительная ошибка прогноза в условиях исследовании не превышает 0,4. Лучшие результаты получены при п = 20 нейронах в промежуточном слое, числах шагов предыстории М = (10;10;10), начальных индексах предыстории В = (0;18;0) и величинах шагов предыстории 5 = (-3;6;4).
Эффективность краткосрочного и среднесрочного прогнозирования с помощью РРА-сети иллюстрируют рисунки 19 - 21, соответственно.
Рисунок 19 - Эффективность РРА-сети при краткосрочном прогнозировании: М = (10;10;10). В = (0;18;0). 5 = (-3;6;4). п = 20. к?™ = 0,7; Т = 20 мин
Рисунок 20 - Эффективность FFN-сети при среднесрочном прогнозировании:
M = (10;10;10). B = (0;18;0). S = (-3;6;4). n = 20; kt,earn = 0,7; Т = gQ
мин
Рисунок 21 - Эффективность FFN-сети при долгосрочном прогнозировании:
M = (10;10;10). B = (0;18;0). S = (-3;6;4).
n = 20; k2
learn
= 0,7;
Т =190 мин
5. Прогнозирование на основе широкой выборки
Ограничимся рассмотрением ИАЯХ- и сетей Элмана. В качестве обучающей выборки используем «широкую» выборку (раздел 1), содержащую £=19000 последовательных отсчетов. Рассмотрим эффективность краткосрочного прогнозирования (Т=20 мин).
5.1. NARX-сети. Исследуем эффективность прогнозирования в зависимости от следующих факторов:
- число нейронов в промежуточном слое сети;
- длина линий задержки Ь = (¡вс; ^; ¡С; ¡01; 1РА);
- относительная длина обучающей выборки.
В качестве алгоритма обучения нейронной сети используем GDX-алгоритм градиентного спуска с возмущением и адаптацией параметра скорости настройки.
Число нейронов в промежуточном слое сети. Рассмотрим следующие варианты: п1 = 5; п2 = 10; п3 = 15. Результаты исследования иллюстрирует рисунок 22.
.||.1
" Ь2 1.1
Рисунок 22 - Влияние числа нейронов в промежуточном слое на эффективность ИАЯХ-сети: широкая выборка; В = (0;1;0;0;0); Р = (1;1;1;1;1); п1 = 5; п2 = 10;
пъ = 15; Ь1=(1;1;1;1;1); ^=(2;2;2;2;2); Ьз=(3;3;3;3;3); ~1еагп = 0,5; Т = 20 мин
Рисунок 22 показывает, что в условиях исследования оптимальное число нейронов в сети зависит от длин используемых линий задержки. Так, для линий задержки, определяемых вектором ^=(1;1;1;1;1), оптимальным является число нейронов п1 = 5; для ситуации Ь2=(2;2;2;2;2) - п2 = 10; для ситуации
Ьз=(3;3;3;3;3) - п3 = 15. Лучшие результаты прогнозирования обеспечивает ИАЯХ-сеть, имеющая в скрытом слое п = 15 нейронов при длинах линий задержки, соответствующих вектору Ь=(3;3;3;3;3). Этот вариант сети позволяет получить ошибку таре, не превышающую величины 14% (напомним, что речь идет о краткосрочном прогнозе на период времени Т = 20 мин).
Длина линий задержки. Исследование выполнено для линий задержки, длины которых определяют векторы Д?=(1;1;1;1;1); Ь2=(2;2;2;2;2); Ь3=(3;3;3;3;3) при фиксированном числе нейронов в промежуточном слое п = 10. Результаты исследования иллюстрирует рисунок 23.
Рисунок 23 - Влияние длины линий задержки на эффективность ЫАЯХ-сеш: широкая выборка; В = (0;1;0;0;0); ^ = (1;1;1;1;1); п = 10; ^1=(1;1;1;1;1);
Ь2 =(2;2;2;2;2); Ь3 =(3;3;3;3;3); ~11еагп = 0,5; ~]еагп = 0,75; Т = 20 мин
Рисунок 23 показывает, что при относительной длине обучающей выборки к2еагп = 0,75, увеличение длин линий задержки с длин, определяемых
вектором ^1=(1;1;1;1;1), до аналогичных длин, определяемых вектором Ь3 =(3;3;3;3;3), позволяет уменьшить ошибку прогнозирования с величины таре«48% до величины таре«18%. При малой относительной длине
обучающей выборки к(еат = 0,5 имеет место противоположный эффект.
Длина обучающей выборки. Некоторые результаты исследования при относительных длинах обучающей выборки к1еагп, равных 0,005; 0,01; 0,05; 0,1; 0,3; 0,5, представлены на рисунке 24.
Рисунок 24 - Влияние относительной длины обучающей выборки на эффективность ААЛХ-сети: широкая выборка; В = (0;1;0;0;0); F = (1;1;1;1;1);
п = 15; Ь = (1;1;1;1;1);~1еагп = 0,005; 0,01;...0,5; Т = 20 мин
Итого. Исследование показывает, что в его условиях наиболее высокую точность прогнозирования обеспечивает ИАЯХ-сеть, имеющая в промежуточном слое 10 нейронов, длины линий задержки которой определяет вектор Ь = (2;2;2;2;2), а длина обучающей выборки к1еат = 0,3. Эффективность обучения указанной нейронной сети иллюстрирует рисунок 25, показывающий, что обучение уменьшает ошибку mse до величины 0,250.
Лучший результат прогнозирования, полученный с помощью ИАЯХ-сети, представлен на рисунке 26.
Рисунок 25 - К эффективности обучения ИАЯХ-сети: широкая выборка; В = (0;1;0;0;0); ^ = (1;1;1;1;1); п = 10; Ь = (2;2;2;2;2);~1еагп = 0,3; Т = 20 мин
Рисунок 26 - Лучший результат прогнозирования с помощью ИАЯХ-сети: широкая выборка; В = (0;1;0;0;0); ^ = (1;1;1;1;1); п = 10; Ь = (1;1;1;1;1); ~1еагп = 0,3;
Т = 20 мин
5.2. Сети Элмана. Выполнено исследование эффективности прогнозирования в зависимости от следующих факторов:
- число нейронов в промежуточном слое сети;
- относительная длина обучающей выборки.
Число нейронов в промежуточном слое сети. Исследование выполнено для чисел нейронов в промежуточном слое сети, равном 5, 10, 15. Некоторые результаты исследования представлены на рисунке 27. Рисунок показывает, что для сетей, использующих линии задержки различной длины, оптимальным является различное число нейронов в промежуточном слое. Так, при задержках, определяемых вектором £=(1;1;1;1;1), минимальную ошибку таре обеспечивает число нейронов п = 5; при £=(2;2;2;2;2), £=(3;3;3;3;3) - п = 10.
Рисунок 27 - Влияние числа нейронов на эффективность сети Элмана: широкая выборка; ^ = (1;1;1;1;1); В = (0;1;0;0;0); п1 = 5; п2 = 10; п3 = 15; 17=(1;1;1;1;1);
^=(2;2;2;2;2); Ь5=(3;3;3;3;3); ~1еагп = 0,3; Т = 20 мин
Длина обучающей выборки. Аналогично подразделу 5.1, исследование выполнено при относительных длинах обучающей выборки к1еагп, равных 0,005; 0,01; 0,05; 0,1; 0,3; 0,5. Результаты исследования показывают, что в его условиях минимальную ошибку прогнозирования обеспечивает обучающая выборка, относительная длина которой равна к1еагп = 0,3. Соответствующую эффективность прогнозирования иллюстрирует рисунок 28.
Время,мин
Рисунок 28 - Эффективность сети Элмана: широкая выборка; F = (1;1;1;1;1); В = (0;1;0;0;0); п = 10; Ь = (1;1;1;1;1); ~1еагп = 0,3; Т = 20 мин
Исследование показывает, что обучающая выборка малой относительной длины (к1еагп = 0,05) приводит к значительному увеличению ошибки прогнозирования. Таким образом, в процессе функционирования системы прогнозирования уровня ВО может быть целесообразным периодическое переобучение прогнозирующий нейронной сети на выборке относительно небольшой длины.
Итого. Результаты исследования показывают, что расширение вектора входных данных рассматриваемых нейронных сетей за счет включения в него помимо уровней ВО, инсулина и углеводов, еще и гликемического индекса пищи и индекса физической активности пациента, позволяет существенно повысить точность прогнозирования - для ИАЯХ-сетей среднеквадратичная ошибка прогнозирования снижается на ~15%, а для сетей Элмана - на ~10 %. Для ИАЯХ-сети данное утверждение иллюстрирует рисунок 29. Здесь вариант (1) соответствует ситуации, когда прогноз выполняется только на основе уровня ВО; вариант (2) - на основе уровней ВО, инсулина и углеводов; вариант (3) - на основе уровней ВО, инсулина, углеводов, гликемического индекса пищи и индекса физической активности пациента.
(1) <2) (3) Варианты
Рисунок 29 - Влияние ширины исходной выборки на точность прогнозирования: ИЛЯХ-сеть; В = (0;1;0;0;0); Р = (1;1;1;1;1); п = 10; Ь = (1;1;1;1;1);
~ = 0,3; Т1 = 80 мин; Т2 = 90 мин; Т3 = 100 мин Заключение
В работе выполнено широкое исследование эффективности нейронных сетей различной топологии (АЛЛХ-сети, сети Элмана и РР^-сети) при прогнозировании уровня ВО на основе узкой и широкой выборок исходных данных. В процессе исследования варьировались алгоритмы обучения сетей, величины «опережения», число нейронов в промежуточном слое сети, длины линий задержки, а также параметры предыстории. На этой основе даны рекомендации по выбору значений указанных величин.
Результаты исследования показывают, что ИЛЯХ-сети и сети Элмана обеспечивают удовлетворительное качество прогноза на краткосрочных интервалах прогнозирования и не удовлетворительное качество на среднесрочных и долгосрочных интервалах прогнозирования. РР^-сети могут обеспечить удовлетворительное качество прогноза уровня ВО на всех рассмотренных интервалах прогнозирования.
На основе результатов исследования можно сделать следующие выводы. Сглаживание входных данных позволяет уменьшить среднеквадратичную
ошибку прогнозирования на 5 - 10%. Использование вместо узкой выборки широкой выборки (расширение вектора входных данных) позволяет повысить точность прогнозирования на 10% - 15%.
В развитие работы планируется исследовать эффективность адаптивного обучения прогнозирующей нейронной сети, а также оценить возможность использования нейронных сетей для прогнозирования оптимальных требуемых доз инсулина
Авторы выражают благодарность Емельянову А.О. за постановку задачи, а также за обсуждение и интерпретацию результатов исследования. Авторы благодарят также Цветкова Н.В. за помощь в проведении ряда вычислительных экспериментов.
Работа поддержана грантом РФФИ №10-08-00816-а.
ЛИТЕРАТУРА
1. Гоменюк С.М., Емельянов А.О., Карпенко А.П., Чернецов С.А. Методы прогнозирования оптимальных доз инсулина для больных сахарным диабетом I типа. Обзор // Наука и образование: электронное научно-техническое издание, №4, 2009, (http://technomag.edu.ru/doc/119663.html).
2. Гоменюк С.М., Емельянов А.О., Карпенко А.П., Чернецов С.А. Обзор методов прогнозирования оптимальных доз инсулина для больных сахарным диабетом I типа // Информационные технологии, 2010, №3, с. 46-57.
3. Емельянов А.О., Чернецов С.А. Нейросетевое прогнозирование уровня глюкозы в крови для больных инсулинозависимым диабетом // XII Всероссийская научно-техническая конференция «Нейроинформатика-2010»: Сборник научных трудов. Ч.2. М.: НИЯУ МИФИ, 2010, С. 326-334.
4. Емельянов А.О., Чернецов С.А. Нейросетевое прогнозирование уровня
глюкозы в крови для больных инсулинозависимым диабетом // XII
Всероссийская научно-техническая конференция «Нейроинформатика-
2010»: Сборник научных трудов. Ч.2. М.: НИЯУ МИФИ, 2010, С. 326-334. Электронный журнал, №7 июль 2011 г. http://technomag.edu.ru Страница 30
5. Абрамов Ю.В., Емельянов А.О., Карпенко А.П., Чернецов С.А. Исследование эффективности нейросетевого прогнозирования оптимальных доз инсулина для больных сахарным диабетом I типа // Информационные и математические технологии в науке и / Труды XV Байкальской Всероссийской Конференции. Часть II., -Иркутск: ИСЭМ СО РАН, 2010, С. 156-164.
6. Карпенко А.П., Сабуров А.М.,, Чернецов С.А. Нейросетевое прогнозирование оптимальных доз инсулина для больных сахарным диабетом I типа // Труды Девятого Международного симпозиума «Интеллектуальные системы» (ШТЕЬ8'2010), 28 июня - 2 2010 г., г. Владимир, С. 477 - 480.
7. Моор Д. А., Чернецов С. А. Нейронечеткое прогнозирование уровня глюкозы в крови для больных инсулинозависимым диабетом // Электронное научно-техническое издание «Наука и образование». № 11, 2010, (http://technomag.edu.ru/doc/162907.html).
8. Трофимов А. Г., Повидало И. С., Чернецов С. А. Использование самообучающихся нейронных сетей для идентификации уровня глюкозы в крови больных сахарным диабетом 1 го типа // Наука и образование: электронное научно- техническое издание, №5, 2010, (http://technomag.edu.ru/doc/142908.html).
9. Чернецов С. А., Чучуева И. А. Прогнозирование уровня глюкозы в крови больных инсулинозависимым диабетом нейронными сетями и методом экстраполяции по выборке максимального правдоподобия // Электронное научно-техническое издание «Наука и образование», № 11, 2010, (http://technomag.edu.ru/doc/162847.html).
10.Трофимов А. Г., Скругин В. И. Адаптивный классификатор многомерных нестационарных сигналов на основе анализа динамических паттернов. // Электронное научно-техническое издание «Наука и образование», № 8, 2010. (http://technomag.edu.ru/doc/151934.html).