MATLAB.Exponenta
MATLAB и Simulink на русском
Технологии разработки и отладки
		сложных технических систем

Проектирование систем управления\Fuzzy Logic Toolbox

Демонстрационные примеры

  В оглавление \ К следующему разделу \ К предыдущему разделу

MGTSDEMO

В этом разделе описывается демонстрационная программа mgtsdemo, иллюстрирующая применение технологии ANFIS для решения уже ставшей классической задачи предсказания временного ряда Маккея-Глэсса. При выполнении демонстрационной программы mgtsdemo на экран выводится 9 слайдов.

На первом слайде выводится аннотация программы mgtsdemo. Для запуска демонстрации необходимо нажать кнопку Start>>.

На втором слайде описывается временной ряд Маккея-Глэсса, фрагмент которого показан рис. 9.37. Дифференциальное уравнение этого ряда имеет вид:

dx(t)/dt = 0.2x(t-tau)/(1+x(t-tau)^10) - 0.1x(t).

При значениях x(0) = 1.2 и tau = 17 ряд получается непериодическим и неконвергентным, динамика которого очень чувствительна к начальным условиям. Временной ряд на рис. 9.37 получен в предположении, что x(t) = 0 при t < 0.

Рисунок 9.37 - Временной ряд Маккея-Глэсса

На третьем слайде указано, что ANFIS-технология будет использована для построения модели, предсказывающей значение ряда через 6 интервалов времени x(t+6) на основе предыдущих четырех наблюдений временного ряда: x(t-18), x(t-12), x(t-6) и x(t). Следовательно, необходимо использовать такой формат обучающей выборки: [x(t-18) x(t-12) x(t-6) x(t) x(t+6)]. В интервале от t = 118 до 1117 было собрано 1000 пар данных в указанном формате. Первые 500 пар используются как обучающая выборка, а остальные - как тестирующая. На третьем слайде показан график временного ряда на промежутке [118, 1117] то есть, на интервале, из которого сформированы обучающая и тестирующая выборки.

На четвертом слайде с помощью функции genfis1 генерируется исходная нечеткая модель. Генерирование нечеткой модели из обучающей выборки trn_dat происходит по команде:

fismat = genfis1(trn_data)

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

Рисунок 9.38 - Исходные функции принадлежности нечеткой модели предсказания временного ряда

На пятом слайде указано, что сгенерированная нечеткая база знаний содержит 2^4 = 16 правил. Количество настраиваемых параметров нечеткой модели равно 104: 24 нелинейных и 80 линейных. Такое число настраиваемых параметров хорошо сбалансировано с объемом обучающей выборки, составляющей 500 пар "входы-выход". Для обучения нечеткой модели необходимо вызвать такую команду:

[trn_fismat,trn_error] = anfis(trn_data, fismat,[],[],chk_data)

На десять итераций обучения нечеткой модели затрачено около 4 минут на компьютере SUN SPARC II workstation. С целью экономии времени обучение нечеткой модели в демо-показе не происходит - результаты обучения напрямую загружаются в память.

На шестом слайде приведены графики оптимальных функций принадлежности (рис. 9.39), полученные после 10 итераций алгоритма обучения. Они не сильно изменились по сравнению с исходными функциями принадлежности (см. рис. 9.38). Очевидно, что основное обучение произошло путем изменения линейных параметров нечеткой модели. Нелинейные параметры обычно сильно изменяются при тонкой настройке, которая может быть выполнена позже.

Рисунок 9.39 - Оптимальные функции принадлежности нечеткой модели предсказания временного ряда

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

Рисунок 9.40 - Кривые обучения нечеткой модели предсказания временного ряда

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

Рисунок 9.41 - Исходный и предсказанный временные ряды

На девятом слайде показан график ошибки предсказания обученной нечеткой модели (рис. 9.42). Обратим внимание, что масштаб этого слайда почти в 100 раз крупнее, чем предыдущего. Напомним, что обучение нечеткой модели было прервано после 10 итераций. Ожидается, что меньшую ошибку предсказания временного ряда можно получить после дальнейшего обучения нечеткой модели.

Рисунок 9.42 - Ошибка предсказания временного ряда нечеткой моделью после обучения

  В оглавление \ К следующему разделу \ К предыдущему разделу


Поиск по сайту:

Система Orphus

Яндекс.Метрика