Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Элементы математического моделирования в программных средах MATLAB 5 и Scilab (Андриевский Фрадков)

.pdf
Скачиваний:
895
Добавлен:
22.03.2015
Размер:
4.51 Mб
Скачать

 

Курс акций компании

Coca-Cola

 

 

j

 

I

 

 

 

 

 

 

 

 

!

iI

 

 

 

 

 

 

/

 

I

 

 

 

3

 

 

 

;

 

 

 

 

 

 

j

 

 

 

 

 

 

 

 

 

j ' / /

 

 

 

 

 

А - д

r

 

 

\

 

 

 

 

 

 

 

 

 

 

i

 

 

 

\

 

 

 

 

 

 

 

 

 

12/31

02/19

04/09

05/29

07/18

09/06

10/26

12/15

б

 

 

 

Дата

 

 

 

 

 

 

 

 

 

 

12/31

02/03

Рис. 3.15. Д и а г р а м м а курса акций компании

"Coca-Cola".

101

определяет способ усреднения. Аргументы lead и lag должны быть натуральными числами, не превосходящими 453, и lead< lag.

Весовые коэффициенты усреднения it;,- (г = 1,2,... , L) определяются по формуле

где L = lag для запаздывающего и L =lead - для упреждающего среднего. Таким образом, при alpha = 0 задается обычное скользящее среднее (принято по умолчанию), при alpha = 0.5 выполняется взвешивание с квадратным корнем при усреднении , при alpha = 1 задается линейное скользящее среднее, при alpha = 2 - взвешенное в квадрате и т.д. Лля экспоненциального взвешивания следует задать alpha=

В рассматриваемом примере используем следующие операторы:

lead=15; lag=25; alpha=0; movavg(у,lead,lag,alpha)

d a t e a x i s ( ' x ' , 6 )

Результат вычислений показан на том же рисунке. Выделим из этого процесса линейную систематическую составляющую (тренд). Для этого используем процедуру detrend MATLAB. Выполним оператор

z=detrend(y);

В результате получен процесс z[k] с нулевым средним. Далее будем рассматривать составляющую z[k] как исследуемый процесс. Построим для него окаймляющий (ленточный) график Боллингера (Bollinger band). Он отражает фактическое значение данных, рассчитанное по нему среднее значение и границы, которые соответствуют верхнему и нижнему средним отклонениям. Параметрами диаграммы являются число дней, по которому рассчитывается скользящее среднее, и параметр взвешивания alpha (см. выше movavg ). В общем виде для расчета диаграмм используется следующее обращение:

[mav, uband, lband] = bolling(asset, samples, alpha)

102

Входными параметрами служат: подлежащие обработке исходные данные в массиве asset; количество точек, по которым вычисляется скользящее среднее samples; управляющий параметр alpha. В результате вычислений возвращаются массив значений скользящего среднего mav и массивы значений точек верхней и нижней границ uband и lband. Выполним операторы

sample=10; alpha=0.5;

bolling(z,sample,alpha) d a t e a x i s ( ' x 1 , 6 )

Результат показан на рис. 3.15, б.

Теперь исследуем процесс z, рассматривая его как набор

некоторых случайных

значений.

Прежде всего найдем

его

среднеарифметическое

значение

и дисперсию. Для

этого

вы-

полним операторы m=mean(z), d=var(z). Получим

 

 

m=1.62e-015, d= 2.55.

 

 

 

Столь малое значение оценки

математического

ожидания

m связано с тем, что последовательность z практически является центрированной, так как она получена после выделения тренда. Далее будем считать, что значения z являются выборкой случайных величин, подчиненных нормальному закону распределения. Оценим его параметры. Используем функцию normfit тулбокса STATISTICS. Эта функция вырабатывает несмещенные оценки, обладающие наименьшей дисперсией параметров нормального распределения, и 100(1 —а)- процентные доверительные интервалы для оценок параметров (а = 0.05 по умолчанию). Выполним оператор

[mu,s ig,muc,s igm]=normf i t ( z )

В результате получим оценки математического ожидания т=1.61е-015, среднеквадратического отклонения s=1.597 и доверительных интервалов для математического ожидания mi=[-5.64e-02; 5 .64е-02] и СКО - si=[1.556; 1.640].

Выведем теперь гистограмму распределения значений z на одном графике с функцией плотности нормального распределения. Выполним оператор

h i s t f i t ( z , 2 0 )

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

103

найдены по массиву данных. Результат выполнения программы приведен на рис. 3.16, а.

Рис. 3.16. Распределение отклонений курса акций от тренда.

Наконец, введем график вероятности нормального распределения ("normal probability plot"). Назначение этого графика - показать, насколько можно считать, что данные подчиняются нормальному закону распределения. Лля нормально распределенных данных точки на графике близки к прямой линии. Вывод этого графика осуществляется функцией normplot. Результат выполнения оператора normplot(z) показан на рис. 3.16, 5.

3.7.Нечеткие модели

3.7.1.Нечеткие множества и лингвистические переменные

В 1965 г. американский математик JI. Заде опубликовал статью под названием "Fuzzy sets", что можно перевести как "Нечеткие множества". 1 В статье было дано новое определение понятия множества, предназначенное для описания и исследования сложных, "плохо определенных" систем. К ним, в частности, относятся гуманистические системы, на поведение которых существенное влияние оказывают знания, суждения и эмоции человека. В таких системах наряду со строги-

1 Слово "fuzzy" переводилось на русский язык как "размытые", "расплывчатые", "неопределенные", однако в последние годы чаще всего употребляется термин "нечеткие".

104

ми, объективными, количественными данными и результатами присутствуют неоднозначные, субъективные, качественные данные и результаты, что требует новых подходов.

Поскольку понятие множества лежит в основе всех математических конструкций, статья Л. Заде породила новое научное направление, бурный поток публикаций, специальные конференции и т.д. Произошло "раздвоение" математики: появились нечеткие функции, нечеткие уравнения, нечеткая логика и т.д. [39, 70, 73]. Новый математический аппарат описывает свойства нечетких систем, соответствующих трудно формализуемым, плохо структурированным задачам. В последние годы эти методы стали широко применяться в экспертных программных системах. Ниже излагаются основные

понятия теории нечетких

систем.

 

 

 

 

 

 

Прежде

чем говорить

о нечетких системах,

необходимо

ввести понятие нечеткого

множества.

 

 

 

 

 

Нечетким

подмножеством

А множества X назовем

пару

(X,/хд), где /хд : X —• [0,1] - функция, каждое значение которой

Ра(х) €

1] интерпретируется

как степень

принадлежности

точки хеХ

 

множеству А. Функция fiA

называется

функцией

принадлежности

множества А.

 

 

 

 

 

 

Для обычного

"четкого" множества В

можно

положить

 

 

 

X € В

т.е.

классическое понятие множества

 

 

 

х£В

 

 

 

 

 

 

 

 

 

 

является частным случаем введенного понятия

(рис.

3.17,

а). 1

Задавать функцию

принадлежности

можно

таблично

или

аналитически.

 

 

 

 

 

 

 

 

 

П р и м е р

3.7.1. Пусть X = {1,2,...} -

множество

натураль-

ных чисел, а функция Ца{х) задана таблицей

 

 

 

 

X

1

2

3

4

5

6

7

8

9

10

 

 

 

 

0

0.1

0.6

0.8

1

1

0.9

0.7

0.2

0 ...

 

Определенное таким образом нечеткое множество можно принять в качестве формализации понятия "несколько", изначально ясного лишь на интуитивном уровне.

1 Графики функций принадлежности, изображенные на рис. 3.17, получены с помощью процедур pimf и trapmf, имеющихся в составе тулбокса

FUZZY LOGIC. Некоторые сведения об этом тулбоксе приведены в Приложении, п. D.8, стр. 258.

105

Mjx) б мА(х)

1

0.8

50 60 100 х, лет

Ж) иОчень малое" "Среднее" "Большое"

"Очень

100 х, км

Аналогично можно ввести нечеткие множества, соответствующие понятиям: "много", "мало", "около 100", "почти 20" и т.д. Легко разрешается знаменитый парадокс древних греков: "Сколько зерен составляют кучу?". Ответ состоит в том, что "куча" - нечеткое множество зерен, функцию принадлежности которого можно получить, например, путем опроса.

Пример 3.7.2. Пусть X = [0,оо] - множество положительных чисел, а функция /хд(я) задана формулой

{

при 0 < х < 50,

О

график которой изображен на рис.3.17, 6. Если переменную х интерпретировать как возраст, то нечеткое множество А соответствует понятию "старый". Аналогично можно формализовать понятия "молодой", "средних лет" и т.д.

Переменные, значениями которых являются нечеткие множества, называются лингвистическими. Это основной тип переменных в естественном языке людей.

106

П р и м е р 3.7.3. Переменная "расстояние" принимает обычно числовые значения. Однако в предложениях естественного языка она может фигурировать как лингвистическая со значениями "малое", "большое", "очень малое", "среднее", "около 5 км" и т.д. Каждое значение описывается нечетким множеством, которое в рамках данной предметной области может иметь конкретную числовую интерпретацию. Например, если речь идет о поездках на такси, то в качестве универсального множества X можно взять отрезок [0, 100] км и задать функции принадлежности значений переменной "расстояние", как показано на рис.3.17, е.

При первом знакомстве с нечеткими множествами обычно возникает недовольство произволом и субъективизмом в задании функций принадлежности: "почему так, а не иначе?". Однако в этом не слабость, а сила подхода! Ведь если само понятие субъективно, то такова и его формализация, выполняемая человеком. А получаемые результаты должны носить качественный характер и достаточно слабо зависеть от конкретного задания функций принадлежности. С другой стороны, если есть необходимость в более объективных выводах, можно получить оценки //А(х) путем опроса экспертов.

Лля нечетких множеств вводятся операции пересечения, объединения, дополнения, концентрации, размывания (табл. 3.4). Первые три являются обобщениями обычных операций; оставшиеся - специфичны для нечетких множеств. Операции позволяют конструировать сложные понятия из простых: "очень много", "не старый и не молодой" и т.п.

По аналогии с четким случаем определяется отношение включения множеств: А С В, если и только если //д(я) < Рв{х) для всех х 6 X.

3.7.2.Нечеткие системы

Аналогично классическому случаю понятие нечеткой системы вводится через понятие нечеткого отношения (частными случаями которого являются понятия "нечеткое отображение", "нечеткая функция").

О п р е д е л е н и е . Нечеткое отношение R на множествах Х) Y задается функцией /хд : X х Y —• [0,1], каждое значение которой /2я(х, у) интерпретируется как степень нахождения

107

Т а б л и ц а 3.4. Операции с нечеткими множествами

 

Лингвисти-

Формула

 

 

 

Операция

ческий

для

цс{х)

График /хс(я)

 

 

смысл

 

 

 

 

 

Пересечение

И

тт{цл(х),

Ы * ) }

1

 

 

С = АГ\ В

 

 

 

 

/ Х Л X

 

 

 

 

 

Объединение

ИЛИ

шт{/1Д(х), fiB(x)}

1

И

 

пс\

X

с = лив

 

 

 

 

 

 

 

 

 

 

Дополнение

НЕ

1 - М » )

1

~ Х УX

С= А

 

 

 

 

 

 

 

 

 

Концентрация

ОЧЕНЬ

М * ) ] 2

1

/*

 

/ А X

 

 

 

 

 

Размывание

НЕ ОЧЕНЬ

VVA(X)

 

М

 

1

 

/ Л X

108

(совместимости, принадлежности) пары (х, у) в данном отношении.

Таким образом, нечеткое отношение - это нечеткое подмножество множества X х У всех пар (х, у), где х 6 X, у £ У. Поэтому стандартным способом вводятся пересечение, объединение, дополнение и другие действия над отношениями. Включение отношений R С S (/хд(х,у) < /х5(х, у)) интерпретируется как "из R следует S".

Важную роль в теории нечетких систем играет отношение

композиции R о S.

Если даны отношение R на

множествах

Х} У и отношение

S на множествах У, Z, то функция при-

надлежности отношения 5 о R на множествах

Z задается

формулой

 

 

*) =

max{min{/xH(*, у), /х5(2Л *)}}•

(3.49)

 

у€У

 

Можно проверить, что (3.49) выполняется для обычных четких отношений.

В полной аналогии с обычными системами (см.

п. 1.2)

нечеткая система - это нечеткое отношение между

множе-

ствами U, Y, где U - множество'входных функций времени

U(t)

: Т • t/, a Y - множество выходных функций

времени

у(-) :

Т —• У. Операция композиции отношений соответству-

ет последовательному соединению систем. Подчеркнем, что для нечетких систем понятие однозначности, детерминированности, теряет смысл: нечеткое отображение и нечеткое отношение неразличимы.

Если множества значений входов и выходов системы конечны, то, как указывалось в п. 3.1, ММ системы можно задать таблицами либо набором правил (продукций), напри-

мер: "ЕСЛИ [и = щ) И (х = xj)

ТО (у =

уку\

или в более

компактном виде:

 

 

 

(и = Ui, X = Xj)

у = ук.

 

(3.50)

Форма (3.50) удобна для представления в компьютере и придает описанию системы вид набора причинно-следственных связей.1 Аналогично обстоит дело и для нечетких систем,

1 При этом фактическая причинно-следственная связь может отсутствовать (пример: ЕСЛИ "тебе за сорок" И ас утра у тебя ничего не болит", ТО аты умер").

109

входные и выходные переменные которых могут принимать нечеткие значения, т.е. являются лингвистическими. Примеры нечетких правил:

= "малое") —* =

"большое"),

(u(t)

= "около 0.5", x(t

- 1) = "большое") —

—•

= "очень большое").

П р и м е р

3.7.4. Рассмотрим систему простейшего прогно-

за погоды в городе, основанную на том наблюдении, что погода чаще сохраняется, чем меняется: погода завтра будет скорей всего такая же, как сегодня. Лля простоты пусть множество входов системы (возможных значений переменной "погода сегодня") состоит из трех элементов: "ясно" (Я), "пасмурно" (П), "дождь" (Л), т.е. U = {Я,П,Л}. Таким же пусть будет и множество выходов (прогнозы на завтра): У = {Я,П,Л}. Если описать ММ простейшего прогноза как четкую, то ее можно представить таблицей:

и

я

У

д

 

п

я 1

0

0

0 1

д0 0 10п

или, более экономно, набором правил:

(и = Я) —• (у = Я); = П) - = П); (it = Д ) ( у = Д).

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

Можно использовать и нечеткие правила (продукции), наг пример:

{и = Я) — (у = Я|0.8 или П|0.4 или Д|0.3).

Пусть теперь входная переменная и>0 ("погода сегодня") приняла некоторое значение. Оно, естественно, должно быть нечетким (ведь нет четкой границы между значениями "ясно"

110