Regressão Bayesiana - Alguém já fez um EA usando este algoritmo? - página 28

 

Sobre o assunto do ramo: Bayes, mql

Fórmula Bayes

A dependência linear y=ax+b;

A fórmula para a distribuição normal.( Você poderia, em princípio, tomar outra distribuição).

Vamos reescrever a fórmula

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

Em seguida, pelo que entendi, é preciso enumerar todas as combinações possíveis de a e b. Aqueles a e b que dão a probabilidade máxima de acordo com a fórmula (1) serão os coeficientes.

 
Yuri Evseenkov:

Sobre o assunto do ramo: Bayes, mql

Fórmula Bayes

A dependência linear y=ax+b;

A fórmula para a distribuição normal (em princípio, você poderia tomar uma distribuição diferente).

Vamos reescrever a fórmula

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

Em seguida, pelo que entendi, é preciso enumerar todas as combinações possíveis de a e b. Aqueles a e b que dão a probabilidade máxima de acordo com a fórmula (1) serão os coeficientes.

Há alguma suspeita de que este não é o caso.
 
Dmitry Fedoseev:
Há alguma suspeita de que este não é de modo algum o caso.
Compartilhe suas suspeitas, por favor.
 
Yuri Evseenkov:
Compartilhe suas suspeitas, por favor.
Não. Se eu soubesse com certeza, eu o colocaria no código, mas você pode chocalhar interminavelmente. Há tais megaladões no fio, deixe-os mostrar sua eloquência na prática.
 
Dmitry Fedoseev:
Não. Se eu soubesse com certeza, eu o representaria no código, mas você pode chacoalhar sem parar. Há tais megaladões no fio, deixe-os mostrar sua eloquência na prática.
É uma pena. Você é o mais específico sobre o assunto. E os camaradas competentes fora do tópico sou muito interessante, mas tenho medo de me perder no "bosque".
 
Yuri Evseenkov:

Sobre o assunto do ramo: Bayes, mql

Fórmula Bayes

A dependência linear y=ax+b;

A fórmula para a distribuição normal (em princípio, você poderia tomar uma distribuição diferente).

Vamos reescrever a fórmula

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

Em seguida, pelo que entendi, é preciso enumerar todas as combinações possíveis de a e b. Aqueles a e b que dão a probabilidade máxima de acordo com a fórmula (1) serão os coeficientes.

Você parece estar pensando na direção certa. Já o esqueci, mas a explicação é a seguinte.

Suponha que tenhamos uma série cronológica (preços se você quiser), Y = {y[1], y[2], ..., y[n]}. Também temos parâmetros de modelo desconhecidos W={w[1], w[2], ... , w[m]} }. Suponha que o modelo é de regressão, ou seja

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

onde f() é uma função aproximada (um polinômio, por exemplo), X são os dados de entrada, e[] é um erro.

Vamos usar o teorema da máxima probabilidade para encontrar os parâmetros do modelo W:

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

Agora aplique o teorema de Bayes:

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

Dividir por P(Y) é uma normalização que pode ser negligenciada. Nós recebemos

(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), a probabilidade de X dado os parâmetros W, pode ser calculada da seguinte forma:

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

Se os erros têm uma distribuição normal e são independentes um do outro, então

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

Substituir (2) em (1) e obter

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

P(W) é geralmente 1, e podemos fazer uma distribuição Laplassian:

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

Nós recebemos

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

Como resultado, a aplicação da máxima probabilidade e do teorema de Bayes à regressão de nossa série com erros gaussianos leva a um método de mínimos quadrados com o summand lambda*... ou sem. A matemática é complicada, mas o resultado é simples. Se você não gosta da distribuição normal de erros, substitua por outra, por exemplo, Laplassian, você recebe:

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

Você também pode substituir por um super-gaussiano, assim você recebe

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

A propósito, o aditivo regulador aqui escrito transforma o método dos mínimos quadrados em um método de codificação deflacionado. Sem ela, é uma clássica regressão linear, resolvida pela diferenciação por W e equacionada a zero.

 
Vladimir:

Você parece estar pensando na direção certa. Estou começando a esquecer, mas aqui está a explicação.

Suponha que tenhamos uma série cronológica (preços se você quiser), Y = {y[1], y[2], ..., y[n]}. Também temos parâmetros de modelo desconhecidos W={w[1], w[2], ... , w[m]} }. Suponha que o modelo é de regressão, ou seja

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

onde f() é uma função aproximada (um polinômio, por exemplo), X são os dados de entrada, e[] é um erro.

Vamos usar o teorema da máxima probabilidade para encontrar os parâmetros do modelo W:

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

Agora aplique o teorema de Bayes:

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

Dividir por P(Y) é uma normalização que pode ser negligenciada. Nós recebemos

(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), a probabilidade de X dado os parâmetros W, pode ser calculada da seguinte forma:

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

Se os erros têm uma distribuição normal e são independentes um do outro, então

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

Substituir (2) em (1) e obter

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

P(W) é geralmente 1, e podemos fazer uma distribuição Laplassiana:

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

Nós recebemos

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

Como resultado, a aplicação da máxima probabilidade e do teorema de Bayes à regressão de nossa série com erros gaussianos leva a um método de mínimos quadrados com o summand lambda*... ou sem. A matemática é complicada, mas o resultado é simples. Se você não gosta da distribuição normal de erros, substitua por outra, por exemplo, Laplassian, você recebe:

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

Você também pode substituir por um super-gaussiano, assim você recebe

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

A propósito, o aditivo regulador, como aqui escrito, transforma o método dos mínimos quadrados em um método de codificação deflacionado. Sem ela é uma clássica regressão linear, resolvida pela diferenciação por W e equacionada a zero.

Obrigado!
 
Vladimir:

Você parece estar pensando na direção certa. Estou começando a esquecer, mas aqui está a explicação.

Suponha que tenhamos uma série cronológica (preços se você quiser), Y = {y[1], y[2], ..., y[n]}. Também temos parâmetros de modelo desconhecidos W={w[1], w[2], ... , w[m]} }. Suponha que o modelo é de regressão, ou seja

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

onde f() é uma função aproximada (um polinômio, por exemplo), X são os dados de entrada, e[] é um erro.

Vamos usar o teorema da máxima probabilidade para encontrar os parâmetros do modelo W:

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

Agora aplique o teorema de Bayes:

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

Dividir por P(Y) é uma normalização que pode ser negligenciada. Nós recebemos

(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), a probabilidade de X dado os parâmetros W, pode ser calculada da seguinte forma:

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

Se os erros têm uma distribuição normal e são independentes um do outro, então

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

Substituir (2) em (1) e obter

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

P(W) é geralmente 1, e podemos fazer uma distribuição Laplassiana:

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

Nós recebemos

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

Como resultado, a aplicação da máxima probabilidade e do teorema de Bayes à regressão de nossa série com erros gaussianos leva a um método de mínimos quadrados com o summand lambda*... ou sem. A matemática é complicada, mas o resultado é simples. Se você não gosta da distribuição normal de erros, substitua por outra, por exemplo, Laplassian, você recebe:

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

Você também pode substituir por um super-gaussiano, assim você recebe

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

A propósito, o aditivo regulador aqui escrito transforma o método dos mínimos quadrados em um método de codificação deflacionado. Sem ela, é uma clássica regressão linear resolvida pela diferenciação por W e igual a zero.

Obrigado pelo comentário detalhado. As palavras-chave e as fórmulas são dadas, vou analisar isso.

"Em resumo, aplicar a máxima probabilidade e o teorema de Bayes à regressão de nossa série com erros gaussianos leva a um método de mínimos quadrados com um termo de ajuste lambda*... ou sem. A matemática é complicada e o resultado é simples. "

Convencido. Quase. Resta uma sombra de dúvida de que os coeficientes a e b das linhas y=ax+b quando calculados por métodos diferentes serão numericamente ou aproximadamente iguais. Aqui você precisa comparar cuidadosamente fórmulas de dois métodos ou escrever um programa. O principal é que fórmulas, algoritmo e o próprio código seriam adequados à teoria. O programa deve:

-calcular os coeficientes de a e b da regressão linear y=ax+b usando o método dos mínimos quadrados

-obter os coeficientes de a e b, nos quais a probabilidade pelo teorema de Bayes é máxima ao aplicar a distribuição normal com expectativa matemática igual a ax+b

Então precisamos comparar esses coeficientes e, no caso de uma diferença considerável, olhar o comportamento das duas linhas com base naquelas a e b na dinâmica. Por exemplo, no testador de estratégia em modo de visualização.

O programa pode ser ainda utilizado utilizando outros modelos, regressões, distribuições com a fórmula Bayes. Talvez algo atire muito bem.

P.S Meu exemplo favorito me vem à mente:

"É provável que você já tenha usado o pensamento Bayesiano, embora não o soubesse. Discuta
um exemplo que tirei de Neil Manson: Você é um soldado em batalha que está escondido em uma trincheira.Vocêsabe de fato
que só resta um soldado inimigo no campo de batalha, a cerca de 400
jardas
de distância.Você também sabe que se for um soldado normal, ele não será capaz de bater em você a essadistância
.Entretanto, se esse soldado for um franco-atirador, é bem possível que ele possa atingi-lo
.Mas não há muitos franco-atiradores no exército inimigo, então provavelmente é um soldado regular. Você
levanta a cabeça da trincheira, tentando dar uma melhor olhada ao redor.Bam! Uma bala agarra seu capacete
e você cai de volta no buraco da raposa.
Ótimo, você acha. Eu sei que os franco-atiradores são raros, mas este cara me atingiu de quatrocentos
jardas.Ainda há uma boa chance de ser um soldado regular, mas a chance de ser um atirador já é
maior, já que ele me atingiu de uma distância tão longa.Após alguns minutos, você
ousa olhar novamente e levantar a cabeça acima da trincheira.Bam! Uma segunda bala
agarra seu capacete! Você cai para trás. Oh, merda, você acha. É definitivamente um atirador furtivo. Não importa quão raros sejam,
no entanto, o soldado médio não pode acertar duas vezes seguidas a partir dessa distância
. É definitivamente
um atirador furtivo. É melhor eu pedir reforços. Se esta é uma aproximação aproximada do que você pensaria em umasituação semelhante em
, então parabéns! Você já está pensando como um Bayesiano, pelo menos
às vezes".
(Autor não especificado).

 
Yuri Evseenkov:


-Calcular coeficientes a e b de regressão linear y=ax+b pelo método dos mínimos quadrados

-Obter os coeficientes de a e b, nos quais a probabilidade pelo teorema de Bayes é máxima ao aplicar uma distribuição normal com expectativa igual a ax+b


Eles serão iguais, muito próximos. A questão é se faz sentido tentar estabelecer uma distribuição a priori para os coeficientes quando aplicados aos mercados financeiros.

Tenho visto com freqüência a regularização aplicada em regressão (L1, L2). Pode funcionar melhor do que a regressão linear ordinal.

 
Alexey Burnakov:

Eles serão iguais, muito próximos. A questão é se faz sentido tentar estabelecer uma distribuição a priori para os coeficientes aplicados aos mercados financeiros.

Tenho visto com freqüência a regularização aplicada em regressão (L1, L2). Pode funcionar melhor do que a regressão linear ordinal.

Os coeficientes a e b que entendo precisam ser enumerados para encontrar a combinação que dá a probabilidade máxima de acordo com a fórmula Bayes P(a,b|x,y)=P(x,y|a,b)*P(a)*P(b)/P(x,y); (1) As probabilidades P(a) e P(b) serão iguais a etapas de ciclos de ultrapassagem e serão um valor constante. Sua distribuição será uniforme.

P.S. Eu aderi à opinião de que a natureza dos mercados financeiros reais e forex diferem significativamente. Forex é mais um negócio de jogos de azar. Uma espécie de simulação online multiplayer, por computador. Assim, para o Forex, é possível aplicar as leis que são relevantes nestas áreas. A lei da distribuição normal, por exemplo.

Razão: