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

 
Alexey Burnakov:
No hemos perdido nada. Entonces tendremos una secuencia de cambios de cluster. En los puntos de transición de un clúster a otro se puede construir una matriz cuadrada y cambiar el modus operandi: entrar en la compra en el clúster n, cerrar la posición en el clúster m. A continuación, la misma matriz para vender. Todas las variantes están pasando. Y puedes variar los parámetros de agrupación y ver el resultado en el bucle.
esto es interesante
 
Dr.Trader:

Es probable que tenga diferentes parámetros para crear bosques en r y rattle, por lo que los resultados son diferentes. En el propio sonajero también se puede cambiar el número de árboles y variables.

¿Y tienes un 34% de error en el traqueteo en los datos de entrenamiento y un 3% de error en los datos de validación? Algo está mal en los datos de prueba, o bien ya existía de alguna manera en los datos de entrenamiento, o bien tienes un conjunto de datos muy pequeño y simplemente ocurrió así.

no, en el traqueteo en todas las etapas hay un pequeño error

y R tiene una gran en todas las etapas )

son los mismos, y con cualquier parámetro no es posible tal brecha.

 
¿Cómo diablos se adjunta un archivo aquí? O no se adjunta o se congela...
 
mytarmailS:

Y otra pregunta para el R

biblioteca(kza)

DAT <- rnorm(1000)

KZP <- kzp(DAT,m=100,k=3)

summary(KZP,digits=2,top=3)


cómo puedo sacarlo del "resumen" http://prntscr.com/bhtlo9 para poder trabajar con estos dígitos

Yo también tengo esos problemas. Por lo general, basta con ejecutar attributes(KZP) para obtener una lista de variables disponibles y, a continuación, sólo hay que recorrerlas, por ejemplo, KZP$window, etc., y encontrar los números correctos. Pero aquí estos números se generan en la propia función Resumen y no se guardan en ninguna parte.

Aquí hay un código fuente: https://cran.r-project.org/web/packages/kza/index.html, tienes que hacer algo como esto:

summary.kzp <- function(object, digits = getOption("digits"), top=1, ...)
{
        cat(" Call:\n ")
        dput(object$call, control=NULL)

        M=object$window
        if (is.null(object$smooth_periodogram)) {       d<-object$periodogram } else { d<-object$smooth_periodogram }
        
        mlist<-rep(0,top)
        for (i in 1:top) {
                mlist[i]<-which.max(d)
                d[which.max(d)]=NA                      
        }

   cat("\n Frequencies of interest:\n")
   print((mlist-1)/M, digits=digits, ...)

    cat("\n Periods of interest:\n")
    print(M/(mlist-1), digits=digits, ...)
    invisible(object)
}
 

GraciasDr.Trader, es muy agradable tener a alguien a quien preguntar sobre esta R. difusa)

Entendí el problema con rattle, rattle también muestrea los datos usando "sample()", ¿debería hacerse? Obtuve los mismos resultados con sampling y R, pero el truco es que los nuevos datos vendrán en una muestra a la vez, no puedo muestrearlos todos

y resulta que si se muestrea toda la muestra, los resultados son sorprendentes en todos los periodos, incluso fuera de la muestra, pero cuando se alimentan los datos reales, todo es igual que siempre

La pregunta es si necesito el muestreo en absoluto.

 

Sí, debería hacerlo. Con muestra - sonajero divide los datos de entrenamiento en varios grupos por filas (las filas se distribuyen aleatoriamente en tres tablas, en la proporción 75%/15%/15%). A partir de un archivo de entrada, se obtienen 3 tablas. Las columnas no se ven afectadas, serán las mismas en todas las tablas.

tabla entrenar - se utilizará para entrenar el modelo.

tablas validate y test - necesarias para controlar el entrenamiento.

Supongamos que se toman los datos del último año y se quiere entrenar el modelo sobre ellos para operar los próximos meses. El entrenamiento tendrá lugar sólo en la tabla de entrenamiento. Después puede probar el modelo en la segunda o tercera tabla contando sus errores. Si el modelo se ha entrenado correctamente, los errores en las tres tablas serán aproximadamente iguales, a pesar de que el modelo se haya entrenado utilizando sólo la primera tabla.

Esto es fácil de comprobar en un bosque aleatorio. Casi cualquier conjunto de datos puede dar un 0% de error en la tabla entrenada. Pero si comprueba el mismo modelo en las tablas de prueba y validación, lo más probable es que vea un error del 50%. Esto significa que el modelo está reentrenado, y al transferirlo a mt5 agotará gradualmente su depósito.
Pero si toma el archivo RData publicado anteriormente con el ejemplo de SanSanych, el bosque en la tabla de entrenamiento dará un error de alrededor del 30%. Es digno de mención, pero en las tablas de validación y prueba el error seguirá siendo aproximadamente el mismo, a pesar del hecho de que el modelo no vio los datos de estas tablas durante el entrenamiento. Tal modelo puede ser transferido con seguridad a mt5 y negociado.

Si simplemente toma todos los datos disponibles sin muestreo, entrena el modelo, ve 0% de error y se regocija - entonces en el trading real todo será muy malo.

 
Dr.Trader:

Sí, es cierto. Con la muestra - rattle divide los datos de entrenamiento en varios grupos por filas (las filas se asignan aleatoriamente a tres tablas, en una proporción de 75%/15%/15%). Produce 3 tablas a partir de un archivo de entrada. Las columnas no se ven afectadas por esto, serán las mismas en todas las tablas.

Tabla de entrenamiento - el entrenamiento del modelo se basará en ella

Validar y probar tablas - para controlar la formación

Supongamos que tomamos los datos del último año y queremos entrenar el modelo para operar durante los próximos meses. La formación propiamente dicha sólo tendrá lugar en la mesa del tren. Después, puedes probar el modelo en una segunda o tercera mesa contando sus errores. Si el modelo se entrena correctamente, los errores en las tres tablas serán aproximadamente iguales, a pesar de que se entrenó utilizando sólo la primera tabla.

Es fácil comprobarlo en un bosque aleatorio. Casi cualquier conjunto de datos puede dar un error en una tabla del 0%. Pero, habiendo comprobado el mismo modelo pero con tablas de prueba y de validación - probablemente vería el 50% de error allí. Esto significa que el modelo se vuelve a entrenar, y al pasarlo a mt5 perderá gradualmente su depósito.
Pero si tomas el archivo RData con el ejemplo de SanSanych, verás un error del 30% en la tabla de trenes. Sorprendentemente, el error en las tablas de validación y de prueba seguirá siendo más o menos el mismo, a pesar de que el modelo no ha visto datos de estas tablas durante el entrenamiento. Usted puede transferir fácilmente este modelo a mt5 y el comercio.

Si simplemente se toman todos los datos disponibles sin muestreo, se entrena el modelo, se ve un 0% de error y se está contento, será muy malo en el comercio real.

Entiendo tu punto de vista, pero la sátira es que el error es pequeño en muestras de los tres, pero es grande en datos no muestreados.

Envíame tu correo electrónico en un mensaje privado que te enviaré los datos, compruébalo tú mismo o enséñame a adjuntar un archivo porque o no me lo adjunta o el foro se cuelga en general al intentar adjuntarlo

 

De todos modos, entrené mi modelo (bosque aleatorio), el resultado no es satisfactorio, pero no está reentrenado como

1) mi objetivo es un zigzag con una rodilla del 0,5%.

2) predictores - niveles y velas - 100 cosas en total (sin osciladores y otros indicadores)

3) El modelo en sí no ha sido optimizado en absoluto, sólo he puesto 3 divisiones, el número de árboles es de 200 unidades

4) Por cierto, si lo pasamos por PrunePredictors (selección de características), entonces sólo se descartan 3 predictores de los 100, quedando un total de 97 predictores

la muestra se divide en dos partes, una de entrenamiento y otra de prueba, la de prueba es la 5ª parte de la de entrenamiento

En la parte de entrenamiento: error del modelo 33%.


En la prueba: error del modelo 32%


Los datos no están muestreados, porque aún no entiendo a esta bestia.

Ahora podemos pensar en la agrupación

 

Foro: cómo insertar una imagen

Esta es la única manera de que la imagen permanezca en el foro para siempre y todos los usuarios, incluso después de un año, puedan ver la imagen y entender de qué se trataba.

La única forma de mantener una imagen en un foro de forma indefinida es que todos los usuarios la vean y la entiendan incluso después de un año.

 
mytarmailS:

La cuestión no es por qué hay resultados diferentes en R y en rattle sobre los mismos datos y el mismo modelo

Segunda pregunta: ¿de qué sirve probar un modelo "fuera de muestra" en el traqueteo si muestra el infierno

Has entendido mal mi mensaje
Razón de la queja: