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

 

Me gustaría añadir mi opinión: En los últimos días también he estado pensando en reducir el número de variables de entrada para acelerar el proceso de optimización. Y he de decir que estos días he tenido cierto éxito a la hora de cribar las aportaciones innecesarias.

Pregunta: ¿Qué variables de entrada deben eliminarse de la muestra de entrenamiento, ya que son ruidosas????

En realidad esta cuestión no es trivial, si supiéramos qué entradas son ruido y cuáles no. Sería fácil construir un modelo. Pero cuando tenemos todas las entradas de una u otra manera relacionadas con la salida. Qué entonces????? ¿Qué hay que quitar?

Para mí la respuesta es muy sencilla.... Sólo hay que mantener las entradas que tienen una ley de distribución normal. Cuando un histograma tiene una distribución normal y el centro del mismo se encuentra en la mitad del rango. Estas son las variables que pueden ser útiles para la formación. No estoy diciendo que haya una salida alfa en tales variables. Puede que no esté ahí. Pero la búsqueda en sí misma será más exhaustiva y en tales variables el algoritmo tiene más posibilidades de captar y aumentar el número de entradas. He aquí un ejemplo:

Esta aportación se considera buena. Como tiene una distribución normal y la parte central del histograma está en el centro del rango

Pero estos datos tienen una distribución sesgada con valores atípicos fuera del histograma principal. Este histograma muestra que los datos están sesgados hacia un lado que probablemente no sea útil para construir el modelo

En la fase inicial de selección de insumos, no podemos juzgar la importancia de un insumo para el resultado. Porque este es el trabajo del optimizador. En la fase inicial sólo podemos juzgar la distribución de la variable respecto a cero. Y si esta distribución es normal (los datos se distribuyen uniformemente en un lado y en el otro con respecto al cero), entonces el optimizador probablemente tendrá más opciones en contraposición a los datos oblicuos con respecto al cero, donde la mayoría de los datos están en la zona negativa o viceversa.

Así que es así....

 

Depende del modelo para el que los elijas :) si después de eliminar una característica poco informativa, el modelo no pierde mucho en precisión, entonces no lo necesitas. Lo borras, lo vuelves a entrenar y ves si hay algo extra de nuevo.

Y si tienes un modelo de regresión con un proceso no estacionario en la salida, lo arruinarás todo con este enfoque, porque se reentrenará con ruido normalmente distribuido

 
Maxim Dmitrievsky:

Depende del modelo para el que los elijas :) si después de eliminar una característica poco informativa, el modelo no pierde mucho en precisión, entonces no lo necesitas. Lo borras, lo vuelves a entrenar y ves si hay algo extra de nuevo.

Y si tienes un modelo de regresión con un proceso no estacionario en la salida, con este enfoque lo arruinarás todo al revés, porque se reentrenará en ruidos normalmente distribuidos


Clasificación con respecto a cero. Para estos fines, este enfoque es el adecuado, según mi opinión.

 
Mihail Marchukajtes:

Estos datos, en cambio, tienen una distribución sesgada con valores atípicos fuera del histograma principal. Este histograma indica que los datos están sesgados hacia un lado, lo que probablemente no sea útil para la construcción de modelos

En los artículos de Vladimir, hay un punto sobre la eliminación de los valores atípicos, si se eliminan los valores atípicos en su figura # 2 se obtendrá una distribución más normal.

Además, el centrado de los datos de entrada mejorará aún más la situación.

 
elibrarius:

En los artículos de Vladimir, hay un punto sobre la eliminación de los valores atípicos, si se eliminan los valores atípicos en su figura # 2, obtendrá una distribución más normal.

Y luego está el centrado de la entrada, que mejorará aún más las cosas.


¿Qué hacemos cuando este valor atípico llega a los nuevos datos? ¿Cómo lo interpreta el modelo?

Eliminar un valor atípico de los datos significa eliminar todo el vector de entrada en un determinado valor atípico, y qué pasa si hay datos importantes en ese vector en otras entradas. Si la naturaleza de la entrada es propensa a tales valores atípicos, es mejor no tomar esa entrada en absoluto. EN MI OPINIÓN.

 
Mihail Marchukajtes:

Clasificación relativa a cero. Para estos fines, este enfoque es el adecuado, según mi opinión.


Sí, si las salidas se distribuyen aproximadamente según la misma ley, si no - el mismo reentrenamiento

 
elibrarius:

En los artículos de Vladimir, hay un punto sobre la eliminación de los valores atípicos, si se eliminan los valores atípicos en su figura # 2, obtendrá una distribución más normal.

Y luego está el centrado de datos de entrada, que mejorará aún más las cosas.


La eliminación de los valores atípicos es una medida estadística o una muleta (al igual que el deseo de hacer que todo sea estacionario), que puede empeorar significativamente las predicciones en el mercado de divisas y llevar todo el sistema a la nada (sólo funcionará cuando el mercado se distribuya normalmente).

Hay que entender dónde se utiliza la NS y con qué fin... y no hacer lo que se quiera de un libro :)

Vladimir no tiene pruebas de robustez de sus modelos... sólo pruebas muy aproximadas de modelos en el mismo R

todo tiene que ser comprobado dos veces.

 
Maxim Dmitrievsky:

Sí, si las salidas se distribuyen más o menos la misma ley, si no, será el mismo sobreentrenamiento


Bueno, siempre equilibro la salida para un número igual de clase "0" y "1". Es decir, tengo la salida equilibrada y tomo las entradas con una distribución normal respecto a cero. El optimizador tiene que ejecutarse varias veces, pero, por regla general, cuantas más entradas se utilicen en el modelo, mejor será su rendimiento. Por lo tanto, selecciono el modelo más paramétrico con el máximo resultado en la sección de prueba. A continuación, utilizaré el refuerzo y otros trucos...

 
Mihail Marchukajtes:

¿Qué hacer cuando este valor atípico llega a los nuevos datos? ¿Cómo lo interpreta el modelo?

Eliminar el valor atípico de los datos significa eliminar todo el vector de entrada para un determinado valor atípico, en caso de que haya datos importantes en ese vector para otras entradas. Si la naturaleza de la entrada es propensa a tales valores atípicos, es mejor no tomar esa entrada en absoluto. EN MI OPINIÓN.

En los nuevos datos también se eliminan los valores atípicos, por el rango obtenido durante el entrenamiento. Supongamos que se elimina de -100 a +100 durante el entrenamiento, se recuerda - y se elimina por los mismos niveles en los nuevos datos. Sin eliminar los valores atípicos, el centro de los datos eliminados se desplazaba y no se podía comparar con el de una semana antes.

Y los valores atípicos sólo aparecen en los momentos en que se producen noticias o acontecimientos extraordinarios, pero cada vez la fuerza de estos valores atípicos será diferente. He decidido por mí mismo que es mejor descartarlos, y Vladimir, no se me ha ocurrido a mí, al parecer está confirmado por las investigaciones de muchas personas.

 
Mihail Marchukajtes:


Bueno, yo siempre equilibro la salida para un número igual de clase "0" y "1". Es decir, equilibro la salida y tomo las entradas con una distribución normal respecto a cero. El optimizador tiene que ejecutarse varias veces, pero, por regla general, cuantas más entradas se utilicen en el modelo, mejor será su rendimiento. Por lo tanto, selecciono el modelo más paramétrico con el máximo resultado en la sección de prueba. Luego seguimos con la potenciación y otras cosas...


¿Así que por fin no es jPredictor? :)