Aprendizaje automático en el trading: teoría, práctica, operaciones y más - página 2649

 
Aleksey Nikolayev #:

No, funciona para cualquier número de predictores. En cada paso, se elige qué predictor y qué corte (izquierda o derecha) es óptimo. Los árboles de decisión convencionales hacen lo mismo: en cada paso, tanto el predictor como su punto de corte se eligen de forma que sean óptimos para producir dos nuevas casillas. La única diferencia con PRIM es que en cada paso se corta una pequeña porción limitada, lo que da lugar a un proceso gradual, de ahí la palabra paciente en el nombre.

Personalmente, me parece interesante otra modificación del enfoque estándar, en la que cada caja se corta no en dos, sino en tres nuevas cajas. Alguna vez daré mi opinión al respecto.

https://xgboost.readthedocs.io/en/stable/tutorials/feature_interaction_constraint.html
 
Aleksey Nikolayev #:

No, funciona para cualquier número de predictores. En cada paso, se elige qué predictor y qué casilla (izquierda o derecha) de corte son óptimos. Los árboles de decisión convencionales hacen lo mismo: en cada paso, tanto el predictor como su punto de corte se eligen de forma que sean óptimos para producir dos nuevas casillas.

Así que no he afirmado lo contrario - funciona - es sólo una cuestión de implementación - si se toman dos predictores con buenos límites arbitrariamente, la caja no saldrá - ¡esa es la cuestión! Por eso supuse que la búsqueda por pares se produce a la vez.

Aleksey Nikolayev #:

PRIM sólo difiere en que en cada paso se corta un trozo limitadamente pequeño, lo que lleva a un proceso gradual, de ahí la palabra paciente en el nombre.

Cortar - ¿qué significa - un pequeño residuo después de dividir condicionalmente cerca de la raíz del árbol?

Aleksey Nikolayev #:

Personalmente, me parece interesante otra modificación del enfoque estándar, cuando cada caja se corta no en dos, sino en tres nuevas. Voy a dar algunas ideas sobre esto en algún momento.

¿Por qué no 5? :) Estoy a favor de la experimentación.

 
mytarmailS #:
Tal vez una realización y una prueba sería mejor

No creo que eso vaya a ocurrir. Hasta ahora sólo hay una suposición incoherente.

Supongamos que sabemos con seguridad de alguna parte que la regla importante es A<x1<B, pero por ahora hay una regla a<x1<b, donde a<A y B<b. Una buena regla se obtendrá en al menos dos pasos, por ejemplo 1) a<x1<B y 2) A<x1<B. En la práctica, esto puede significar que un paso de partición en un predictor diferente se interponga accidentalmente entre estos dos pasos y esta regla importante simplemente no aparezca al final. Por lo tanto, el número de trozos de partición en cada paso puede no ser fijo, sino determinado a partir de consideraciones de optimalidad. Entonces, en casos especiales (casi como para el seno en tiempos de guerra) su número puede ser igual a cinco) El árbol, por supuesto, deja de ser binario.

 
Aleksey Vyazmikin #:

Cortar - ¿qué significa eso - un pequeño resto después de dividir convencionalmente cerca de la raíz del árbol?

Probablemente no se trata en absoluto de construir un árbol bonito, sólo quieren cortar un "buen trozo") Me aproximo a la idea de que uno debería más bien cortar trozos adecuados para el comercio, en lugar de pretender ser un alicatador que tiene que pavimentar todo el espacio sin huecos) Esto coincide bastante con la vieja cita "no intentes estar en el mercado todo el tiempo". Los casos en los que los predictores no caen en "buenos trozos" simplemente se ignoran, por lo que los árboles acaban por no servir de mucho.

Sí, abandonar el árbol lleva a juguetear con posibles intersecciones de cajas, pero si va a funcionar, los árboles no dan pena)

 
Maxim Dmitrievsky #:
h ttps:// xgboost.readthedocs.io/en/stable/tutorials/feature_interaction_constraint.html

Parece ser algo más serio que mis pequeños experimentos) Más o menos tiene que ver con tener en cuenta la estructura de dependencia entre predictores, que se conoce deantemano.

 
Aleksey Nikolayev #:

No creo que vaya a funcionar. Hasta ahora, es sólo una suposición incoherente.

Supongamos que sabemos con seguridad de alguna parte que la regla importante es A<x1<B, pero por ahora hay una regla a<x1<b, donde a<A y B<b. Una buena regla se obtendrá en al menos dos pasos, por ejemplo 1) a<x1<B y 2) A<x1<B. En la práctica, esto puede significar que un paso de partición en un predictor diferente se cuña accidentalmente entre estos dos pasos y esta regla importante simplemente no aparecerá al final. Por lo tanto, el número de trozos de partición en cada paso puede no ser fijo, sino determinado a partir de consideraciones de optimalidad. Entonces, en casos especiales (casi como para el seno en tiempos de guerra) su número puede ser igual a cinco) El árbol, por supuesto, deja de ser binario.

Utiliza la regresión simbólica, diseña exactamente lo que quieres, no lo que ofrecen otros algoritmos.

Conoces Rku, hay un paquete, hay ejemplos, todo se ha hecho antes y por nosotros.

 
Aleksey Nikolayev #:

Parece ser algo más serio que mis pequeños experimentos) En cierto modo tiene que ver con tener en cuenta la estructura de dependencia entre predictores, que se conoce deantemano.

Si sólo 1 y 2 pueden interactuar. O 3,4,5. Entonces después de la primera división, por ejemplo en 3, todas las divisiones aguas abajo será sólo desde el conjunto 3,4,5.
Supongo que simplemente construye 2 árboles de 1,2 y de 3,4,5 conjuntos. Si hay 10 conjuntos, entonces hay 10 árboles. Etc.
 
Sin embargo, eso es bousting. Luego el primer árbol en un set. 2º árbol de refinado en cualquier otro conjunto y así sucesivamente.
 
mytarmailS #:

Utiliza la regresión simbólica, diseña exactamente lo que quieres, no lo que sugieren otros algoritmos.

Conoces Rku, hay un paquete, hay ejemplos, todo se ha hecho antes y por nosotros.

Estoy trabajando en ello. No hay grial todavía)

 
elibrarius #:
Si sólo 1 y 2 pueden interactuar. O 3,4,5. Entonces después de la primera división, por ejemplo en 3, todas las divisiones aguas abajo será sólo de conjunto 3,4,5.
Supongo que simplemente construye 2 árboles de 1,2 y de 3,4,5 conjuntos. Si hay 10 conjuntos, entonces hay 10 árboles. Y así sucesivamente.

También es posible fusionar grupos en grupos - se obtiene un árbol (lista de listas de listas de listas de listas ...).

El principio general de construcción de tales grupos en nuestro caso no está muy claro.