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

 

Sobre el tema de la rama: Bayes, mql

Fórmula de Bayes

La dependencia lineal y=ax+b;

La fórmula de la distribución normal.( En principio, se podría tomar una distribución diferente).

Reescribamos la fórmula

P(a,b|x,y)=P(x,y|a,b)*P(a)*P(b)/P(x,y); (1)

A continuación, según tengo entendido, hay que enumerar todas las combinaciones posibles de a y b. Aquellos a y b que den la máxima probabilidad según la fórmula (1) serán los coeficientes.

 
Yuri Evseenkov:

Sobre el tema de la rama: Bayes, mql

Fórmula de Bayes

La dependencia lineal y=ax+b;

La fórmula de la distribución normal.( En principio, se podría tomar una distribución diferente).

Reescribamos la fórmula

P(a,b|x,y)=P(x,y|a,b)*P(a)*P(b)/P(x,y); (1)

A continuación, según tengo entendido, hay que enumerar todas las combinaciones posibles de a y b. Aquellos a y b que den la máxima probabilidad según la fórmula (1) serán los coeficientes.

Se sospecha que no es así.
 
Dmitry Fedoseev:
Existe la sospecha de que esto no es así en absoluto.
Comparta su sospecha, por favor.
 
Yuri Evseenkov:
Comparta su sospecha, por favor.
No. Si lo supiera con certeza, lo pondría en el código, pero se puede parlotear sin parar. Hay megaladones de este tipo en el hilo, que demuestren su elocuencia en la práctica.
 
Dmitry Fedoseev:
No. Si lo supiera con certeza, lo representaría en el código, pero se puede parlotear sin parar. Hay tales megaladones en el hilo, que muestren su elocuencia en la práctica.
Lástima. Usted es el más específico en el tema. Y compañeros competentes offtop me parece muy interesante, pero me da miedo perderme en el "bosque".
 
Yuri Evseenkov:

Sobre el tema de la rama: Bayes, mql

Fórmula de Bayes

La dependencia lineal y=ax+b;

La fórmula de la distribución normal.( En principio, se podría tomar una distribución diferente).

Reescribamos la fórmula

P(a,b|x,y)=P(x,y|a,b)*P(a)*P(b)/P(x,y); (1)

A continuación, según tengo entendido, hay que enumerar todas las combinaciones posibles de a y b. Aquellos a y b que den la máxima probabilidad según la fórmula (1) serán los coeficientes.

Parece que estás pensando en la dirección correcta. Ya lo he olvidado, pero la explicación es la siguiente.

Supongamos que tenemos una serie temporal (de precios si se quiere), Y = {y[1], y[2], ..., y[n]}. También tenemos parámetros desconocidos del modelo W={w[1], w[2], ... w[m]}. Supongamos que el modelo es de regresión, es decir

y[i] = SUM_j w[j]*f(X) + e[i]

donde f() es una función de aproximación (un polinomio por ejemplo), X son los datos de entrada, e[] es un error.

Utilicemos el teorema de máxima verosimilitud para encontrar los parámetros del modelo W:

W = argmax ln(P(W|Y))

Ahora aplica el teorema de Bayes:

P(W|Y) = P(Y|W)*P(W)/P(Y)

Dividir por P(Y) es una normalización que se puede despreciar. Obtenemos

(1) W = argmax {ln(P(W|Y))} ~ argmax {ln(P(Y|W)) + ln(P(W))} ~ argmin {-ln(P(Y|W)) - ln(P(W))}

P(Y|W), la probabilidad de X dados los parámetros W, puede calcularse como sigue:

P(Y|W) = P(SUM_j w[j]*f(X) + e[i] | W) = P(E)

Si los errores tienen una distribución normal y son independientes entre sí, entonces

(2) P(Y|W) = P(E) ~ exp(-SUMA{e[i]^2}/(2*sigma^2))

Sustituyendo (2) en (1) se obtiene

W ~ argmin {-ln(P(Y|W)) - ln(P(W))} ~ argmin SUM{e[i]^2} - ln(P(W))

P(W) suele ser 1, y podemos sacar una distribución laplasiana:

P(W) ~ exp(-lambda*||W|_1)

Obtenemos

W ~ argmin SUM{e[i]^2} - ln(P(W)) ~ argmin SUMChe[i]^2 + lambda*||W|_1

Como resultado, la aplicación de la máxima verosimilitud y el Teorema de Bayes a la regresión de nuestra serie con errores gaussianos conduce a un método de mínimos cuadrados con el sumando gobernante lambda*... o sin ella. Las matemáticas son complicadas, pero el resultado es sencillo. Si no te gusta la distribución de error normal, sustitúyela por otra, por ejemplo, la laplasiana, y obtendrás:

W ~ argmin SUM|e[i]| + lambda*|W||_1.

También se puede reemplazar con un supergaussiano, por lo que se obtiene

W ~ argmin SUM|e[i]|^p + lambda*||W|_1

Por cierto, el aditivo regulador tal y como está escrito aquí convierte el método de mínimos cuadrados en un método de codificación deflactado. Sin ella, es una regresión lineal clásica, que se resuelve diferenciando por W e igualando a cero.

 
Vladimir:

Parece que estás pensando en la dirección correcta. Estoy empezando a olvidarlo, pero aquí está la explicación.

Supongamos que tenemos una serie temporal (de precios si se quiere), Y = {y[1], y[2], ..., y[n]}. También tenemos parámetros desconocidos del modelo W={w[1], w[2], ... w[m]}. Supongamos que el modelo es de regresión, es decir

y[i] = SUM_j w[j]*f(X) + e[i]

donde f() es una función de aproximación (un polinomio por ejemplo), X son los datos de entrada, e[] es un error.

Utilicemos el teorema de máxima verosimilitud para encontrar los parámetros del modelo W:

W = argmax ln(P(W|Y))

Ahora aplica el teorema de Bayes:

P(W|Y) = P(Y|W)*P(W)/P(Y)

Dividir por P(Y) es una normalización que se puede despreciar. Obtenemos

(1) W = argmax {ln(P(W|Y))} ~ argmax {ln(P(Y|W)) + ln(P(W))} ~ argmin {-ln(P(Y|W)) - ln(P(W))}

P(Y|W), la probabilidad de X dados los parámetros W, puede calcularse como sigue:

P(Y|W) = P(SUM_j w[j]*f(X) + e[i] | W) = P(E)

Si los errores tienen una distribución normal y son independientes entre sí, entonces

(2) P(Y|W) = P(E) ~ exp(-SUMA{e[i]^2}/(2*sigma^2))

Sustituyendo (2) en (1) se obtiene

W ~ argmin {-ln(P(Y|W)) - ln(P(W))} ~ argmin SUM{e[i]^2} - ln(P(W))

P(W) suele ser 1, y podemos sacar una distribución laplasiana:

P(W) ~ exp(-lambda*||W|_1)

Obtenemos

W ~ argmin SUM{e[i]^2} - ln(P(W)) ~ argmin SUMChe[i]^2 + lambda*||W|_1

Como resultado, la aplicación de la máxima verosimilitud y el Teorema de Bayes a nuestra serie de regresión con errores gaussianos conduce a un método de mínimos cuadrados con o sin el término de ajuste lambda*... o sin ella. Las matemáticas son complicadas, pero el resultado es sencillo. Si no te gusta la distribución de error normal, sustitúyela por otra, por ejemplo, la laplasiana, y obtendrás:

W ~ argmin SUM|e[i]| + lambda*|W||_1.

También se puede reemplazar con un supergaussiano, por lo que se obtiene

W ~ argmin SUM|e[i]|^p + lambda*||W|_1

Por cierto, el aditivo regulador tal y como está escrito aquí convierte el método de mínimos cuadrados en un método de codificación deflactado. Sin ella es una regresión lineal clásica, que se resuelve diferenciando por W e igualando a cero.

Gracias.
 
Vladimir:

Parece que estás pensando en la dirección correcta. Estoy empezando a olvidarlo, pero aquí está la explicación.

Supongamos que tenemos una serie temporal (de precios si se quiere), Y = {y[1], y[2], ..., y[n]}. También tenemos parámetros desconocidos del modelo W={w[1], w[2], ... w[m]}. Supongamos que el modelo es de regresión, es decir

y[i] = SUM_j w[j]*f(X) + e[i]

donde f() es una función de aproximación (un polinomio por ejemplo), X son los datos de entrada, e[] es un error.

Utilicemos el teorema de máxima verosimilitud para encontrar los parámetros del modelo W:

W = argmax ln(P(W|Y))

Ahora aplica el teorema de Bayes:

P(W|Y) = P(Y|W)*P(W)/P(Y)

Dividir por P(Y) es una normalización que se puede despreciar. Obtenemos

(1) W = argmax {ln(P(W|Y))} ~ argmax {ln(P(Y|W)) + ln(P(W))} ~ argmin {-ln(P(Y|W)) - ln(P(W))}

P(Y|W), la probabilidad de X dados los parámetros W, puede calcularse como sigue:

P(Y|W) = P(SUM_j w[j]*f(X) + e[i] | W) = P(E)

Si los errores tienen una distribución normal y son independientes entre sí, entonces

(2) P(Y|W) = P(E) ~ exp(-SUMA{e[i]^2}/(2*sigma^2))

Sustituyendo (2) en (1) se obtiene

W ~ argmin {-ln(P(Y|W)) - ln(P(W))} ~ argmin SUM{e[i]^2} - ln(P(W))

P(W) suele ser 1, y podemos sacar una distribución laplasiana:

P(W) ~ exp(-lambda*||W|_1)

Obtenemos

W ~ argmin SUM{e[i]^2} - ln(P(W)) ~ argmin SUMChe[i]^2 + lambda*||W|_1

Como resultado, la aplicación de la máxima verosimilitud y el Teorema de Bayes a nuestra serie de regresión con errores gaussianos conduce a un método de mínimos cuadrados con o sin el término de ajuste lambda*... o sin ella. Las matemáticas son complicadas, pero el resultado es sencillo. Si no te gusta la distribución de error normal, sustitúyela por otra, por ejemplo, la laplasiana, y obtendrás:

W ~ argmin SUM|e[i]| + lambda*|W||_1.

También se puede reemplazar con un supergaussiano, por lo que se obtiene

W ~ argmin SUM|e[i]|^p + lambda*||W|_1

Por cierto, el aditivo regulador tal y como está escrito aquí convierte el método de mínimos cuadrados en un método de codificación deflactado. Sin ella, es una regresión lineal clásica que se resuelve diferenciando por W e igualando a cero.

Gracias por el detallado comentario. Las palabras clave y las fórmulas están dadas, lo investigaré.

"En resumen, la aplicación de la máxima verosimilitud y del Teorema de Bayes a nuestra serie de regresión con errores gaussianos conduce a un método de mínimos cuadrados con un término de ajuste de lambda*... o sin ella. Las matemáticas son enrevesadas y el resultado es sencillo. "

Convencido. Casi. Queda una sombra de duda de que los coeficientes a y b de las rectas y=ax+b cuando se calculan por diferentes métodos serán numéricamente o aproximadamente iguales. Aquí hay que comparar minuciosamente las fórmulas de dos métodos o escribir un programa. Lo principal es que las fórmulas, el algoritmo y el propio código sean adecuados a la teoría. El programa debe:

-calcular los coeficientes de a y b de la regresión lineal y=ax+b por el método de los mínimos cuadrados

-obtener los coeficientes de a y b, en los que la probabilidad por el teorema de Bayes es máxima al aplicar la distribución normal con expectativa matemática igual a ax+b

Luego hay que comparar esos coeficientes y, en caso de una diferencia considerable, observar el comportamiento de las dos líneas en función de esos a y b en la dinámica. Por ejemplo, en el probador de estrategias en modo de visualización.

El programa se puede seguir utilizando con otros modelos, regresiones y distribuciones con la fórmula de Bayes. Tal vez algo se lleve a cabo bien.

P.D. Me viene a la mente mi ejemplo favorito:

"Lo más probable es que ya hayas utilizado el pensamiento bayesiano, aunque no lo supieras. Discuta
un ejemplo que tomé de Neil Manson: Usted es un soldado en la batalla que se esconde en una trinchera.Sabe a ciencia cierta
que sólo queda un soldado enemigo en el campo de batalla, a unos 400
metros
.También sabes que si es un soldado normal, no podrá golpearte desde esadistancia
.Sin embargo, si ese soldado es un francotirador, es muy posible que pueda darle a usted
. Pero no hay muchos francotiradores en el ejército enemigo, así que probablemente sea un soldado regular.
levanta la cabeza fuera de la trinchera, tratando de ver mejor los alrededores.Una bala te roza el casco
y caes de nuevo en la trinchera.
Bien, piensas. Sé que los francotiradores son raros, pero este tipo me dio desde cuatrocientos
metros.Todavía hay una buena posibilidad de que sea un soldado regular, pero la posibilidad de que sea un francotirador ya es
más alta, ya que me golpeó desde una distancia tan larga.Al cabo de unos minutos,
se atreve a asomarse de nuevo y a levantar la cabeza por encima de la trinchera.¡Bam! ¡Una segunda bala
roza tu casco! Te vuelves a caer. Oh, mierda, piensas. Definitivamente es un francotirador. Sin embargo, por muy raros que sean ,
, el soldado medio no puede acertar dos veces seguidas desde esa distancia
. Definitivamente es
un francotirador. Será mejor que pida refuerzos. Si esto es una aproximación a lo que pensaría en unasituación similar
, entonces ¡felicidades! Ya piensas como un bayesiano, al menos
a veces".
(Autor no especificado).

 
Yuri Evseenkov:


-Calcular los coeficientes a y b de la regresión lineal y=ax+b por el método de mínimos cuadrados

-Obtener los coeficientes de a y b, en los que la probabilidad por el teorema de Bayes es máxima al aplicar una distribución normal con expectativa igual a ax+b


Serán iguales, muy cercanos. La cuestión es si tiene sentido intentar establecer una distribución a priori para los coeficientes cuando se aplica a los mercados financieros.

He visto a menudo la regularización aplicada en la regresión (L1, L2). Podría funcionar mejor que la regresión lineal ordinal.

 
Alexey Burnakov:

Serán iguales, muy cercanos. La cuestión es si tiene sentido intentar establecer una distribución a priori para los coeficientes aplicados a los mercados financieros.

He visto a menudo la regularización aplicada en la regresión (L1, L2). Puede funcionar mejor que la regresión lineal ordinal.

Los coeficientes a y b entiendo que hay que enumerarlos para encontrar la combinación que dé la máxima probabilidad según la fórmula de Bayes P(a,b|x,y)=P(x,y|a,b)*P(a)*P(b)/P(x,y); (1) Las probabilidades P(a) y P(b) serán iguales a los pasos de los ciclos de superación y serán un valor constante. Su distribución será uniforme.

P.D. Me adhiero a la opinión de que la naturaleza de los mercados financieros reales y el forex difieren significativamente. El Forex es más bien un negocio de apuestas. Un tipo de simulación en línea con ordenador y multijugador. Por lo tanto, en el caso de Forex, es posible aplicar las leyes que son relevantes en estas áreas. La ley de la distribución normal, por ejemplo.

Razón de la queja: