Friday 25 August 2017

Mudança Média De Kalman


Eu tentei entender os filtros de Kalman. Aqui estão alguns exemplos que me ajudaram até agora: estes usam o algoritmo para estimar alguma tensão constante. Como poderia usar um filtro de Kalman para isso, seja melhor do que apenas manter uma média em execução. Esses exemplos são apenas casos de uso simplificados do filtro (se assim for, o que é um exemplo onde uma média em execução não é suficiente) Por exemplo, considere o seguinte programa Java e saída . A saída de Kalman não corresponde à média, mas eles estão muito próximos. Por que escolher um sobre o outro SIM é um exemplo simplificado, mais enganoso do que educar. Em caso afirmativo, qual é um exemplo em que uma média em execução não é suficiente. Qualquer caso quando o sinal está mudando. Imagine o veículo em movimento. Calculando média significa que assumimos o valor do sinal a partir de qualquer momento no tempo para ser igualmente importante. Obviamente, está errado. A intuição diz que a última medida é mais confiável do que a de uma hora antes. Um exemplo muito bom para experimentar é da forma frac. Tem um estado, então as equações não serão complicadas. Em tempo discreto, pode ser assim: há o código que o usa (Desculpe o seu Matlab, não usei o Python recentemente): Existem algumas dicas: sempre configure Q e R maiores do que zero. Caso Q 0 é um exemplo muito MAU. Você diz ao filtro: não há nenhum distúrbio que atua sobre a planta, então, depois de um tempo, o filtro só criará suas predições com base no modelo, em vez de olhar para as medidas. Matemática falando Kk para 0. Como sabemos, os modelos não descrevem a realidade perfeitamente. Experimente com alguma imprecisão do modelo - modelError Altere a adivinhação inicial do estado (xpost (1)) e veja o quão rápido ele converge para diferentes P, R e Ppost inicial (1) Verifique como o ganho de filtro K muda ao longo do tempo dependendo de Q e R respondeu Oct 3 12 às 22:37 Na verdade, eles são o mesmo em certo sentido, vou mostrar o seu algo atrás do filtro de Kalman e você ficará surpreso. Considere o seguinte problema mais simples de estimação. Recebemos uma série de medidas z1, z2, cdots, zk, de uma constante constante desconhecida x. Suponhamos que o modelo aditivo comece zi x vi, i1,2, cdots, k (1) fim onde vi são ruídos de medição. Se nada mais for conhecido, todos concordarão que uma estimativa razoável de x, dado as medições k, pode ser dada por começar o k kk soma. Agora podemos reescrever acima da equação (2) por simples manipulação algébrica para começar o chapéu K hat frac (zk-hat) (3) end Eq. (3) que é simplesmente a Eq. (2) expressa em forma recursiva tem uma interpretação interessante. Ele diz que a melhor estimativa de x após a medição k é a melhor estimativa de x após as medições de k-1 mais um termo de correção. O termo de correção é a diferença entre o que você espera medir com base na medição do k-1, ou seja, e o que você realmente mede zk. Se rotularmos a correcção de fracções como Pk, então, de novo, simplesmente manipulação algébrica pode escrever a forma recursiva de Pk como começar PkP - P (P 1) P Acredite ou não, as Eqs (3-4) podem ser reconhecidas como a filtragem de Kalman Equações para este caso simples. Qualquer discussão é bem-vinda. Para dar algum sabor, veja esta lista de livros: Tenho o GrewalAndrews com o MatLab, também o GrewalWeillAndrews sobre o GPS. Esse é o exemplo fundamental, o GPS. Aqui é um exemplo simplificado, eu entrevistei por um trabalho onde eles estavam escrevendo software para acompanhar todos os caminhões entrando e saindo de um enorme pátio de entrega, para Walmart ou similares. Eles tinham dois tipos de informação: com base na colocação de um dispositivo RFID em cada caminhão, eles tinham bastante informações sobre a direção que cada caminhão estava indo com as medidas possíveis muitas vezes por segundo, mas eventualmente crescendo em erro, assim como qualquer aproximação essencialmente ODE. Em uma escala de tempo muito mais longa, eles poderiam assumir a posição GPS de um caminhão, o que dá uma posição muito boa e imparcial, mas tem uma grande variação, você obtém posição dentro de 100 metros ou algo assim. Como combinar estes É o principal uso do filtro Kalman, quando você tem duas fontes de informação que fornecem tipos de erro grosseiramente opostos. Minha idéia, que eu teria dito a eles se eles me pagassem, era colocar um dispositivo em cada semi onde o táxi encontra o trailer, dando o atual raio de giro. Isso poderia ter sido integrado para fornecer informações muito boas a curto prazo sobre a direção em que o caminhão estava indo. Bem, é o que eles fazem com quase tudo em movimento hoje em dia. Aquele que eu pensava ser fofo era fazendas na Índia, rastreando onde os tratores estavam. O corpo em movimento não precisa se mover rapidamente para fazer as mesmas perguntas. Mas, é claro, o primeiro grande uso foi o projeto da NASA Apollo. Meu pai conheceu Kalman em algum momento. Papai trabalhou principalmente na navegação, inicialmente mísseis para o exército, depois submarinos para a Marinha. Respondeu 22 de julho 12 em 19: 25 Filme Kalman - Nova média móvel Registrado em maio de 2008 Status: Membro 58 Posts Anexado é a versão cumprida para o quadro de tempo múltiplo e o quadro de tempo único Kalman Filter. Basta pensar nisso como um tipo diferente de média móvel exponencial. As configurações são diretas. Para AppliedPrice, use o seguinte: 0 - Open Price 1 - Low Price 2 - High Price 3 - Close Price Eu não tenho outros tipos de preços adicionados, e devido à natureza do filtro, não vou adicionar mais nenhum. Gostaria de mencionar que o período é um pouco diferente do que você está acostumado nas MAs. Ainda é tecnicamente o mesmo que o período em uma EMA, mas devido à natureza do filtro de Kalman, o período não tem o mesmo efeito que em outras médias móveis. Você pode brincar com isso, mas uma sugestão pessoal é manter o período em 20,50,100 ou superior. O Kalman está configurado para algumas configurações genéricas no momento, mas se alguém tiver a ambição de mexer com as matrizes que usa para os cálculos, avise-me e vou atirar o código no seu caminho. Uma vez que, como você vai notar, o Kalman normal realmente não pode ser um indicador de tendência de longo prazo como 200 SMA, você pode usar a versão múltipla do tempo para executar o Kalman em intervalos de tempo mais longos e usá-lo como um indicador de Quotstra. Pessoalmente Eu prefiro isso, pois cria menos lag e simula o quotlooking no gráfico mais longo para garantir que os sinais correspondam à teoria. Uma idéia é traçar um Daily ou H4 Kalman em um gráfico de 15 ou 30 min, e usá-lo para jogar fora a tendência de longo prazo para esse dia. Eu acabei de depurar o indicador hoje e, embora altamente útil, esta versão do indicador não é realmente o meu foco agora. Eu trabalho em otimizar isso para minhas necessidades específicas, o que envolve algum trabalho de matemática pesado, mas esta versão é configurada para ser um manequim quotmiddle na batalha do tempo de resposta e suavidade que os MAs sempre experimentam. Além disso, desde que acabei de terminar hoje, não tenho uma estratégia que esteja sendo aplicada atualmente, e não tenho uma estrada dourada para riquezas apenas usando um filtro mais suave. Use o filtro como quiser, talvez, se você brincar com ele e se tornar criativo, talvez possa encontrar seu caminho para sua próxima estratégia de negociação. Diferentes períodos de Kalman - Blue: 500 Kalman - Light Blue: 200 Kalman - Green: 100 Kalman - Red: 50 Kalman - Orange: 20 Kalman i295.photobucketalbumsm. Manperiods. gif Kissn até o topo Os membros devem ter no mínimo 0 comprovantes para postar neste tópico. 1 comerciante visualizando agora Forex Factoryreg é uma marca comercial registrada. Este tópico pergunta quando um filtro de Kalman de tempo discreto é melhor diferente de uma média móvel simples das observações: não há resposta definitiva. Alguém pode dar um exemplo definitivo onde o filtro kalman, idealmente no caso 1D simples, faz algo diferente (e melhor) do que manter uma média móvel e indicar as condições quando o filtro kalman se reduziria para uma média móvel simples. O filtro de kalman não pesa todos os pontos de dados igualmente porque sua variação é inicialmente menor e melhora com o tempo. Mas parece que isso só interessa perto de observações iniciais e que, uma vez que a variância convergiu, o filtro kalman pesaria cada observação igualmente, assim como uma média móvel, então não veja quando as duas são diferentes e porque quando o filtro faria melhor. Perguntou 17 de fevereiro 15 às 23:52 como a primeira resposta (com a maioria dos votos) diz, o filtro kalman é melhor em qualquer caso quando o sinal está mudando. Observe a declaração do problema Estes usam o algoritmo para estimar alguma tensão constante. Como poderia usar um filtro de Kalman para isso, seja melhor do que apenas manter uma média em execução. Esses exemplos, apenas os casos de uso simplificados do filtro, usando um filtro kalman para estimar uma tensão constante é definitivamente, o excesso de velocidade. Nesse problema particular, é melhor usar a média de corrida, que sabemos ser o melhor estimador para distribuições Gaussianas. Neste exemplo, a tensão medida é a tensão real V, mas com algum ruído tipicamente modelado como 0 Gaussiano médio (ruído branco). Para que nossas medidas sejam gaussianas com meanV e sigmasigma noise. O filtro kalman é mais adequado para estimar coisas que mudam ao longo do tempo. O exemplo mais tangível é o rastreamento de objetos em movimento. Vamos imaginar lançar uma bola, sabemos que vai fazer um arco parabólico, mas o que nossos estimadores mostrarão Um filtro de Kalman será muito próximo da trajetória atual porque diz que a medida mais recente é mais importante do que as mais velhas (quando a covariância É baixo, isso é). A média de corrida leva todas as medidas igualmente a trajetória da bola azul, a média de corrida vermelha (desculpe, não kalman, se eu tiver tempo de jogá-lo lá, se eu tiver tempo, mas eu me aproximaria muito da linha azul assumindo que você modelou o sistema bem ) O filtro kalman, por outro lado, diz que, se nossa convarição e residual fossem pequenos (o que significa que nós tínhamos uma boa estimativa), então vamos ficar com a estimativa anterior e ajustá-lo um pouco com base no residual (ou nossa estimativa erro). Agora, como nosso xhat kk é muito próximo ao estado atual, quando fazemos a próxima atualização, usaremos um estado do sistema que corresponda ao estado atual. No x30, a média de corrida diz, a condição inicial y (0) é tão importante como y (29), é isso e você comete um enorme erro. O filtro kalman respondeu por isso. Ele disse que desde o nosso erro a última vez foi enorme, vamos fazer uma mudança drástica na nossa estimativa (o nosso xhat), então, quando a usaremos para a próxima atualização, estará mais perto do que realmente está acontecendo. Espero que isso faça algum sentido. Eu apenas notei Sua pergunta pergunta sobre uma média móvel vs kalman. Eu respondi executando avg vs kalman (esse é o tópico do link que você forneceu) Apenas para adicionar um pouco mais de informações especificamente para a média móvel (com janelas). A média móvel é um melhor estimador da mudança de valores. Uma vez que só leva em consideração amostras mais recentes. Infelizmente, tem um atraso associado a ele, especialmente em torno da mudança de derivativos (Apenas olhe perto de t30, onde a derivada vai de positivo para negativo). Isso ocorre porque a média é lenta para ver a flutuação. O que normalmente é o motivo pelo qual a usamos, para remover a flutuação (ruído). O tamanho da janela também desempenha um papel. Uma janela menor geralmente está mais próxima dos valores medidos, o que faz sentido e soa bem, certo. A desvantagem disso é se você tiver medições barulhentas, uma pequena janela significa que mais ruído aparece mais na saída. Vamos ver a outra questão novamente, medições com média .5, sigma .1 z 0.3708435, 0.4985331, 0.4652121. A média das primeiras 3 amostras é 0.4448629, não exatamente perto do valor esperado .5. Isso mostra novamente que, com a janela menor, o ruído tem um efeito mais profundo na saída. Então, logicamente, nosso próximo passo é levar janelas maiores, para melhorar nossa imunidade ao ruído. Bem, as janelas maiores são ainda mais lentas para refletir as mudanças reais (novamente, ver o t30 no meu gráfico) e o caso mais extremo de janelas é basicamente a média de corrida (o que já sabemos é ruim para a mudança de dados) Agora, de volta ao mágico Filtro kalman. Se você pensa sobre isso, é semelhante a uma média de janela de amostra de 2 amostras (similar não o mesmo). Olhe para X kk na etapa de atualização, ele leva o valor anterior e adiciona uma versão ponderada da amostra atual. Você pode pensar, bem, o que diz respeito ao ruído? Por que não é suscetível ao mesmo problema que a média de janelas com um pequeno tamanho de amostragem Como o filtro kalman leva em consideração a incerteza de cada medida. O valor de ponderação K (ganho de kalman) pode ser, no entanto, como uma relação entre a covariância (incerteza) de sua estimativa e a covariância (incerteza) da estimativa atual (na verdade, é o residual, mas é mais fácil pensar nisso assim) . Então, se a última medida tiver muita incerteza, K diminui e, portanto, a amostra mais recente desempenha um rolo menor. Se a última medida tiver menos incerteza do que a previsão, k aumenta, e agora a nova informação desempenha um rolo maior na próxima estimativa. Então, mesmo com um pequeno tamanho de amostra, o filtro kalman ainda está bloqueando muito o ruído. De qualquer forma, espero que responda a pergunta de avg vs kalman com janelas agora respondidas 18 de fevereiro 15 às 3:34 Outra tomada: O Filtro Kalman permite que você adicione mais informações sobre como funciona o sistema que você está filtrando. Em outras palavras, você pode usar um modelo de sinal para melhorar a saída do filtro. Claro, um filtro de média móvel pode dar resultados muito bons quando você espera uma saída próxima a constante. Mas assim que o sinal que você está modelando é dinâmico (pense em medições de fala ou posição), então o filtro de média móvel simples não mudará rapidamente (ou em tudo) em comparação com o que o Filtro de Kalman fará. O filtro de Kalman usa o modelo de sinal, que captura seu conhecimento de como o sinal muda, para melhorar sua saída em termos da variância da verdade. Respondeu 18 de fevereiro às 13:11

No comments:

Post a Comment