Discusión sobre el artículo "Clústeres de series temporales en inferencia causal"

 

Artículo publicado Clústeres de series temporales en inferencia causal:

Los algoritmos de agrupamiento en el aprendizaje automático son importantes algoritmos de aprendizaje no supervisado que pueden dividir los datos originales en grupos con observaciones similares. Utilizando estos grupos, puede analizar el mercado de un grupo específico, buscar los grupos más estables utilizando nuevos datos y hacer inferencias causales. El artículo propone un método original de agrupación de series temporales en Python.

El clustering es una técnica de aprendizaje automático que divide un conjunto de datos en grupos de objetos (clusters) de manera que los objetos dentro del mismo grupo son similares entre sí, mientras que los objetos de diferentes grupos son distintos. El clustering puede ayudar a revelar la estructura de los datos, identificar patrones ocultos y agrupar objetos en función de su similitud.

El clustering se puede utilizar en la inferencia causal. Una forma de aplicar el clustering en este contexto es identificar grupos de objetos o eventos similares que puedan asociarse con una causa particular. Una vez que los datos están agrupados, se pueden analizar las relaciones entre los clusters y las causas para identificar posibles relaciones de causa y efecto.

Además, el clustering puede ayudar a identificar grupos de objetos que puedan estar sujetos a los mismos efectos o tener causas comunes, lo cual también puede ser útil para analizar relaciones de causa y efecto.

Autor: Maxim Dmitrievsky

 

Leí antes "Matching of deals using clustering" y después - y cuál es la diferencia - no lo entendí.

Del artículo no se desprende claramente si hay algún efecto de la agrupación, ya que hay demasiada aleatorización, lo que hace imposible comparar los resultados. ¿Por qué no se puede fijar la semilla, o guardar la muestra antes de la agrupación, y luego ejecutar el procedimiento de creación con semilla fija para muestras con y sin agrupación previa?

No he mirado el código - en ONNX se pueden guardar todos los tipos de clustering y en MQL5 el vector generado con características se referirá a los clusters sin problemas?

 
Aleksey Vyazmikin #:

He leído antes "Coincidencia de ofertas mediante agrupación" y después -y cuál es la diferencia- no lo he entendido. Se describe lo mismo, pero con palabras ligeramente distintas.

Del artículo no se desprende claramente si hay algún efecto de la agrupación, ya que hay demasiada aleatorización, lo que hace imposible comparar los resultados. ¿Por qué no se puede fijar la semilla, o guardar la muestra antes de la agrupación, y luego ejecutar el procedimiento de creación con semilla fija para muestras con y sin agrupación previa?

No he mirado el código - en ONNX se pueden guardar todos los tipos de clustering y en MQL5 el vector generado con características se referirá a los clusters sin problemas?

En el primer caso, los modos se agrupan y el bot negocia en el clúster seleccionado. En el segundo caso, el bot comercia en todos los clusters, pero a las operaciones de cada cluster se les asigna un cierto peso.

Hay un efecto de la agrupación porque la formación es mejor/peor en diferentes clusters.

No conozco la exportación de clustering a onnx, tendré que leer sobre ello.

 
Maxim Dmitrievsky #:
En el primer caso, los modos se agrupan y el bot negocia en el grupo seleccionado. En el segundo caso, el bot negocia en todos los clusters, pero a las operaciones de cada cluster se les asignan ciertos pesos.

Por alguna razón pensé que en el primer caso se crea un modelo separado para cada cluster. Entonces, ¿cómo se selecciona el clúster?

Para el segundo caso entiendo - no he leído los artículos anteriores - si brevemente - ¿cómo se hace la ponderación?

Maxim Dmitrievsky #:
El clustering tiene un efecto porque diferentes clusters tienen mejor/peor aprendizaje.

Bueno, de hecho hay muestras diferentes....

 
Aleksey Vyazmikin #:

Por alguna razón pensaba que en el primer caso se creaba un modelo distinto para cada cluster. Entonces, ¿cómo se selecciona el clúster?

En el segundo caso entiendo - no he leído los artículos anteriores - en resumen, ¿cómo se realiza la ponderación?

Bueno, hay diferentes muestras, de hecho....

En el primer caso, el modelo se entrena para cada clúster, sí. El clúster se selecciona en función de los resultados de la negociación en la prueba.

En el segundo caso, los clusters se utilizan para filtrar las malas operaciones. En primer lugar, la muestra se agrupa en n conglomerados y, a continuación, en cada conglomerado se cuentan los ejemplos mal pronosticados y se marcan como malos. Dado que se utiliza la media de los ejemplos erróneos en varios pliegues de formación cruzada, las medias de cada grupo son diferentes. Por lo tanto, hay una diferencia entre filtrar todo el conjunto de datos (como en artículos anteriores) y filtrar cada grupo: ¡la diferencia está en los promedios!

 
Aleksey Vyazmikin #:

Bueno, es una muestra diferente, básicamente...

Diferentes muestras = diferentes regímenes de mercado en términos de volatilidad. El modelo es más estable en unos que en otros. Eso es para el primer caso.

En el segundo caso, deshacerse de las malas operaciones y el comercio en todos los modos.

Dado que el proceso de aprendizaje es automatizado y aleatorio, no me interesa el número de clusters y sus peculiaridades. Me interesa una TS lista en la salida, que puede elegirse entre un montón de TS diferentes.
 
Maxim Dmitrievsky #:
Dado que se utiliza la media de los ejemplos malos de varios pliegues de formación cruzada, las medias de cada grupo son diferentes.

¿Diferente del hecho de que cuanto más pequeña es la muestra, más probable es que se vuelva a muestrear un ejemplo?

Maxim Dmitrievsky #:
Diferentes muestras = diferentes regímenes de mercado en términos de volatilidad. El modelo funciona de forma más robusta en unas que en otras. Esto es para el primer caso.

Con el primer caso está más o menos claro - en lo que has entrenado es bueno y lo que te queda.

Maxim Dmitrievsky #:
Dado que el proceso de entrenamiento es automatizado y aleatorio, no me interesa el número de clusters y sus peculiaridades. Me interesa un CT listo en la salida, que se puede elegir entre un montón de CT diferentes.

La selección siempre es buena, pero ¿existe algún patrón, algún criterio para detectar una relación entre la salida seleccionada y el rendimiento real fuera de las muestras de entrenamiento?

 
Aleksey Vyazmikin #:

¿Diferente del hecho de que cuanto más pequeña es la muestra, más probable es que se vuelva a muestrear un ejemplo?

En el primer caso, está bastante claro: lo que aprendimos bien, lo dejamos así.

La selección siempre es buena, pero ¿existe algún patrón, algún criterio que nos permita encontrar una correlación entre el resultado seleccionado y los indicadores reales fuera de las muestras de entrenamiento?

El criterio de verdad es la práctica )

Se obtiene otro efecto interesante. Los dos modelos del primer caso se entrenan con una precisión de 0,99. Esto abre la vía a la calibración de los modelos y a la obtención de "probabilidades verdaderas". Lo que quería considerar en otro artículo tal vez.
 
Maxim Dmitrievsky #:

El criterio de la verdad es la práctica )

Se obtiene otro efecto interesante. Los dos modelos del primer caso se entrenan con una precisión de 0,99. Esto abre la vía a la calibración de los modelos y a la obtención de "probabilidades verdaderas". Lo que quería considerar en otro artículo tal vez.

Escribir por supuesto, pero es mejor ser más detallado, porque era difícil de entender sin explicaciones.

 
Maxim Dmitrievsky #:

El criterio de la verdad es la práctica )

Se obtiene otro efecto interesante. Los dos modelos del primer caso se entrenan con una precisión de 0,99. Esto abre la vía a la calibración de los modelos y a la obtención de "probabilidades verdaderas". Lo que quería abordar en otro artículo tal vez.
Ya estoy esperando un nuevo artículo.
 
Aleksey Vyazmikin #:
están entrenados con una precisión de 0,99.

¿Cuál es la precisión de la prueba? Lo que importa es el GAP.