Regressão Bayesiana - Alguém já fez um EA usando este algoritmo? - página 28
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
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.
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 é de modo algum o caso.
Compartilhe suas suspeitas, por favor.
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.
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.
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.
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).
-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.
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.