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

 
SanSanych Fomenko:

Tengo cifras similares para forest y ada.

Ahora, volviendo a nuestros "carneros", ¿cómo descarto el ruido de una lista arbitraria de predictores? Tengo un algoritmo empírico que ha seleccionado mis 27 predictores de entre 170. También lo he utilizado para analizar los conjuntos de predictores de otras personas y también con éxito. Basándome en esta experiencia, sostengo que todos los métodos de R que utilizan variables de "importancia" en sus algoritmos no pueden limpiar de ruido el conjunto de predictores.

Hago un llamamiento a todos los lectores del hilo: estoy dispuesto a hacer el análisis correspondiente si los datos brutos se presentan como RData o un archivo Excel que no requiera procesamiento.

Aparte de eso.

Adjunto una serie de artículos que supuestamente resuelven el problema de limpiar de ruido el conjunto original de predictores, y con mucha mejor calidad. Desgraciadamente no tengo tiempo de probarlo en este momento. ¿Quizás alguien lo pruebe y publique el resultado?


Decidí leer el tema primero (resulta que no lo he hecho). Y entonces surgieron una serie de preguntas, como:

1. el andamiaje se entrena con un subconjunto aleatorio de características, ¿significa esto que las características no seleccionadas al azar para el entrenamiento serán etiquetadas como "no importantes"?

2. ¿Qué hacer para entender cuando hay rasgos categóricos y el andamiaje les da menos importancia que a los rasgos con más categorías?

3. El ACP en cada nueva muestra no asignará componentes "nuevos", que serán muy diferentes de los componentes de la muestra de entrenamiento, ¿cómo tratar esto?

Y una última cosa: un método de eliminación de características recursivo ligeramente diferente:http://blog.datadive.net/selecting-good-features-part-iv-stability-selection-rfe-and-everything-side-by-side/

El artículo tiene enlaces a otros artículos anteriores que también describen el andamiaje.

Selecting good features – Part IV: stability selection, RFE and everything side by side
  • 2014.12.20
  • blog.datadive.net
In this post, I’ll look at two other methods: stability selection and recursive feature elimination (RFE), which can both considered wrapper methods. They both build on top of other (model based) selection methods such as regression or SVM, building models on different subsets of data and extracting the ranking from the aggregates. As a wrap-up...
 
Maxim Dmitrievsky:

decidió leer el tema primero (resulta que no lo he hecho). Y entonces surgieron una serie de preguntas, como:

1. el bosque se entrena con un subconjunto aleatorio de características, ¿significa eso que las características que no están aleatoriamente en el entrenamiento serán etiquetadas como "no importantes"?

2. ¿Qué hacer para entender cuando hay rasgos categóricos y el andamiaje les da menos importancia que a los rasgos con más categorías?

3. El ACP en cada nueva muestra no asignará componentes "nuevos", que serán muy diferentes de los componentes de la muestra de entrenamiento, ¿cómo tratar esto?

Y una última cosa: un método de eliminación de características recursivo ligeramente diferente:http://blog.datadive.net/selecting-good-features-part-iv-stability-selection-rfe-and-everything-side-by-side/

El artículo tiene enlaces a partes anteriores del artículo que describen también el andamiaje.


Desgraciadamente, mi respuesta personal no aportará nada a lo que está escrito aquí o en otras publicaciones sobre el tema.

Hay un buen número de algoritmos para determinar la "importancia" de las características (regresión o categoría no importa) - todos ellos en R.

Pasé mucho tiempo dominándolos, y al final descubrí que lo PRIMERO que hay que hacer es deshacerse de los atributos ruidosos e irrelevantes para la variable objetivo, y luego usar desde R, lo que dará una reducción de error del 5-7%. No se pudo conseguir un error inferior al 20%.

Una vez más, observo que hago una selección de componentes importantes en cada barra, y en el conjunto resultante vuelvo a entrenar el bosque.


Las cifras son las siguientes.

  • De entre varios centenares de predictores, seleccioné 27 predictores según el criterio del ruido, es decir, "relevantes" para la variable objetivo.
  • He seleccionado entre 27 en cada barra por criterio de importancia (RFE)
  • en los atributos obtenidos de 5 a 15 aprendo el bosque. Esta lista cambia todo el tiempo dentro de los 27 utilizados.


El criterio de calidad de este enfoque: tomo dos archivos, en el primero enseño, entreno, validación = aproximadamente el mismo error. Compruebo el modelo obtenido en el segundo archivo = aproximadamente el mismo error que en el primer archivo. Concluyo con esto que el modelo no está sobreentrenado y en el futuro, al menos una barra, se comportará igual que en el entrenamiento.

Cualquier otro enfoque no me funciona, y la sustitución de un tipo de modelo por otro no mejora nada en términos de reentrenamiento.



En cuanto a la PCA. Obtuve un resultado negativo, en el sentido de que el uso de los componentes principales no redujo el error en comparación con el conjunto original. No entiendo por qué fue así, aunque teóricamente debería reducir los errores.

 
SanSanych Fomenko:

En mi opinión, el PCA es generalmente inútil cuando se utiliza el modelo en rasgos heterogéneos, por ejemplo, en el mercado de divisas. Creo que es inútil utilizar un modelo con atributos heterogéneos, por ejemplo, forex.

si volvemos al andamio.

Tendré que ir al código fuente, al parecer, para entender cómo se evalúan los rasgos que no entraron en la muestra de entrenamiento, no se menciona allí (lo más probable es que se evalúen como malos).

+ el proceso de aprendizaje del andamio es aleatorio, con varios entrenamientos consecutivos podemos obtener resultados diferentes, a veces significativamente diferentes... tampoco está muy claro cómo trabajar con este truco. Muy bien, si hemos afinado el modelo, lo guardamos y lo usamos más tarde... pero si el modelo es de auto-entrenamiento... necesitamos entrenarlo varias veces seguidas, elegir el mínimo error, algo así... de lo contrario, múltiples ejecuciones en el probador producen resultados diferentes, según mis observaciones hasta 5 o más, luego se repiten/repiten para las ejecuciones posteriores

 
Maxim Dmitrievsky:

En mi opinión, el PCA es generalmente inútil cuando se utiliza el modelo en rasgos heterogéneos, por ejemplo, en el mercado de divisas. Porque entrenamos sobre algunos componentes, y en la prueba apareció otra combinación de componentes, no tenida en cuenta por el modelo de ninguna manera.

Si volvemos al andamio.

Tendré que ir al código fuente, al parecer, para entender cómo se evalúan los rasgos que no entraron en la muestra de entrenamiento, no se menciona allí (lo más probable es que se evalúen como malos).

+ el proceso de aprendizaje del andamio es aleatorio, con varios entrenamientos consecutivos podemos obtener resultados diferentes, a veces significativamente diferentes... tampoco está muy claro cómo trabajar con este truco. Muy bien, si hemos afinado el modelo, lo guardamos y lo usamos después... pero si el modelo es de auto-entrenamiento... necesitamos entrenarlo varias veces seguidas, seleccionar el mínimo error, etc... de lo contrario, cuando se hacen varias ejecuciones en el probador, obtenemos resultados diferentes, según mis observaciones hasta 5 o más, luego se repiten/repiten para las ejecuciones posteriores


No recuerdo las pasiones que has descrito. Con la misma semilla los resultados son siempre los mismos.

 
SanSanych Fomenko:

No recuerdo las pasiones que describes. Con la misma semilla, el resultado es siempre el mismo.


¿Qué hace la semilla? No recuerdo... el número de funciones, ¿verdad? Yo uso alglib forest

 
...en el reverso de la moneda:
Profesor que no conoce la tabla de multiplicar y desarrollador de NS que no la impone, soluciones aleatorias y correctas, ¡se acabó el vertido!

Lo secundo.

Es sólo un movimiento ocioso del aire. Poner un ejemplo, datos del techo, para poder comprobarlo.

Hay tres formas principales de entrenamiento: sin profesor (el objetivo no se presenta), con profesor (el objetivo está totalmente marcado) y semisupervisado (no sé traduce correctamente). Esto ocurre cuando al modelo se le presenta un objetivo que no está totalmente (parcialmente) marcado. Todos los demás son del maligno.

Buena suerte

 
Maxim Dmitrievsky:

¿De qué es responsable la semilla? No recuerdo... ¿el número de características? Yo uso alglib forest

Vamos...

set.seed pone un generador de números aleatorios en un estado determinado y tiene un resultado reproducible cuando se repite el cálculo.

Apréndase las matemáticas.

 
Vladimir Perervenko:

Vamos...

set.seed pone el generador de números aleatorios en un estado determinado y tiene un resultado reproducible cuando se repite el cálculo.

Aprende las matemáticas.


No tengo esa configuración, por eso he preguntado.

También puedo hacerlo en MT5, gracias.

 
Vladimir Perervenko:

Lo secundo.

Es sólo un movimiento ocioso del aire. Publica un ejemplo, con datos del techo, para que puedas comprobarlo.

Hay tres formas principales de aprendizaje: sin profesor (el objetivo no se presenta), con profesor (el objetivo está totalmente marcado) y semisupervisado (no sé cómo traducirlo correctamente). Esto ocurre cuando al modelo se le presenta un objetivo que no está totalmente (parcialmente) marcado. Todos los demás son del maligno.

Buena suerte

Bueno, bueno)). Si conoces perfectamente el algoritmo y puedes encontrar el objetivo, ¿para qué necesitas NS? Se puede hacer todo sin ella).

Los NS y otros DM son necesarios precisamente cuando no se sabe.

En cuanto a los algoritmos de aprendizaje, se desarrollan y modifican para cada tarea específica. La mayoría se basa en lo básico.

Y lo que dices es sólo agitar el aire. Lee todo lo que hay más allá de la introducción. )

Buena suerte.

 
Yuriy Asaulenko:

Bueno, bueno)). Si conoces perfectamente el algoritmo y puedes encontrar el objetivo, ¿para qué necesitas NS? Se puede hacer todo sin ella).

¿Has entendido lo que has escrito? El objetivo no se encuentra, está predefinido como algo que el modelo debe aprender. ¿De qué algoritmo hablas?

Los NS y otros DM son necesarios precisamente cuando no se sabe.

¿Qué es lo que no sabemos?

En cuanto a los algoritmos de aprendizaje, se desarrollan y modifican para cada tarea específica. En su mayoría se basan en los básicos.

Se trata de dos tareas a resolver: la regresión y la clasificación (omitiendo la agrupación y la clasificación). ¿Qué otras "tareas específicas" tiene en mente?

Y lo que usted está hablando es de sacudir el aire. Lee todo lo que hay más allá de la introducción. )

???

Buena suerte.