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

 
Mihail Marchukajtes:

Sin embargo, la verdadera cuestión es ésta. Si hay una mala división en la sección de prueba, NO importa si la división es correcta o no, el hecho de que la división es débil. Y el modelo no ha trabajado más del 50% del intervalo de entrenamiento, entonces el modelo se considera sobreentrenado.... IMHO

Por cierto, ¿recuerdas que en tu artículo sobre las secuencias sugerías contar varias señales seguidas, invirtiendo ahí... la superposición de señales

Se me ha ocurrido una solución interesante para implementar algo así a través de la lógica difusa e incorporarla al proceso de aprendizaje... Publicaré algo más tarde :)

 
Maxim Dmitrievsky:

A veces el cerebro empieza a romperse... sobre el ruido en forex, no es una señal de radio, ¿verdad? ¿De dónde procede el ruido en el mercado de divisas?


El concepto de "ruido" en el mercado de divisas ha sido discutido ampliamente por mí en este hilo. Lo hice yo mismo o lo copié de otra persona, no lo recuerdo, y no importa. En cualquier caso, he puesto enlaces a artículos similares en este hilo.

Entiendo que el "ruido" es todo o parte del predictor que no tiene relación con la variable objetivo, una especie de poso de café.


Me explico con un ejemplo (repito lo que he escrito antes).


Tomemos un objetivo que consta de dos clases: hombres y mujeres.

Tomemos un predictor: la ropa.

Sólo hay dos valores predictores: pantalones y faldas. En algunos países este predictor tiene una capacidad de predicción del 100%, es decir, las faldas predicen a las mujeres y los pantalones a los hombres. Este predictor no tiene ningún ruido. Error de clasificación = 0. No hay sobreentrenamiento.

El ejemplo es rebuscado y el predictor "ropa" puede contener ropa con el nombre "unisex". Para nosotros, esto significa que dicha ropa puede ser usada tanto por hombres como por mujeres, es decir, para nuestra variable objetivo la ropa "unisex" NO tiene ningún poder predictivo, así lo entiendo yo.

Si tomamos un predictor que tiene los valores "pantalones", "faldas" y "unisex", entonces "unisex" será una fuente de error de clasificación. Si la proporción de ropa "unisex" es del 30%, es teóricamente posible conseguir un error de aprendizaje del modelo = 30%, pero en un predictor de este tipo, un error del 29% significa un sobreentrenamiento del modelo del 1%.


Lo utilizo en la práctica. Gracias a esto pude seleccionar predictores para un bosque aleatorio con un error inferior al 30%. Este no es un modelo sobreentrenado. El error es más o menos el mismo cuando se entrena, en muestras de prueba dentro del mismo archivo y en otros archivos externos.

¿Qué significa reducir el error en mi ejemplo? Se trata de encontrar predictores cuyos valores, los del ruido, sean inferiores a ese mismo 30%. No lo he conseguido. Quizá alguien lo consiga.

Pero sin este análisis, el uso de cualquier modelo de MO es un ejercicio vacío, un juego intelectual de números en terrenos de café.


PS.

El error anterior no suele depender del tipo de modelos. Probado diferentes andamios, variantes de ada - más o menos lo mismo. Pero NS, que es nnet, da un resultado notablemente peor.

 
SanSan Fomenko:

He discutido el concepto de "ruido" en el mercado de divisas bastante extensamente en este hilo. No recuerdo si lo inventé yo o lo tomé prestado de otra persona, y no importa. En cualquier caso, he puesto enlaces a artículos similares en este hilo.

Entiendo que el "ruido" es todo o parte del predictor que no tiene relación con la variable objetivo, una especie de poso de café.


Me explico con un ejemplo (repito lo que he escrito antes).


Tomemos un objetivo que consta de dos clases: hombres y mujeres.

Tomemos un predictor: la ropa.

Sólo hay dos valores predictores: pantalones y faldas. En algunos países este predictor tiene una capacidad de predicción del 100%, es decir, las faldas predicen a las mujeres y los pantalones a los hombres. Este predictor no tiene ningún ruido. Error de clasificación = 0. No hay sobreentrenamiento.

El ejemplo es rebuscado y el predictor "ropa" puede contener ropa con el nombre "unisex". Para nosotros, esto significa que dicha ropa puede ser usada tanto por hombres como por mujeres, es decir, para nuestra variable objetivo la ropa "unisex" NO tiene ningún poder predictivo, así lo entiendo yo.

Si tomamos un predictor que tiene los valores "pantalones", "faldas" y "unisex", entonces "unisex" será una fuente de error de clasificación. Si la proporción de ropa "unisex" es del 30%, es teóricamente posible conseguir un error de aprendizaje del modelo = 30%, pero en un predictor así un error del 29% significaría un sobreentrenamiento del modelo del 1%.


Sólo que no sabemos de antemano hasta qué punto este predictor de ruido puede dar un error mínimo, si en condiciones reales a la hora de seleccionar los predictores... sólo hay que cribar los poco informativos y ya está

pero en general parece estar claro )

 
Maxim Dmitrievsky:

...allí simplemente se tamizan los que no son informativos


Se trata de un profundo error: el algoritmo de minimización de errores funciona, lo que puede entenderse de muchas maneras diferentes. El ruido que contiene más diversidad que el NO ruido es el más adecuado. El algoritmo recoge la espuma de los posos del café.

 
SanSanych Fomenko:

Se trata de un profundo error: el algoritmo de minimización de errores funciona, lo que puede entenderse de muchas maneras diferentes. El ruido que contiene MÁS variedad que el NO ruido es el más adecuado. El algoritmo recoge la espuma de los posos del café.

Me refiero a Jpredictor... como que tamiza las cosas de ruido por sí mismo

Por lo tanto, es más para experimentar que para tratar de entender realmente lo que está pasando allí )

quiero probar esta plataforma h2O, es solo un bosque con boosting... tal vez escuchaste? la gente dice que esta bien, junto con mcroft's y xgbboost

https://www.h2o.ai/

 

Para los que no lo hayan visto, les recomiendo que vean este hilo

 
Vizard_:

Fa y Mishan no son mineros)))
Servirá para pajearse con los loros. + LightGBM, + CatBoost.
Quieres conseguir un corte un poco mejor - poner python y todo en la GPU...

Muchos paquetes R funcionan bien con la GPU.

¿Has utilizado SatBoost? Tan interesado.

Buena suerte

 
Maxim Dmitrievsky:
Me refiero a Jpredictor... que filtra las características del ruido por sí mismo

De todos modos, este tema es más para experimentar que para tratar de entender realmente lo que está pasando allí )

Quiero probar esta plataforma h2O, es solo un bosque con boosting... tal vez has escuchado... la gente dice que está bien, junto con mcroft's y xgbboost

https://www.h2o.ai/

Está escrito en Java y utiliza mucha memoria. No funciona ni mejor ni peor que otros paquetes similares de R. Tiene una desventaja y una ventaja: la mejora continua sin compatibilidad con el pasado.

Está bien para experimentar pero no lo recomendaría para el trabajo (IMHO).

Buena suerte

 
SanSanych Fomenko:

Se trata de un profundo error: el algoritmo de minimización de errores funciona, lo que puede entenderse de muchas maneras diferentes. El ruido que contiene MÁS variedad que el NO ruido es el más adecuado. El algoritmo recoge la espuma de los posos del café.

"Ruido" y "sobreajuste" son jergas que cada uno define de forma diferente. Intuitivamente, entendemos la diferencia entre "aprendido" y "sobreajustado", pero es difícil traducirlo al lenguaje de los programas. Lo defino de forma sencilla: el momento en que el error de la prueba empieza a crecer y es el comienzo del "sobreentrenamiento" (no es lo mismo que el "sobreajuste"). Si lo encuentro, te enviaré un enlace a un debate interesante sobre este tema en la red en inglés.

Buena suerte

 
SanSanych Fomenko:

He discutido el concepto de "ruido" en el mercado de divisas bastante extensamente en este hilo. No recuerdo si lo inventé yo o lo tomé prestado de otra persona, y no importa. En cualquier caso, he puesto enlaces a artículos similares en este hilo.

Entiendo que el "ruido" es todo o parte del predictor que no tiene relación con la variable objetivo, una especie de poso de café.


Me explico con un ejemplo (repito lo que he escrito antes).


Tomemos un objetivo que consta de dos clases: hombres y mujeres.

Tomemos un predictor: la ropa.

Sólo hay dos valores predictores: pantalones y faldas. En algunos países este predictor tiene una capacidad de predicción del 100%, es decir, las faldas predicen a las mujeres y los pantalones a los hombres. Este predictor no tiene ningún ruido. Error de clasificación = 0. No hay sobreentrenamiento.

El ejemplo es rebuscado y el predictor "ropa" puede contener ropa con el nombre "unisex". Para nosotros, esto significa que dicha ropa puede ser usada tanto por hombres como por mujeres, es decir, para nuestra variable objetivo la ropa "unisex" NO tiene ningún poder predictivo, así lo entiendo yo.

Si tomamos un predictor que tiene los valores "pantalones", "faldas" y "unisex", entonces "unisex" será una fuente de error de clasificación. Si la proporción de ropa "unisex" es del 30%, es teóricamente posible conseguir un error de aprendizaje del modelo = 30%, pero en un predictor de este tipo, un error del 29% significa un sobreentrenamiento del modelo del 1%.


Lo utilizo en la práctica. Gracias a esto pude seleccionar predictores para un bosque aleatorio con un error inferior al 30%. Este no es un modelo sobreentrenado. El error es más o menos el mismo en el entrenamiento, en las muestras de prueba dentro del mismo archivo y en otros archivos externos.

¿Qué significa reducir el error en mi ejemplo? Se trata de encontrar predictores cuyos valores, los del ruido, sean inferiores a ese mismo 30%. No lo he conseguido. Quizá alguien lo consiga.

Pero sin este análisis, el uso de cualquier modelo de MO es un ejercicio vacío, un juego intelectual de números en terrenos de café.


PS.

El error anterior no suele depender del tipo de modelos. Probado diferentes andamios, variantes de ada - más o menos lo mismo. Pero nnet NS, en cambio, da resultados notablemente peores.

Puede eliminar los ejemplos irrelevantes, aislar los componentes principales o independientes, discretizar finalmente. ¿Has preprocesado los predictores? Espero que se hayan eliminado los valores atípicos (para los bosques, no críticos).

Suenas pesimista.

¿Soy yo?

Buena suerte

Razón de la queja: