Интерполяция, аппроксимация и иже с ними (пакет alglib) - страница 10

 
Nikolai Semko:

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

Просто копируем последние 1000 бар и пришпандориваем их к правому последнему бару и вуаля - прогноз готов.


Именно об этом я и писал в первом посте ;))))))). По поводу пурги - это у Вас так принято общаться с малознакомыми людьми ?

И еще:


Nikolai Semko:

              

Вы хоть понимаете смысл этих формул?

Ну откуда в прошлом сотруднику кафедры прикладной математики и преподавателю математики ВУЗа понимать такие сложные формулы. ;)))))))
Еще раз - попытайтесь понять физический смысл того, что делаете.

 
Vladyslav Goshkov:

Именно об этом я и писал в первом посте ;))))))). По поводу пурги - это у Вас так принято общаться с малознакомыми людьми ?

И еще:

Ну откуда в прошлом сотруднику кафедры прикладной математики и преподавателю математики ВУЗа понимать такие сложные формулы. ;)))))))
Еще раз - попытайтесь понять физический смысл того, что делаете.

Я кажется понял источник Вашего заблуждения.
В этом сообщении я писал, что я не использую быстрое преобразование Фурье, в котором используются равноудаленные частоты.

У данного вида преобразования другая цель - он применяется в основном для сжатия музыки. И ввиду того что все периоды гармоник кратно умещаются в общем наблюдаемом периоде, то действительно данный вид преобразования имеет общий период, о чем Вы и говорили. Но данный вид не годится для экстраполяции, т.к. экстраполяция будет просто повторять предыдущие значения.  Это очень частный случай, который преследует цель не прогноза, а сжатия информации.
Для прогнозирования цены используются другой тип разложения, о котором я и писал в этом сообщении. Поэтому я и записал анимированную гифку и предоставил код для изучения. Там нет никакой периодичности, равной размеру выборки данных. Там период каждой гармоники вычисляется оптимально и последовательно,  и периоды даже идут не всегда по убыванию, период следующей гармоники может быть даже больше предыдущего.  
Не обижайтесь за пургу. Нервы не к черту. :))

 
Nikolai Semko:

Нет, данный алгоритм нахождения гармоник не использует быстрое преобразование Фурье, а использует алгоритм вычисления частот Куина-Фернандеса. (первоисточник кода) Кстати, не Вы часом автор? Имя одинаковое, но профили разные.

Частоты вычисляются последовательно и не кратны друг другу. Это видно и из анимационной гифки и из кода, который я представил выше и сейчас. 
Вот пример коэффициентов частот гармоник из этого примера (просто распечатал w):

Нет, я не автор. А ряд тригонометрических функций, у которых частоты не кратны друг другу, не является рядом Фурье.
 
Vladimir:
Нет, я не автор. А ряд тригонометрических функций, у которых частоты не кратны друг другу, не является рядом Фурье.

Вы не сможете найти в моих постах упоминание о рядах Фурье. Я говорил о преобразованиях Фурье.
Ряды Фурье - это частный случай преобразования Фурье периодической функции. 

График цены - это не периодическая функция. Поэтому ряды Фурье, здесь не нужны. 

Быстрое преобразование Фурье (БПФ - FFT) как раз занимается расчетом рядов Фурье. Я же в своих примерах не использую БПФ.

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

Я уже несколько раз говорил - это частный случай, неприменимый для рынка. 

Изучайте первоисточники.

вот некоторые цитаты из Википедии:


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

Ряд Фурье является частным случаем преобразования Фурье, если последнее понимать в смысле обобщённых функций. Для любой 2π-периодической функции имеем


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


 
Nikolai Semko:

Нет, данный алгоритм нахождения гармоник не использует быстрое преобразование Фурье, а использует алгоритм вычисления частот Куина-Фернандеса. (первоисточник кода) Кстати, не Вы часом автор? Имя одинаковое, но профили разные.

Частоты вычисляются последовательно и не кратны друг другу. Это видно и из анимационной гифки и из кода, который я представил выше и сейчас. 
Вот пример коэффициентов частот гармоник из этого примера (просто распечатал w):

Вынужден повторить вопрос об отличиях предлагаемого Вами метода от рядов Фурье:

    "А что, у Вас делается не так? Значения первых коэффициентов разложения меняются при изменении числа учитываемых гармоник?"

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

Скажите, Да или Нет. Или менее строго, хоть что-нибудь.

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

 
Vladimir:

Вынужден повторить вопрос об отличиях предлагаемого Вами метода от рядов Фурье:

    "А что, у Вас делается не так? Значения первых коэффициентов разложения меняются при изменении числа учитываемых гармоник?"

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

Скажите, Да или Нет.

Это не мой метод, хотя у меня есть мысли как его убыстрить. Я давал ссылки на исходный код и на авторов этого метода.

И главное - есть код. Вы что - не программист? Но понять код же можете, там все просто и прозрачно.
Если заглянуть в код в функцию MathFourier2, то ответ очевиден - конечно же нет. Добавление новой гармоники не меняет предыдущих. 

Если Вы обнаружили, что гармоники изменились, значит изменились входные данные. Двинули мышкой с нажатым shift или ctrl, или бар новый бар пришел.  

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

Мы ж не на экзамене. Мне жаль своего времени. 

Еще раз сбрасываю код.

Управление этим индикатором следующее: предварительно щелкнув на график мышкой (для активации окна) нажмите Ctrl (и отпустите) и двигайте мышкой для изменения стартовой позиции, чтобы закончить процесс, нажмите любую клавишу (кроме Ctrl и Shift). Тоже самое с клавишей Shift для изменения периода (диапазона баров для вычисления аппроксимирующей функции) и числа гармоник.

Файлы:
7Fourier.mq5  16 kb
 

В общем то задача, как я её понял, заключается в том, что у нас есть данные (вероятно это цены открытия или закрытия бара) за определенный период, и нам нужно описать колебания в этой выборки каким либо способом, но при этом это должна быть функция, что бы при следующем колебании можно было понять к какой точке относится новая цифра. В итоге мы должны получить к каждой цене дополнительное цифровое значение, которое будет показывать к какой "части" функции относится колебание, получится некая классификация, которая позволит говорить о принадлежности изначальной точки к некоему пространству. Подобный метод может иногда давать эффект при МО. Так-как изначально функция не известна, но ожидается, что она есть, то имеется потребность в генерации разных функций для разбиения цифр в выборке на группы. Т.е. это некий метод классификации не по признакам, а по структуре и признакам.

Это моя догадка.

 
Aleksey Vyazmikin:

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

успевай только матчасть изучать. На Р и Питоне давно все есть, естественно.
 
Maxim Dmitrievsky:

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

успевай только матчасть изучать. На Р и Питоне давно все есть, естественно.

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

Если это уже реализовано на других языках, то почему нельзя портировать код на MQL5?

 
Aleksey Vyazmikin:

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

Если это уже реализовано на других языках, то почему нельзя портировать код на MQL5?

просто спросил делал ли кто-то что бы сэкономить время

что за глупые вопросы