Discusión sobre el artículo "Comprendemos la "memoria" del mercado usando la diferenciación y el análisis entrópico" - página 10

[Eliminado]  
Олег:

Si tomamos su libro en concreto, la diferenciación fraccionaria no es muy agradable (en la práctica), además, tiene cien años, a partir de las modificaciones de ARIMA. Esto es si se toman dichas series de forma autónoma, sin otras características, no obtuve resultados satisfactorios.

Me gustó su reflexión sobre el meta-marking, es decir, entrenar el segundo modelo para corregir los resultados del primero, mejorando los resultados de la matriz. Hay muy pocas operaciones perdedoras en Train Sabesta. Una vez más, esto no es puramente su enfoque, es bien conocido. Pero sólo lo he visto aplicado a fin. filas. No se deshace de reentrenamiento, pero hace una imagen agradable en la bandejane.

Usted puede ver aquí, Meta-Etiquetado sección: https: //towardsdatascience.com/financial-machine-learning-part-1-labels-7eeed050f32e.

Más aquí: https: //www.quantopian.com/posts/meta-labeling-advances-in-financial-machine-learning-ch-3-pg-50

__________________________________________________________________________________________________________________

En cuanto al problema de sobreentrenamiento, estoy mirando hacia Meta-aprendizaje, Mecanismos de atención en el aprendizaje automático.

Puedes mirar en:

1. https://medium. com/towards-artificial-intelligence/a-simple-neural-attentive-meta-learner-snail-1e6b1d487623

2. https://stats. stackexchange.com/questions/344508/what-are-attention-mechanisms-exactly

Financial Machine Learning Part 1: Labels
Financial Machine Learning Part 1: Labels
  • Maks Ivanov
  • towardsdatascience.com
In the previous post, we’ve explored several approaches for aggregating raw data for a financial instrument to create observations called bars. In this post, we will focus on the next crucial stage of the machine learning pipeline — labeling observations. As a reminder, labels in machine learning denote the outcomes of the random variable that...
 
Gracias por la respuesta detallada, buscando.....
[Eliminado]  
Олег:
Gracias por la detallada respuesta, lo estoy mirando....

Olvidé añadir que el Meta-etiquetado de su libro es un caso especial de apilamiento, si aplicas el meta-modelo no a un único modelo primario, sino a una suspensión de varios modelos entrenados en diferentes sabets. Esto podría dar más margen para la investigación, aplicado a las series tafm.

Aquí hay un artículo bastante bueno.

Además, los mecanismos de atención + apilamiento están igual de bien entretejidos en el metaaprendizaje. Así que hay mucho que probar.

Todo esto debería conducir a una cierta generalización global y ayudar a combatir el overfit.

En mi biblioteca RL multiagente del artículo hay un tocho para multiagentes, pero sus resultados se promedian y no se ponderan de ninguna manera. Hago todo tipo de variaciones sobre el tema para mí.

How to Develop a Stacking Ensemble for Deep Learning Neural Networks in Python With Keras
How to Develop a Stacking Ensemble for Deep Learning Neural Networks in Python With Keras
  • Jason Brownlee
  • machinelearningmastery.com
Model averaging is an ensemble technique where multiple sub-models contribute equally to a combined prediction. Model averaging can be improved by weighting the contributions of each sub-model to the combined prediction by the expected performance of the submodel. This can be extended further by training an entirely new model to learn how to...
 

Maxim Dmitrievsky:

En mi biblioteca RL multiagente del artículo hay un tocho para multiagentes, pero sus resultados se promedian y no se ponderan de ninguna manera. Para mí hago todo tipo de variaciones sobre el tema.

No lo consideres por descaro (tu eres el autor de la libreria y tu decides en que direccion moverte), en la discusion de tu primer articulo sobre RL plantee la cuestion de sustituir el promediado por un metodo mas complejo, entonces lo cogiste en la bayoneta, en principio, cuando todos los agentes son creados por un algoritmo de bosque aleatorio realmente no es relevante, con un grado de convencionalismo se puede considerar que 2 agentes dan en la union bosque con un gran numero de arboles. Solo es necesario hacer un paso mas en la libreria RL y poner los arboles en una clase wrapper estandarizada separada, para la posibilidad de simple reemplazo en el agente por otro algoritmo.

Sobre la base de su biblioteca intenté crear una ampliada con la siguiente estructura: clase de preparación de datos primarios (series de pares, series adicionales-Euro-dólar afecta a muchos pares, un conjunto de lecturas de indicadores, parámetros adicionales como día del mes, día de la semana, etc.) - preparación de datos para todas las cadenas de algoritmos.

La cadena en sí: varias clases de preprocesamiento estándar, clase de método.

Al final - una clase de toma de decisiones (combinando los resultados de las cadenas), en una forma simple - promedio

Tengo 4 clases-bases-envolventes: datos, preprocesamiento, procesamiento, toma de decisiones.

En esta forma es posible mezclar ambos métodos diferentes y un método en diferentes datos, probablemente algo no se tiene en cuenta, pero este es el mínimo obtenido

[Eliminado]  
Олег:

No seas descarado (tu eres el autor de la librería y tu decides en que dirección moverte), en la discusión de tu primer artículo sobre RL planteé la cuestión de sustituir el promediado por un método más complejo, entonces tu lo cogiste de un tirón, en principio, cuando todos los agentes son creados por un algoritmo de bosque aleatorio realmente no es relevante, con un grado de convencionalismo podemos considerar que 2 agentes dan un bosque con un gran número de árboles. Solo es necesario dar un paso más en la librería RL y poner los árboles en una clase wrapper estandarizada aparte, para la posibilidad de sustitución simple en el agente por otro algoritmo.

Sobre la base de su biblioteca traté de crear una extendida con la siguiente estructura: clase de preparación de datos primarios (un número de pares, una fila adicional - euro-dólar afecta a muchos pares, un conjunto de lecturas de indicadores, parámetros adicionales - como el día del mes, día de la semana, etc.) - preparación de datos para todas las cadenas de algoritmos.

La cadena en sí: varias clases de preprocesamiento estándar, clase de método

Al final - una clase de toma de decisiones (combinando los resultados de las cadenas), en una forma simple - promedio

Tengo 4 clases-base-envolvente: datos, preprocesamiento, procesamiento, toma de decisiones.

En esta forma es posible mezclar ambos métodos diferentes y un método en diferentes datos, probablemente algo no se tiene en cuenta, pero este es el mínimo obtenido.

Pero, ¿dónde conseguir otros algoritmos? No hay nada más en alglib, tendremos que añadir algunos algoritmos de terceros. En esa librería del artículo puedes cambiar los parámetros de cada agente, es decir, puedes añadirle otras características, número de árboles y otros ajustes, es decir, puedes obtener, digamos, un montón de clasificadores débiles con un número pequeño de árboles que estén entrenados en diferentes características. Lo único que falta, como has visto, es sustituir el promedio por un metamodelo. Bueno, también es posible dividir el entrenamiento en pliegues, de forma que cada agente se entrene en su propia submuestra. Todavía no he experimentado con el apilamiento.

 
Maxim Dmitrievsky:

¿Pero dónde conseguir otros algoritmos? No hay nada más en alglib, así que tendremos que añadir algoritmos de terceros. En esa biblioteca del artículo se pueden cambiar los parámetros de cada agente, es decir, se pueden añadir otras características, número de árboles y otros ajustes, es decir, se pueden obtener, por ejemplo, un montón de clasificadores débiles con un pequeño número de árboles, que se entrenan con diferentes características. Lo único que falta, como has visto, es sustituir el promedio por un metamodelo. Bueno, también es posible dividir el entrenamiento en pliegues, para que cada agente sea entrenado en su propia submuestra. Todavía no he experimentado con el apilamiento.

Ahí es donde me quemé... Decidí mover el algoritmo de bousting, estoy disperso y no consigo juntarlo todo. Las librerías C++ son demasiado pesadas en plantillas y sobrecarga de funciones, porque en MQL no se soportan todas las sobrecargas, el algoritmo vuela y es más fácil escribirlo de nuevo, para algoritmos python se necesita una librería matricial normal (lo que hay en AlgLib está truncado, algunas cosas sólo se cierran con tapones, no es bueno para la base), era más fácil trasladarlo desde C#, parece que los desarrolladores de MQL se centran más en ello que en C++, hasta en la coincidencia de métodos y nombres. Intenté tomar árboles de alglib como base, pero allí los árboles se hacen sobre matrices, es difícil tratar la indexación, y el borrado es difícil. Ahora lo terminaré y lo publicaré, o espero que a alguien le interese y lo comparta....

[Eliminado]  
Олег:

Ahí es donde me quedé atascado ... Decidí mover el algoritmo de bousting, estoy disperso y no consigo juntarlo todo. Las librerías C++ están demasiado centradas en plantillas y sobrecarga de funciones, pues en MQL no se soportan todas las sobrecargas, el algoritmo vuela y es más fácil escribirlo de nuevo, para algoritmos python se necesita una librería matricial normal (lo que hay en AlgLib está truncado, algunas cosas sólo se cierran con tapones, no es bueno para la base), lo más fácil era trasladar de C#, parece que los desarrolladores de MQL están más orientados a ello que a C++, hasta la coincidencia de métodos y nombres. Intenté tomar árboles de alglib como base, pero allí los árboles se hacen sobre matrices, es difícil tratar la indexación, y el borrado es difícil. Ahora lo terminaré y lo publicaré, o espero que a alguien le interese y lo comparta....

O hacerlo en python, pero luego sufrir con MT5 :) Tengo un deseo de hacer una biblioteca similar en python, las posibilidades allí están por las nubes en términos de modelos. ¿Tiene algún sentido molestarse con el artículo?

El único problema es que he desarrollado mucho esta biblioteca, se ve mucho más complicado que en el artículo ... bueno, o simplemente diferente, aunque el concepto sigue siendo el mismo.
 
Maxim Dmitrievsky:

O hacer en python, pero luego sufrir con MT5 enlaces :) Tengo un deseo de hacer una biblioteca similar en python, las posibilidades allí están por las nubes en términos de modelos. ¿Tiene algún sentido molestarse con el artículo?

El único problema es que he desarrollado esta biblioteca mucho, se ve mucho más complicado que en el artículo ... bueno, o simplemente diferente, aunque el concepto es el mismo

DEFINITIVAMENTE EL ARTÍCULO TIENE SU PUNTO.

Python se ha convertido en un estándar de ML, los desarrolladores de MQL también se han movido en esta dirección, tienes que dominar Python en cualquier caso. Mi intento de transferir algoritmos está relacionado con la negativa de DLLs para auto-negociación en MQL, pero esto no es un requisito estricto y si los algoritmos son más fáciles de usar en python, entonces por qué no.


Sin adulación - leo sus artículos con placer, podemos discutir hasta que estamos azules en la cara sobre el contenido, pero el hecho de que establecen nuevas direcciones es inequívoca.

Estoy a favor de un nuevo artículo.

[Eliminado]  
Олег:

DEFINITIVAMENTE EL ARTÍCULO TIENE SENTIDO.

Python se ha convertido en un estándar de ML, los desarrolladores de MQL también se han movido en esta dirección, así que tienes que dominar Python en cualquier caso. Mi intento de transferir algoritmos está relacionado con el rechazo de DLLs para auto-negociación en MQL, pero esto no es un requisito estricto y si los algoritmos son más fáciles de usar en python, por qué no.


Sin adulación - leo sus artículos con placer, podemos discutir hasta que estamos azules en la cara sobre el contenido, pero el hecho de que establecen nuevas direcciones es inequívoca.

Estoy a favor de un nuevo artículo.

Propongo hacer un análogo de la librería RL en Python como artículo, sólo que no con random forest sino con bousting, por ejemplo CatBoost.

Y luego desarrollar el tema más adelante. Para empezar sencillo.
 
Maxim Dmitrievsky:

Propongo hacer un análogo de la librería RL en Python como artículo, sólo que no con random forest sino con bousting, por ejemplo CatBoost.

Y luego desarrollar el tema más adelante. Para empezar sencillo.

Como opción XGBoost - librería con código fuente o incluso simplificada:

https://habr.com/ru/company/mailru/blog/438562/

Por cierto, el artículo describe bousting, bousted respaldo.
Пишем XGBoost с нуля — часть 2: градиентный бустинг
Пишем XGBoost с нуля — часть 2: градиентный бустинг
  • habr.com
Всем привет! В прошлой статье мы разбирались, как устроены решающие деревья, и с нуля реализовали алгоритм построения, попутно оптимизируя и улучшая его. В этой статье мы реализуем алгоритм градиентного бустинга и в конце создадим свой собственный XGBoost. Повествование будет идти по той же схеме: пишем алгоритм, описываем его, в заверешение...