Sistema de negociação de rede bayesiana
Sistema de comércio de rede bayesiano
A principal vantagem de não permitir ciclos é possibilitar algoritmos de atualização muito rápidos, já que não há como a influência probabilística "rodar" indefinidamente.
Para diagnosticar um paciente, os valores podem ser inseridos para alguns nós quando são conhecidos. Isso nos permitiria recalcular as probabilidades de todos os outros nós. Assim, se fizermos uma radiografia de tórax e a radiografia for anormal, as chances de o paciente ter tuberculose ou câncer de pulmão aumentam. Se soubéssemos que nosso paciente visitou a Ásia, as chances de que eles tivessem tuberculose aumentariam ainda mais, e o câncer de pulmão diminuiria (já que o raio X é agora melhor explicado pela presença de tuberculose do que de câncer de pulmão). Vamos ver como isso é feito em uma seção posterior.
Nesta seção, aprendemos que uma rede bayesiana é um modelo que representa os estados possíveis de um mundo. Também aprendemos que uma rede de Bayes possui relações de probabilidade entre alguns estados do mundo.
1.1. Por que as redes Bayes são úteis?
1.1.1 modelando a realidade.
Um modelo é geralmente útil se nos ajuda a entender melhor o mundo que estamos modelando e se nos permite fazer previsões úteis sobre como o mundo se comportará. Geralmente, é mais fácil experimentar o modelo em comparação com a realidade.
No passado, quando cientistas, engenheiros e economistas queriam construir modelos probabilísticos de mundos, de modo que eles pudessem tentar prever o que aconteceria quando algo acontecesse, eles tipicamente tentariam representar o que é chamado de "distribuição conjunta". . Esta é uma tabela de todas as probabilidades de todas as possíveis combinações de estados nesse modelo mundial. Tal tabela pode se tornar enorme, já que ela acaba armazenando um valor de probabilidade para cada combinação de estados, isto é, a multiplicação de todos os números de estados para cada nó. No modelo Weather acima, isso seria 3 x 2 x 2 = 12 probabilidades. No modelo da Ásia, seria 2 x 2 x 2 x 2 x 2 x 2 x 2 x 2 = 2 8 = 256 probabilidades. Para modelos de qualquer complexidade razoável, a distribuição conjunta pode acabar com milhões, trilhões ou inacreditavelmente muitas entradas. Claramente, é necessário um caminho melhor.
As redes Bayesianas são uma dessas maneiras. Como uma rede de Bayes apenas relaciona nós que estão relacionados probabilisticamente por algum tipo de dependência causal, uma enorme economia de computação pode resultar. Não há necessidade de armazenar todas as configurações possíveis de estados, todos os mundos possíveis, se você quiser. Tudo o que é necessário para armazenar e trabalhar é todas as combinações possíveis de estados entre conjuntos de nós pai e filho relacionados (famílias de nós, se você quiser). Isso contribui para uma grande economia de espaço de tabela e computação. (É claro que alguns modelos ainda são grandes demais para os atuais algoritmos de rede de Bayes. Mas novos algoritmos estão sendo desenvolvidos e avanços são promissores. Essa é uma área muito pesquisada da moderna ciência da computação.)
Uma segunda razão pela qual as redes bayesianas estão se mostrando tão úteis é que elas são tão adaptáveis. Você pode iniciá-los com conhecimento limitado sobre um domínio e desenvolvê-los à medida que adquire novos conhecimentos. Além disso, quando você vai aplicá-los, você não precisa ter conhecimento completo sobre a instância do mundo para o qual está aplicando. Você pode usar o máximo de conhecimento disponível e a rede fará um trabalho tão bom quanto possível com o conhecimento disponível.
Para ilustrar isso, vamos retornar à nossa rede da Ásia, que vimos na seção 1 acima. Vamos supor que você é um médico recém-formado em Los Angeles, um especialista em doenças pulmonares, e você decide montar uma clínica para o tórax, que lida com doenças graves relacionadas ao pulmão. De seus estudos de livro de texto você sabe algo sobre as taxas de câncer de pulmão, tuberculose e bronquite e suas causas e sintomas, para que você possa configurar uma rede básica de Bayes com alguns desses conhecimentos teóricos. Por exemplo, digamos, de acordo com seus livros: 30% da população dos EUA fuma. O câncer de pulmão pode ser encontrado em cerca de 70 pessoas por 100.000. A tuberculose ocorre em cerca de 10 pessoas por 100.000. Bronquite pode ser encontrada em cerca de 800 pessoas por 100.000. A dispnéia pode ser encontrada em cerca de 10% das pessoas, mas a maioria é causada por asma e outras causas além de tuberculose, câncer de pulmão ou bronquite.
Armado com essas estatísticas, você pode configurar a seguinte rede Bayes:
Infelizmente, esta rede não é muito útil para você, porque realmente não reflete a população de pessoas que procuram ajuda na sua clínica. A maioria deles foi encaminhada por seus médicos de família e, portanto, a incidência de doenças pulmonares nessa população é muito maior, imagina.
Então você realmente não deve usar a rede Bayes acima em sua prática. Você precisa de mais dados.
À medida que sua clínica cresce e você lida com centenas de casos de pacientes, aprende que, embora os livros didáticos possam ter descrito a situação norte-americana, a realidade de sua clínica e sua população de pacientes é muito diferente. Isto é o que seus esforços de coleta de dados revelam:
50% dos seus pacientes fumam. 1% tem tuberculose. 5,5% têm câncer de pulmão. 45% têm alguma forma de bronquite leve ou crônica.
Você insere essas novas figuras em sua rede e agora você tem uma rede prática de Bayes, uma que realmente descreve o tipo de paciente com o qual você costuma lidar.
Então, vamos ver como usaríamos essa rede em nossa prática médica diária.
A primeira coisa que devemos notar é que a rede acima descreve um novo paciente, alguém a quem acabamos de nos encaminhar e para quem não temos nenhum conhecimento, a não ser que são da nossa população-alvo. À medida que adquirimos conhecimentos específicos para cada paciente em particular, as probabilidades na rede serão ajustadas automaticamente. Esta é a grande beleza e poder da inferência bayesiana em ação. E a grande força da abordagem da rede de Bayes é que as probabilidades que resultam em cada estágio de desenvolvimento de conhecimento são matematicamente e cientificamente sólidas. Em outras palavras, dado qualquer conhecimento que tenhamos sobre nosso paciente, baseado no melhor conhecimento matemático e estatístico até o momento, a rede nos dirá o que podemos legitimamente concluir. Esta é uma ferramenta muito poderosa, de fato. Tome um momento para pensar sobre isso. Você, como médico, não está apenas confiando em pressentimentos, ou um senso intuitivo da probabilidade de doença, como você pode ter no passado, mas, sim, em uma estimativa científica e comprovadamente precisa da probabilidade de doença, que recebe mais e mais preciso à medida que você ganha conhecimento sobre o paciente em particular, ou sobre a população específica de onde o paciente vem.
Então, vamos ver como adicionar conhecimento sobre um determinado paciente ajusta as probabilidades. Digamos que uma mulher entre, um novo paciente e começamos a conversar com ela. Ela nos diz que muitas vezes ela está com falta de ar (dispneia). Então, entramos nessa descoberta em nossa rede. Com Netica veremos, isso é tão simples quanto apontar o mouse para um nó e clicar nele uma vez, após o que uma lista de estados disponíveis aparece, e então você clica no item correto na lista. Depois de fazer isso, é assim que a rede se parece. Observe como a caixa Dispnéia está acinzentada, indicando que temos evidências de estar em um de seus estados. Neste caso, porque nosso paciente parece confiável, dizemos que estamos 100% certos de que nosso paciente tem dispnéia. É fácil com a Netica entrar em uma descoberta incerta (também chamada de verossimilhança), digamos de 90% Presente, mas vamos manter as coisas simples por enquanto.
Observe como com esse novo achado, que nosso paciente tem dispneia, que as probabilidades para todas as três doenças aumentaram. Por que é isso? Bem, como todas essas doenças têm dispnéia como um sintoma, porque nosso paciente realmente está exibindo esse sintoma, só faz sentido que nossa crença na possível presença dessas doenças aumente. Basicamente, a presença do sintoma aumentou nossa crença de que ela pode estar seriamente doente.
Vamos ver essas inferências mais de perto. O salto mais significativo é para a bronquite, de 45% para 83,4%. Por que um salto tão grande? Bem, a bronquite é muito mais comum que o câncer ou a tuberculose. Então, uma vez que temos evidências de doença pulmonar grave, torna-se nosso diagnóstico mais provável. As chances de que nosso paciente seja fumante aumentaram substancialmente de 50% para 63,4%. As chances que ela visitou recentemente na Ásia aumentaram muito ligeiramente: de 1% para 1,03%, o que é insignificante. As chances de obtermos um raio X anormal do nosso paciente também subiram marginalmente, de 11% para 16%.
Se você pensar sobre essa expansão do nosso conhecimento, é realmente muito útil. Nós só inserimos uma descoberta, a presença da Dispnéia, e esse conhecimento "propagou" ou espalhou sua influência pela rede, atualizando com precisão todas as outras crenças possíveis. Algumas de nossas crenças aumentam substancialmente, outras quase não. E a beleza disso é que as quantidades são quantificadas com precisão.
Nós ainda não sabemos exatamente o que está adoecendo nosso paciente. Nossa melhor crença atual é que ela sofre de bronquite (probabilidade de presente = 83,4%). No entanto, gostaríamos de aumentar nossas chances de um diagnóstico correto. Se pararmos aqui e diagnosticarmos ela com Bronquite e ela realmente tiver Câncer, seríamos um médico de verdade. Nós realmente precisamos de mais informações.
Então, sendo meticulosos, passamos pela nossa lista de verificação padrão de perguntas. Perguntamos se ela esteve na Ásia recentemente. Surpreendentemente, ela responde "sim". Agora, vamos ver como esse conhecimento afeta a rede.
De repente, as chances de tuberculose aumentaram substancialmente, de 2% para 9%. Note, curiosamente, que as chances de câncer de pulmão, bronquite ou de nosso paciente ser fumante diminuíram. Por que é isso? Bem, isso ocorre porque a explicação da dispneia agora é mais fortemente explicada pela tuberculose do que antes (embora a bronquite continue sendo o melhor diagnóstico candidato). E como o câncer e a bronquite são menos prováveis, o tabagismo também é menos provável. Este fenômeno é chamado de "explicando" em círculos líquidos de Bayes. Ele diz que quando você tem causas possíveis concorrentes para algum evento, e as chances de uma dessas causas aumentar, as chances das outras causas devem diminuir, já que elas estão sendo "explicadas" pela primeira explicação.
Para continuar com o nosso exemplo, suponha que façamos mais perguntas e descubramos que nosso paciente é de fato um fumante. Aqui está a rede atualizada.
Note que nossa melhor hipótese atual ainda é que o paciente sofra de bronquite e não de tuberculose ou câncer de pulmão. Mas, com certeza, solicitamos que um raio X de diagnóstico seja realizado. Digamos que o raio-x se torne normal. O resultado é:
Observe como isso confirma mais fortemente a bronquite e não confirma a tuberculose ou o câncer de pulmão.
Mas suponha que os raios X fossem anormais. O resultado é:
Observe a grande diferença. A tuberculose ou o câncer de pulmão dispararam enormemente em probabilidade. A bronquite ainda é a mais provável das três doenças separadas, mas é menor que a hipótese de combinação de tuberculose ou câncer de pulmão. Então, decidiríamos fazer mais exames, solicitar exames de sangue, biópsias de tecido pulmonar e assim por diante. Nossa rede atual de Bayes não cobre esses testes, mas seria fácil estendê-la simplesmente adicionando nós extras à medida que adquirimos novas estatísticas para esses procedimentos de diagnóstico. E não precisamos descartar nenhuma parte da rede anterior. Esta é outra característica poderosa das redes Bayes. Eles são facilmente estendidos (ou reduzidos, simplificados) para se adequar às suas necessidades em mudança e ao seu conhecimento em mudança.
Nesta seção, aprendemos que uma rede bayesiana é uma maneira matematicamente rigorosa de modelar um mundo, flexível e adaptável a qualquer grau de conhecimento que você possua, e que seja computacionalmente eficiente.
1.1.2 Auxiliando na Tomada de Decisões.
Uma coisa é prever a realidade com a maior precisão possível, mas uma extensão natural e extremamente útil disso é simplesmente pesar os estados do seu modelo com graus de "bondade" ou "maldade". Isto é, se alguns estados do mundo levam ao prazer, enquanto outros ao sofrimento, você simplesmente quer descobrir como você pode mudar o mundo para maximizar o prazer e minimizar a dor. Naturalmente, você pode usar outros termos de valor, além de prazer e dor, como dinheiro, tempo de lazer, aumento da sobrevivência e assim por diante. Existe uma ciência de tomada de decisão que mistura probabilidade com medidas de valor. É chamado Teoria da Decisão ou Teoria da Utilidade. As redes Bayes são facilmente estendidas à utilidade computacional, dado o grau de conhecimento que temos sobre uma situação, e assim elas se tornaram muito populares nos processos de decisão cívica e empresarial, tanto quanto na modelagem científica e econômica. Nós veremos vários exemplos disso mais tarde no tutorial quando usarmos o Netica para tomar decisões.
Nota sobre terminologia. Redes Bayes que são usadas estritamente para modelar a realidade são freqüentemente chamadas de "redes de crença", enquanto aquelas que também se misturam em um elemento de valor e tomada de decisão, como "redes de decisão". Naturalmente, você pode usar uma rede de crenças para tomar decisões, mas em uma verdadeira rede de decisões, a decisão correta entre as opções dadas é computada para você, por razões quantitativas. A rede em si oferece as melhores decisões. Se você optar por agir de forma diferente do que a rede sugere, deve ser porque você tem informações extras não representadas na rede, ou então você não está, de algum modo, decidindo racionalmente. É claro que isso pressupõe que uma pessoa racional desejará maximizar, prazer, dinheiro ou qualquer medida de valor que você escolha, o que é uma questão debatida entre os filósofos. Mas nós não vamos entrar nessa arena aqui.
Uma aplicação interessante de redes de decisão é em controladores robóticos. O robô não apenas calcula a melhor ação usando uma rede de Bayes, mas realmente realiza essa ação.
1.2. Por que as redes Bayes são chamadas de redes Bayes?
As redes Bayes são redes de relacionamentos, portanto redes. E eles são chamados de "Bayes", em homenagem ao reverendo Thomas Bayes, 1702-1761, um teólogo e matemático britânico que escreveu uma lei básica de probabilidade que agora é chamada de regra de Bayes.
Para quaisquer dois eventos, A e B,
'p (A | B)' como "a probabilidade de A dado que B ocorreu".
Assim, 5/8 das vezes, em Londres durante o inverno, se estiver nublado, então é chuvoso.
A regra de Bayes pode ser estendida para múltiplas variáveis com múltiplos estados. Essas equações são muito mais complexas de serem escritas e difíceis de calcular à mão, mas fáceis de resolver por computadores, o que é uma das razões pelas quais programas como o Netica são tão valiosos.
1.3 Para que são usadas as redes Bayes?
As redes Bayes podem ser usadas em qualquer classe de vida onde a modelagem de uma realidade incerta esteja envolvida (e, portanto, probabilidades estejam presentes) e, no caso de redes de decisão, onde seja útil tomar decisões inteligentes, justificáveis e quantificáveis que maximizem a vida. chances de um resultado desejável. Em suma, as redes Bayes são úteis em todos os lugares.
A rede da Ásia é uma típica rede de diagnóstico.
Os dois nós superiores são para predisposições que influenciam a probabilidade das doenças. Essas doenças aparecem na linha abaixo deles. Na parte inferior são sintomas das doenças. Em grande medida, os elos da rede correspondem a causação. Essa é uma estrutura comum para redes de diagnóstico: nós de predisposição na parte superior, com links para nós representando condições internas e estados de falha, que, por sua vez, possuem links para nós para observáveis. Frequentemente, existem muitas camadas de nós representando condições internas, com links entre elas representando seus inter-relacionamentos complexos.
O diagnóstico pode ser médico ou mecânico. Muitas aplicações industriais de redes Bayes são para determinar a chance de falha do componente. A indústria nuclear, a indústria da aviação, a indústria da construção civil, em qualquer lugar onde vidas ou dinheiro estão em jogo, são todos domínios naturais para a aplicação de redes Bayes.
Como as redes Bayes representam naturalmente cadeias causais, ou seja, os links podem ser relações de causa e efeito entre nós pai e filho, você pode fornecer evidências de eventos passados e, em seguida, executar a rede Bayes para ver quais serão os resultados futuros mais prováveis. As redes Bayes são usadas para previsão do tempo, previsão do mercado de ações, modelagem ecológica, etc., para fazer tais previsões. Sua força é que eles são muito robustos para a falta de informações e farão a melhor previsão possível com qualquer informação que esteja presente.
1.3.3 Gestão de risco financeiro, alocação de carteira, seguro.
Oficiais do banco, subscritores de seguros, consultores de investimento, todos precisam tomar decisões difíceis, onde muitas vezes todos os fatores que influenciam um caso são desconhecidos. Com as redes Bayes, eles ainda são capazes de tomar decisões inteligentes, quantificáveis e justificáveis, com qualquer informação disponível.
1.3.4 Modelando ecossistemas.
As redes Bayes estão sendo muito utilizadas na modelagem de ecossistemas. Freqüentemente, especialistas em peixes e animais selvagens enfrentam a difícil tarefa de sugerir políticas de uso da terra. Eles devem equilibrar os interesses da indústria, comunidade e natureza e precisam de argumentos cientificamente sólidos e justificáveis para respaldar suas análises e decisões. Com as redes Bayes, eles podem modelar um ecossistema e derivar probabilidades sólidas sobre se certas espécies estão em risco por certos desenvolvimentos industriais. Por exemplo, abaixo está uma rede de Bayes que mostra como a população de morcegos orelhudos de Townsend está ligada a vários habitats disponíveis, a sua temperatura durante os tempos de reprodução ou os tempos de hibernação, e assim por diante. É tirado de Bruce G. Marcot, do Serviço Florestal dos EUA, em seu artigo: Usando Redes de Crenças Bayesianas para Avaliar a Viabilidade da População de Peixes e Animais Selvagens sob Alternativas de Gerenciamento de Terras de uma Declaração de Impacto Ambiental. Uma versão on-line pode ser encontrada aqui.
1.3.5 Fusão do sensor.
A fusão de sensores refere-se à classe de problemas em que dados de várias fontes devem ser integrados para chegar a uma interpretação de uma situação. Por exemplo, dados de várias câmeras tiradas de vários ângulos e resoluções podem precisar ser integrados para determinar o que está em uma cena. Ou sensores industriais podem, cada um, relatar o estado de uma máquina, e somente juntando todas as suas leituras juntas, obtém-se a imagem completa. Muitas vezes, em problemas de fusão de sensores, é preciso lidar com diferentes resoluções temporais ou espaciais, e é preciso resolver o "problema de correspondência", ou seja, decidir quais eventos de um sensor correspondem aos mesmos eventos relatados nos outros sensores. Como as redes Bayes são robustas à falta de dados, elas combinam bem as informações. Assim, considerando que cada sensor tem apenas uma chance limitada de fornecer uma interpretação correta, a combinação de todas as chances dos sensores normalmente aumenta a probabilidade de uma interpretação válida. Na área de visão computadorizada e robótica, as redes Bayes têm sido amplamente utilizadas. Da mesma forma, para a compreensão da imagem sonar.
1.3.6 Monitoramento e alerta.
Uma extensão para diagnosticar um sistema é decidir quando enviar um alerta de que o sistema está em um estado não íntegro. Freqüentemente há um custo severo se o sistema falhar e também um custo severo para enviar um alarme falso (os jatos são embaralhados, as linhas de montagem são desligadas, etc.). As redes Bayes, como redes de decisão, são naturais para tomar a melhor decisão possível com os dados do sensor disponíveis. O sistema Vista de Eric Horvitz, "é uma rede de decisão que foi usada no Centro de Controle da Missão da NASA em Houston ou vários anos. O sistema usa redes bayesianas para interpretar telemetria ao vivo e fornece conselhos sobre a probabilidade de falhas alternativas dos sistemas de propulsão do ônibus espacial". " (ref # 1)
Os kits de ferramentas da API Netica oferecem todas as ferramentas necessárias para construir esses aplicativos.
As redes Bayes têm o potencial de serem aplicadas em praticamente todos os lugares.
Algumas pessoas se esquivaram de usar redes de Bayes porque imaginam que funcionarão bem, se as probabilidades sobre as quais se baseiam forem exatas. Isso não é verdade. Acontece com muita frequência que probabilidades aproximadas, mesmo as subjetivas que são adivinhadas, dão resultados muito bons. As redes Bayes são geralmente bastante robustas para um conhecimento imperfeito. Muitas vezes, a combinação de várias linhas de conhecimento imperfeito nos permite tirar conclusões surpreendentemente fortes.
1.4.2 Provas causais causais são mais fáceis de estimar do que o inverso.
Estudos mostram que as pessoas são melhores em estimar probabilidades "na direção para frente". Por exemplo, os médicos são muito bons em dar as estimativas de probabilidade para "se o paciente tiver câncer de pulmão, quais são as chances de seu raio X ser anormal?", E não o inverso, "se o raio X é anormal, o que as chances de câncer de pulmão é a causa? " (Jensen96)
Rede bayesiana que modifica a variação do preço das ações.
Tomando uma sugestão do pessoal de biologia de sistemas, decidi modelar interações de mudança de preço de ações usando uma rede bayesiana dinâmica. Para esta análise, concentrei-me nos membros do Dow Jones Industrial Average (DJIA) que estão listados na Bolsa de Nova York (NYSE).
Redes Bayesianas.
Uma rede Bayesiana é um grafo direcionado acíclico, onde os nós são variáveis aleatórias e as arestas indicam relações probabilísticas condicionais entre os nós. Por exemplo, um determinado nó pode representar a alteração percentual no preço de um estoque, e as bordas que entram no nó podem representar fatores que influenciam o valor do nó.
A estrutura do gráfico pode ser especificada por um pesquisador experiente, ou pode ser aprendida a partir de dados usando um algoritmo de busca. Vamos demonstrar o último caso abaixo. Ao aprender com dados de séries temporais, o gráfico não precisa mais ser acíclico e o gráfico resultante é chamado de rede bayesiana dinâmica. A razão pela qual o requisito acíclico é descartado é que um nó pode influenciar um segundo nó em um ponto do tempo, enquanto o segundo nó influencia o primeiro nó em outro ponto no tempo. Essa é uma ocorrência comum em circuitos biológicos que contêm loops de feedback.
O seguinte é uma rede bayesiana dinâmica aprendida a partir de um ano de ações da NYSE DJIA & # 8217; mudanças diárias nos preços de fechamento. O método usado para aprender a rede a partir dos dados é descrito abaixo.
A partir disso, vemos que a probabilidade associada à variação diária do preço de fechamento do estoque está condicionada à mudança diária no preço de fechamento do estoque V e, subsequentemente, à probabilidade associada à mudança diária do estoque XOM no preço de fechamento. o preço de fechamento está condicionado à mudança diária no preço de fechamento do JNJ. Como essa é uma rede Bayesiana dinâmica, também vemos pares como XOM e UTX, que são mutuamente dependentes um do outro. Isso resulta do fato de que o primeiro estoque do par pode influenciar o segundo em uma data, e o segundo pode influenciar o primeiro em uma data diferente.
Estes resultados são pura aprendizagem de máquina não supervisionada; Ainda não analisei se as interações propostas fazem sentido economicamente. Tal análise será necessária para validar o método.
O gráfico mostrado acima foi gerado pelo GraphViz.
O seguinte descreve o procedimento usado para aprender a rede acima a partir dos dados. O código Python que implementa o procedimento é anexado ao final deste post.
Comecei com uma lista de cotações diárias de todas as ações listadas na NYSE, por exemplo,
Em seguida, excluí todos os símbolos não encontrados no DJIA e todas as datas fora do intervalo de 29 de outubro de 2013 a 28 de outubro de 2014. Também descartei os preços abertos, altos, baixos e ajustados da estrutura de dados acima, bem como o volume , já que estamos apenas modelando a mudança no preço de fechamento.
Em seguida, classifiquei o preço de fechamento de cada símbolo por data e calculei uma alteração percentual no preço de fechamento & # 8221; séries cronológicas para cada símbolo da série temporal do preço de fechamento classificado.
Eu então & # 8220; discretizado & # 8221; os dados da seguinte forma: Para cada dia de negociação na série temporal, calculei a variação percentual média no preço de fechamento em todas as ações. Usando isso, criei uma nova série temporal para cada ação, atribuindo um zero à data se a alteração percentual estivesse abaixo da média diária e uma à data se a alteração percentual fosse igual ou maior que a média diária. Isso produziu uma série de uns e zeros para cada ação.
Realizei este processo de discretização para simplificar meu aprendizado de procedimentos de aprendizado de rede bayesiana, tirando a idéia da modelagem de expressão gênica onde a indicação se um gene é expresso ou não pode ser dependente de seu nível de expressão em relação à expressão de um gene de controle nível. No entanto, um modelo mais sofisticado poderia ter usado uma discretização trinitária ou nenhuma discretização.
Eu sou o próximo & # 8220; transposto & # 8221; as séries temporais discretizadas da seguinte forma: Coloque cada série temporal para cada ação como uma linha em uma matriz e, em seguida, transponha a matriz para que cada ação seja uma coluna e cada linha seja um estado do sistema & # 8220; para as ações em um determinado dia. (O estado do sistema & # 8220; & # 8221; é composto de zeros e uns que indicam o movimento da variação percentual no preço, por ação). Eu atribuí uma probabilidade (daqui por diante chamada de probabilidade de estado base & # 8221;) a cada um desses estados do sistema como um dividido pelo número total de estados do sistema, e então verificado por estados do sistema duplicados, ajustando a probabilidade do estado base adequadamente .
Em seguida, criei um gráfico de rede bayesiano inicial, atribuindo um nó a cada estoque NYSE DJIA e sem arestas, conforme mostrado pela seguinte imagem networkx:
O procedimento de aprendizado aplica um algoritmo guloso para procurar um gráfico ideal: a mutação do gráfico (adicionar, reverter ou remover aleatoriamente uma borda) e pontuá-la com os dados. Se a pontuação do gráfico com mutação exceder a pontuação do gráfico anterior, o novo gráfico será retido e será mutado até que um determinado número de iterações seja executado. O procedimento de pontuação é descrito abaixo:
O teorema de Bayes fornece um meio de relacionar a probabilidade de observar dados, dada uma estrutura de gráfico, com a probabilidade de observar um dado dado gráfico.
Nesta equação, P (Data) é uma constante que não importa porque estamos simplesmente tentando maximizar P (Graph | Data). O P anterior (Gráfico) é uma função da estrutura do gráfico que usamos para penalizar gráficos com muitas arestas sobre gráficos com menos arestas, buscando o gráfico que fornece a explicação mais simples dos dados. Tomando o log de cada lado nos dá a equação que usamos para marcar um gráfico dado os dados.
Ficamos com a necessidade de calcular P (Graph | Data), dada pela seguinte equação.
Aqui t = 1 até T são os pontos de tempo individuais e i = 1 até n são os nós (estoques). Para cada ponto de tempo t, calculamos a probabilidade de Xi, dado o estado de seus nós principais no gráfico. Isso é calculado usando as probabilidades do estado base definidas acima e o estado do sistema no ponto de tempo.
Mudei o gráfico como descrito acima 10.000 vezes, marcando cada iteração e comparando-o com a pontuação mais alta anterior, que gerou a rede mostrada na seção Resultados. No entanto, para o gráfico final, calculei P (Data | Graph) para cada ponto de tempo e descobri que as probabilidades resultantes eram muito pequenas:
Essas baixas probabilidades me fazem desconfiar da rede resultante. Novamente, a análise de como as ações específicas que o algoritmo uniu se relacionam economicamente é necessária para avaliar o método.
Redes bayesianas bloqueadas para negociação algorítmica.
Destaques.
Apresentamos um novo modelo gráfico probabilístico que chamamos de redes bayesianas bloqueadas.
É apresentado um algoritmo semi-automático que pode aprender uma rede bayesiana bloqueada.
As redes bayesianas bloqueadas são aplicadas ao domínio de negociação algorítmica.
Mostramos que as redes bayesianas bloqueadas podem melhorar os resultados em comparação a um benchmark padrão.
Nós comparamos redes bayesianas bloqueadas a outros modelos e formalismos comuns.
Este artigo introduz um novo modelo gráfico probabilístico chamado rede bayesiana bloqueada (GBN). Este modelo evoluiu a partir da necessidade de representar processos que incluem várias fases distintas. Em essência, um GBN é um modelo que combina várias redes Bayesianas (BNs) de tal maneira que elas podem estar ativas ou inativas durante as consultas ao modelo. Usamos objetos chamados portões para combinar BNs e ativá-los e desativá-los quando instruções lógicas predefinidas são satisfeitas. Neste artigo, apresentamos também um algoritmo para aprendizado semiautomático de GBNs. Usamos o algoritmo para aprender GBNs que produzem decisões de compra e venda para uso em sistemas de negociação algorítmica. Mostramos como os GBNs aprendidos podem reduzir substancialmente o risco em relação ao capital investido, ao mesmo tempo em que geram recompensas similares ou melhores, em comparação com a estratégia buy-and-hold da estratégia de investimento de referência. Também exploramos algumas diferenças e semelhanças entre GBNs e outros formalismos relacionados.
Redes Bayesianas: Um Guia Prático para Aplicações.
Olivier Pourret (Editor), Patrick Na & # 239; m (Co-Editor), Bruce Marcot (Co-Editor)
Descrição.
Este livro fornece uma introdução geral às redes Bayesianas, definindo e ilustrando os conceitos básicos com exemplos pedagógicos e vinte estudos de casos reais extraídos de uma variedade de campos, incluindo medicina, computação, ciências naturais e engenharia.
Projetado para ajudar analistas, engenheiros, cientistas e profissionais que participam de processos de decisão complexos para implementar com sucesso redes bayesianas, este livro prepara os leitores com métodos comprovados para gerar, calibrar, avaliar e validar redes bayesianas.
Fornece as ferramentas para superar desafios práticos comuns, como o tratamento de dados de entrada ausentes, interação com especialistas e tomadores de decisão, determinação da granularidade ideal e tamanho do modelo. & # 160; Destaca os pontos fortes das redes bayesianas ao mesmo tempo que apresenta uma discussão sobre suas limitações. Compara as redes bayesianas com outras técnicas de modelagem, como redes neurais, lógica difusa e árvores de falhas. Descreve, para facilidade de comparação, as principais características dos principais pacotes de software de rede bayesiana: Netica, Hugin, Elvira e Discoverer, do ponto de vista do usuário. Oferece uma perspectiva histórica sobre o assunto e analisa direções futuras para pesquisa.
Escrito por especialistas líderes com experiência prática de aplicação de redes bayesianas em finanças, bancos, medicina, robótica, engenharia civil, geologia, geografia, genética, ciência forense, ecologia e indústria, o livro tem muito a oferecer aos profissionais e pesquisadores envolvidos em estatística análise ou modelagem em qualquer um desses campos.
Pares de Negociação: Um Exemplo Bayesiano.
Preço de lista: $ 19.95 impressão, $ 9.99 ebook.
Formato: print / Kindle / pdf, 71 páginas.
ISBN: 9781887187152 (brochura), 9781887187114 (ebook)
Data de publicação: ago 2012.
Você já se perguntou se a análise bayesiana pode ser aplicada ao mercado de ações? Nós fizemos e partimos para investigar.
Este livro de 71 páginas mostra como encontrar relações entre ações ou fundos negociados em bolsa (ETFs) usando análise bayesiana.
Uma relação que a maioria dos traders provavelmente conhece é a correlação linear. Isso às vezes é usado como base para a negociação de pares. Mas a correlação linear é apenas uma das maneiras pelas quais ações ou ETFs podem ser relacionados.
A análise que apresentamos neste livro pode ser usada para explorar quase todo tipo de relacionamento que possa existir entre ações ou ETFs. The book will show how to calculate the probability of a stock or ETF ending the day up or down based on what other stocks or ETFs are doing.
A probability is more useful than a simple up or down signal. It quantifies the certainty of a prediction and allows a trader to take a position consistent with a given level of risk.
Any active trader should find the techniques presented in this book useful. We are only going to examine the relationships in one small group of ETFs as an example of what is possible but the same techniques will work for any set of stocks, ETFs, or even bonds.
The tool we use to calculate the probability of a positive or negative return on a stock or ETF is called a Bayesian classifier. It is called a classifier because it calculates probabilities for only two discrete outcomes: positive or negative.
The method we use to calculate these probabilities is called Bayes' Theorem.
In this book we not only show you the results of our analysis, but we show you HOW to do the analysis. AND we give you the Bayesian classification software (available here) that we have developed FREE of charge. The software alone is worth several times that of this book.
You can get this book now at Amazon as a Kindle ebook or paperback.
You can also get this book instantly as a pdf from Gumroad.
By the way, our software is general enough to be able to classify things other than just stocks and ETFs. All you need is to collect data that you think might be relevant to classify your object of interest. The software will allow you to determine whether you have data with the power to classify. The book will show you how to do all this.
Sobre os autores: Stefan Hollos e J. Richard Hollos são físicos por treinamento e gostam de encontrar padrões e informações em dados. They are the authors of Probability Problems and Solutions, Combinatorics Problems and Solutions, The Coin Toss: Probabilities and Patterns, Bet Smart: The Kelly System for Gambling and Investing, as well as Simple Trading Strategies That Work, and are brothers and business partners at Exstrom Laboratories LLC in Longmont, Colorado. O site para o trabalho relacionado com financiamento quantitativo é o QuantWolf.
Índice.
Disclaimer Section 1 Introduction Section 2 Preparing the Data Section 3 Visually Identifying the Classification Power of the Data Section 4 Running class2kde 4.1 From output probability to binary classification 4.2 Classifying SPY with each of the other ETFs individually 4.2.1 ROC curves for the other ETFs individually classifying SPY 4.2.2 Statistics for the other ETFs individually classifying SPY 4.3 Classifying SPY with pairs of the other ETFs 4.4 Classifying SPY with 3 of the other ETFs 4.5 Classifying SPY with 4 of the other ETFs 4.6 Summary of results Section 5 Using the Results for Trading Section 6 Conclusions.
Envie seus comentários para: Richard Hollos (richard [AT] exstrom DOT com)
A hybrid stock trading framework integrating technical analysis with machine learning techniques.
In this paper, a novel decision support system using a computational efficient functional link artificial neural network (CEFLANN) and a set of rules is proposed to generate the trading decisions more effectively. Here the problem of stock trading decision prediction is articulated as a classification problem with three class values representing the buy, hold and sell signals. The CEFLANN network used in the decision support system produces a set of continuous trading signals within the range 0–1 by analyzing the nonlinear relationship exists between few popular technical indicators. Further the output trading signals are used to track the trend and to produce the trading decision based on that trend using some trading rules. The novelty of the approach is to engender the profitable stock trading decision points through integration of the learning ability of CEFLANN neural network with the technical analysis rules. For assessing the potential use of the proposed method, the model performance is also compared with some other machine learning techniques such as Support Vector Machine (SVM), Naive Bayesian model, K nearest neighbor model (KNN) and Decision Tree (DT) model.
Peer review under responsibility of China Science Publishing & Media Ltd.
Comments
Post a Comment