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

 
Alexey Burnakov:

NS lo hizo muy bien.

Random Forest no podría manejar tal tarea, donde la interacción de un conjunto de variables. Y la significación individual de cada predictor era intencionadamente cero.

No veo ninguna prueba de que NS haya hecho frente a nada.

El sobreaprendizaje es un mal mundial en la ciencia y en la construcción de modelos en particular.

Por lo tanto, se necesita un error para tres conjuntos:

  • conjuntos de aprendizaje. La forma en que Rattle lo entiende (OOB, prueba, validación) estará bien.
  • un conjunto que está fuera, en términos de fechas, del conjunto de entrenamiento.
  • Otro conjunto que está fuera, en el sentido de las fechas, del conjunto de entrenamiento.

Los dos últimos conjuntos están sin mezclar al llegar a la terminal, las bases detrás de la barra.

Debería haber más o menos el mismo error en los tres conjuntos. Al mismo tiempo hay que fijar el conjunto de predictores que se toman al entrenar el modelo.

 
Alexey Burnakov:


Random Forest no podría manejar un problema de este tipo, donde la interacción de un conjunto de variables. Y la significación individual de cada predictor era intencionadamente cero.

Su idea de tener en cuenta la interacción entre predictores es una revolución en la estadística. Hasta ahora, creía que la interacción entre predictores era mala. No sólo los propios predictores suelen ser no estacionarios, sino que también intentamos dar cuenta de las relaciones entre estos procesos aleatorios no estacionarios.

En el aprendizaje automático, se considera obligatorio deshacerse de las variables que interactúan. Además, existen algoritmos muy eficaces, como el método de componentes principales, que permite eliminar la interacción y convertir el conjunto de predictores que interactúan en un conjunto de predictores independientes.

 
SanSanych Fomenko:

No veo ninguna prueba de que NS haya superado nada.

El sobreaprendizaje es un mal mundial en la ciencia y en la construcción de modelos en particular.

Por lo tanto, se necesita un error para tres conjuntos:

  • conjuntos de aprendizaje. La forma en que Rattle lo entiende (OOB, prueba, validación) estará bien.
  • un conjunto que está fuera, en términos de fechas, del conjunto de entrenamiento.
  • Otro conjunto que está fuera, en el sentido de las fechas, del conjunto de entrenamiento.

Los dos últimos conjuntos están sin mezclar al llegar a la terminal, bases detrás de la barra.

Debería haber más o menos el mismo error en los tres conjuntos. Dicho esto, tendrás que fijar el conjunto de predictores que tomas al entrenar el modelo.

Digámoslo así. A pesar de que esto no forma parte de la tarea. Voy a establecer una muestra de validación en la que ejecutar el modelo entrenado y medir la precisión de la predicción del resultado.

Pero, de nuevo, esto no es necesario. Nótese que he vuelto a escribir la validación en base al patrón inferido.

Archivos adjuntos:
 

Un patrón incrustado en los datos:

Количество по полю input_19 output
input_1 input_3 input_5 input_7 input_9 input_11 0 1 сумма предикторов четность
1 1 1 1 1 1 143 6 ИСТИНА
1 1 1 1 1 2 100 7 ЛОЖЬ
1 1 1 1 2 1 121 7 ЛОЖЬ
1 1 1 1 2 2 119 8 ИСТИНА
1 1 1 2 1 1 114 7 ЛОЖЬ
1 1 1 2 1 2 124 8 ИСТИНА
1 1 1 2 2 1 105 8 ИСТИНА
1 1 1 2 2 2 102 9 ЛОЖЬ
1 1 2 1 1 1 101 7 ЛОЖЬ
1 1 2 1 1 2 131 8 ИСТИНА
1 1 2 1 2 1 122 8 ИСТИНА
1 1 2 1 2 2 114 9 ЛОЖЬ
1 1 2 2 1 1 111 8 ИСТИНА
1 1 2 2 1 2 98 9 ЛОЖЬ
1 1 2 2 2 1 123 9 ЛОЖЬ
1 1 2 2 2 2 112 10 ИСТИНА
1 2 1 1 1 1 128 7 ЛОЖЬ
1 2 1 1 1 2 114 8 ИСТИНА
1 2 1 1 2 1 111 8 ИСТИНА
1 2 1 1 2 2 126 9 ЛОЖЬ
1 2 1 2 1 1 143 8 ИСТИНА
1 2 1 2 1 2 95 9 ЛОЖЬ
1 2 1 2 2 1 108 9 ЛОЖЬ
1 2 1 2 2 2 117 10 ИСТИНА
1 2 2 1 1 1 112 8 ИСТИНА
1 2 2 1 1 2 132 9 ЛОЖЬ
1 2 2 1 2 1 92 9 ЛОЖЬ
1 2 2 1 2 2 134 10 ИСТИНА
1 2 2 2 1 1 110 9 ЛОЖЬ
1 2 2 2 1 2 114 10 ИСТИНА
1 2 2 2 2 1 120 10 ИСТИНА
1 2 2 2 2 2 108 11 ЛОЖЬ
2 1 1 1 1 1 109 7 ЛОЖЬ
2 1 1 1 1 2 133 8 ИСТИНА
2 1 1 1 2 1 99 8 ИСТИНА
2 1 1 1 2 2 115 9 ЛОЖЬ
2 1 1 2 1 1 123 8 ИСТИНА
2 1 1 2 1 2 116 9 ЛОЖЬ
2 1 1 2 2 1 131 9 ЛОЖЬ
2 1 1 2 2 2 119 10 ИСТИНА
2 1 2 1 1 1 96 8 ИСТИНА
2 1 2 1 1 2 120 9 ЛОЖЬ
2 1 2 1 2 1 111 9 ЛОЖЬ
2 1 2 1 2 2 99 10 ИСТИНА
2 1 2 2 1 1 132 9 ЛОЖЬ
2 1 2 2 1 2 110 10 ИСТИНА
2 1 2 2 2 1 93 10 ИСТИНА
2 1 2 2 2 2 106 11 ЛОЖЬ
2 2 1 1 1 1 100 8 ИСТИНА
2 2 1 1 1 2 127 9 ЛОЖЬ
2 2 1 1 2 1 127 9 ЛОЖЬ
2 2 1 1 2 2 101 10 ИСТИНА
2 2 1 2 1 1 119 9 ЛОЖЬ
2 2 1 2 1 2 120 10 ИСТИНА
2 2 1 2 2 1 99 10 ИСТИНА
2 2 1 2 2 2 106 11 ЛОЖЬ
2 2 2 1 1 1 133 9 ЛОЖЬ
2 2 2 1 1 2 97 10 ИСТИНА
2 2 2 1 2 1 100 10 ИСТИНА
2 2 2 1 2 2 116 11 ЛОЖЬ
2 2 2 2 1 1 119 10 ИСТИНА
2 2 2 2 1 2 118 11 ЛОЖЬ
2 2 2 2 2 1 102 11 ЛОЖЬ
2 2 2 2 2 2 128 12 ИСТИНА
 
SanSanych Fomenko:

No veo ninguna prueba de que NS haya superado algo.

Neuronka resolvió este problema, atachment log con el código de Rattle. Hay un par de cambios en el código cuando se llama a la neurona - Aumenté el número máximo de iteraciones, y eliminé las conexiones, que van desde la salida de la entrada directamente a la salida, pasando por alto la capa media (skip=TRUE). Porque estas dos limitaciones lo estropean todo.

Hice la validación en el nuevo archivo, los errores en ambos casos son casi 0% (sólo hay un error al validar desde el segundo archivo).

Pero como la NS es como una caja negra, no hay forma de conocer la lógica de la solución. Puedes mirar los pesos, determinar el valor absoluto medio de cada entrada y dibujar un diagrama. Y uno sabrá que 1, 3, 5, 7, 9, 11 son más importantes que el resto. Sin embargo, el resto de entradas también se utilizan por alguna razón; los pesos cero no se encuentran en ninguna parte. En otras palabras, resulta que el aprendizaje tiene lugar al principio, y luego podemos determinar las entradas importantes.

Archivos adjuntos:
 
Dr.Trader:

Neuronka resolvió este problema, atachment log con el código de Rattle. Hay un par de cambios en el código cuando se llama a la neurona - he aumentado el número máximo de iteraciones, y he eliminado las conexiones que van directamente de la entrada a la salida, saltándose la capa intermedia (skip=TRUE). Porque estas dos limitaciones lo estropean todo.

Hice la validación en el nuevo archivo, los errores en ambos casos son casi 0% (sólo hay un error al validar desde el segundo archivo).

Pero como la NS es como una caja negra, no hay forma de conocer la lógica de la solución. Puedes mirar los pesos, determinar el valor absoluto medio de cada entrada y dibujar un diagrama. Y uno sabrá que 1, 3, 5, 7, 9, 11 son más importantes que el resto. Sin embargo, el resto de entradas también se utilizan por alguna razón; los pesos cero no se encuentran en ninguna parte. En otras palabras, es al revés: primero aprendemos y luego identificamos las aportaciones importantes.

Es cierto. El resto de las entradas son ruido. Ese es el inconveniente de muchos métodos: las variables de ruido no se eliminan por completo.

Tal vez sea necesario enseñar durante más tiempo y en pasos más pequeños.

Pero en general, bravo. NS ha resuelto un problema difícil.
 
SanSanych Fomenko:

No veo ninguna prueba de que NS haya superado nada.

El sobreaprendizaje es un mal mundial en la ciencia y en la construcción de modelos en particular.

Por lo tanto, se necesita un error para tres conjuntos:

  • conjuntos de aprendizaje. La forma en que Rattle lo entiende (OOB, prueba, validación) estará bien.
  • un conjunto que está fuera, en términos de fechas, del conjunto de entrenamiento.
  • Otro conjunto que está fuera, en el sentido de las fechas, del conjunto de entrenamiento.

Los dos últimos conjuntos están sin mezclar al llegar a la terminal, bases detrás de la barra.

Debería haber más o menos el mismo error en los tres conjuntos. Al hacerlo, tendrá que fijar el conjunto de predictores que toma al entrenar el modelo.

¿Es necesario demostrar lo evidente? Durante el entrenamiento, los pesos de las entradas que llevan datos contradictorios disminuyen, es decir, podemos decir que los datos contradictorios entrantes se bloquean.

En este caso no hay problema de reentrenamiento, porque la red entrenada no se utiliza para otros fines.

La cuestión es si este método merece la pena. No es un poco de artillería pesada.

 
Dmitry Fedoseev:

La cuestión es si este método es apropiado. ¿No es la artillería un poco pesada?

Puedes probar otro método. Pero creo que el remedio se ajusta al problema.
 
Alexey Burnakov:
Puedes probar de otra manera. Pero creo que el remedio se ajusta al problema.
Hace el trabajo, y lo hace bien. Pero siempre me pregunto si hay algo más eficaz y sencillo.
 
Dmitry Fedoseev:
Hace el trabajo, y lo hace bien. Pero siempre me pregunto si hay algo más eficaz y sencillo.
Hasta que no lo pruebes, no lo entenderás. Las inclusiones y excepciones habituales no funcionarán. ¿Qué más hay?
Razón de la queja: