От MA до FRAMA через «за уши притянутый» фрактал

29 августа, 2010

Автор: Николай Камынин

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

Вы слышите ужасное нагромождение бессмысленных фраз, герои говорят как шизофреники – слова вроде бы те, а смысла в них нет никакого.

Например, я тащусь от фильмов типа “сеть”, в которых якобы хакеры рассказывают, как они взламывают какой-нибудь сервер или какое крутое у них железо и софт.

Еще очень впечатляет сюжет, где герой фильма для защиты от проникновения в дом, ставит тазик с водой у окна и сует туда два конца провода из электрической розетки.

Бедный злоумышленник двумя ногами попадает в тазик и его – о чудо – поражает электрическим током.

Верхом дебилизма, конечно, являются рекламные шедевры.

Когда при рассказе об иммунитете, который “как известно” размещается в кишечнике, показывают изображение человека, у которого гортань сразу соединяется с его кишечником, очевидно, бедняге полностью удалили желудок, чтобы его агрессивная  среда не мешала полезным кефирным молочнокислым бактериям проникать для усиления иммунитета в кишечник.

Когда читаешь различные опусы , направленные на привлечение клиентов на фондовый рынок, то замечаешь, что всегда используется один и тот же рекламный трюк.

Сначала рассказывается притча на тему “занимательная математика” и производится словесное жонглирование непонятными, но завораживающими воображения понятиями.

После этого, как бы приобщив читателя к миру серьезной науки, рассказывается примитивный метод анализа графика.

Например, как фундаментально звучит такое утверждение: ” Фрактальная теория позволяет адаптировать скользящую среднюю под различные состояния рынка. На основе нового индикатора FRAMA можно строить успешные торговые стратегии”

Именно так и не иначе преподносится примитивный индикатор сглаживания FRAMA с переменный коэффициентом сглаживания.

Особо не озадачиваясь тем фактом, что этому новому индикатору в обед не менее 10 лет. ( В системе ОМЕГА я его знаю с 1998 года.)

При этом практически голословно утверждается о его высокой эффективности.

Да и зачем что-то доказывать, если можно для обоснования притянуть таинственную фрактальную теорию.

После “познавательного” рассказа о фрактальной теории, рисуется индикатор тренда, с нагромождением логарифмов и экспонент. Далее предлагается использовать формулу

для вычисления  ”фрактальной размерности” графика и по его значению изменять коэффициент сглаживания при расчете скользящего среднего значения цены. Получаемый примитивный “новый” индикатор имеет таинственную аббревиатуру FRAMA.

Чувствуете  всю таинственность и значимость данного коэффициента?

Теперь я покажу, что применение подобного коэффициента для оценки наличия тренда не нуждается ни в какой теории фракталов и банально получается из простейшей модели рынка в виде суммы синусоиды – модели волнового движения цены и наклонной линии – модели тренда, как безразмерный коэффициент пропорциональный скорости роста цен.

В  номере «Уолл Стрит Джорнал» от 3 июля 1984 года была опубликована статья под заголовком «Столетие Индекса Чарльза Доу». Через неделю в «Баррон» эта тема была продолжена материалом, озаглавленным: «В течение ста лет Теория Доу верой и правдой служит инвесторам».

Обе статьи вышли в свет, чтобы отметить сотую годовщину со дня первой публикации Чарльзом Доу среднего рыночного курса акций.  Это произошло 3 июля 1884 года.

Определение тенденции, которое дает Доу, выглядит следующим образом:

При восходящей тенденции каждый последующий пик и каждый последующий спад выше предыдущего.

При нисходящей тенденции каждый последующий пик и спад будет ниже, чем предыдущий.

Такое определение тенденции до сих пор является основополагающим и служит отправной точкой в анализе тенденций.

Для решения задачи обнаружения тренда, построим следующие графические модели тренда (рис.1) и его отсутствия – боковое движение (рис.2).

Математически такая модель представлена в виде суммы линии p2=A0+B0*t – модель линии тренда и синусоиды p1=A1*sin(2*Pi*t/Ts)– модель волнового движения цены . В МАТЛАБ это можно смоделировать следующим образом:

time=0:1999;

p1=0.25*sin(pi*time/200);

B=0.25;

p2=B*(time/200);

p3=p1+p2;

plot(time,p3,time,p2);

Рис 1. Графическая модель ”тренд”.

Рис 2. Графическая модель “боковое движение”

Колебания цены относительно средней линии характеризуются максимальным Max и минимальными значениями Мin.

Если бы волновая составляющая отсутствовала, то наличие тренда можно было бы определить по углу наклона лини тренда, т.е. по коэффициенту B0,который определяет скорость роста тренда.

Чем больше коэффициент (скорость) отличается от нуля, тем сильнее тренд.

При этом , практическое вычисление данного коэффициента запишется в виде:

B0=(P2-P1)/(T2-T1),

где P1,P2 – значения цены в моменты времени T1,T2 соответственно.

При наличии волновой составляющей , данная формула может быть применена,

но для этого необходимо сначала выделить на графике максимумы двух волн Max1 и Max2 в моменты T1 и T2 и вычислить B0=(Max2-Max1)/(T2-T1). Аналогично можно записать для минимальных значений волн Min1 и Min2.

При этом, моменты времени T1 и T2 связаны с моментом появления экстремумов.

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

Для упрощения процедуры обнаружения тренда можно воспользоваться следующей методикой  оценки и приведения коэффициента В0 к безразмерному виду ( В0- имеет размерность скорости ).

Выбираем произвольный интервал наблюдения Tн.

Делим его на две части Tн1 и Tн2.

Вычисляем параметры:  A3=Max-Min – размах цены на интервале Tн

Вычисляем параметры:  A1=Max1-Min1 – размах цены на интервале Tн1

Вычисляем параметры:  A2=Max2-Min2 – размах цены на интервале Tн1

Вычисляем среднее значение размаха цены A=(A1+A2)/2;

Полученное значение нормируем к A3 и получаем:

Z=A/A3, или Z=(A1+A2)/(2*A3)

Если тренд отсутствует, то согласно нашей модели мы получим A1=A2=A3=A и Z=1

Чем сильнее тренд, тем ближе коэффициент Z приближается к 0.5, при условии, что волны имеют примерно равный размах.

Так для нашей модели A1=A2; A3=2, A=1.  Z=0.5.

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

Для целей применения величины Z как управляющего сигнала индикатора, мы можем смещать, сужать и расширять диапазон изменения Z путем прибавления констант, умножением и делением Z на константы.

Теперь обратимся к формуле фрактальной размерности .

D=1+(Ln(A1+A2)-Ln(A3))/Ln(2);

Где Ln(X) – натуральный логарифм X;

Теперь перепишем эту формулу немного иначе:

(D-1)*Ln(2)=Ln((A1+A2)/A3)

и далее:

Exp((D-1)*Ln(2) = (A1+A2)/A3

Exp(D-1)= (A1+A2)/(2*A3)

Z=(A1+A2)/(2*A3),  где Z=Exp(D-1)

Таким образом, полученная нами  формула Z оценки коэффициента наклона линии тренда есть экспонента таинственной величины, называемой ”фрактальная размерность” уменьшенной на единицу.

Думаю, теперь Вы сами можете ответить на вопрос:

Требуется ли “притягивать за уши” фрактальную теорию для простейшего метода оценки коэффициента наклона линии ?

НЕЙРОННЫЕ СЕТИ ( ч.1. Постановка задачи )

27 августа, 2010

Автор: Николай Камынин

Давным-давно, я работал в отраслевой лаборатории и занимался созданием автоматизированных систем диагностики объектов.

И вот в один прекрасный день приезжает в лабораторию начальник отдела контроля качества  АвтоВаза .

В ту пору АвтоВаз начал серийное производство автомобиля Нива.

Так как автомобиль такого класса был на мировом рынке первым, то продажа его за рубеж была сравнительно успешной.

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

Дело в том, что Нива, из-за наличия двух ведущих мостов ,  обладала повышенной шумностью в салоне, что приводило к более быстрой утомляемости водителей.

Хотя на мировом рынке отсутствовали стандарты для такого класса автомобилей,  но в перспективе такие стандарты могли быть установлены западными производителями, что привело бы к резкому сокращению экспорта отечественных авто.

На заводе организовали отбраковку автомобилей по уровню шума и вибрации в салоне.

Делалось это исключительно субъективным способом.

Водитель-испытатель гонял автомобиль сначала на стенде, затем на треке и делал заключение:

“Шумит или не шумит”.

Если машина им браковалась, то методом проб и ошибок пытались уменьшить ее шумность.

Меняли коробку передач, колеса, валы и т.д.

Если удавалось снизить уровень вибрации и шума, либо машина оценивалась испытателем  как “Не шумит”, то она отправлялась на экспорт, иначе – на продажу внутри страны.

В ту пору спрос на мировом рынке на отечественные Нивы превышал предложение.

Выслушав проблему, мы сформулировали  задачу   следующим образом:

Имеются объекты – автомобили , которые создают  виброакустические сигналы.

Имеется субъект – испытатель, который на основе субъективного восприятия виброакустических сигналов принимает решение о классификации объектов на две группы –“хороший” и “плохой”.

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

В теории обучаемых систем такая задача называется построение системы принятия решения методом обучения с учителем.

Необходимо было сформировать достаточно большую историю классификации автомобилей испытателем.

После этого, имеющаяся история делится на две части.

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

Вторая часть данных – контрольная выборка совместно с решением испытателя применяется для оценки качества обучения системы.