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

Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
¿Puede alguien explicarme en un lenguaje sencillo pero preciso qué principios utiliza RF para construir la escala de importancia de los predictores?
Tengo un conjunto con dos clases en la clase objetivo, el número de observaciones en una clase es cientos de veces mayor que en la segunda, recuerdo de algún sitio que uno de los criterios de importancia de los prodictores en RF es la frecuencia de aparición de alguna observación.
Así que quiero saber si la RF suprime esa clase que tiene pocas observaciones al calcular la importancia de los predictores.
Supongo que estás en forex, en forex no hay brokers y no operan, son negocios basados en papeles de casas de apuestas
p.d. ¿qué te parece mi sugerencia para la selección de rasgos?
Pues sí, un centro de negociación, no un corredor. Pero de todos modos nadie canceló su entrada en el mercado interbancario.
Su selección parece lógica. Pero he decidido no seleccionar indicadores según mis conceptos porque nunca ha mejorado el modelo. Prefiero dejar que el algoritmo seleccione muchos indicadores y que decida qué es bueno y qué no. A veces los promedios móviles también llegan al conjunto final de predictores, creo que pueden proporcionar alguna información no por sí mismos sino en combinación con otros indicadores. Pero mis resultados aún no son estables, no puedo garantizar su utilidad todavía.
Además, yo no trataría de predecir exactamente la inversión, en los datos de entrenamiento la clase "business as usual" tendrá docenas de veces más casos que la "inversión" y dicen que la proporción de clases para el entrenamiento es mejor tener 50/50.
Tengo un algoritmo que determina el poder predictivo de un predictor para una variable objetivo concreta. En resumen, se trata de osciladores y diferentes incrementos. Si un determinado predictor tiene poder de predicción para una variable objetivo concreta, no se deduce que tenga poder de predicción para otra variable objetivo. Además, un predictor puede tener capacidad de predicción en una ventana y no en otra.
El algoritmo funciona bien. Los predictores que selecciona no conducen a un sobreajuste de los modelos.
PS
Según mi algoritmo, los deslices de cualquier tipo no tienen capacidad de predicción por ridículo que parezca.
Todos los modelos con cualquier conjunto de datos se vuelven a entrenar.
Otra cuestión es que la probabilidad de sobreentrenamiento con la elección correcta, la transformación de los predictores se reduce en gran medida.
La probabilidad de sobreentrenamiento depende igualmente del conjunto de datos y del tipo de modelo.
No es necesario hacerse ilusiones.
Echa un vistazo al paquete pbo, es interesante ver cómo se maneja este tema allí.
Buena suerte
Todos los modelos con cualquier conjunto de datos pueden ser reentrenados.
Otra cuestión es que la probabilidad de sobreaprendizaje con la elección correcta, transformando los predictores se reduce significativamente.
La probabilidad de sobreentrenamiento depende igualmente del conjunto de datos y del tipo de modelo.
No hay que hacerse ilusiones.
Echa un vistazo al paquete pbo, parece interesante allí.
Buena suerte
Mirado. Los supuestos subyacentes no están nada claros. Especialmente "un aumento en el número de observaciones lleva a un sobreentrenamiento"...
Utilizo un criterio perfectamente claro y, sobre todo, prácticamente valioso.
He expuesto la esencia de la misma muchas veces. Lo repetiré.
Utilizo el siguiente criterio de sobreentrenamiento (overfitting): si el error durante el entrenamiento NO es igual al error en otros datos fuera de la muestra de entrenamiento, es decir, en otros intervalos de tiempo, entonces el modelo está sobreentrenado. Es decir, durante el entrenamiento, el modelo ha recogido algunas particularidades que no encontró en intervalos de tiempo posteriores.
Cómo se aplica en la práctica.
Tomamos un cociente, por ejemplo, 10.000 bar.
Lo dividimos mecánicamente por el número de barra sin extravagancias que para mí es muy importante porque en la práctica será así y no así.
Así que tomo las primeras barras del número 1 al 7000. Estas barras se utilizan para las pruebas de aprendizaje y la validación. Para dividirlos en tres conjuntos utilizo, por ejemplo, la muestra o lo que esté incorporado en el propio modelo.
Obtengo tres números del modelo. Si el modelo no se reentrena, estas cifras son aproximadamente iguales.
Entonces, lo más importante.
Tomo un archivo con las barras 7001 a 10 000. Y uso el modelo entrenado en las barras anteriores. Me da un error. Si el error es ligeramente diferente de los tres anteriores, entonces el modelo NO se vuelve a entrenar. Suelo considerar que si la discrepancia es de un 15-20%, entonces no se reedita. Si uno de los números difiere de cualquier otro en más de un 50%, se vuelve a entrenar el modelo.
Así que con mi metodología selecciono un subconjunto de predictores de un conjunto de predictores. ¡Si se encuentra, lo cual no es obligatorio, entonces tales modelos como randomforest, SVM, ada y sus variantes NO son reentrenados! No sé de otros modelos - no los uso.
Esto no es una ilusión. Esto es un hecho.
¿Puede alguien explicarme en un lenguaje sencillo pero preciso qué principios utiliza RF para construir la escala de importancia de los predictores?
Tengo un conjunto con dos clases en la clase objetivo, el número de observaciones en una clase es cientos de veces mayor que en la segunda, recuerdo de algún sitio que uno de los criterios de importancia de los prodictores en RF es la frecuencia de aparición de alguna observación.
Así que quiero saber si la RF suprime esa clase que tiene pocas observaciones al calcular la importancia de los predictores.
Tienes clases muy desequilibradas y esto no es bueno. Hay algoritmos para equilibrar las clases, pero en tu caso no me ha funcionado. Traté de indicar la inversión de ZZ no por un número de barra, sino por varios, antes y después de la inversión. Esto redujo el desequilibrio, pero no resolvió el problema.
No he encontrado modelos que garanticen el funcionamiento de las clases NO equilibradas.
Tienes clases muy desequilibradas, y eso no es bueno. Hay algoritmos para equilibrar las clases, pero en tu caso no ha funcionado. Intenté marcar la inversión ZZ no con un número de barra, sino con varios, antes y después de la inversión. Esto redujo el desequilibrio, pero no resolvió el problema.
No he encontrado modelos que garanticen el funcionamiento de las clases NO equilibradas.
Me interesa la pregunta sobre la selección de características
He respondido a todo lo que creía necesario.
Si tienes un conjunto de atributos con una variable objetivo, envíamelo, lo seleccionaré, luego construiré modelos sobre los seleccionados y veremos el resultado.
¿Nadie por casualidad ha probado a aplicar el pca no lineal?? enlace al que he dejado arriba, no tengo suerte reconociendo nuevos datos con él, da error
No creo que este paquete sea suficiente para construir un modelo capaz de predecir la variable objetivo. Todo lo que he encontrado en la ayuda es para construir un modelo PCA basado en predictores, la variable objetivo no está en absoluto.
Esto creará un objeto resNipals (Estimación no lineal por mínimos cuadrados parciales iterativos) con 5 componentes principales para analizar la tabla metaboliteDataComplete. En lugar de metaboliteDataComplete, puede sustituir su propia tabla con predictores. Es importante no alimentar la variable objetivo aquí, se utilizará más tarde.
Pero esto sólo será suficiente para analizar las relaciones entre las variables examinando diferentes gráficos. Para crear un modelo predictivo, se construye un modelo de regresión lineal que utiliza los componentes principales PC1,PC2,PC3,PC4,PC5 como variables de entrada (x1,x2,x3,...). Y la variable objetivo Y ya está introducida en el modelo lineal como resultado deseado. El problema es que resNipals es un objeto de la clase "pcaRes" del paquete pcaMethods. No he podido encontrar en la ayuda cómo hacer todo esto.
Si se tratara de un modelo PCA del paquete caret, sería así:
Pero no funciona con resNipals, en teoría el paquete pcaMethods debería tener algunas funciones propias para trabajar con este objeto, pero no he encontrado nada.