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

 
Все эти преобразования для моей задачи не подходят, библиотеки бесполезные (изучил). Пойдем другим путем. Но т.к. никто ничего не понимает по существу вопроса то не скажу каким.
 
Maxim Dmitrievsky:
Все эти преобразования для моей задачи не подходят, библиотеки бесполезные (изучил). Пойдем другим путем. Но т.к. никто ничего не понимает по существу вопроса то не скажу каким.

Спасибо, Максим, за эту ветку. Лично меня Вы заинтересовали. Буду следить за Вашим творческим процессом. 

Всегда тянуло в бездну ИИ.
Пропасть затягивает.

 
да очень интересно было почитать . спасибо отдельное @Nikolai Semko
 
Maxim Dmitrievsky :
All these transformations for my task do not fit, libraries are useless (learned). Let's go another way. But since no one understands anything, I will not say how.

I understand the merits to some extent and definitely want to help and solve the problem since I understood the overall theoretical part of the problem to some extent, but when it comes to  practical implementation in MQL5 code,  then without the exact understanding of the code where you are stuck it is becoming difficult for me understand correctly to give some idea as how to solve the problem or where is the problem exactly. I mean to what extent you have implemented in MQL5 and what are you looking for exactly in terms of MQL5 code or formula or function etc.

If you can transform your thoughts or the problem in the form of few lines of MQL5 code where you are stuck, then I will try my best to give some idea at least to solve it.

 
Nikolai Semko:

Простите, я не смог понять, что Вы имели ввиду. Видимо в силу своей ограниченности. Но я старался.
Но посмотрите и поюзайте вот этот пример:
https://www.mql5.com/ru/forum/216298/page5#comment_6484839


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


Определение ряда Фурье

Говорят, что функция f(x) имеет период P, если f(x+P)=f(x) для всех значений x. Пусть период функции f(x) равен 2π. В этом случае достаточно рассмотреть поведение функции в интервале [π,π].
  1. Предположим, что функция f(x) с периодом 2π абсолютно интегрируема в интервале [π,π]. При этом является конечным так называемый интеграл Дирихле:ππ|f(x)|dx<;

  2. Предположим также, что функция f(x) является однозначной, кусочно-непрерывной (то есть имеет конечное число точек разрыва) и кусочно-монотонной (имеет конечное число максимумов и минимумов).

Если условия 1 и 2 выполнены, то ряд Фурье для функции f(x) существует и сходится к данной функции 

Можно ли разложить в ряд Фурье непериодическую функцию ? Можно  - для этого предполагаем, что интервал, на котором нужно получить разложение, и есть период и масштабируем его до 
 [π,π]. Но тогда при экстраполяции за отрезок разложения (за правый край), Вы должны в пределе получить значения периодической функции а это есть значения левого края с соответствующим сдвигом - периодом P.
Рисовать лень - это в ВУЗах в курсе численных методов примерно на втором-третьем курсе изучают. Если точнее, то раньше (в мое время) изучали - как сейчас понятия не имею.
 
Vladyslav Goshkov:

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

Определение ряда Фурье

Говорят, что функция f(x) имеет период P, если f(x+P)=f(x) для всех значений x. Пусть период функции f(x) равен 2π. В этом случае достаточно рассмотреть поведение функции в интервале [π,π].
  1. Предположим, что функция f(x) с периодом 2π абсолютно интегрируема в интервале [π,π]. При этом является конечным так называемый интеграл Дирихле:ππ|f(x)|dx<;

  2. Предположим также, что функция f(x) является однозначной, кусочно-непрерывной (то есть имеет конечное число точек разрыва) и кусочно-монотонной (имеет конечное число максимумов и минимумов).

Если условия 1 и 2 выполнены, то ряд Фурье для функции f(x) существует и сходится к данной функции 

Можно ли разложить в ряд Фурье непериодическую функцию ? Можно  - для этого предполагаем, что интервал, на котором нужно получить разложение, и есть период и масштабируем его до 
 [π,π]. Но тогда при экстраполяции за отрезок разложения (за правый край), Вы должны в пределе получить значения периодической функции а это есть значения левого края с соответствующим сдвигом - периодом P.
Рисовать лень - это в ВУЗах в курсе численных методов примерно на втором-третьем курсе изучают. Если точнее, то раньше (в мое время) изучали - как сейчас понятия не имею.

Похоже, что у Вас непонимание смысла разложения функции на гармоники.
Какой левый край переносим за правый край? Вы о чем?

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

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

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

синяя линия - аппроксимация, красная - экстраполяция. 

Файлы:
 
Nikolai Semko:

Похоже, что у Вас непонимание смысла разложения функции на гармоники.
Какой левый край переносим за правый край? Вы о чем?

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

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

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

синяя линия - аппроксимация, красная - экстраполяция. 

Это самое "расстояние между моментами, когда все фазовые сдвиги..." в ряде Фурье как раз и равно периоду, поскольку аргументами тригонометрических функций в нем являются x, 2x, 3x,.. nx, и их периоды укладываются в общий соответственно 1, 2, 3...n раз. И-за этого такой набор тригонометрических функций обладает свойством ортогональности, порождающим независимость коэффициентов разложения в ряд Фурье друг от друга и от числа использованных для разложения частот. Подсчитав коэффициенты разложения для n=1 (a1 и b1), мы уже знаем, что эти значения не изменятся, если мы найдем набор ai и bi в разложении с 5 частотами. В этом и прелесть.

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

 
Vladyslav Goshkov:

...

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

 
Maxim Dmitrievsky:

да все поняли уже, только не знают как сделать

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

Очень интересно)) "трансформация признаков для нейросети". Где у нейросети признаки? У нейросети есть входы и выходы. Дедуктивным методом получается придти к выводу, что имеется ввиду подача этих признаков на вход нейросети. Но!!! "...виде функции на выходе"... полный пц

Это фиаско, Мариванна, фиаско! 

 
Vladimir:

Это самое "расстояние между моментами, когда все фазовые сдвиги..." в ряде Фурье как раз и равно периоду, поскольку аргументами тригонометрических функций в нем являются x, 2x, 3x,.. nx, и их периоды укладываются в общий соответственно 1, 2, 3...n раз. И-за этого такой набор тригонометрических функций обладает свойством ортогональности, порождающим независимость коэффициентов разложения в ряд Фурье друг от друга и от числа использованных для разложения частот. Подсчитав коэффициенты разложения для n=1 (a1 и b1), мы уже знаем, что эти значения не изменятся, если мы найдем набор ai и bi в разложении с 5 частотами. В этом и прелесть.

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

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

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

2018.08.24 00:22:11.921 !Fourier (EURUSD,M1)    Гармоника 1 = 0.00492908
2018.08.24 00:22:11.921 !Fourier (EURUSD,M1)    Гармоника 2 = 0.01176861
2018.08.24 00:22:11.921 !Fourier (EURUSD,M1)    Гармоника 3 = 0.02124126
2018.08.24 00:22:11.921 !Fourier (EURUSD,M1)    Гармоника 4 = 0.02651676
2018.08.24 00:22:11.921 !Fourier (EURUSD,M1)    Гармоника 5 = 0.03511149
2018.08.24 00:22:11.922 !Fourier (EURUSD,M1)    Гармоника 6 = 0.01191667
2018.08.24 00:22:11.922 !Fourier (EURUSD,M1)    Гармоника 7 = 0.00586503
2018.08.24 00:22:11.922 !Fourier (EURUSD,M1)    Гармоника 8 = 0.04684633
2018.08.24 00:22:11.923 !Fourier (EURUSD,M1)    Гармоника 9 = 0.07585431
2018.08.24 00:22:11.923 !Fourier (EURUSD,M1)    Гармоника 10 = 0.05593456
Файлы:
6Fourier.mq5  16 kb
Причина обращения: