Algoritmo para combinar rangos de un segmento - ayuda para crear - página 7

 
Aleksey Nikolayev:

La pregunta se sale del tema y es más bien filosófica. ¿Se da cuenta de que el planteamiento de la clasificación mediante la división de los atributos en segmentos implica una dependencia discontinua de los resultados con respecto a las entradas? Es decir, puede darse la situación de que una operación se abra en un conjunto de atributos y no se abra en otro muy, muy cercano al primero (están cerca de la frontera, pero en lados opuestos de la misma). No digo que sea un enfoque equivocado. Sólo quiero preguntar: ¿hay algún tipo de intuición de comerciante detrás de esto o es una elección arbitraria?

Sí, es posible, en teoría. Sin embargo, el método de binning implica la construcción de un conjunto de árboles consecutivos sobre diferentes predictores, lo que significa que el límite correcto puede ser seleccionado para otro rasgo (si hay una justificación estadística), por lo que el "error" se nivela.

Aleksey Nikolayev:

Como posible alternativa, se puede proponer la clasificación mediante la regresión logística o el método del vecino más cercano. Allí, el resultado puede ser una estimación de la probabilidad de pertenecer a una clase, que puede, por ejemplo, utilizarse para determinar el volumen de la transacción. No insisto en ningún algoritmo en particular, sólo me interesa el aspecto del comerciante de elegir un algoritmo específico de MO.

CatBoost también da una estimación de la probabilidad de pertenencia a una clase, pero según mi observación es exactamente lo contrario: mayor confianza en las observaciones raras que no se producen con suficiente frecuencia y esto lleva a su sobreestimación, y en una muestra independiente esto llevará a una clasificación errónea o a una ocurrencia aún más rara de un índice alto.

Por qué utilizo CatBoost para comerciar:

1. algoritmo rápido.

2. Un algoritmo moderno y en evolución con muchos avances en MO out of the box.

3. Una forma independiente de aplicar el modelo en MT5 sin Python y R.

 
Aleksey Vyazmikin:

La cuestión aquí es cómo identificar "muchas secciones valiosas y otras tóxicas", es decir, hay que identificar su intercambiabilidad, o hacerlo en dos pasadas, como he sugerido antes. ¿O tiene otra opción?

Conozco una forma de hacerlo sólo en dos pasadas. Primero hacemos un mapa y luego elegimos un camino. En seguida, sin mapa también se puede ir, pero es mucho más arriesgado, sobre todo cuando hay barrancos y pantanos en el camino, y no hay brújula, estrellas ni sol).

La cuestión es el coste de la acción y la disponibilidad de los datos iniciales. Al parecer, hay que fijar el objetivo a partir de aquí. Las condiciones pueden ser diferentes. Conocemos el número de puntos y segmentos. No sabemos el número de segmentos, pero sí el número de puntos, no sabemos el número de puntos y segmentos, sólo sabemos que son bastantes. Sabemos que el número de segmentos de un punto es como máximo N.

En general, esta parte debe formalizarse primero.

 
Aleksey Vyazmikin:

Sí, esto es posible, en teoría. Sin embargo, el método de boosting implica la construcción de un conjunto de árboles consecutivos sobre diferentes predictores, lo que significa que se puede elegir el límite correcto para otra característica (si existe una justificación estadística), de modo que se mitiga el "error".

A veces se tiene la sensación de que no se trata de un error en absoluto y la dependencia de la respuesta a los atributos (en nuestros problemas) bien puede sera veces saltarina.

Aleksey Vyazmikin:

CatBoost también da estimaciones de la probabilidad de pertenencia a una clase, pero según mis observaciones es exactamente lo contrario: mayor confianza en las observaciones raras que no ocurren con suficiente frecuencia y conduce a su sobreestimación, y en una muestra independiente conducirá a una clasificación errónea o a una ocurrencia aún más rara de un indicador alto.

Lo que quiero decir es que un modelo entrenado para cada conjunto particular de características, en lugar de responder "o 0 o 1", dará la respuesta como un número en un segmento entre 0 y 1. La regresión logística, por ejemplo, funciona así. En los bosques aleatorios parece que también funciona así, pero no sé si te refieres a eso o a las métricas.

 
Dmitry Fedoseev:

Dimitri, por favor, ayúdame, necesito cambiar el array cut[] en el algoritmo de int a float, pero el compilador arroja errores.

 
Valeriy Yastremskiy:

Sólo conozco un método de dos pases. Primero haces un mapa y luego eliges un camino. Inmediatamente, sin un mapa también se puede ir, pero es mucho más arriesgado, especialmente cuando los barrancos y pantanos en el camino, y sin brújula, las estrellas y el sol).

La oscuridad total espera a los intrépidos caminantes :)

Valeriy Yastremskiy:

La cuestión es el coste de la acción y la disponibilidad de los datos iniciales. Al parecer, tenemos que fijar el objetivo a partir de aquí. Las condiciones pueden ser diferentes. Conocemos el número de puntos y segmentos. No sabemos el número de segmentos, pero sí el número de puntos, no sabemos el número de puntos y segmentos, sólo sabemos que son bastantes. Sabemos que el número de segmentos de un punto es como máximo N.

Así que esta parte tiene que ser formalizada primero.

Conocemos el número de puntos y segmentos de línea al inicio de nuestra búsqueda, incluso sabemos el número máximo probable de segmentos de línea que podemos encajar en uno a 40 (si el segmento contiene al menos un 5% de puntos del mismo objetivo en dos opciones).

El número real de segmentos puede ser diferente para la búsqueda - ahora tengo que de 1 a 263, pero puede haber duplicados.

 
Aleksey Nikolayev:

A veces se tiene la sensación de que no se trata de un error en absoluto y la dependencia de la respuesta de las características (en nuestros problemas) bien puede sera veces saltarina.

Si hablamos de acertar estadísticamente con un porcentaje mayor de una de las clases, entonces sí, las secciones contiguas pueden tener una predisposición diferente al objetivo. Incluso quiero probar una transformación para facilitar el aprendizaje, la esencia de la transformación sería clasificar los segmentos por el tipo de pertenencia al objetivo y el grado de probabilidad, por lo que el lado izquierdo sería segmentos para ceros, y el lado derecho para unidades - en el centro débilmente expresado.

Aleksey Nikolayev:

Me refiero a que el modelo entrenado para cada conjunto particular de características, en lugar de responder "o bien 0 o bien 1", dará la respuesta como un número en un segmento de 0 a 1. La regresión logística, por ejemplo, funciona así. En los bosques aleatorios parece que también funciona así, pero no sé si te refieres a eso o a las métricas.

Este es el modelo CatBoost después del entrenamiento en la escala de probabilidad del eje x - la curva azul es el número de ejemplos, se puede ver que su número está disminuyendo.

El agua es de clase 0 y la magnetta es de clase 1. La curva roja es la pérdida, la azul claro es la ganancia.

y este es el mismo modelo en una muestra independiente.

¿Crees que la regresión logística tendrá una distribución diferente?

El propio algoritmo de regresión logística pierde frente a CatBoost sin ajuste de parámetros.

 
Aleksey Vyazmikin:

¿Crees que la regresión logística tendrá una distribución diferente?

El propio algoritmo de regresión logística, sin ajuste de parámetros, pierde ante CatBoost.

No, no estoy hablando de comparar algoritmos en la práctica. Me interesa una cuestión filosófica, cómo elegir un algoritmo y entrenarlo correctamente, teniendo en cuenta que las clases pueden estar a) claramente separadas entre sí, b) mezcladas, c) alguna mezcla de los puntos a) y b). Para (a) necesitas una clasificación clara, para (b) necesitas una difusa, y para (c) necesitas mezclarlas de alguna manera, pero no agitarlas.

Tal vez debería trasladar mi pregunta al hilo del Ministerio de Defensa.

 
Aleksey Nikolayev:

No, no estoy hablando de comparar algoritmos en la práctica. Me interesa una cuestión filosófica, cómo elegir un algoritmo y entrenarlo correctamente teniendo en cuenta que las clases pueden estar a) claramente separadas entre sí, b) mezcladas, c) alguna mezcla de (a) y (b). Para (a) necesitas una clasificación clara, para (b) necesitas una difusa, y para (c) necesitas mezclarlas de alguna manera, pero no agitarlas.

Tal vez debería trasladar mi pregunta al hilo del Ministerio de Defensa.

Cualquier algoritmo puede probablemente hacer frente a una clara separación. La cuestión es qué algoritmo puede asignar mejor un subespacio para resaltar las áreas de clases mezcladas.

El problema de la partición en el comercio es la dudosa validez de la partición, de ahí la dificultad añadida del entrenamiento.

No he trabajado con muchos de los métodos de MO disponibles actualmente, por lo que no puedo evaluar adecuadamente sus puntos fuertes y débiles.

 
Puede extrapolar el espacio hacia el futuro en forma de racimos fractales .
 
Veniamin Skrepkov:
Puede extrapolar el espacio hacia el futuro en forma de racimos fractales .

¿Puedes mostrarme cómo hacerlo?