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

 
Lo secundo, la idea se me ocurrió el fin de semana. De hecho, cuanto más a menudo diga la red "no sé", más cerca estará el momento de sobreentrenarla. Al principio del OOS, casi todas las señales se interpretan sin ambigüedad, pero con el tiempo la red empieza a decir cada vez más "no sé", lo que indica que llegan nuevos datos difíciles de interpretar. Cuando se alcanza un determinado nivel de "no sé", la red se vuelve a entrenar. Algo muy útil ....
 
Todo lo que se dice sobre la atenuación gradual del modelo sobre OOS y la utilidad de esta información en el comercio parece poco convincente si no se habla de la preselección de predictores.
 
SanSanych Fomenko:
Todo lo que se dice sobre el desvanecimiento gradual del modelo sobre OOS y la utilidad de esta información en el comercio parece poco convincente si no se habla de la preselección de predictores.
Entonces, ¿cuál es la elección? Elijamos un modelo con el máximo nivel de generalización, veamos cómo se comportó en el intervalo de entrenamiento. El euviti debería crecer uniformemente... Y luego está la suerte. No hay ningún lugar sin él...
 
Andrey Dik:

Ato.

Si un modelo da señales erróneas en el OOS es un indicio de formación defectuosa, no de que el mercado haya cambiado.

Estoy de acuerdo con eso. Pero, ¿cómo se analizan las señales de dos redes? No está del todo claro... ¿Cuánto divergen o están al unísono?
 
Alexey Burnakov:
Estoy de acuerdo con esto. ¿Cómo se analizan las señales de dos redes? No está del todo claro... ¿Cómo divergen o están al unísono?

Llevando las señales a un patrón común como este:

VENDER COMPRAR Interpretación

-1 0 vender

0 0 valla

0 1 comprar

-1 1 valla

En un modelo bien entrenado, las señales rara vez se contradicen. No se les exige el mismo número de señales en el área de formación, y por regla general, son diferentes, y esto es comprensible, porque el mercado puede tener tendencias globales prolongadas. Pero restrinjo el número de señales de una parrilla para que no supere 2 veces el número de señales de la otra. No puedo responder por qué es 2 veces, pero es una relación empírica. Por ejemplo, si la tendencia cambia de ascendente a descendente, la cantidad de señales de venta aumenta y las señales de compra comienzan a mentir, se produce una contradicción y la cantidad de transacciones disminuye, esto es una señal de que se requiere una nueva formación.

 
Andrey Dik:

Llevando las señales a un patrón común como este:

VENDER COMPRAR Interpretación

-1 0 vender

0 0 valla

0 1 comprar

-1 1 valla

En un modelo bien entrenado, las señales rara vez se contradicen. No se les exige el mismo número de señales en el área de formación, y por regla general, son diferentes, y esto es comprensible, porque el mercado puede tener tendencias globales prolongadas. Pero restrinjo el número de señales de una parrilla para que no supere 2 veces el número de señales de la otra. No puedo responder por qué es 2 veces, pero es una relación empírica. Por ejemplo, si la tendencia cambia de ascendente a descendente, la cantidad de señales de venta aumenta y las señales de compra comienzan a mentir, se produce una contradicción y la cantidad de transacciones disminuye - esto es una señal de que se requiere una nueva formación.

Gracias. Esto puede ser una idea que funcione.
 
Combinador:

Sí, pero no en la configuración neuronal.

Andrei parece estar insinuando unas entradas tan potentes que cualquier modelo se ajustará a ellas por defecto para dar resultados buenos y sin retoques.

O tal vez se refiera a otra cosa. Pero se agradecería una respuesta más detallada.

 

Nueva versión de jPrediction 9.00

Cita del manual de usuario:

" Diferencias entre jPrediction y otros programas de aprendizaje automático

La principal diferencia de jPrediction es la ausencia de ajustes definidos por el usuario, lo que le permite librarse del factor humano en forma de errores humanos, tanto en el proceso de configuración y selección de algoritmos como en el proceso de selección de arquitecturas de redes neuronales. Todo el proceso de aprendizaje automático en jPrediction está totalmente automatizado y no requiere ningún conocimiento especial por parte de los usuarios ni su intervención.

Funciones realizadas por jPrediction en modo automático

  1. Lectura y análisis de un archivo con múltiples ejemplos para construir un modelo de clasificación matemática;
  2. Normalizar los datos antes del aprendizaje automático;
  3. Dividir el conjunto de todos los ejemplos de la muestra en dos subconjuntos: un subconjunto de entrenamiento y un subconjunto de prueba;
  4. Equilibrio de los ejemplos del subconjunto de entrenamiento;
  5. Formación de la arquitectura de la red neuronal;
  6. Entrenamiento de un conjunto de modelos en un subconjunto de casos de entrenamiento con diferentes combinaciones de predictores (factores);
  7. Reducción de la arquitectura de la red neuronal: eliminación de elementos superfluos;
  8. Probar un conjunto de modelos en un subconjunto de ejemplos de prueba y calcular la capacidad de generalización;
  9. Selección del mejor modelo según el criterio de máxima generalizabilidad.

Dado que, del conjunto de modelos, cada uno de los cuales difiere de cualquier otra combinación de predictores, sólo se selecciona el que tiene la máxima capacidad de generalización, la reducción (selección) de los predictores más significativos se realiza así automáticamente."

Hay que decir que a partir de la versión 8, jPrediction no tiene limitaciones en cuanto al número máximo de predictores en la muestra de entrenamiento. Antes de la versión 8, el número de predictores en la muestra de entrenamiento estaba limitado a diez.

Antes de la versión 8, jPrediction era un modelo único. Es decir, se tomó una muestra y se entrenó y probó con ella un único modelo.

Desde la versión 8, jPrediction es ahora multimodelo, es decir, entrena y prueba muchos modelos diferentes, en diferentes partes de la muestra, y cada parte contiene diferentes combinaciones de predictores. Uno de estos modelos daría la máxima generalidad en la parte de la muestra que se prueba.

El problema era que si se toman diferentes combinaciones de predictores, una búsqueda completa de combinaciones da lugar a la llamada "explosión" combinatoria (del término combinatoria), es decir, con cada predictor adicional hay que entrenar y probar el doble de modelos que sin él. Es bastante obvio que cuando el número de predictores de la muestra se mide en decenas e incluso centenas, resulta problemático esperar a terminar el entrenamiento y la prueba de todos los modelos combinatorios en un tiempo razonable.

El problema de la "explosión" combinatoria en jPrediction se ha resuelto no probando todas las combinaciones posibles, sino mediante el método de búsqueda secuencial. La esencia del método es la siguiente:

Supongamos que hemos encontrado alguna combinación que contiene N predictores con la máxima generalizabilidad probando todas las combinaciones posibles de N y menos predictores. Tenemos que añadirle N+1 predictores. Para ello, añadimos uno a uno todos los predictores de la muestra que no se incluyeron en la combinación y medimos su capacidad de generalización. Si en el proceso de dicha búsqueda encontramos una combinación con N+1 predictores cuya capacidad de generalización es mayor que la mejor combinación de N predictores, podemos encontrar una combinación con N+2 predictores de la misma manera. Y si no lo encuentran, entonces está claro que no tiene sentido seguir buscando y el algoritmo de probar combinaciones se detiene en la mejor combinación de N predictores. Como resultado, el algoritmo de búsqueda de combinaciones de predictores para el modelo se detiene mucho antes en comparación con el intento completo de todas las combinaciones posibles. Se produce un ahorro adicional de recursos computacionales debido a que la búsqueda parte de un número reducido de predictores en dirección a aumentar este número. Y cuanto menos predictores se necesiten para el entrenamiento, menos tiempo y potencia de cálculo se necesita para construir los modelos.

Ese es el tipo de pastel.

Si está interesado, el archivo ZIP adjunto contiene el manual de usuario de jPrediction 9 en ruso en formato PDF:

Archivos adjuntos:
 
¡Genial! ¿Eres el único que lo arrastra todo? El término "reducción" no está claro. Si miras la tecnología, es una reducción múltiple de algo. Y contigo, es una selección.
 
Yury Reshetov:

Nueva versión de jPrediction 9.00


Todo es bueno excepto por una pequeña cosa: no hay comparación con otros modelos.

Ofrezco mis servicios para comparar

1. Se prepara un archivo Excel de entrada que contiene los predictores y la variable objetivo

2. Usted hace el cálculo

3. Me envías el archivo de entrada.

4. Hago los cálculos utilizando randomforest, ada, SVM

Comparamos.