Friday 23 February 2018

Kalman filter moving average matlab


Este tópico pergunta quando um filtro Kalman de tempo discreto é melhor / diferente de uma média móvel simples das observações: não há resposta definitiva. Pode alguém dar um exemplo definitivo onde o filtro kalman, idealmente em 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 seria reduzir a uma simples média móvel um pensamento é que a Kalman filtro não iria pesar todos os pontos de dados igualmente porque sua variação é inicialmente menor e melhora com o tempo. Mas parece que isso só importa perto das observações iniciais e que, uma vez que a variância converge, o filtro kalman pesa cada observação igualmente igual a uma média móvel, então não veja quando os dois são diferentes e porque / quando o filtro faria melhor . Perguntou Feb 17 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 ser melhor do que apenas manter uma média em execução Estes exemplos apenas casos de uso simplificado do filtro usando um filtro kalman para estimar uma tensão constante é definitivamente, overkill. Nesse problema específico, é melhor usar a média corrente, que sabemos ser o melhor estimador para as 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). De modo que nossas medidas são Gaussian com meanV, e sigmasigma ruído. O filtro kalman é mais adequado para estimar as coisas que mudam ao longo do tempo. O exemplo mais tangível é o rastreamento de objetos em movimento. Vamos imaginar jogando uma bola, sabemos que fará um arco parabólico, mas o que nossos estimadores mostrarão? Um filtro de Kalman será muito próximo da trajetória real porque diz que a medida mais recente é mais importante do que os mais antigos (quando a covariância É baixo que é). A média de corrida leva todas as medições igualmente trajetória azul-bola, vermelho-running média (desculpe não kalman se eu tiver tempo mal jogá-lo lá se eu tiver tempo, mas me faria muito mais perto da linha azul supondo que você modelou o sistema bem ) O filtro kalman, por outro lado, diz, se a nossa convariância e residual eram pequenas (ou seja, tivemos uma boa estimativa), então vamos ficar com a estimativa anterior e tweak-lo um pouco com base no residual (ou a nossa estimativa erro). Agora, uma vez que o nosso xhat kk está muito próximo do estado real, quando fizermos a próxima atualização, usaremos um estado do sistema que corresponda ao estado real. Em x30, a média de execução diz, a condição inicial y (0) é tão importante quanto y (29), isso é isso, e você recebe um erro enorme. O filtro kalman foi responsável por isso. Disse desde que nosso erro a última vez era enorme, deixa para fazer uma mudança drástica a nossa estimativa (nosso xhat) assim que quando nós o usamos para a actualização seguinte, estará mais perto do que está acontecendo realmente eu espero que faça algum sentido que eu apenas observei Sua pergunta pergunta sobre uma média móvel vs kalman. Eu respondi correndo avg vs kalman (que é o tema do link que você forneceu) Apenas para adicionar um pouco mais de informações especificamente para o movimento (janelas) média. A média móvel é um melhor estimador de mudança de valores. Uma vez que apenas leva em conta amostras mais recentes. Infelizmente, ele tem um atraso associado a ele, especialmente em torno de mudar derivados (Basta olhar perto t30, onde a derivada está indo de positivo para negativo). Isso ocorre porque a média é lento para ver a flutuação. Que é tipicamente por isso que usá-lo, 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ê tem medidas barulhentas, uma pequena janela significa que mais ruído aparece mais na saída. Vamos olhar para as outras perguntas novamente medições com média .5, sigma .1 z 0,3708435, 0,4985331, 0,4652121. A média das três primeiras amostras é 0,4448629 não exatamente próxima ao valor esperado de 0,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 é ter janelas maiores, para melhorar a nossa imunidade ao ruído. Bem, as janelas maiores são ainda mais lentas para refletir as mudanças reais (novamente olhar para t30 no meu gráfico) eo caso mais extremo de janelas é basicamente a média de corrida (que já sabemos é ruim para alterar dados) Agora de volta para o mágico Kalman filtro. Se você pensar nisso ele semelhante a uma amostra de 2 janela média (semelhante não é o mesmo). Observe X kk na etapa de atualização, leva o valor anterior e adiciona a ele uma versão ponderada da amostra atual. Você pôde pensar, poço que sobre o ruído Porque não é ele suscetível ao mesmo problema que a média windowed com um tamanho de amostragem pequeno Porque o filtro do kalman toma em consideração a incerteza de cada medida. O valor de ponderação K (ganho de kalman) pode ser, entretanto, de uma relação entre a covariância (incerteza) de sua estimativa e a covariância (incerteza) da estimativa atual (na verdade seu residual, mas é mais fácil pensar dessa maneira) . Portanto, se a última medida tem muita incerteza K diminui, e assim a amostra mais recente desempenha um rolo menor. Se a última medição tiver menos incerteza do que a previsão, k aumenta, e agora a nova informação desempenha um papel maior na próxima estimativa. Assim, mesmo com um pequeno tamanho de amostra, o filtro kalman ainda está bloqueando um monte de ruído. De qualquer maneira, espero que as respostas da janela avg vs kalman pergunta agora respondeu 18 de fevereiro às 3:34 Outra tomada: O Filtro Kalman permite que você adicione mais informações sobre como o sistema youre filtragem funciona. 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ê está esperando uma saída de close-to-constante. Mas assim que o sinal que você está modelando é dinâmico (pense fala ou medidas de posição), então o filtro de média móvel simples não mudará rapidamente o suficiente (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 variação da verdade. Respondeu 18 de fevereiro às 13: 11A equivalência é válida apenas para certos modelos, p. O ruído de passeio aleatório EWMA ou tendência linear local holt-invernos EWMA. Modelos de espaço de estado são muito mais gerais do que lisos personalizados. Também a inicialização tem bases teóricas mais sólidas. Se você quiser ficar com o ruído de caminhada aleatória, e você não está familiarizado com o filtro Kalman, então você pode ser melhor com EWMAs. A equivalência de filtro de Kalman com EWMA é apenas para o caso de uma caminhada aleatória mais ruído e é coberto no livro, Forecast Structural Time Series Model e Kalman Filter por Andrew Harvey . A equivalência de EWMA com filtro de Kalman para caminhada aleatória com ruído é abordada na página 175 do texto. Lá, o autor também menciona que a equivalência dos dois foi mostrada pela primeira vez em 1960 e dá a referência a ela. Aqui está o link para essa página do texto: books. google/booksidKc6tnRHBwLcCamppgPA175amplpgPA175ampdqewmaandkalmanforrandomwalkwithnoiseampsourceblampotsI3VOQsYZOCampsigRdUCwgFE1s7zrPFylF3e3HxIUNYamphlenampsaXampved0ahUKEwiK5t2J84HMAhWINSYKHcmyAXkQ6AEINDADvonepageampqewma20and20kalman20for20random20walk20with20noiseampffalse Agora aqui é a referência que cobre uma ALETERNATIVE ao Kalman e filtros de Kalman estendido - foram obtidos resultados que correspondem ao filtro de Kalman, mas os resultados são obtidos muito mais rapidamente É Double suavização exponencial: uma alternativa ao rastreamento preditivo baseado em filtro de Kalman. Em Abstract of the paper (ver abaixo) os autores afirmam. Resultados empíricos que confirmam a validade de nossas alegações de que esses preditores são mais rápidos, mais fáceis de implementar e funcionam de forma equivalente aos preditores de filtragem de Kalman e de Kalman estendidos. Este é o seu Resumo Apresentamos novos algoritmos para o rastreamento preditivo da posição do usuário e orientação com base no duplo exponencial suavização. Esses algoritmos, quando comparados com Kalman e preditores extensivos com base em filtros de Kalman com modelos de medição sem derivada, são executados aproximadamente 135 vezes mais rápido com desempenho de predição equivalente e implementações mais simples. Este artigo descreve esses algoritmos detalhadamente juntamente com os preditores Kalman e filtro estendido de Kalman testados contra. Além disso, descrevemos os detalhes de uma experiência preditora e apresentamos resultados empíricos que confirmam a validade de nossas alegações de que esses preditores são mais rápidos, mais fáceis de implementar e funcionam de forma equivalente aos preditores de filtragem de Kalman e extensão de Kalman. Eu acho que isso realmente responde à pergunta sobre por que o filtro de Kalman e MA dão resultados semelhantes, mas está tangencialmente relacionado. Você poderia adicionar uma reverência completa para o papel que você citar, ao invés de um hiperlink nua Isso seria à prova de futuro a sua resposta no caso de o link externo muda. Ndash Silverfish Apr 8 at 5:46 Não era suposto ser. Como a introdução diz, it39s significou ser uma alternativa a Kalaman mas muito mais rapidamente. Se ele ou outro método foi citando exatamente o mesmo que Kalman, com base no tópico do artigo, o autor teria mencionado. A esse respeito, a questão é respondida. Ndash jimmeh Apr 9 at 12:15 A equivalência de filtro de Kalman para caminhada aleatória com EWMA é abordada no livro Forecast Structural Time Series Model e Kalman Filter por Andrew Harvey. A equivalência de EWMA com filtro de Kalman para caminhada aleatória é abordada na página 175 do texto. Lá ele menciona que foi exibido pela primeira vez em 1960 e dá a referência. Ndash jimmeh Apr 9 at 12: 54Estou tentando 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 usar um filtro de Kalman para isso é melhor do que apenas manter uma média de execução Estes exemplos são apenas casos de uso simplificados do filtro (Se sim, o que é um exemplo onde uma média de execução não é suficiente) Por exemplo, considere o seguinte programa Java e saída . A saída de Kalman não combina com a média, mas eles estão muito próximos. Por que escolher um sobre o outro sim é exemplo simplificado, mais enganoso do que educar. Se assim for, o que é um exemplo onde uma média em execução não é suficiente em qualquer caso quando o sinal está mudando. Imagine veículo em movimento. Calculando média significa que assumimos valor de sinal a partir de qualquer momento a tempo de ser igualmente importante. Obviamente está errado. Intuição diz, a última medição é mais confiável do que a de uma hora antes. Um exemplo muito bom para experimentar é a forma frac. Tem um estado, assim que as equações não começ complicadas. Em tempo discreto poderia ser assim: Theres o código que usa (Im sorry seu Matlab, eu não usei Python recentemente): Existem algumas dicas: Sempre definir Q e R maior do que zero. Caso Q 0 é MUITO MAU exemplo. Você diz ao filtro: não há nenhuma perturbação agindo sobre a planta, então depois de um tempo o filtro vai crer apenas para suas previsões com base no modelo, em vez de olhar para as medições. Matematicamente falando Kk para 0. Como sabemos modelos não descrevem a realidade perfeitamente. Experimente com alguma imprecisão do modelo - modelError Altere a suposição inicial do estado (xpost (1)) e veja quão rápido ele converge para diferentes Q, R e Ppost inicial (1) Verifique como o ganho do filtro K muda ao longo do tempo dependendo de Q e R De fato, eles são a mesma coisa em certo sentido, vou mostrar o seu algo por trás Kalman filtro e você ficará surpreso. Considere o seguinte problema mais simples de estimativa. São dadas uma série de medidas z1, z2, cdots, zk, de uma constante desconhecida x. Assumimos que o modelo aditivo começa zi x vi, i1,2, cdots, k (1) end onde vi são ruídos de medição. Se nada mais for conhecido, então todos concordarão que uma estimativa razoável de x dada as k medições pode ser dada por begin hat k frac sum zi Agora podemos reescrever acima eq. (2) pela manipulação algébrica simples para começar o chapéu de começo K hat frac (zk-hat) (3) end Eq. (3) que é simplesmente Eq. (2) expressa em forma recursiva tem uma interpretação interessante. Ele diz que a melhor estimativa de x após k medição é a melhor estimativa de x após k-1 medições 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 k-1, ou seja, eo que você realmente mede zk. Se rotular a fração de correção como Pk, então novamente a manipulação algébrica pode escrever a forma recursiva de Pk como begin 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: Eu tenho GrewalAndrews com MatLab, também GrewalWeillAndrews sobre GPS. Esse é o exemplo fundamental, o GPS. Aqui está um exemplo simplificado, eu entrevistei para um trabalho onde eles estavam escrevendo software para manter o controle de todos os caminhões entrando e saindo de um pátio de entrega enorme, para Walmart ou similar. Eles tinham dois tipos de informação: baseados em colocar um dispositivo RFID em cada caminhão, eles tinham informações bastante boas sobre a direção que cada caminhão estava indo com medidas possíveis muitas vezes por segundo, mas eventualmente crescendo em erro, como faz qualquer aproximação essencialmente ODE. Em uma escala de tempo muito mais longa, eles poderiam tomar a posição de GPS de um caminhão, que dá uma posição muito boa imparcial mas tem uma variação grande, você começ a posição dentro de 100 medidores ou algo. Como combinar estes Thats o uso principal do filtro de Kalman, quando você tem duas fontes de informação dando tipos de erro grosseiramente oposto. Minha idéia, que eu teria dito a eles se eles tinham pago-me, era colocar um dispositivo em cada semi onde a cabina atende o reboque, dando o raio de giro atual. Isso poderia ter sido integrado para dar muito boa informação de curto prazo sobre a direção que o caminhão estava indo. Bem, isso é o que eles fazem com quase qualquer coisa se movendo hoje em dia. O que eu achava bonito era fazendas na Índia, mantendo registro de onde estavam os tratores. O corpo em movimento não precisa se mover rapidamente para fazer as mesmas perguntas. Mas, claro, o primeiro uso principal 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, mais tarde submarinos para a Marinha. Respondida Jul 22 12 em 19: 25kalid 2017-06-25 19:28:28 UTC 1 Armazenando notas sobre o que eles significam, e como usá-los. Indo começar com o artigo Wiki. Resumi-lo intuitivamente, e ir de lá. Qual é a conexão com o Teorema de Bayes Como podemos expressar isso de forma mais simples (com várias variáveis) antes de ir para a Álgebra Linear O que é um caso de uso simples e comum O ruído é Gaussiano / normalmente distribuído o que exige outro artigo para compreender verdadeiramente as implicações lá. De alto nível, suas variações simétricas estão dentro do conhecido do desvio padrão, etc. Se não for Gaussiano, Kalman ainda é o melhor estimador linear. Está bem. Como podemos saber quando usar um estimador linear vs. não-linear Pode atualizar continuamente a estimativa à medida que os novos dados vêm. Lembra-me de um Filtro de Spam Bayesiano - à medida que novas mensagens chegam e você as marca como spam (ou não) Estamos atualizando as tabelas que indicam a freqüência de spam de várias palavras. Filtro Kalman semelhante (exceto em vez de spam / não spam, sua tentativa de estimar o valor de um parâmetro). Gotcha: chamado de filtro porque remove o ruído da medição. Melhor nome seria um Kalman Estimator. Valor esperado da diferença entre x1 e seus tempos médios x2 e sua média Essencialmente, existe alguma correlação entre x1 e x2. Onde x1 é maior do que sua média, x2 é também Use álgebra linear para armazenar os valores de x em um vetor de coluna Precisa de um exemplo real, queremos entender isso melhor Uma vez que temos a covariância, podemos tentar extrair o ruído independente Contribuição (intuitivamente, separar as correlações do núcleo do aleatório) Meta: encontrar um vetor que resume (descreve) o comportamento passado o melhor. Suponha que temos um sistema dinâmico linear com ruído branco aditivo. O modelo de filtro de Kalman assume que o estado de um sistema no tempo t evoluiu a partir do estado prioer no tempo t-1 de acordo com a equação: xt Ftx Btut wt xt vetor de estado contendo termos de interesse no tempo t (ok. ) Ut. Entradas de controle Bt. Matriz de entrada de controle que aplica o efeito de cada controle ao vetor de estado Ft. Matriz de transição de estados, aplica o efeito do parâmetro de estado no tempo anterior x ao estado atual wt. Contém ruído de processo para cada parâmetro. Im pensamento: Queremos isolar a contribuição de: Estados anteriores Controles atuais Ruído aleatório de ruído processo (choques de fricção aleatórios na estrada) barulho de observação (poeira no seu detector de radar) Temos o nosso sinal real (estado interno: xk) Então temos Nosso estado medido zk Há ruído, B. que gira zk B xk Existem duas funções de ruído wk ao aplicar a mudança de estado e vk ao fazer a medição. Então temos zk Bxk vk e xk Axe wk Predica o estado atual com base no último estado, levando o ruído em conta Atualização: toma os valores medidos e atualiza a estimativa do estado Hrm. Têm uma seqüência de dados entrando. Como um filtro Bayesiano. Você cria um modelo e começa a ajustá-lo à medida que obtém outro ponto de dados. Pense em alguma analogia: cada ponto de dados que você obtém ajuda a esclarecer sua estimativa. Mas você sabe que é provável que haja ruído, então você precisa ajustar para isso. Ideia: faça um simulador de filtro javascript kalman para ver o que está fazendo Cenário SIMPLE: Usamos uma média em execução. Melhor cenário: Usamos um filtro de Kalman para obter uma previsão e conta para o ruído. E com um sinal em mudança. Intuição: O filtro de Kalman é uma média mais geral. Pode representar uma variável variável. Idéia: modificar isso. Veja se ele pode prever um caminho melhor. Contraste com uma média de corrida. Kalmanfilterdemo. png 785x311 22.9 KB Objetivo: Melhor Alisamento. Simples média móvel, aproximação polinomial, etc. Para ler: Kalman Filter GPS cs. unc. edu/ Intuição rápida: Ive feito algum cavar, itll tomar mais tempo para obter uma intuição sólida, mas heres meu entendimento. Vamos dizer que temos um monte de dados chegando, e queremos fazer uma previsão sobre o próximo ponto bem ver. Uma abordagem simples pode ser tomar uma média móvel simples dos últimos pontos, e assumir o novo ponto será a essa média. Vamos dizer que nosso primeiro ponto é 1. Nós não podemos realmente fazer uma boa previsão, mas vamos adivinhar o próximo ponto é 1 também. O segundo ponto é 5. Oops, estávamos fora. Ok, vamos adivinhar o próximo ponto vai ser 3 (a média). O próximo ponto é 9. Oops, nós estávamos fora novamente. Vamos adivinhar o próximo ponto é a média dos que temos visto até agora, ou (1 5 9) / 3 5. O próximo ponto é 14. Whoops, off novamente. Um ser humano notaria rapidamente que Hey, esta média móvel não está funcionando muito bem. Os pontos estão aumentando em 4 ou 5 cada vez e estamos realmente subestimar o próximo ponto. O filtro de Kalman é como uma média móvel mais avançada, que mantém o controle de quão longe estava desligado e tenta ajustar suas previsões como eles vêm dentro. Ele pode olhar para trás os itens anteriores e pensar qual modelo teria funcionado bem como eu era Obter esses pontos de dados. Ele só pode lidar com sistemas com certas condições (linear, tempo-invariante), mas faz previsões muito melhores do que uma média móvel reta. Neste caso, ele pode dizer algo como: xnew xold 4.5 Uma aplicação para filtros de Kalman para navegação, GPS, etc é que sabemos projéteis, carros, as pessoas estão se movendo ao longo de caminhos bastante previsíveis. O filtro de Kalman pode rapidamente obter uma estimativa precisa para o caminho em comparação com uma média móvel, que é realmente lento para atualizar e sempre um passo atrás, ao que parece. Essa é a minha intuição de alto nível até agora. Key Intuition: Kalman Filter é uma média móvel fantasia. Em vez de uma previsão estática (aqui é a média), dá-lhe uma equação para o caminho que você vai tomar. (Em um caso simples, ele pode prever um valor estático também.) O molho secreto é que filtra o ruído. Qualquer caminho de dados que você tem tem ruído nele. Kalid 2017-06-25 23:04:59 UTC 2 Meta-Notes Sobre a minha estratégia de aprendizagem 1) Pesquisa Wikipedia. Escolha algumas palavras-chave. Por que é um filtro? Na verdade, é um estimador. Isso é realmente bom em filtrar o ruído. 2) Comece procurando no YouTube, Google, etc para apresentações Shorter vídeos são melhores :). Alguns exemplos: previsão do preço do mercado de ações. Navegação / pathfinding. Física. Rosto de rastreamento. Seu reivindicado para ser um dos avanços os mais importantes no 20o século. Wow Por que nunca ouvimos sobre isso 3) Veja se você pode encontrar um cenário muito simples. O que parece aqui, suas médias móveis. Havia uma pergunta de estouro de pilha sobre como o filtro de Kalman era diferente. Compare e contraste com o que você sabe que os filtros de Kalman são como médias móveis melhores porque. 4) Existem demos onde podemos realmente entender o que está acontecendo demos Javascript para rastrear a posição de clique. Aprenda a separar o objetivo (construir um sistema de previsão) a partir dos detalhes de implementação (álgebra linear, etc) Powered by Discourse. Melhor visualizado com JavaScript ativado O filtro de Kalman para a série de tempo financeiro De vez em quando me deparo com uma ferramenta que está tão atolada em páginas de cálculos matemáticos esotéricos, torna-se difícil conseguir mesmo uma simples compreensão de como ou por que eles podem ser úteis. Pior ainda, você busca exaustivamente na internet para encontrar uma imagem simples que pode expressar mil equações, mas não encontrar nada. O filtro kalman é uma dessas ferramentas. Extremamente útil, porém, muito difícil de entender conceitualmente por causa do complexo jargão matemático. Abaixo está um enredo simples de uma versão filtrada kalman de uma caminhada aleatória (por agora, vamos usar isso como uma estimativa de uma série de tempo financeiro). Fig. 1. Estimativas do filtro de Kalman da média e da covariância de Random Walk O kf é um fantástico exemplo de um modelo adaptativo, mais especificamente, um modelo linear dinâmico, capaz de se adaptar a um ambiente em constante mudança. Ao contrário de uma média móvel simples ou FIR que tem um conjunto fixo de parâmetros de janelas, o filtro kalman atualiza constantemente as informações para produzir filtragem adaptativa na mosca. Embora existam alguns filtros adaptativos baseados em TA, como Kaufman Adaptive Moving Average e variações da média móvel exponencial nem captura a estimativa ótima da série na forma que o KF faz. Na trama da Fig. 1. Temos uma linha azul que representa a 8216a 8282 estimativa das séries temporais subjacentes, onde a linha vermelha representa a série de tempo em si, e por último, as linhas pontilhadas representam a estimativa de covariância das séries temporais em relação à estimativa média. Observe que, ao contrário de muitos outros filtros, a média estimada é uma medida muito boa do 8216true8217 centro móvel da série de tempo. Apesar de mergulhar em muitas matemáticas, a seguinte é a bem conhecida equação espacial 8216 do kf: xtAxt-1 w ztHxt v Embora essas equações sejam freqüentemente expressas em espaço de estados ou representação matricial, tornando-as um pouco complicadas para o leigo, se você for Familiar com a regressão linear simples, poderia fazer mais sentido. Let8217s definem as variáveis: xt é a variável oculta que é estimada, neste caso ela representa a melhor estimativa da média ou centro da série temporal A é a matriz de transição de estado ou eu penso freqüentemente nela como semelhante ao coeficiente autorregressivo em Um modelo de AR pensa nele como Beta em uma regressão linear aqui. W é o ruído do modelo. Assim, podemos pensar que a equação de xAx-1 w é muito semelhante ao modelo de regressão linear básico, que é. A principal diferença é que o kf atualiza constantemente as estimativas em cada iteração de uma forma on-line. Aqueles familiarizados com os sistemas de controle podem entendê-lo como um mecanismo de feedback, que se ajusta para o erro. Uma vez que não podemos realmente 8216see8217 o verdadeiro centro no futuro, apenas estimá-lo, pensamos em x como uma variável 8216hidden8217. A outra equação está diretamente ligada à primeira. ZtHxtv zt é a estimativa da covariância real do sinal em relação ao centro estimado, x. Xt reconhecemos como a estimativa do centro móvel da série temporal. V é o ruído do modelo. Novamente, é um modelo linear, mas desta vez a equação contém algo que podemos observar: zt é o valor da série temporal que estamos tentando capturar e modelar em relação a xt. Mais especificamente, é uma estimativa da covariância, ou co-movimento entre a variável observada, o valor da série temporal ea estimativa do centro x. Você também pode pensar no envelope que cria como similar a uma banda de desvio padrão que prediz a variância futura do sinal em relação a x. Aqueles familiarizados com modelos de markov ocultos, podem reconhecer o conceito de variáveis ​​de estado ocultas e observadas aqui. Basicamente, começamos a estimar nossa suposição de xey, a média ea covariância das séries baseadas em medições das séries subjacentes, que neste caso são simplesmente os parâmetros normais N (média, std) usados ​​para gerar a caminhada aleatória. A partir daí, as equações de matriz linear são usadas para estimar os valores de z e x, usando operações de matriz linear. A chave é que, uma vez feita uma estimativa, o valor da covariância de y é então verificado em relação ao valor da série cronológica real e um parâmetro chamado K é ajustado para atualizar as estimativas anteriores. Cada vez que K é atualizado, o valor da estimativa de x é atualizado via: xtnewestxtest K (zt 8211 Hxest). O valor de K converte-se geralmente a um valor estável, quando a série subjacente é verdadeiramente gaussian (como visto na fig. 1. durante o começo da série, aprende). Após algumas iterações, o valor ótimo de K é bastante estável, de modo que o modelo aprendeu ou adaptou-se à série subjacente. Algumas vantagens para o filtro de kalman são que é preditivo e adaptativo, como olha para a frente com uma estimativa da covariância e média da série de tempo um passo para o futuro e ao contrário de uma Rede Neural, não requer dados estacionários. Aqueles que trabalham nos tutoriais Neural Network, esperamos ver uma grande vantagem aqui. Ele tem um muito próximo a suave representação da série, enquanto não exigindo peeking no futuro. Desvantagens são que o modelo de filtro assume dependências lineares, e é baseado em termos de ruído que são gerados gaussian. Como sabemos, os mercados financeiros não são exatamente gaussianos, uma vez que eles tendem a ter caudas gordas com mais freqüência do que seria de esperar, momentos superiores não normais, e as séries exibem heteroskedasticity clustering. Outro filtro mais avançado que resolve esses problemas é o filtro de partículas, que usa métodos de amostragem para gerar os parâmetros de distribuição subjacentes. 821282128212821282128212821282128212821282128212821282128212821282128212821282128212821282128212821282128211 Aqui estão algumas referências que podem ajudar ainda mais na compreensão do filtro kalman. Além disso, há um kalman mais suave no pacote R, DLM. Se você está interessado em uma abordagem baseada em Python, eu recomendo altamente o seguinte book8230Machine Learning Algorithmic Perspective Não só existe um writeup fantástico em modelos de markov ocultos e filtros de kalman, mas há código real que você pode replicar. É um dos melhores livros práticos sobre a Aprendizagem de Máquinas que conheço. Nunca perca uma atualização Assine os R-blogueiros para receber e-mails com as últimas postagens R. (Você não verá esta mensagem novamente.)

No comments:

Post a Comment