Aprendizaje automático en el trading: teoría, práctica, operaciones y más - página 189
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
Si se coge casi cualquier libro sobre minería de datos, se describen necesariamente los procedimientos para eliminar los predictores correlacionados.
Los predictores que interactúan no están necesariamente correlacionados... Interactúan en target....
Y la presencia de la interacción produce resultados de la especie:
> summary(lm(data = train_sample_list[[1]], price_future_lag_diff_6 ~ price_diff_lag_11 * price_diff_min_lag_16))
Call:
lm(formula = price_future_lag_diff_6 ~ price_diff_lag_11 * price_diff_min_lag_16,
data = train_sample_list[[1]])
Residuals:
Min 1Q Median 3Q Max
-0.035970 -0.000824 0.000001 0.000847 0.027278
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 3.883e-05 3.146e-05 1.234 0.21714
price_diff_lag_11 4.828e-02 9.092e-03 5.310 1.12e-07 ***
price_diff_min_lag_16 -3.055e-02 1.141e-02 -2.678 0.00743 **
price_diff_lag_11:price_diff_min_lag_16 -3.520e+00 3.515e-01 -10.014 < 2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.0024 on 10465 degrees of freedom
Multiple R-squared: 0.01611, Adjusted R-squared: 0.01583
F-statistic: 57.11 on 3 and 10465 DF, p-value: < 2.2e-16
Todos los predictores son significativos (y su interacción). Las estadísticas F son impresionantes...
Los predictores que interactúan no necesariamente se correlacionan... Interactúan en target....
Y la presencia de la interacción produce los resultados de la especie:
> summary(lm(data = train_sample_list[[1]], price_future_lag_diff_6 ~ price_diff_lag_11 * price_diff_min_lag_16))
Call:
lm(formula = price_future_lag_diff_6 ~ price_diff_lag_11 * price_diff_min_lag_16,
data = train_sample_list[[1]])
Residuals:
Min 1Q Median 3Q Max
-0.035970 -0.000824 0.000001 0.000847 0.027278
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 3.883e-05 3.146e-05 1.234 0.21714
price_diff_lag_11 4.828e-02 9.092e-03 5.310 1.12e-07 ***
price_diff_min_lag_16 -3.055e-02 1.141e-02 -2.678 0.00743 **
price_diff_lag_11:price_diff_min_lag_16 -3.520e+00 3.515e-01 -10.014 < 2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.0024 on 10465 degrees of freedom
Multiple R-squared: 0.01611, Adjusted R-squared: 0.01583
F-statistic: 57.11 on 3 and 10465 DF, p-value: < 2.2e-16
Todos los predictores son significativos (y su interacción). Las estadísticas F son impresionantes...
Vizard_:
No hay datos...
Si no hay datos, no hay nada que discutir.
Descansa... ¡tú!
Yur, por lo menos no seas tonto) acaba de olvidar quien te dijo en 9 y.y. que tu red no está bien configurada, y con un polianalista puede tirar de la fórmula))))
No hay pretensiones ni secretos, estoy utilizando herramientas estándar de dm, a veces con pequeñas ediciones. Si sólo te interesan las referencias, escucha,
pero las realidades son un poco diferentes... El experimento anterior fue con datos reales. Lo hice con datos artificiales simples. El primer conjunto fue reconocido absolutamente
correctamente. Acabo de añadir ......... La respuesta debería ser 100%, pero jPrediction 11 es tan agudo "ii", que consigue dar de sí)) En resumen, afínalo,
El dispositivo aún no funciona. No te voy a dar los datos, estás presumiendo, ya lo descubrirás tú mismo... Versión 20 tal vez voy a mirar de nuevo, si el "anuncio" será como hoy)))
Bueno, tal vez tenía una idea diferente del significado de la palabra "interacción".
Existen reglas claras para tratar las interacciones en los modelos lineales. Son un poco más complicados que el tratamiento de combinación lineal:https://www.r-bloggers.com/interpreting-interaction-coefficient-in-r-part1-lm/
Pero hay que rebuscar entre un montón de combinaciones para encontrar interacciones significativas. Eso sí que es una vergüenza.
¿Eres consciente de que las optimizaciones múltiples siempre producen resultados diferentes? Es la optimización, si siempre diera el mismo resultado sería bueno, pero es demasiado extraño, trate de optimizar varias veces, estoy seguro de que obtendrá su 100% para 8 de cada 10 veces. Así que es como este....
Ni siquiera se da cuenta de que la muestra general antes del entrenamiento se divide en partes al azar: algunos patrones van a la parte de entrenamiento, otros a la parte de prueba. Y con tal desglose, puede resultar que algunos patrones necesarios para aclarar los patrones se agolpen en la parte de prueba y no estén representados en la parte de entrenamiento. Y como el algoritmo sólo se entrena en la parte de entrenamiento y no tiene capacidades telepáticas para averiguar lo que hay en la parte de prueba, se producirán errores al calcular la capacidad de generalización. Es decir, no ocurre nada sorprendente.
Pero cuando los patrones que deberían especificar las pautas resultan estar distribuidos uniformemente en diferentes partes de la muestra, la capacidad de aprendizaje es mayor que en el caso descrito anteriormente.
En otras palabras, hay un efecto caso por caso, y cualquier aleatoriedad puede mostrarse tarde o temprano de forma indeseable.
Es muy posible que se pueda encontrar un método por el que la muestra general se divida en partes no al azar, sino de forma determinista... Pero hasta ahora, la experiencia ha demostrado que todo determinismo en el reparto de muestras está cargado de ajuste, seguido de un exceso de aprendizaje.
Es posible encontrar un método que permita dividir la muestra general en partes de forma determinista y no aleatoria... Pero hasta ahora, la experiencia demuestra que todo determinismo en la partición de la muestra está plagado de ajustes y reajustes posteriores.
¿Tal vez haya que hacer el entrenamiento varias veces y dividir la muestra al azar cada vez? Y a partir de este conjunto listo de modelos entrenados se puede elegir y en general se puede evaluar si el modelo es bueno o no.
Esto ya está implementado en jPrediction, es decir, varias particiones de muestras diferentes se calculan en paralelo en diferentes núcleos de la CPU (dos clasificadores binarios son un terrario por núcleo libre). El procesador resulta estar cargado al 100%. El problema es que el número de núcleos de la CPU es limitado, por lo que la probabilidad de distribución desigual de los patrones sólo puede reducirse, pero es muy problemático minimizarlos. A menos que se entrenen los patrones en superordenadores en lugar de en ordenadores.
Por ejemplo, si se calculan patrones en el superordenador chino Tianhe-2, éste tiene 3.120.000 núcleos. La probabilidad de una distribución desigual de los patrones en partes de la muestra sería insignificante. Si calculamos patrones en una plantilla de 4 núcleos (más un par de núcleos reservados para otras tareas), no es de extrañar que tarde o temprano nos encontremos con una irregularidad.
Esto ya está implementado en jPrediction, es decir, varias particiones de muestras diferentes se calculan en paralelo en diferentes núcleos de la CPU (dos clasificadores binarios son un terrario por núcleo libre). El procesador resulta estar cargado al 100%. El problema es que el número de núcleos de la CPU es limitado, por lo que la probabilidad de que se distribuyan patrones desiguales sólo puede reducirse, pero es muy problemático minimizarlos. A menos que entrenes los patrones en superordenadores en lugar de en ordenadores.
Por ejemplo, si se calculan patrones en el superordenador chino Tianhe-2, éste tiene 3.120.000 núcleos. La probabilidad de una distribución desigual de los patrones en partes de la muestra sería insignificante. Si se computan patrones en una plantilla de 4 núcleos (y se reservan un par de núcleos para otras tareas), no es de extrañar que, tarde o temprano, se produzcan irregularidades.
Es decir, es algo útil. Así que en lugar de 4 particiones, obviamente insuficientes, deberías hacer 40 particiones. Para 4 núcleos se tardaría 10 veces más en contar, pero supongo que se puede sacrificar tiempo en favor de la robustez.
"Si se puede hacer y si sirve de algo, hay que hacerlo". (c) Papo Carlo Albertovich.