Eu sei que isso é possível com impulso como per. But eu realmente gostaria de evitar o uso de impulso eu tenho googled e não encontrei qualquer exemplos adequados ou legíveis. Basicamente eu quero acompanhar a média móvel de um fluxo em curso de um fluxo de números de ponto flutuante Usando os números mais recentes de 1000 como uma amostra de dados. Qual é a maneira mais fácil de conseguir this. I experimentei com o uso de uma matriz circular, média móvel exponencial e uma média móvel mais simples e descobriu que os resultados da matriz circular adequado às minhas necessidades melhor . Se suas necessidades são simples, você pode tentar usar uma média móvel exponencial. Basta, você faz uma variável de acumulador, e como seu código olha para cada amostra, o código atualiza o acumulador com o Novo valor Você escolhe um alfa constante que está entre 0 e 1, e calcula isso. Você só precisa encontrar um valor de alfa onde o efeito de uma determinada amostra dura apenas cerca de 1000 samples. Hmm, eu realmente não tenho certeza que isso é Adequado para você, agora t O que eu colocar aqui O problema é que 1000 é uma janela muito longa para uma média móvel exponencial Eu não tenho certeza se há um alfa que iria espalhar a média sobre os últimos 1000 números, sem subfluxo no cálculo do ponto flutuante Mas se você Queria uma média menor, como 30 números ou assim, esta é uma maneira muito fácil e rápida de fazê-lo. 12 12 em 4 44. 1 em sua postagem A média móvel exponencial pode permitir que o alfa ser variável Então isso permite que ele Ser usado para computar médias de base de tempo, por exemplo bytes por segundo Se o tempo desde a última atualização de acumulador é mais de 1 segundo, você deixa alfa ser 1 0 Caso contrário, você pode deixar alfa usecs desde a última atualização 1000000 jxh 12 de junho 12 em 6 21.Basicamente, eu quero acompanhar a média móvel de um fluxo em curso de um fluxo de números de ponto flutuante usando os mais recentes números 1000 como um exemplo de dados. Note que o abaixo atualiza o total como elementos como adicionado substituído, evitando costoso ON traversal para calcular A soma - necessária para o E média - on demand. Total é feito um parâmetro diferente de T para suportar, por exemplo, usando um longo longo quando totalizando 1000 long s, um int para char s, ou um dobro ao total float s. This é um pouco falho em que numsamples poderia Passar INTMAX passado - se você se importa que você poderia usar um unsigned long long ou usar um membro bool dados extra para gravar quando o recipiente é preenchido pela primeira vez enquanto ciclismo numsamples em torno da matriz melhor então renomeado algo inócuo como pos. answered 12 de junho 12 em 5 19.um pressupõe que o operador vazio T amostra é, na verdade void operador T amostra oPless Jun 8 14 em 11 52. oPless ahhh bem vislumbrado realmente eu quis dizer para ele ser operador vazio T amostra, mas é claro que você poderia usar qualquer nota que você gostava Will fix, Obrigado Tony D Jun 8 14 às 14 27.Im tentando retornar um QVector de uma função que é suposto para calcular a média móvel Minha pergunta é como tornar a função mais eficiente A matemática é muito bem, Im mais perguntando se eu fizer algo errado Em retornar o QVector Aqui está t Ele Código eu tenho até agora. Eu uso o construtor padrão para manter o QVector de definir um valor padrão Eu tentei a mesma coisa com o redimensionamento que é muito mais lento Você tem alguma sugestão como isso pode ser optimized. Since você alega que o retorno leva Mais longo, o problema pode não estar na própria função, mas no site onde o valor retornado é used. Alas, aqui s onde o seu código desperdiça time. In alocação do QVector cada vez que a média é invocada Presumivelmente ele s chamado repetidamente, Então não há necessidade de tê-lo alocar um novo vetor cada time. In operador QVector Ele tem um pouco mais sobrecarga do que o acesso à matriz simples, porque há esta chamada isDetached pesky feito em cada chamada para operador. No QVector anexar Não só ele chamar IsDetached, mas também ele verifica e modifica o comprimento também. Note que não há absolutamente nada de errado com o retorno do seu valor É uma operação trivial e leva quase nenhum momento Você está fazendo isso OK quando se trata de retornar - e retornar apenas Mas você não é Como nós usamos o valor retornado, então eu não posso dizer se você está fazendo alguma coisa errada lá. Para evitar alocações repetidas e sobrecarga do operador, você pode usar uma classe que mantém um vetor pronto para reutilização e usar um ponteiro - Para-vector s-dados em vez de usar o vetor diretamente. Para fazê-lo ir mais rápido provavelmente exigiria o uso de SIMD intrinsics. A Bayesian análise dos processos de média móvel com variáveis de tempo parameters. A novo Bayesian método é proposto para a estimativa e O foco é colocado em modelos MA de ordem um, mas um resultado geral é dado para um processo MA de uma ordem conhecida arbitrária Um modelo multiplicativo para a evolução dos quadrados dos parâmetros É introduzida seguindo a conjugação Bayesiana através de distribuições gama beta e truncada e um fator de desconto Duas novas distribuições são propostas fornecendo as distribuições anteriores e posteriores dos parâmetros do modelo E a distribuição de previsão de um passo do processo Vários resultados distributivos bem conhecidos são estendidos pela substituição da distribuição gama pela distribuição truncada de gama A metodologia proposta é ilustrada com dois exemplos consistindo de dados simulados e de preços spot de alumínio da troca de metal de Londres . Modelos baysianos. Formação. Time series. Moving média. Tempo variável parameters. Locally estacionária processes. London metal exchange. Corresponding autor Tel 44 114 2223741 fax 44 114 2223759.Copyright 2007 Elsevier BV Todos os direitos reservados. Cookies são utilizados por este site Para obter mais informações, visite a página de cookies. Copyright 2017 Elsevier BV ou seus licenciantes ou contribuintes ScienceDirect é uma marca registrada da Elsevier B V.
No comments:
Post a Comment