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

 
Nikolai Semko:

Sinceramente, estás diciendo tonterías.
Si la función es periódica con un periodo igual al intervalo de descomposición, entonces ¿por qué necesitamos la aproximación y la extrapolación?

Sólo hay que copiar las últimas 1000 barras y pegarlas en la última barra de la derecha y voilá: la previsión está lista.


Eso es exactamente lo que escribí en el primer post ;))))))). En cuanto a la basura, ¿es tu forma de hablar con gente desconocida?

Una cosa más:


Nikolai Semko:

¿Entiendes siquiera el significado de estas fórmulas?

¿Cómo puede un antiguo empleado del Departamento de Matemáticas Aplicadas y profesor universitario de matemáticas entender fórmulas tan complicadas? ;)))))))
Una vez más, intenta comprender el significado físico de lo que estás haciendo.

 
Vladyslav Goshkov:

Esto es exactamente lo que escribí en el primer post ;))))))). En cuanto a la palabrería, ¿es tu forma de hablar con gente que no conoces bien?

También:

¿Cómo puede un antiguo empleado de un departamento de matemáticas aplicadas y profesor universitario de matemáticas entender fórmulas tan complicadas? ;)))))))
Una vez más, intenta comprender el significado físico de lo que estás haciendo.

Creo que comprendo el origen de su idea errónea.
En ese post escribí que no utilizo la transformada rápida de Fourier, que utiliza frecuencias equidistantes.

Este tipo de transformación tiene una finalidad diferente: se utiliza principalmente para comprimir música. Y debido a que todos los periodos de los armónicos son múltiplos de un periodo común observado, este tipo de transformación sí tiene un periodo común, que es de lo que se habla. Pero este tipo no es adecuado para la extrapolación, porque la extrapolación simplemente repetirá los valores anteriores. Es un caso muy especial que tiene como objetivo comprimir la información en lugar de predecirla.
La predicción de precios utiliza un tipo diferente de descomposición, que es lo que escribí en este post. Por eso he grabado el gif animado y he proporcionado el código para que lo estudies. No hay una periodicidad igual al tamaño de la muestra de los datos. El periodo de cada armónico se calcula allí de forma óptima y secuencial, y los periodos ni siquiera están siempre en orden descendente, el periodo del siguiente armónico puede ser incluso más largo que el anterior.
No te ofendas por tus divagaciones. Tengo los nervios a flor de piel. :))

 
Nikolai Semko:

No, este algoritmo para encontrar los armónicos no utiliza la transformada rápida de Fourier, sino queutiliza el algoritmo de cálculo de frecuencias 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.
A continuación se muestra un ejemplo de las relaciones de frecuencia armónica de este ejemplo (recién impreso w):

No, no soy el autor. Y una serie de funciones trigonométricas cuyas frecuencias no son múltiplos unas de otras no es una serie de Fourier.
 
Vladimir:
No, no soy el autor. Y una serie de funciones trigonométricas cuyas frecuencias no son múltiplos unas de otras no es una serie de Fourier.

No encuentras ninguna mención a las series de Fourier en mis posts. Me refería a las transformadas de Fourier.
La serie de Fourier es un caso particular de la transformada de Fourier de una función periódica.

El gráfico de precios no es una función periódica. Por lo tanto, en este caso no se necesita una serie de Fourier.

La transformación rápida de Fourier (FFT) calcula las series de Fourier. No utilizo la FFT en mis ejemplos.

Ese es tu error y el de Vladislav, que piensas que la serie de Fourier aplicable a una función periódica es la transformada de Fourier.

Lo he dicho varias veces: es un caso especial, no aplicable al mercado.

Estudiar las fuentes primarias.

He aquí algunas citas de Wikipedia:


La transformada de Fourier también es aplicable a funciones definidas en intervalos limitados, ya que dichas funciones pueden extenderse periódicamente en toda la línea.

La serie de Fourier es un caso particular de la transformada de Fourier, si esta última se entiende en el sentidode funciones generalizadas. Para cualquier función 2π-periódica tenemos


En otras palabras, la transformada de Fourier de una función periódica es una suma de cargas puntuales en puntos enteros, y es igual a cero fuera de ellos.


 
Nikolai Semko:

No, este algoritmo para encontrar los armónicos no utiliza la transformada rápida de Fourier, sino queutiliza el algoritmo de cálculo de frecuencias 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 las frecuencias armónicas de este ejemplo (recién impreso w):

Tengo que repetir la pregunta sobre las diferencias entre el método que propones y la serie de Fourier:

"¿Qué hay de malo en su método? ¿Cambian los valores de los coeficientes de la primera expansión al cambiar el número de armónicos considerados?"

No sé cómo averiguar en un gráfico animado para 40 frecuencias si los coeficientes del armónico más lento de los 40 son constantes. Por favor, no hagas referencia a las variables en tu código. La pregunta sobre el significado de la expansión de 40 armónicos se convierte en clave si al añadir el cuadragésimo primer armónico a la expansión se pueden incluso cambiar los coeficientes del primer armónico, por ejemplo.

Diga sí o no. O, menos estrictamente, cualquier cosa.

Que la serie de Fourier tenga esta pregunta resuelta de forma inequívoca, "No". Así como en las series de Taylor y otras descomposiciones, que ya han aportado y siguen aportando indudables beneficios. Supongamos que en tu caso no es tan inequívoco, pero tú también deberías tener una idea de la estabilidad de los coeficientes de expansión por el método que propones.

 
Vladimir:

Tengo que repetir la pregunta sobre las diferencias entre el método que propones y la serie de Fourier:

"¿Por qué, lo haces de forma diferente? ¿Cambian los valores de los primeros coeficientes de descomposición cuando cambia el número de armónicos considerados?"

No sé cómo averiguar en un gráfico animado para 40 frecuencias si los coeficientes del armónico más lento de los 40 son constantes. Por favor, no hagas referencia a las variables en tu código. La cuestión del significado de la expansión de los 40 armónicos se vuelve clave si, al añadir el cuadragésimo primer armónico a la expansión, los coeficientes del primer armónico pueden incluso cambiar de signo, por ejemplo.

Diga sí o no.

Este no es mi método, aunque tengo algunas ideas sobre cómo acelerarlo. He dado enlaces al código fuente y a los autores de este método.

Y lo más importante, hay código. ¿No es usted programador? Pero puedes entender el código, es sencillo y transparente.
Si se mira el código de la función MathFourier2, la respuesta es obvia: por supuesto que no. Añadir un nuevo armónico no modifica los anteriores.

Si se observa que los armónicos han cambiado, significa que los datos de entrada han cambiado. Has movido el ratón con shift o ctrl pulsados, o ha llegado una nueva barra.

Y por favor, no me hagas más preguntas, que tú mismo puedes responder, teniendo el código y el artículo de este método.

No estamos en el examen. Lo siento por mi tiempo.

Vuelvo a restablecer el código.

Para controlar este indicador, primero haga clic en el gráfico con el ratón (para activar la ventana), pulse Ctrl (y suéltelo) y mueva el ratón para cambiar la posición inicial, para terminar el proceso, pulse cualquier tecla (excepto Ctrl y Shift). Lo mismo con la tecla Shift para cambiar el periodo (rango de barras para calcular la función de aproximación)y el número de armónicos.

Archivos adjuntos:
7Fourier.mq5  16 kb
 

En general, la tarea, tal y como yo la entiendo, es que tenemos datos (probablemente los precios de apertura o cierre de una barra) para un periodo determinado, y necesitamos describir las fluctuaciones de esta muestra de alguna manera, pero debe ser una función, para que en la siguiente fluctuación podamos entender qué punto se refiere a una nueva cifra. Como resultado, deberíamos obtener un valor numérico adicional a cada precio, que mostrará a qué "parte" de la función pertenece la fluctuación, se obtendrá una especie de clasificación, que permitirá decir que el punto original pertenece a un determinado espacio. Este método puede tener a veces un efecto en el caso de la MO. Como la función no se conoce inicialmente, pero se espera que exista, es necesario generar diferentes funciones para dividir los dígitos de la muestra en grupos. Es decir, es un método de clasificación no por características, sino por estructura y atributos.

Esta es mi suposición.

 
Aleksey Vyazmikin:

Debería haber quedado claro hace tiempo, los enlaces se han dado. La cuestión es la aplicación. Hay toda una capa de algoritmos rápidos y eficientes que pueden utilizarse junto con la nube

Sólo tienes tiempo para aprender lo básico. Hace tiempo que R y Python lo tienen todo, por supuesto.
 
Maxim Dmitrievsky:

Debería haber quedado claro hace tiempo, te he dado los enlaces. La cuestión es la aplicación. Hay toda una capa de algoritmos rápidos y eficientes que se pueden utilizar, incluso en conjunción con la nube.

No tengo tiempo para estudiar el código. Llevo mucho tiempo trabajando en R y Python, por supuesto.

Después de leer el hilo, no he visto ninguna comprensión por parte de los asistentes, así que he decidido reformularlo, quizás alguien entienda la esencia del asunto en esta presentación.

Si esto ya se ha implementado en otros lenguajes, ¿por qué no podemos portar el código a MQL5?

 
Aleksey Vyazmikin:

Después de leer el hilo, no he visto ninguna comprensión por parte de los asistentes, así que he decidido reformularlo para ver si alguien entiende de qué estoy hablando.

Si esto ya ha sido implementado en otros lenguajes, ¿por qué no puedo portar el código a MQL5?

Sólo he preguntado si alguien ha hecho esto para ahorrar tiempo.

qué pregunta más estúpida.