Interpolación, aproximación y similares (paquete alglib) - página 8

 
Todas estas conversiones no son adecuadas para mi tarea, las bibliotecas son inútiles (estudiadas). Vayamos por otro camino. Pero como nadie entiende nada de la esencia de la cuestión, no voy a decir cuál es.
 
Maxim Dmitrievsky:
Todas estas transformaciones no son adecuadas para mi tarea, las bibliotecas son inútiles (estudiadas). Vayamos por otro camino. Pero como nadie entiende la esencia de la pregunta, no voy a decir cuál es.

Gracias, Maxim, por este hilo. Estoy personalmente interesado en ti. Seguiré su proceso creativo.

Siempre me han arrastrado al abismo de la IA.
El abismo me atrae.

 
Sí, fue muy interesante de leer. Muchas gracias @Nikolai Semko
 
Maxim Dmitrievsky :
Todas estas transformaciones para mi tarea no sirven, son inútiles (aprendidas). Vayamos por otro camino. Pero como nadie entiende nada, no diré cómo.

Entiendo los méritos hasta cierto punto y definitivamente quiero ayudar y resolver el problema ya que entendí la parte teórica general del problema hasta cierto punto, pero cuando se trata de la implementación práctica en el código MQL5, entonces sin la comprensión exacta del código donde estás atascado se está volviendo difícil para mí entender correctamente para dar alguna idea de cómo resolver el problema o dónde está el problema exactamente. Me refiero a la medida en que ha implementado en MQL5 y lo que está buscando exactamente en términos de código MQL5 o fórmula o función, etc.

Si usted puede transformar sus pensamientos o el problema en forma de unas pocas líneas de código MQL5 donde usted está atascado, entonces voy a tratar de mi mejor esfuerzo para dar alguna idea al menos para resolverlo.

 
Nikolai Semko:

Lo siento, no pude entender lo que querías decir. Aparentemente debido a mis limitaciones. Pero lo intenté.
Pero echa un vistazo y utiliza este ejemplo:
https://www.mql5.com/ru/forum/216298/page5#comment_6484839


Laidea de que cualquier función periódica puede representarse como una serie de senos y cosenos relacionados armónicamente fue propuesta por el barón Jean Baptiste Joseph Fourier (1768-1830).


Definición de una serie de Fourier

Se dice que una funciónf(x)tiene periodoP sif(x+P)=f(x)para todos los valores dex. Seael periodo de la funciónf(x). En este caso, bastacon considerar el comportamiento de la función en el intervalo[-π].
  1. Supongamos que la funciónf(x) con periodo es perfectamente integrable en el intervalo[-π]. En este caso la llamadaintegral de Dirichlet es finita:π∫-π|f(x)|dx< ∞;

  2. Supongamos también que la funciónf(x) es de un solo valor, continua a trozos (es decir, tiene un número finito de discontinuidades) y monótona a trozos (tiene un número finito de máximos y mínimos).

Si secumplen las condiciones 1 y 2, entoncesla serie de Fourierde la funciónf(x)existe y converge a la función dada

¿Se puede expandir una función no periódica en una serie de Fourier? Sí - para ello, suponemos que el intervalo en el que se quiere obtener la expansión es el periodo y lo escalamos a[-π]
. Pero entonces al extrapolar más allá del intervalo de descomposición (sobre la arista derecha), se deben obtener los valores de la función periódica en el límite, que son los valores de la arista izquierda con el correspondiente desplazamiento - período P.
El dibujo da pereza: está en el curso de métodos numéricos de las universidades, aproximadamente en el segundo o tercer año de estudio. Más concretamente, antes se estudiaba (en mi época); no tengo ni idea de cómo es ahora.
 
Vladyslav Goshkov:

Laidea de que cualquier función periódica puede representarse como una serie de senos y cosenos relacionados armónicamente fue propuesta por el barón Jean Baptiste Joseph Fourier (1768-1830).

Definición de una serie de Fourier

Se diceque una funciónf(x)tiene periodoP sif(x+P)=f(x)para todos los valores dex. Seael periodo de la funciónf(x). En este caso, bastacon considerar el comportamiento de la función en el intervalo[-π].
  1. Supongamos que la funciónf(x) con periodo es perfectamente integrable en el intervalo[-π]. En este caso la llamadaintegral de Dirichlet es finita:π∫-π|f(x)|dx< ∞;

  2. Supongamos también que la funciónf(x) es de un solo valor, continua a trozos (es decir, tiene un número finito de discontinuidades) y monótona a trozos (tiene un número finito de máximos y mínimos).

Si secumplen las condiciones 1 y 2, entoncesla serie de Fourierde la funciónf(x)existe y converge a la función dada

¿Se puede expandir una función no periódica en una serie de Fourier? Sí - para ello, suponemos que el intervalo sobre el que queremos obtener la expansión es el periodo y lo escalamos a[-π]
. Pero entonces, al extrapolar más allá del intervalo de descomposición (sobre la arista derecha), se deben obtener los valores de la función periódica en el límite, que son los valores de la arista izquierda con el correspondiente desplazamiento - período P.
El dibujo da pereza: está en el curso de métodos numéricos de las universidades, aproximadamente en el segundo o tercer año de estudio. Más concretamente, solían (en mi época) estudiarlo - cómo ahora no tengo ni idea.

Parece que no entiendes el sentido de la descomposición de la función en armónicos.
¿Qué borde izquierdo se lleva sobre el borde derecho? ¿Qué quieres decir?

Entiendes que el objetivo de una descomposición de Fourier es obtener un conjunto de armónicos (sinusoides) de diferente frecuencia, amplitud y desplazamiento de fase, de forma que al sumarlos obtengas algo similar a la función original del conjunto de datos.

Cada sinusoide es como una función infinita y no tiene ni borde izquierdo ni borde derecho. Para extrapolarla, sólo hay que continuarla, no unir el borde "izquierdo" con el borde "derecho".

Y la periodicidad de esta suma de armónicos no será igual al rango de muestreo de los datos originales aproximados, sino que será igual a la distancia entre los momentos en que todos los armónicos de diferentes desplazamientos de fase de frecuencia vuelvan simultáneamente a sus valores iniciales, y no al hecho de que esto pueda ocurrir, porque sólo puede ocurrir si todas las frecuencias de los armónicos son múltiplos del mismo valor.

La línea azul es la aproximación, la roja es la extrapolación.

Archivos adjuntos:
 
Nikolai Semko:

Parece que no entiendes el significado de la descomposición de la función en armónicos.
¿Cuál es el borde izquierdo que se traslada al borde derecho? ¿De qué estás hablando?

Entiendes que el objetivo de la descomposición de Fourier es obtener un conjunto de armónicos (sinusoides) de diferente frecuencia, amplitud y desplazamiento de fase, de forma que al sumarlos obtengas algo similar a la función original del conjunto de datos.

Cada sinusoide es como una función infinita y no tiene ni borde izquierdo ni borde derecho. Para extrapolarla, sólo hay que continuarla, no unir el borde "izquierdo" con el borde "derecho".

Y la periodicidad de esta suma de armónicos no será igual al rango de muestreo de los datos originales aproximados, sino que será igual a la distancia entre los momentos en que todos los armónicos de diferentes desplazamientos de fase de frecuencia vuelvan simultáneamente a sus valores de partida, y no al hecho de que pueda ocurrir, porque sólo puede ocurrir si todas las frecuencias de los armónicos son múltiplos del mismo valor.

La línea azul es la aproximación, la roja es la extrapolación.

Esta misma "distancia entre momentos cuando todos los desplazamientos de fase..." en la serie de Fourier es exactamente igual a un período, ya que los argumentos de las funciones trigonométricas en ella son x, 2x, 3x,...nx, y sus períodos son 1, 2, 3...n veces comunes, respectivamente. Debido a esto, dicho conjunto de funciones trigonométricas tiene la propiedad de ortogonalidad que resulta en la independencia de los coeficientes de la expansión de Fourier entre sí y del número de frecuencias utilizadas en la expansión. Habiendo calculado los coeficientes de expansión para n=1 (a1 y b1) ya sabemos que estos valores no cambiarán si encontramos ai y bi en la expansión con 5 frecuencias. Eso es lo bonito.

¿Por qué, no es eso lo que estás haciendo? ¿Cambian los valores de los coeficientes de la primera descomposición cuando se modifica el número de armónicos considerados?

 
Vladyslav Goshkov:

...

Existe una técnica especial de extrapolación de Fourier. Se hace una descomposición en armónicos, se extrapolan las amplitudes y luego se recogen los armónicos con esta amplitud cambiante. No recuerdo exactamente, pero es algo así. Hay un ejemplo de este método aquí en la base de código.

 
Maxim Dmitrievsky:

Todo el mundo se ha dado cuenta, sólo que no saben cómo hacer

una transformación aleatoria de las características de una red neuronal, como función de salida, para que los nuevos datos puedan ser sustituidos

Muy interesante)) "transformación de rasgos para una red neuronal". ¿Qué características tiene una red neuronal? Una red neuronal tiene entradas y salidas. Por un método deductivo se concluiría que es la entrada de estos signos a la red neuronal. Pero... "...como función de salida"...

¡Es un fiasco, Marivanna, un fiasco!

 
Vladimir:

Esta misma "distancia entre momentos cuando todos los desplazamientos de fase..." en la serie de Fourier es exactamente igual al periodo, ya que los argumentos de las funciones trigonométricas en ella son x, 2x, 3x,...nx, y sus periodos encajan en un común 1, 2, 3...n veces, respectivamente. Debido a esto, dicho conjunto de funciones trigonométricas tiene la propiedad de ortogonalidad que resulta en la independencia de los coeficientes de la expansión de Fourier entre sí y del número de frecuencias utilizadas en la expansión. Habiendo calculado los coeficientes de expansión para n=1 (a1 y b1) ya sabemos que estos valores no cambiarán si encontramos ai y bi en la expansión con 5 frecuencias. Esto es lo bonito.

¿Por qué, es diferente para ti? ¿Cambian los valores de los coeficientes de la primera descomposición cuando se modifica el número de armónicos que se tienen en cuenta?

No, este algoritmo para encontrar los armónicos no utiliza la transformada rápida de Fourier, sino queutiliza el algoritmo de cálculo de la frecuencia de Queen-Fernández. (código fuente) Por cierto, ¿no es usted el autor? El nombre es el mismo, pero los perfiles son diferentes.

Las frecuencias se calculan secuencialmente y no son múltiplos unas de otras. Esto se puede ver tanto en el gif animado como en el código que he presentado arriba y ahora.
Aquí hay un ejemplo de los coeficientes de frecuencia armónica de este ejemplo (recién impreso 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
Archivos adjuntos:
6Fourier.mq5  16 kb
Razón de la queja: