Abaixo, você pode ver meu método C para calcular Bandas Bollinger para cada ponto (média móvel, banda ascendente, banda baixa). Como você pode ver, este método usa 2 para loops para calcular o desvio padrão móvel usando a média móvel. Ele costumava conter um loop adicional para calcular a média móvel nos últimos n períodos. Este que eu poderia remover, adicionando o novo valor de ponto a totalaverage no início do loop e removendo o valor do ponto i-n no final do loop. Minha pergunta agora é basicamente: Posso remover o loop interno restante de uma maneira similar que eu consegui com a média móvel perguntada em 31 de janeiro de 13 às 21:45 A resposta é sim, você pode. Em meados dos anos 80, desenvolvi apenas um algoritmo desse tipo (provavelmente não original) no FORTRAN para uma aplicação de monitoramento e controle de processo. Infelizmente, isso aconteceu há mais de 25 anos e não me lembro das fórmulas exatas, mas a técnica foi uma extensão da média móvel, com cálculos de segunda ordem, em vez de apenas em linhas lineares. Depois de olhar para o seu código alguns, penso que posso descobrir como eu fiz isso naquela época. Observe como seu loop interno está fazendo uma Soma de Quadrados: da mesma maneira que sua média deve ter originalmente uma Soma de Valores. As únicas duas diferenças são a ordem (seu poder 2 em vez de 1) e que você está subtraindo a média Cada valor antes de você marcar. Agora, isso pode parecer inseparável, mas na verdade eles podem ser separados: agora o primeiro termo é apenas uma Soma de Quadrados, você lida com a mesma maneira que você faz a soma de Valores para a média. O último termo (k2n) é apenas a média ao quadrado do período. Como você divide o resultado pelo período de qualquer maneira, você pode simplesmente adicionar o novo quadrado médio sem o loop extra. Finalmente, no segundo termo (SUM (-2vi) k), desde SUM (vi) total kn, você pode alterá-lo para este: ou apenas -2k2n. Que é -2 vezes a média ao quadrado, uma vez que o período (n) é dividido novamente. Então, a fórmula combinada final é: (certifique-se de verificar a validade disso, uma vez que eu estou derrubando o topo da minha cabeça) E incorporar em seu código deve ser algo assim: Obrigado por isso. Eu usei isso como base de uma implementação em C para o CLR. Descobri que, na prática, você pode atualizar de forma que newVar seja um número negativo muito pequeno e o sqrt falhar. Introduzi um if para limitar o valor a zero para este caso. Não é idéia, mas estável. Isso ocorreu quando cada valor na minha janela tinha o mesmo valor (usei um tamanho de janela de 20 e o valor em questão era 0,5, caso alguém pretenda tentar reproduzir isso). Ndash Drew Noakes 26 de julho 13 às 15:25 Ive Usou common-math (e contribuiu para essa biblioteca) para algo muito parecido com isso. Sua fonte aberta, portar para C, deve ser fácil como torta comprada na loja (você tentou fazer uma torta do zero). Confira: commons. apache. orgmathapi-3.1.1index. html. Eles têm uma classe StandardDeviation. Vá para a cidade respondida em 31 de janeiro de 13 às 21:48. Agora, desculpe, eu não tinha a resposta que você estava procurando. Eu definitivamente não queria sugerir portar toda a biblioteca Apenas o código mínimo necessário, que deveria ser algumas centenas de linhas ou assim. Tenho em atenção que não tenho ideia do que as restrições legais de direitos autorais que o apache tem nesse código, então você deve verificar isso. No caso de você persegui-lo, aqui está o link. Então, a versão mais rápida já foi dada acima --- mas talvez isso ainda seja de interesse geral. Uma pequena biblioteca Java para calcular a média móvel e desvio padrão está disponível aqui: githubtools4jmeanvar A implementação é baseada em uma variante do método Welfords mencionado acima. Métodos para remover e substituir valores foram derivados que podem ser usados para mover valores de janelas. Dados de mobilização removem variações aleatórias e mostram tendências e componentes cíclicos. Inércia na coleta de dados obtidos ao longo do tempo é alguma forma de variação aleatória. Existem métodos para reduzir o cancelamento do efeito devido a variação aleatória. Uma técnica freqüentemente usada na indústria é o alisamento. Esta técnica, quando corretamente aplicada, revela mais claramente a tendência subjacente, os componentes sazonais e cíclicos. Existem dois grupos distintos de métodos de suavização Métodos de média Métodos de suavização exponencial Tomar médias é a maneira mais simples de suavizar os dados Em primeiro lugar, investigaremos alguns métodos de média, como a média simples de todos os dados passados. Um gerente de um armazém quer saber o quanto um fornecedor típico entrega em unidades de 1000 dólares. Heshe toma uma amostra de 12 fornecedores, aleatoriamente, obtendo os seguintes resultados: A média calculada ou a média dos dados 10. O gerente decide usar isso como a estimativa de despesas de um fornecedor típico. Isto é uma estimativa boa ou ruim O erro quadrático médio é uma maneira de julgar o quão bom é um modelo. Calculamos o erro quadrático médio. O erro montante verdadeiro gasto menos o valor estimado. O erro ao quadrado é o erro acima, ao quadrado. O SSE é a soma dos erros quadrados. O MSE é a média dos erros quadrados. Resultados MSE, por exemplo, os resultados são: Erros de Erro e Esquadrão A estimativa 10 A questão surge: podemos usar a média para prever a renda se suspeitarmos de uma tendência. Um olhar no gráfico abaixo mostra claramente que não devemos fazer isso. A média pesa todas as observações passadas igualmente. Em resumo, afirmamos que a média ou média simples de todas as observações passadas é apenas uma estimativa útil para a previsão quando não há tendências. Se houver tendências, use diferentes estimativas que levem em consideração a tendência. A média pesa igualmente todas as observações passadas. Por exemplo, a média dos valores 3, 4, 5 é 4. Sabemos, é claro, que uma média é calculada adicionando todos os valores e dividindo a soma pelo número de valores. Outra maneira de calcular a média é adicionando cada valor dividido pelo número de valores, ou 33 43 53 1 1.3333 1.6667 4. O multiplicador 13 é chamado de peso. Em geral: barra frac suma esquerda (fração direita) x1 esquerda (fração direita) x2,. , Esquerda (fração direita) xn. A (esquerda (fração à direita)) são os pesos e, é claro, somam para 1.Como calcular as médias móveis no Excel Excel Data Analysis For Dummies, 2ª edição O comando Data Analysis fornece uma ferramenta para calcular as médias movimentadas e exponencialmente suavizadas No Excel. Suponha, por causa da ilustração, que você coletou informações diárias de temperatura coletadas. Você deseja calcular a média móvel de três dias 8212 a média dos últimos três dias 8212 como parte de algumas previsões meteorológicas simples. Para calcular as médias móveis para este conjunto de dados, siga as etapas a seguir. Para calcular uma média móvel, primeiro clique no botão de comando Análise de Dados tab8217s Dados. Quando o Excel exibe a caixa de diálogo Análise de dados, selecione o item Média móvel da lista e clique em OK. O Excel exibe a caixa de diálogo Mover média. Identifique os dados que deseja usar para calcular a média móvel. Clique na caixa de texto Intervalo de entrada da caixa de diálogo Média móvel. Em seguida, identifique o intervalo de entrada, digitando um endereço de faixa de planilha ou usando o mouse para selecionar o intervalo da planilha. Sua referência de intervalo deve usar endereços de células absolutos. Um endereço de célula absoluto precede a letra da coluna e o número da linha com sinais, como em A1: A10. Se a primeira célula do seu intervalo de entrada incluir um rótulo de texto para identificar ou descrever seus dados, marque a caixa de seleção Etiquetas em primeira fila. Na caixa de texto Intervalo, diga ao Excel quantos valores incluir no cálculo da média móvel. Você pode calcular uma média móvel usando qualquer número de valores. Por padrão, o Excel usa os três valores mais recentes para calcular a média móvel. Para especificar que algum outro número de valores seja usado para calcular a média móvel, insira esse valor na caixa de texto Intervalo. Diga ao Excel onde colocar os dados médios móveis. Use a caixa de texto do intervalo de saída para identificar o intervalo da planilha na qual deseja colocar os dados médios móveis. No exemplo da planilha, os dados médios móveis foram colocados no intervalo da planilha B2: B10. (Opcional) Especifique se deseja um gráfico. Se você deseja um gráfico que traça a informação da média móvel, selecione a caixa de seleção Classificação do gráfico. (Opcional) Indique se deseja obter informações de erro padrão. Se você quiser calcular erros padrão para os dados, selecione a caixa de seleção Erros padrão. O Excel coloca valores de erro padrão ao lado dos valores médios móveis. (As informações de erro padrão entram em C2: C10.) Depois de terminar de especificar qual a média móvel que você deseja calcular e onde deseja que ela seja colocada, clique em OK. O Excel calcula informações de média móvel. Nota: Se o Excel não possuir informações suficientes para calcular uma média móvel de um erro padrão, ele coloca a mensagem de erro na célula. Você pode ver várias células que mostram essa mensagem de erro como um valor.
No comments:
Post a Comment