Regresión Bayesiana - ¿Alguien ha hecho un EA utilizando este algoritmo? - página 51

 
Дмитрий:
¿Y cómo se determina la "mejor" combinación?
Validación cruzada con 5 iteraciones. Pero no el habitual que selecciona los ejemplos al azar, sino uno adaptado a las series temporales, con aislamiento de los ejemplos por tiempo. El blog lo describe todo.

El valor medio de la métrica objetivo en las 5 faltas de prueba indica la mejor combinación de parámetros de entrenamiento.

A continuación, el modelo se entrena con la muestra de entrenamiento completa y se valida con otra muestra.
 
  • Me pregunto qué más debería cambiar en el experimento. Intenté cambiar la lógica de indexación de casos para la validación cruzada, pero no hubo mejora.
  • Pensando en llevar las entradas a una forma discreta.
  • Otra opción es pasar de un modelo complejo a otro más sencillo. Un modelo complejo es un bosque de decisiones acelerado. El más sencillo es el de los modelos de regresión lineal acelerada, en el que también se pueden ajustar los parámetros de regularización.
  • Pero la cuestión es que mejorar la precisión del 55% al 60% sólo cambiando algo en términos de diseño es difícil.
  • También los modelos de los comités de construcción darán, en el mejor de los casos, una fracción de porcentaje de mejora. Se necesita más tiempo para desarrollar y formar la arquitectura.
  • Existe la idea de observar los predictores importantes y si suelen estar en el límite de la ventana (724 minutos), entonces se podría ampliar la ventana a 1440 minutos por día. Pero entonces el número de muestras se reducirá a la mitad, porque las tomaré en incrementos de 1440 +- términos aleatorios.
  • También se puede predecir otro objetivo, por ejemplo el desglose del nivel de precios (Take Profit / Stop Loss) o la "dirección" general, por ejemplo el coeficiente de regresión lineal.
Todo lleva su tiempo. Pero definitivamente dedicaré otro par de meses al experimento. Tal vez salga algo.
 
El problema básico es el de la lista de predictores. Una vez justificada la lista de predictores, podemos pasar al resto.
 
СанСаныч Фоменко:
El problema básico es el de la lista de predictores. Una vez justificada la lista de predictores, podemos pasar al resto.
Gracias. Yo también me inclino por añadir más predictores.
 
Alexey Burnakov:
Gracias. Yo también me inclino por añadir más predictores.
¿Cree que el número de predictores que utiliza no es suficiente?
 
Алексей Тарабанов:
¿Cree que el número de predictores que utiliza es insuficiente?
No lo sé con seguridad.

O los predictores disponibles no tienen suficiente información,
O bien las relaciones cambian mucho con el tiempo y la generalizabilidad disminuye
O bien los propios predictores cambian los parámetros de la distribución a lo largo del tiempo.

Para el primer punto, se pueden añadir más, y seleccionar los mejores siempre es posible.
En los otros puntos, el procesamiento de datos puede ayudar, pero no al cien por cien.

Me inclino por una combinación de todos estos factores. La cuestión es que, aún en la validación cruzada, la precisión es del 55-60% y desciende a medida que aumenta el horizonte de previsión. Así que los predictores tampoco dan mucha información sobre la muestra de entrenamiento.

Esto es si viera una alta precisión en la prueba y cayera bruscamente en la validación, con el experimento correctamente construido, por lo que las dependencias son no estacionarias.
 
Alexey Burnakov:
No lo sé con seguridad.

O bien los predictores disponibles no tienen suficiente información,
O bien las relaciones cambian mucho con el tiempo y la generalizabilidad disminuye
O bien los propios predictores cambian los parámetros de la distribución a lo largo del tiempo.

Para el primer punto, se pueden añadir más, y seleccionar los mejores siempre es posible.
En los otros puntos, el procesamiento de datos puede ayudar, pero no al cien por cien.

Me inclino por una combinación de todos estos factores. La cuestión es que, aún en la validación cruzada, la precisión es del 55-60% y desciende a medida que aumenta el horizonte de previsión. Así que los predictores tampoco dan mucha información sobre la muestra de entrenamiento.

Es decir, si viera una alta precisión en la prueba y cayera bruscamente en la validación, con el experimento construido correctamente, entonces las dependencias son no estacionarias.
Lo más probable es que lo hagan.
 
Alexey Burnakov:
No lo sé con seguridad.

O bien los predictores disponibles no tienen suficiente información,
O bien las relaciones cambian mucho con el tiempo y la generalizabilidad disminuye
O bien los propios predictores cambian los parámetros de la distribución a lo largo del tiempo.

Para el primer punto, se pueden añadir más, y seleccionar los mejores siempre es posible.
En los otros puntos, el procesamiento de datos puede ayudar, pero no al cien por cien.

Me inclino por una combinación de todos estos factores. La cuestión es que, aún en la validación cruzada, la precisión es del 55-60% y desciende a medida que aumenta el horizonte de previsión. Así que los predictores tampoco dan mucha información sobre la muestra de entrenamiento.

Es decir, si viera que hay una alta precisión en la prueba y baja drásticamente en la validación, con el experimento construido correctamente, por lo que las dependencias son no estacionarias.

Ya lo he escrito, lo diré de nuevo.

Realicé el trabajo de selección de predictores varias veces, incluso a demanda. Los resultados son los siguientes

Así que.

Tomemos un conjunto de predictores, no menos de 50, y mejor de cien.

Todos los conjuntos de predictores que he tratado (es decir, no pretendo generalizar) pueden dividirse en dos partes:

  • la parte de los predictores que son relevantes para la variable objetivo
  • la parte de los predictores que no tiene nada que ver con la variable objetivo: el ruido

Escribo "relación" con mucho cuidado y deliberadamente no utilizo ningún término.

Ejemplo de predictores:

  • ondulación - NO se relaciona con la variable objetivo ZZ
  • la desviación del precio de raspka es relevante para la variable objetivo ZZ

Tenga en cuenta que estoy especificando la variable de destino. Para la otra variable de destino, puede ser al revés

El problema de tener estos dos grupos de predictores en el conjunto original de predictores es que las herramientas estándar para determinar la IMPORTANCIA no funcionan. Por lo tanto, se necesitan algunas herramientas, que he desarrollado y utilizo, que permiten la criba gruesa de los predictores de ruido. Hay que señalar que aquí no hay ninguna ambigüedad. El algoritmo cuantifica por separado los predictores válidos y los nominales. Menos de 2 (algún valor relativo) es ruido seguro. Entre 2 y 3: se puede utilizar, pero mejor no....

El problema con el ruido es que los predictores relevantes para el ruido empalagan a los predictores no relevantes para ellos. Por ejemplo, los algoritmos randomforest, ada y svm por alguna razón construyen el modelo más en estos predictores de ruido.

Una vez filtrados los predictores ruidosos, y en mis conjuntos había alrededor del 80%(!), tomamos el resto de la lista de predictores y a ella empezamos a aplicar las herramientas de R para determinar la importancia de las variables. El número real de predictores utilizados para entrenar el modelo es aproximadamente la mitad de los predictores de ruido NO, es decir, alrededor del 10% del conjunto original.

Determino la importancia de los predictores en la ventana. A medida que la ventana se mueve, la lista de predictores del 20% básico cambia todo el tiempo. Es decir, se utilizan entre 12 y 15 predictores para construir el modelo, pero son diferentes a medida que la ventana se desplaza tras la cotización.

¿Cuál es la razón?

Bueno, la cuestión es que limpiar el conjunto de predictores de los de ruido lleva a la creación de modelos que NO se reentrenan.

En números.

Con un conjunto completo de predictores es posible construir modelos con un error de predicción del 3% al 5%. Y los algoritmos que dividen la muestra en partes, los llamados "fuera de muestra" - OOV, confirman este resultado. Esto se ve muy bien en raatle, que siempre divide la muestra original en partes y está muy contento con los resultados.

Pero.

Si la muestra inicial contiene predictores de ruido, entonces si tomamos una "muestra fuera de la muestra" real, es decir, por ejemplo, la muestra para el entrenamiento del 01.06.2015 al 01.01.2016, y luego calculamos sobre la muestra después del 1 de enero, ¡podemos obtener fácilmente un error del 50% y del 70% en lugar del 3%-5%! Además, cuanto más lejos esté el 1 de enero, peor será el resultado.

EL MODELO SE VUELVE A ENTRENAR

Si limpio el conjunto original de predictores de ruido, los resultados son los siguientes y lo mismo para randomforest, ada SVM así como varios otros modelos - es decir, el modelo no resolvió nada en mis casos, los resultados son: el error de predicción es de alrededor del 30% en cualquier conjunto. Aplicando las herramientas de importancia de los predictores de R, podemos reducir aún más el error a alrededor del 25%. No fue posible mejorar este resultado para la variable objetivo ZZ.

 
СанСаныч Фоменко:

Ya lo he escrito, lo diré de nuevo.

He realizado el trabajo de selección de predictores varias veces, incluso por encargo. Los resultados son los siguientes

Así que.

Tomemos un conjunto de predictores, no menos de 50, y preferiblemente más de cien.

Todos los conjuntos de predictores que he tratado (es decir, no pretendo generalizar) pueden dividirse en dos partes:

  • la parte de los predictores que son relevantes para la variable objetivo
  • la parte de los predictores que no tienen nada que ver con la variable objetivo: el ruido

Escribo "relación" con mucho cuidado y deliberadamente no utilizo ningún término.

Ejemplo de predictores:

  • ondulación - NO se relaciona con la variable objetivo ZZ
  • la desviación del precio de raspka es relevante para la variable objetivo ZZ

Tenga en cuenta que estoy especificando la variable de destino. Para la otra variable de destino, puede ser al revés

El problema de tener estos dos grupos de predictores en el conjunto original de predictores es que las herramientas estándar para determinar la IMPORTANCIA no funcionan. Por lo tanto, se necesitan algunas herramientas, que he desarrollado y utilizo, que permiten la criba gruesa de los predictores de ruido. Hay que señalar que aquí no hay ninguna ambigüedad. El algoritmo cuantifica por separado los predictores válidos y los nominales. Menos de 2 (algún valor relativo) es ruido seguro. Entre 2 y 3: se puede utilizar, pero mejor no....

El problema con el ruido es que los predictores relevantes para el ruido empalagan a los predictores no relevantes para ellos. Por ejemplo, los algoritmos randomforest, ada y svm por alguna razón construyen el modelo más en estos predictores de ruido.

Una vez filtrados los predictores ruidosos, y en mis conjuntos había cerca del 80%(!), tomamos el resto de la lista de predictores y a ella empezamos a aplicar las herramientas de R para determinar la importancia de las variables. El número real de predictores utilizados para entrenar el modelo es aproximadamente la mitad de los predictores de ruido NO, es decir, alrededor del 10% del conjunto original.

Determino la importancia de los predictores en la ventana. A medida que la ventana se mueve, la lista de predictores del 20% básico cambia todo el tiempo. Es decir, se utilizan entre 12 y 15 predictores para construir el modelo, pero son diferentes a medida que la ventana se desplaza tras la cotización.

¿Cuál es la razón?

Bien, la cuestión es que limpiar el conjunto de predictores de los de ruido lleva a la creación de modelos que NO se reentrenan.

En números.

Con un conjunto completo de predictores es posible construir modelos con un error de predicción del 3% al 5%. Y los algoritmos que dividen la muestra en partes, los llamados "fuera de muestra" - OOV, confirman este resultado. Esto se ve muy bien en raatle, que siempre divide la muestra original en partes y está muy contento con los resultados.

Pero.

Si la muestra inicial contiene predictores de ruido, entonces si tomamos una "muestra fuera de la muestra" real, es decir, por ejemplo, la muestra para el entrenamiento del 01.06.2015 al 01.01.2016, y luego calculamos sobre la muestra después del 1 de enero, ¡podemos obtener fácilmente un error del 50% y del 70% en lugar del 3%-5%! Además, cuanto más lejos esté el 1 de enero, peor será el resultado.

EL MODELO SE VUELVE A ENTRENAR

Si limpio el conjunto original de predictores de ruido, los resultados son los siguientes y lo mismo para randomforest, ada SVM así como varios otros modelos - es decir, el modelo no resolvió nada en mis casos, los resultados son los siguientes: el error de predicción es de alrededor del 30% en cualquier conjunto. Aplicando las herramientas de importancia de los predictores de R, podemos reducir aún más el error a alrededor del 25%. No fue posible mejorar este resultado para la variable objetivo ZZ.

Gracias.

Ya veo lo que estás pensando. De todo lo anterior vi la posibilidad de calcular la importancia de los predictores en varias partes de la muestra de entrenamiento, para luego comparar las listas y seleccionar los duplicados.

No puedo decir nada sobre la selección manual, prefiero usar la máquina de inmediato.

SZZ: Intentaré aplicar mi método casero, basado en la función de información mutua, además de la importancia de las variables del bosque de decisión. Te mostraré los resultados más tarde.

 
СанСаныч Фоменко:


El problema con el ruido es que los predictores relacionados con el ruido obstruyen los predictores no relacionados con él. Por ejemplo, los algoritmos randomforest, ada y svm por alguna razón construyen el modelo más en estos predictores de ruido.


Pregunta: ¿el SVM tiene en cuenta las interacciones entre las variables o es sólo la suma de los componentes individuales ponderados?