Файл: Элементы математического моделирования в программных средах MATLAB 5 и Scilab (Андриевский Фрадков).pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 05.04.2024
Просмотров: 427
Скачиваний: 1
Опытная же проверка условия независимости еще сложнее, так как требует дополнительных экспериментов.
Более подробно методология и практические рецепты применения теории вероятностей изложены в поучительной книге В.Н. Тутубалина [101], представление о которой дают приводимые ниже цитаты.
"Чрезвычайно важно искоренить заблуждение, встречающееся иногда у недостаточно знакомых с теорией вероятностей инженеров и естествоиспытателей, что результат любого эксперимента можно рассматривать как случайную величину. В особо тяжелых случаях к этому присоединяется вера в нормальный закон распределения, а если уже сами случайные величины не нормальны, то верят, что их логарифмы нормальны."
"По современным представлениям область применения те- оретико-вероятностных методов ограничена явлениями, которым присуща статистическая устойчивость. Однако проверка статистической устойчивости трудна и всегда неполна; к тому же часто она дает отрицательный вывод. В результате в целых областях знания, например в геологии, нормой стал такой подход, при котором статистическая устойчивость вообще не проверяется, что неизбежно приводит к серьезным ошибкам. К тому же пропаганда кибернетики,1 предпринятая нашими ведущими учеными, дала (в некоторых случаях) несколько неожиданный результат: теперь считается, что только машина (а не человек) способна получать объективные научные результаты.
В таких обстоятельствах долг каждого преподавателя - вновь и вновь пропагандировать ту старую истину, которую еще Петр I пытался (безуспешно) внушить русским купцам, что торговать надо честно, без обмана, так как в конечном счете это для самих же себя выгоднее."
Как же построить модель системы, если неопределенность
взадаче есть, но стохастический подход неприменим? Ниже,
вп. 3.7, кратко излагается один из альтернативных подходов, основанный на теории нечетких множеств.
Но сначала рассмотрим практический пример.
1 А сегодня можно добавить "... и информатики" (прим. авторов).
99
3.6» Пример статистической обработки данных программами тулбокса STATISTICS
Рассмотрим в качестве примера курс акций компании "Coca- ColaR" за 1995 г. График исходного процесса представлен на рис. 3.15, а. 1 Пусть данные о курсе акций содержатся в массиве у, находящемся в файле cocdat.mat. Выполним следующие операторы:
load cocdat plot(tdat,у) xlabel('Дата') ylabel('Цена, дол . ')
title('Kypc акций компании Coca-Cola~R') timeser(datenum('01-Jan-1995')); dateaxis('x',2)
Процедура timeser входит в тулбокс FINANCIAL. Она преобразует разметку оси X графика в соответствующие календарные даты. При обращении к ней указывается начальная дата, которая с помощью процедуры datenum предварительно преобразуется из строкового формата в числовой. Функция dateaxis выполняет обратное преобразование, в результате которого разметка оси X приобретает требуемый символьный вид (формат записи дат задается вторым параметром процедуры). Выполним обработку процесса. Сначала вычислим и покажем на этом же графике изменение скользящего среднего рассматриваемого процесса. Чтобы иметь более полное представление о процессе, получим упреждающее и запаздывающее скользящие средние. С этой целью используем функцию movavg тулбокса FINANCIAL. Ее параметром является число дней, за которое производится усреднение. Вызов этой функции имеет в общем случае вид
[short,long] = movavg(asset,lead,lag,alpha)
Здесь short и long - соответственно упреждающее и запаздывающее скользящие средние; asset - подлежащие обработке исходные данные; lead и lag - количества точек, по которым вычисляются упреждающее и запаздывающее скользящие средние; alpha - управляющий параметр, который
1 Л л я простоты отображения исходные данные в 245 точках интерполированы на 365 точек, т.е. каждая точка соответствует суткам.
100
|
Курс акций компании |
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