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

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
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 el modelo PCA basado en predictores, la variable objetivo no está en absoluto.
Hola, te has equivocado de función, deberías haber utilizado"nlPca" como se indica en la web que he dado, pero es culpa mía, debería haber dado más detalles...
Aquí, en lugar de predecir - encajado, inténtelo, tal vez usted tendrá éxito
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.
Originalmente, el ACP se diseñó para resolver dos problemas:
1. hay un número muy grande de predictores con un número pequeño de observaciones. Esto es común en la química orgánica, la genética... En nuestro caso, se trata de la utilización de datos macroeconómicos sobre grandes TF, por ejemplo, anuales.
2. Existen correlaciones entre los predictores.
Por lo tanto, los algoritmos PCA resuelven estos dos problemas principales:
1. Reducir el número de predictores originales por un nuevo número de predictores, a menudo radicalmente menor. Al hacerlo, el algoritmo se asegura de que este pequeño número pueda explicar un determinado porcentaje de la variabilidad del conjunto original de predictores, por ejemplo, el 95%. Este valor lo elige el investigador.
2. El nuevo conjunto de predictores tiene CERO correlación entre sí.
De ello se desprende que, para nosotros, el ACP esuno de los algoritmos de preparación de los datos brutos para la modelización, pero no puede sustituir a la modelización para predecir la variable objetivo.
Me parece que entre la discusión de los diversos detalles del PCA, se ha perdido el sentido de mis observaciones sobre este punto. Así que permítanme recordarles: di una referencia al uso de PCA de una manera que no sólo redujo el número de predictores originales, sino que también eliminó los predictores que eran ruido para la variable objetivo. Que es lo que se discute en este hilo.
Así que propongo volver al problema del ruido entre los predictores, y el posible uso de una idea muy específica de aplicar el ACP para resolver este problema.
Esto creará el objeto resNipals (Estimación no lineal por mínimos cuadrados parciales iterativos) con 5 componentes principales para el análisis de la tabla metaboliteDataComplete. En lugar de metaboliteDataComplete, puede sustituir su propia tabla ...........
El que has probado es el Nipals, aparece en la segunda foto de la web, tampoco es muy separable, deberías coger el de la tercera foto red neuronal PCA
=========================
un poco fuera de tema pero necesito ayuda con el código....
Tengo predictores en columnas, quiero calcular la diferencia de todos los predictores con todas esas combinaciones, lo he implementado, el problema es que ahora necesito nombrar adecuadamente cada combinación para entender qué es qué
Digamos que tenemos columnas con predictores "A" , "Б" , "С"
Hago combinaciones de diferencias
1) A - B
2) A - C
3) C - B
pregunta: ¿cómo puedo dar a las nuevas columnas nombres como "a_minus_b"? , "a_minus_c"
Recién estoy dominando R y la programación en general, así que no estoy familiarizado con esos trucos
¿Qué debo añadir a este código?
El que has probado es el Nipals, aparece en la segunda foto de la web, tampoco es muy separable, deberías coger el de la tercera foto red neuronal PCA
=========================
un poco fuera de tema pero necesito ayuda con el código....
Tengo predictores en columnas, quiero calcular la diferencia de todos los predictores con todas esas combinaciones, lo he implementado, el problema es que ahora necesito nombrar adecuadamente cada combinación para entender qué es qué
Digamos que tenemos columnas con predictores "A" , "Б" , "С"
Hago combinaciones de diferencias
1) A - B
2) A - C
3) C - B
pregunta: ¿cómo puedo dar a las nuevas columnas nombres como "a_minus_b"? , "a_minus_c"
Recién estoy dominando R y la programación en general, así que no estoy familiarizado con esos trucos
¿Qué debo añadir a este código?
Se ve así.
colnames() <- c(".", ".")
También hay nombres
Ver ayuda.
El PCA se diseñó originalmente para resolver dos problemas:
Aproximadamente así.
colnames() <- c(".", ".")
También hay nombres
Véase la referencia.
Dr.Trader:
...
Los datos se toman de eurusd d1, clase 0 o 1 - caída o subida del precio para la siguiente barra. Si el modelo predice correctamente el resultado de test.csv al menos en 6 de cada 10 casos, entonces puede intentar operar con él en Forex, en principio, no perderá, pero no espere demasiado beneficio. Si predice correctamente en 7 de cada 10 casos (y más) - este es el camino correcto hacia el grial, tenemos que intentar entrenar y probar el modelo en otros años y meses, y si todo será igual - entonces muy bien.
...
Más concretamente en el archivo del informe:
/**
* La calidad del modelado en fuera de muestra:
*
* TruePositives: 182
* VerdaderosNegativos: 181
* FalsosPositivos: 1
* FalsosNegativos: 1
* Total de patrones en las muestras con estadísticas: 365
* Total de errores fuera de la muestra: 2
* Sensibilidad de la capacidad de generalización: 99,4535519125683%.
* Especificidad de la capacidad de generalización: 99,45054945054946%.
* Capacidad de generalización: 98,90410136311776%.
* Indicador de Reshetov: 8.852456238401455
*/
Es el momento de formar un equipo y crear un proyecto Open Source - sistema automatizado para este fin en mql5 y Java. Mostraré el código fuente del clasificador binario en Java y el script MQL5, que crea una muestra para entrenar los modelos.
Plano aproximado del funcionamiento del complejo:
Si estás interesado en unirte al proyecto y sabes programar en Java o MQL5, suscríbete a este hilo.
Hola! Has utilizado la función equivocada, deberías haber utilizado"nlPca" como se indica en la página web que he dado, pero eso es culpa mía, necesitas más detalles...
Aquí, en lugar de predecir - encajado, inténtelo, tal vez usted tendrá éxito
Este ejemplo es de otro hilo por desgracia. Por ejemplo, en Forex siempre podemos obtener el 100% de los datos, pero en otros campos en los que los datos se adquieren de forma experimental siempre habrá valores perdidos. En este ejemplo se utiliza PCA para reconstruir los valores perdidos en los propios predictores. En el ejemplo borran aleatoriamente un valor en una de las tres columnas, crean un modelo pca y lo utilizan para reconstruir los valores perdidos.
Nunca lo he probado, pero técnicamente también se podría tratar la variable objetivo como un predictor incluyéndola en el modelo pca. Entonces, en los nuevos datos su valor será desconocido, por lo que pca puede rellenar esos valores que faltan.
El PCA estaba pensado originalmente para reducir la dimensionalidad de las series originales. Eso es todo. Utilizarlo para seleccionar predictores no tiene sentido.
No, está bien. Dado que los predictores utilizados para cada uno de los componentes principales son conocidos, podemos descartar con seguridad aquellos predictores que no se utilizan en los componentes principales. Lee esto, me ha gustado: http://www.win-vector.com/blog/2016/05/pcr_part2_yaware/ Contiene 5 buenos predictores y docenas de predictores de ruido. Con la ayuda de los análisis, eliminan el ruido. He utilizado el mismo código para otros ejemplos encontrados en este hilo, en general funciona. Pero el forex es más complicado, no tengo imágenes tan bonitas con indicadores, debería pensar en algo más inteligente.
Este ejemplo es, por desgracia, de otro tema. En Forex, por ejemplo, siempre podemos recuperar el 100% de los datos, pero en otros ámbitos en los que los datos se obtienen de forma experimental siempre habrá lagunas, valores que faltan. En este ejemplo se utiliza PCA para reconstruir los valores que faltan en los propios predictores. En el ejemplo borran aleatoriamente un valor en una de las tres columnas, crean un modelo pca y lo utilizan para reconstruir los valores que faltan.
Nunca lo he probado, pero técnicamente también se podría tratar la variable objetivo como un predictor incluyéndola en el modelo pca. Entonces, en los nuevos datos su valor será desconocido, por lo que pca puede rellenar los valores que faltan.