
- •Составители: с. П. Соколова, е. А. Кузьмина
- •Содержание
- •Лабораторная работа № 1. Работа в системе matlab
- •1. Методические указания
- •1. Структура и возможности пакета
- •2. Структура данных системы нечеткого вывода
- •3. Разработка нечеткой системы типа Мамдани
- •3.1. Процесс нечеткого вывода
- •3.2. Алгоритм Мамдани (Mamdani)
- •4. Порядок выполнения работы
- •Лабораторная работа № 3. Нечеткая модель оценивания финансовой состоятельности клиентов
- •1.1. Содержательная постановка задачи оценивания финансовой состоятельности клиентов
- •1.2. Нечеткая модель оценивания финансовой состоятельности клиентов
- •1.3. Фаззификация входных и выходных переменных
- •1.4. Формирование базы правил систем нечеткого вывода
- •1.5. Построение нечеткой модели средствами Fuzzy Logic Toolbox и анализ полученных результатов
- •Лабораторная работа № 4. Нечеткая система для анализа и прогнозирования валютных цен на финансовом рынке
- •2. Порядок выполнения работы
- •3. Оформление отчета
- •4. Рекомендованная литература
- •Лабораторная работа № 5. Работа с точечными, многомерными данными в системе matlab
- •1. Деловая графика в системе matlab
- •2. Основные действия над точечными матрицами в системе matlab
- •3. Основные действия над интервальными матрицами
- •4. Многомерные матрицы (массивы)
- •5. Сингулярное разложение многомерной матрицы
- •6. Порядок выполнения работы
- •7. Оформление отчета
- •8. Контрольные вопросы
- •9. Рекомендованная литература
- •Лабораторная работа № 6. Построение интеллектуального модуля симулятора для анализа динамики фондового рынка
- •1. Технический анализ в оценке динамики фондового рынка
- •2. Симулятор для оценивания динамики фондового рынка
- •2.1. Формирование обучающих классов
- •2.2. Формирование таблицы индикаторов на основе «японские свечи»
- •2.3. Формирование многомерной таблицы с различными периодами наблюдений
- •. Формирование многомерной интервальной матрицы индикаторов
- •3. Порядок выполнения работы:
- •4. Контрольные вопросы
- •5. Рекомендованная литература
2. Структура данных системы нечеткого вывода
Система нечеткого вывода представляется в рабочей области MATLAB структурой данных, изображенной на рис. 4.
Рисунок 4. Структура данных FIS.
Существует два способа загрузки FIS в рабочую область:
• считывание с диска с помощью функции readfis;
• передача из GUI-модулей через команду То workspace подменю Export меню File.
Поля структуры данных системы нечеткого вывода содержат следующую информацию:
• name ‑ наименование системы нечеткого вывода;
• type ‑ тип системы. Допустимые значения: 'Mamdani' и 'Sugeno';
• andMethod ‑ реализация логической операции И. Запрограммированные реализации: 'min' ‑ минимум и 'prod' ‑ умножение;
• orMethod ‑ реализация логической операции ИЛИ. Запрограммированные реализации: 'max' ‑ максимум и 'probor' ‑ вероятностное ИЛИ;
• defuzzMethod ‑ метод дефаззификации. Запрограммированные методы для систем типа Мамдани: 'centroid' ‑ центр тяжести; 'bisector' ‑ медиана; 'lorn' ‑ наибольший из максимумов; 'som' ‑ наименьший из максимумов; 'mom' ‑ среднее из максимумов. Запрограммированные методы для систем типа Сугено: 'wtaver' ‑ взвешенное среднее и 'wtsum' ‑ взвешенная сумма;
• impMethod ‑ реализация импликации. Запрограммированные реализации: 'min' ‑ минимум и 'prod' ‑ умножение;
• aggMethod ‑ реализация агрегирования. Запрограммированные реализации: 'max' ‑ максимум; 'sum' ‑ сумма и 'probor' ‑ вероятностное ИЛИ;
• input ‑ массив входных переменных системы;
• input.name ‑ наименование входной переменной;
• input.range ‑ диапазон изменения входной переменной;
• input.mf ‑ массив функций принадлежности входной переменной;
• input.mf.name ‑ наименование функции принадлежности входной переменной;
• input.mf.type ‑ тип функции принадлежности входной переменной.
Запрограммированные функции:
'dsigmf' ‑ функция принадлежности в виде разности между двумя сигмоидными функциями;
'gauss2mf ‑ двухсторонняя гауссова функция принадлежности;
'gaussmf ‑ гауссова функция принадлежности;
'gbellmf ‑ обобщенная колоколообразная функция принадлежности;
'pimf ‑ пи-подобная функция принадлежности;
'psigmf ‑ произведение двух сигмоидных функций принадлежности;
'sigmf ‑ сигмоидная функция принадлежности;
'smf ‑s-подобная функция принадлежности;
'trapmf ‑ трапециевидная функция принадлежности;
'trimf ‑ треугольная функция принадлежности;
'zmf' ‑ z-подобная функция принадлежности.
• input.mf.params ‑ массив параметров функции принадлежности входной переменной;
• output ‑ массив выходных переменных;
• output.name ‑ наименование выходной переменной;
• output.range ‑ диапазон изменения выходной переменной;
• output.mf ‑ массив функций принадлежности выходной переменной;
• output.mf.name - наименование функции принадлежности выходной переменной;
• output.mf.type ‑ тип функции принадлежности выходной переменной. Запрограммированные функции для системы типа Мамдани описаны в поле input.mf.type. Для системы Сугено заключения правил могут быть заданы константами ('constatnt') или линейной комбинацией входных переменных ('linear');
• output. mf. params ‑ массив параметров функции принадлежности выходной переменной;
• rule ‑ массив правил нечеткой базы знаний;
• rule.antecedent ‑ посылки правила. Указываются порядковые номера термов в порядке записи входных переменных. Число 0 указывает на то, что значение соответствующей входной переменной не влияет на истинность правила;
• rule.consequent ‑ заключения правила. Указываются порядковые номера термов в порядке записи выходных переменных. Число 0 указывает на то, что правило не распространяется на соответствующую выходную переменную;
• rule.weight ‑ вес правила. Задается числом из диапазона [0, 1];
• rule.connection ‑ логическая связка переменных внутри правила: 1 ‑ логическое И; 2 ‑ логическое ИЛИ. Для доступа к свойствам системы нечеткого вывода достаточно указать имя соответствующего поля. Например, команда FIS_NAME.rule(1).weight=0.5 устанавливает вес первого правила в 0,5, команда length(FIS_NAME.rule) определяет количество правил в базе знаний, а команда FIS_NAME.input(1).mf(1).name='Низкий' переименовывает первый терм первой входной переменной в Низкий.