Moving Average Smoothing C
Estou codificando algo no momento em que eu estou levando um monte de valores ao longo do tempo a partir de uma bússola de hardware. Esta bússola é muito precisa e atualiza-se com muita frequência, com o resultado de que, se ela for ligeiramente, eu acabei com o valor estranho que é extremamente incompatível com seus vizinhos. Eu quero suavizar esses valores. Tendo feito alguma leitura ao redor, parece que o que eu quero é um filtro passa-alto, um filtro passa-baixa ou uma média móvel. Mudar a média com a qual posso descer, mantenho um histórico dos últimos 5 valores ou o que quer que seja, e use a média desses valores a jusante no meu código, onde acabei de usar o valor mais recente. Isso deve, acho, suavizar esses jiggles bem, mas isso me parece que provavelmente é bastante ineficiente, e este é provavelmente um desses problemas conhecidos para programadores adequados para os quais há uma solução de matemática Inteligente realmente boa. Eu sou, no entanto, um daqueles horríveis programadores autodidatas sem um pingo de educação formal em qualquer coisa mesmo vagamente relacionada à CompSci ou à Matemática. A leitura em torno de um pouco sugere que este pode ser um filtro de passagem alta ou baixa, mas não consigo encontrar nada que explique em termos compreensíveis para um hack como eu, qual o efeito desses algoritmos em uma série de valores, e muito menos como as matemáticas trabalho. A resposta dada aqui. Por exemplo, tecnicamente responde a minha pergunta, mas apenas em termos compreensíveis para aqueles que provavelmente já sabem como resolver o problema. Seria realmente uma pessoa muito inteligente e inteligente, que poderia explicar o tipo de problema que isso é, e como funcionam as soluções, em termos compreensíveis para um graduado em artes. Perguntou 21 de setembro 10 às 13:01 Se sua média móvel deve ser longa para alcançar o alisamento necessário e você realmente não precisa de nenhuma forma específica de kernel, então você estará melhor se usar uma média móvel exponencialmente decadente: onde você Escolha pequena para ser uma constante apropriada (por exemplo, se você escolher um pequeno 1- 1N, terá a mesma quantidade de média como uma janela de tamanho N, mas distribuída de maneira diferente em pontos mais antigos). De qualquer forma, uma vez que o próximo valor da média móvel depende apenas do anterior e de seus dados, você não precisa manter uma fila ou qualquer coisa. E você pode pensar nisso como fazendo algo como, Bem, eu tenho um novo ponto, mas eu realmente não confio nisso, então vou manter 80 da minha estimativa antiga da medida, e só confio neste novo ponto de dados 20. Isso é Muito parecido com dizer: Bem, eu só confio neste novo ponto 20, e eu uso 4 outros pontos que eu confio na mesma quantia, exceto que em vez de tomar explicitamente os outros 4 pontos, você assumirá que a média que você fez na última vez Foi sensato para que você possa usar seu trabalho anterior. Respondeu 21 de setembro 10 às 14:27 Ei, eu sei que isso é 5 anos de atraso, mas obrigado por uma ótima resposta. Estou trabalhando em um jogo onde o som muda com base em sua velocidade, mas, devido ao funcionamento do jogo em um computador lento, a velocidade flutuaria selvagemente, o que era bom para a direção, mas super irritante em termos de som. Esta foi uma solução muito simples e barata para algo que pensei que seria um problema realmente complexo. Ndash Adam Mar 16 15 at 20:20 Se você está tentando remover o valor ímpar ocasional, um filtro passa-baixa é a melhor das três opções que você identificou. Os filtros de passagem baixa permitem mudanças de baixa velocidade, como as causadas pela rotação de uma bússola à mão, enquanto rejeitam mudanças de alta velocidade, como as causadas por solavancos na estrada, por exemplo. Uma média móvel provavelmente não será suficiente, uma vez que os efeitos de uma única descarga em seus dados afetarão vários valores subsequentes, dependendo do tamanho da sua janela média móvel. Se os valores estranhos forem facilmente detectados, você pode até estar melhor com um algoritmo de remoção de falhas que os ignora completamente: Aqui está um gráfico de guick para ilustrar: O primeiro gráfico é o sinal de entrada, com uma falha desagradável. O segundo gráfico mostra o efeito de uma média móvel de 10 amostras. O gráfico final é uma combinação da média de 10 amostras e do algoritmo de detecção de falha simples mostrado acima. Quando a falha é detectada, a média de 10 amostras é usada em vez do valor real. Mover média com a qual posso descer. Mas parece-me que é provavelmente bastante ineficiente. Realmente, nenhum motivo para uma média móvel deve ser ineficiente. Você mantém o número de pontos de dados desejados em algum buffer (como uma fila circular). Em cada novo ponto de dados, você exibe o valor mais antigo e subtrai-lo de uma soma, e empurra o mais novo e adicione-o à soma. Portanto, cada novo ponto de dados realmente só envolve um poppush, uma adição e uma subtração. Sua média móvel é sempre essa soma de mudança dividida pelo número de valores em seu buffer. É um pouco mais complicado se você estiver recebendo dados simultaneamente de vários tópicos, mas como seus dados são provenientes de um dispositivo de hardware que parece muito duvidoso para mim. Ah, e também: os horríveis programadores autodidactivos se unem) A média móvel pareceu ineficiente para mim porque você precisa armazenar um buffer de valores - melhor para fazer algumas Matemáticas inteligentes com seu valor de entrada e valor de trabalho atual Eu acho que isso é como a média móvel exponencial trabalho. Uma otimização que eu vi para este tipo de média móvel envolve o uso de um amplificador de fila de comprimento fixo, um ponteiro para onde você está na fila e simplesmente encaixando o ponteiro ao redor (com ou um if). Voila Não há pushpop caro. Poder para os amadores, irmão ndash Henry Cooke 22 de setembro 10 às 0:54 Henry: Para uma média móvel direta, você precisa do buffer simplesmente para que você saiba o valor que aparece quando o próximo valor é empurrado. Dito isto, o amplo amplificador de espera de comprimento fixo que você está descrevendo é exatamente o que eu quis dizer com uma fila quotcircular. Por isso, eu estava dizendo que não é ineficiente. O que você achou que eu quis dizer E se sua resposta é uma matriz quotan que muda seus valores de volta em cada remoção indexada (como std :: vector em C). Bem, então, eu já estou ferido, não quero mais falar com você) ndash Dan Tao 22 de setembro 10 às 1:58 Henry: Não sei sobre o AS3, mas um programador de Java tem coleções como CircularQueue em sua disposição (I39m não é um Desenvolvedor de Java, então eu tenho certeza de que há exemplos melhores lá fora, isso é exatamente o que eu encontrei a partir de uma busca rápida do Google), que implementa precisamente a funcionalidade em que estamos falando. Estou bastante confiante de que a maioria dos idiomas de nível médio e baixo com bibliotecas padrão tem algo semelhante (por exemplo, no QueueltTgt). Enfim, eu também era filosofia. tudo é perdoado. Ndash Dan Tao 22 de setembro 10 às 12:44 Uma média móvel exponencialmente decadente pode ser calculada manualmente com apenas a tendência se você usar os valores apropriados. Veja quatromilab. chhackdiete4 para obter uma idéia sobre como fazer isso rapidamente com uma caneta e papel, se você estiver procurando uma média móvel suavemente exponencial com 10 suavização. Mas, como você tem um computador, você provavelmente quer fazer mudanças binárias em oposição à mudança decimal). Desta forma, tudo que você precisa é uma variável para seu valor atual e outra para a média. A próxima média pode então ser calculada a partir disso. Respondeu 21 de setembro 10 às 14:39 há uma técnica chamada de portão de alcance que funciona bem com amostras espúrias de baixa ocorrência. Assumindo o uso de uma das técnicas de filtro mencionadas acima (média móvel, exponencial), uma vez que você tenha um histórico suficiente (uma constante de tempo), você pode testar a nova amostra de dados recebidos para razoabilidade antes de ser adicionada à computação. É necessário algum conhecimento da taxa de mudança máxima razoável do sinal. A amostra em bruto é comparada com o valor mais liso mais recente e se o valor absoluto dessa diferença for maior que o intervalo permitido, essa amostra é descartada (ou substituída por alguma heurística, por exemplo, uma previsão baseada no diferencial de inclinação ou na tendência Valor de previsão a partir de suavização exponencial dupla) 30 de abril 16 em 6: 56Movendo modelos de suavização média e exponencial Como um primeiro passo para se deslocar para além dos modelos médios, modelos de caminhada aleatórios e modelos de tendência linear, padrões e tendências não sazonais podem ser extrapolados usando um movimento - Modelo médio ou suavizado. O pressuposto básico por trás da média e dos modelos de suavização é que a série temporal é localmente estacionária com uma média que varia lentamente. Por isso, tomamos uma média móvel (local) para estimar o valor atual da média e então use isso como a previsão para o futuro próximo. Isso pode ser considerado como um compromisso entre o modelo médio e o modelo random-walk-without-drift. A mesma estratégia pode ser usada para estimar e extrapolar uma tendência local. Uma média móvel é muitas vezes chamada de versão quotsmoothedquot da série original porque a média de curto prazo tem o efeito de suavizar os solavancos na série original. Ao ajustar o grau de alisamento (a largura da média móvel), podemos esperar encontrar algum tipo de equilíbrio ótimo entre o desempenho dos modelos de caminhada média e aleatória. O tipo mais simples de modelo de média é o. Média Móvel Simples (igualmente ponderada): A previsão para o valor de Y no tempo t1 que é feita no tempo t é igual à média simples das observações m mais recentes: (Aqui e em outro lugar usarei o símbolo 8220Y-hat8221 para repousar Para uma previsão da série temporal Y feita o mais cedo possível, antes de um determinado modelo.) Esta média é centrada no período t (m1) 2, o que implica que a estimativa da média local tende a ficar para trás do verdadeiro Valor da média local em cerca de (m1) 2 períodos. Assim, dizemos que a idade média dos dados na média móvel simples é (m1) 2 em relação ao período para o qual a previsão é calculada: esta é a quantidade de tempo pelo qual as previsões tenderão a ficar atrás de pontos de viragem nos dados . Por exemplo, se você estiver avaliando os últimos 5 valores, as previsões serão cerca de 3 períodos atrasados na resposta a pontos de viragem. Observe que se m1, o modelo de média móvel simples (SMA) é equivalente ao modelo de caminhada aleatória (sem crescimento). Se m for muito grande (comparável ao comprimento do período de estimativa), o modelo SMA é equivalente ao modelo médio. Tal como acontece com qualquer parâmetro de um modelo de previsão, é costume ajustar o valor de k para obter o melhor quotfit para os dados, isto é, os erros de previsão menores em média. Aqui está um exemplo de uma série que parece exibir flutuações aleatórias em torno de uma média que varia lentamente. Primeiro, vamos tentar ajustá-lo com um modelo de caminhada aleatória, que é equivalente a uma média móvel simples de 1 termo: o modelo de caminhada aleatória responde muito rapidamente às mudanças na série, mas ao fazê-lo, elege muito da quotnoisequot no Dados (as flutuações aleatórias), bem como o quotsignalquot (a média local). Se, em vez disso, tentemos uma média móvel simples de 5 termos, obtemos um conjunto de previsões mais suave: a média móvel simples de 5 meses produz erros significativamente menores do que o modelo de caminhada aleatória neste caso. A idade média dos dados nesta previsão é de 3 ((51) 2), de modo que tende a atrasar os pontos de viragem em cerca de três períodos. (Por exemplo, uma desaceleração parece ter ocorrido no período 21, mas as previsões não se desviam até vários períodos depois). Observe que as previsões de longo prazo do modelo SMA são uma linha reta horizontal, assim como na caminhada aleatória modelo. Assim, o modelo SMA assume que não há tendência nos dados. No entanto, enquanto as previsões do modelo de caminhada aleatória são simplesmente iguais ao último valor observado, as previsões do modelo SMA são iguais a uma média ponderada de valores recentes. Os limites de confiança calculados pela Statgraphics para as previsões de longo prazo da média móvel simples não se ampliam à medida que o horizonte de previsão aumenta. Isso obviamente não está correto. Infelizmente, não há uma teoria estatística subjacente que nos diga como os intervalos de confiança deveriam se ampliar para esse modelo. No entanto, não é muito difícil calcular estimativas empíricas dos limites de confiança para as previsões do horizonte mais longo. Por exemplo, você poderia configurar uma planilha em que o modelo SMA seria usado para prever 2 passos à frente, 3 passos à frente, etc., dentro da amostra de dados históricos. Você poderia então calcular os desvios padrão da amostra dos erros em cada horizonte de previsão e, em seguida, construir intervalos de confiança para previsões de longo prazo, adicionando e subtraindo múltiplos do desvio padrão apropriado. Se tentarmos uma média móvel simples de 9 termos, obtemos previsões ainda mais suaves e mais de um efeito de atraso: a idade média é agora de 5 períodos ((91) 2). Se tomarmos uma média móvel de 19 termos, a idade média aumenta para 10: Observe que, de fato, as previsões estão atrasadas em torno de 10 períodos. Qual quantidade de suavização é melhor para esta série. Aqui está uma tabela que compara suas estatísticas de erro, incluindo também uma média de 3 termos: Modelo C, a média móvel de 5 termos, produz o menor valor de RMSE por uma pequena margem ao longo dos 3 As médias de prazo e de 9 anos e suas outras estatísticas são quase idênticas. Assim, entre os modelos com estatísticas de erro muito semelhantes, podemos escolher se preferimos um pouco mais de capacidade de resposta ou um pouco mais de suavidade nas previsões. (Retornar ao topo da página.) Browns Suavização exponencial simples (média móvel ponderada exponencialmente) O modelo de média móvel simples descrito acima tem a propriedade indesejável que trata as últimas observações k de forma igual e ignora completamente todas as observações precedentes. Intuitivamente, os dados passados devem ser descontados de forma mais gradual - por exemplo, a observação mais recente deve ter um pouco mais de peso que o segundo mais recente, e o segundo mais recente deve ter um pouco mais de peso do que o terceiro mais recente, e em breve. O modelo de suavização exponencial simples (SES) realiza isso. Deixe 945 indicar uma constante de quotesmoothing (um número entre 0 e 1). Uma maneira de escrever o modelo é definir uma série L que represente o nível atual (isto é, o valor médio local) da série como estimado a partir de dados até o presente. O valor de L no tempo t é calculado de forma recursiva a partir de seu próprio valor anterior como este: Assim, o valor atual suavizado é uma interpolação entre o valor suavizado anterior e a observação atual, onde 945 controla a proximidade do valor interpolado para o mais recente observação. A previsão para o próximo período é simplesmente o valor liso atual: Equivalentemente, podemos expressar a próxima previsão diretamente em termos de previsões anteriores e observações anteriores, em qualquer uma das seguintes versões equivalentes. Na primeira versão, a previsão é uma interpolação entre previsão anterior e observação anterior: na segunda versão, a próxima previsão é obtida ajustando a previsão anterior na direção do erro anterior em uma quantidade fracionada de 945. É o erro ocorrido em Tempo t. Na terceira versão, a previsão é uma média móvel ponderada exponencialmente (com desconto) com o fator de desconto 1- 945: a versão de interpolação da fórmula de previsão é a mais simples de usar se você estiver implementando o modelo em uma planilha: ela se encaixa em uma Célula única e contém referências de células apontando para a previsão anterior, a observação anterior e a célula onde o valor de 945 é armazenado. Observe que se 945 1, o modelo SES é equivalente a um modelo de caminhada aleatória (sem crescimento). Se 945 0, o modelo SES é equivalente ao modelo médio, supondo que o primeiro valor suavizado seja igual à média. (Voltar ao topo da página.) A idade média dos dados na previsão de suavização simples-exponencial é de 1 945 em relação ao período para o qual a previsão é calculada. (Isso não deve ser óbvio, mas pode ser facilmente demonstrado pela avaliação de uma série infinita.) Portanto, a previsão média móvel simples tende a atrasar os pontos de viragem em cerca de 1 945 períodos. Por exemplo, quando 945 0.5 o atraso é de 2 períodos quando 945 0.2 o atraso é de 5 períodos quando 945 0.1 o atraso é de 10 períodos, e assim por diante. Para uma média de idade dada (ou seja, a quantidade de lag), a previsão de suavização exponencial simples (SES) é um pouco superior à previsão da média móvel simples (SMA) porque coloca um peso relativamente maior na observação mais recente - isto é. É um pouco mais quotresponsivequot às mudanças ocorridas no passado recente. Por exemplo, um modelo SMA com 9 termos e um modelo SES com 945 0,2 ambos têm uma idade média de 5 para os dados em suas previsões, mas o modelo SES coloca mais peso nos últimos 3 valores do que o modelo SMA e no Ao mesmo tempo, não é completamente necessário para o 8221 sobre valores com mais de 9 períodos de tempo, como mostrado neste gráfico: Outra vantagem importante do modelo SES sobre o modelo SMA é que o modelo SES usa um parâmetro de suavização que é continuamente variável, portanto, pode otimizar facilmente Usando um algoritmo quotsolverquot para minimizar o erro quadrático médio. O valor ideal de 945 no modelo SES para esta série acaba por ser 0.2961, como mostrado aqui: A idade média dos dados nesta previsão é de 10.2961 3,4 períodos, que é semelhante ao de uma média móvel simples de 6 termos. As previsões de longo prazo do modelo SES são uma linha direta horizontal. Como no modelo SMA e no modelo de caminhada aleatória sem crescimento. No entanto, note que os intervalos de confiança computados por Statgraphics agora divergem de forma razoável e que eles são substancialmente mais estreitos do que os intervalos de confiança para o modelo de caminhada aleatória. O modelo SES assume que a série é um pouco mais previsível do que o modelo de caminhada aleatória. Um modelo SES é realmente um caso especial de um modelo ARIMA. Então a teoria estatística dos modelos ARIMA fornece uma base sólida para calcular intervalos de confiança para o modelo SES. Em particular, um modelo SES é um modelo ARIMA com uma diferença não-sazonal, um termo MA (1) e nenhum termo constante. Também conhecido como um modelo quotARIMA (0,1,1) sem constantequot. O coeficiente MA (1) no modelo ARIMA corresponde à quantidade 1- 945 no modelo SES. Por exemplo, se você ajustar um modelo ARIMA (0,1,1) sem constante para a série analisada aqui, o coeficiente MA (1) estimado é 0.7029, o que é quase exatamente um menos 0.2961. É possível adicionar a hipótese de uma tendência linear constante não-zero a um modelo SES. Para fazer isso, basta especificar um modelo ARIMA com uma diferença não-sazonal e um termo MA (1) com uma constante, ou seja, um modelo ARIMA (0,1,1) com constante. As previsões a longo prazo terão uma tendência que é igual à tendência média observada durante todo o período de estimação. Você não pode fazer isso em conjunto com o ajuste sazonal, porque as opções de ajuste sazonal são desabilitadas quando o tipo de modelo é definido como ARIMA. No entanto, você pode adicionar uma tendência exponencial constante a longo prazo a um modelo de suavização exponencial simples (com ou sem ajuste sazonal) usando a opção de ajuste de inflação no procedimento de Previsão. A taxa de quotinflação adequada (taxa de crescimento) por período pode ser estimada como o coeficiente de inclinação em um modelo de tendência linear ajustado aos dados em conjunto com uma transformação do logaritmo natural, ou pode ser baseado em outras informações independentes sobre perspectivas de crescimento a longo prazo . (Voltar ao topo da página.) Browns Linear (ou seja, duplo) Suavização exponencial Os modelos SMA e os modelos SES assumem que não há nenhuma tendência de nenhum tipo nos dados (o que normalmente é OK ou pelo menos não muito ruim para 1- Previsões passo a passo quando os dados são relativamente barulhentos) e podem ser modificados para incorporar uma tendência linear constante como mostrado acima. E as tendências de curto prazo Se uma série exibir uma taxa de crescimento variável ou um padrão cíclico que se destaca claramente contra o ruído, e se for necessário prever mais de 1 período, a estimativa de uma tendência local também pode ser um problema. O modelo de alisamento exponencial simples pode ser generalizado para obter um modelo de alisamento exponencial linear (LES) que calcula estimativas locais de nível e tendência. O modelo de tendência mais simples do tempo é o modelo de alisamento exponencial linear Browns, que usa duas séries suavizadas diferentes centradas em diferentes pontos no tempo. A fórmula de previsão é baseada em uma extrapolação de uma linha através dos dois centros. (Uma versão mais sofisticada deste modelo, Holt8217s, é discutida abaixo.) A forma algébrica do modelo de alisamento exponencial linear Brown8217s, como a do modelo de suavização exponencial simples, pode ser expressa em várias formas diferentes, mas equivalentes. A forma quotstandardquot deste modelo geralmente é expressa da seguinte maneira: Seja S indicar a série de suavidade individualmente obtida pela aplicação de suavização exponencial simples para a série Y. Ou seja, o valor de S no período t é dado por: (Lembre-se que, sob simples Suavização exponencial, esta seria a previsão de Y no período t1). Em seguida, deixe Squot indicar a série duplamente suavizada obtida pela aplicação de suavização exponencial simples (usando o mesmo 945) para a série S: Finalmente, a previsão para Y tk. Para qualquer kgt1, é dado por: Isto produz e 1 0 (isto é, engane um pouco e deixe a primeira previsão igual a primeira observação real) e e 2 Y 2 8211 Y 1. Após o que as previsões são geradas usando a equação acima. Isso produz os mesmos valores ajustados que a fórmula com base em S e S, se estes últimos foram iniciados usando S 1 S 1 Y 1. Esta versão do modelo é usada na próxima página que ilustra uma combinação de suavização exponencial com ajuste sazonal. Holt8217s Linear Exponential Suavização Brown8217s modelo LES calcula as estimativas locais de nível e tendência, suavizando os dados recentes, mas o fato de que ele faz com um único parâmetro de suavização coloca uma restrição nos padrões de dados que ele pode caber: o nível e a tendência Não é permitido variar em taxas independentes. O modelo LES de Holt8217s aborda esse problema ao incluir duas constantes de suavização, uma para o nível e outra para a tendência. Em qualquer momento t, como no modelo Brown8217s, há uma estimativa L t do nível local e uma estimativa T t da tendência local. Aqui, eles são computados de forma recursiva a partir do valor de Y observado no tempo t e as estimativas anteriores do nível e tendência por duas equações que aplicam suavização exponencial separadamente. Se o nível estimado e a tendência no tempo t-1 são L t82091 e T t-1. Respectivamente, então a previsão de Y tshy que teria sido feita no tempo t-1 é igual a L t-1 T t-1. Quando o valor real é observado, a estimativa atualizada do nível é calculada de forma recursiva interpolando entre Y tshy e sua previsão, L t-1 T t-1, usando pesos de 945 e 1- 945. A alteração no nível estimado, Lt 8209 L t82091. Pode ser interpretado como uma medida ruim da tendência no tempo t. A estimativa atualizada da tendência é então calculada de forma recursiva interpolando entre L t 8209 L t82091 e a estimativa anterior da tendência, T t-1. Usando pesos de 946 e 1-946: a interpretação da constante de suavização de tendências 946 é análoga à da constante de alívio de nível 945. Modelos com valores pequenos de 946 assumem que a tendência muda muito lentamente ao longo do tempo, enquanto modelos com 946 maiores assumem que está mudando mais rapidamente. Um modelo com um grande 946 acredita que o futuro distante é muito incerto, porque os erros na estimativa de tendência se tornam bastante importantes ao prever mais de um período à frente. (Voltar ao topo da página.) As constantes de suavização 945 e 946 podem ser estimadas da maneira usual, minimizando o erro quadrático médio das previsões de 1 passo à frente. Quando isso é feito em Statgraphics, as estimativas são de 945 0,3048 e 946 0,008. O valor muito pequeno de 946 significa que o modelo assume mudanças muito pequenas na tendência de um período para o outro, então basicamente este modelo está tentando estimar uma tendência de longo prazo. Por analogia com a noção de idade média dos dados utilizados na estimativa do nível local da série, a idade média dos dados utilizados na estimativa da tendência local é proporcional a 1 946, embora não exatamente igual a ela. . Neste caso, isso é 10.006 125. Este não é um número muito preciso na medida em que a precisão da estimativa de 946 não é realmente 3 casas decimais, mas é da mesma ordem geral de magnitude que o tamanho da amostra de 100, então Este modelo está com uma média de bastante história na estimativa da tendência. O gráfico de previsão abaixo mostra que o modelo de LES estima uma tendência local um pouco maior no final da série do que a tendência constante estimada no modelo SEStrend. Além disso, o valor estimado de 945 é quase idêntico ao obtido pela montagem do modelo SES com ou sem tendência, então este é quase o mesmo modelo. Agora, eles se parecem com previsões razoáveis para um modelo que deveria estimar uma tendência local Se você 8220eyeball8221 esse enredo, parece que a tendência local virou para baixo no final da série O que aconteceu Os parâmetros deste modelo Foram estimados pela minimização do erro quadrado das previsões de 1 passo a frente, não de previsões a mais longo prazo, caso em que a tendência não faz muita diferença. Se tudo o que você está procurando é erros de 1 passo à frente, você não está vendo a imagem maior das tendências em relação a (digamos) 10 ou 20 períodos. Para obter este modelo mais em sintonia com a nossa extrapolação no globo ocular dos dados, podemos ajustar manualmente a constante de suavização de tendência para que ele use uma linha de base mais curta para estimativa de tendência. Por exemplo, se optar por definir 946 0,1, a idade média dos dados utilizados na estimativa da tendência local é de 10 períodos, o que significa que estamos em média a tendência nos últimos 20 períodos ou mais. Aqui é o que parece o gráfico de previsão se definimos 946 0,1 enquanto mantemos 945 0,3. Isso parece intuitivamente razoável para esta série, embora seja provavelmente perigoso extrapolar essa tendência mais de 10 períodos no futuro. E as estatísticas de erro Aqui está uma comparação de modelo para os dois modelos mostrados acima, bem como três modelos SES. O valor ideal de 945 para o modelo SES é de aproximadamente 0,3, mas resultados semelhantes (com um pouco mais ou menos responsividade, respectivamente) são obtidos com 0,5 e 0,2. (A) Holts linear exp. Alisamento com alfa 0.3048 e beta 0.008 (B) Holts linear exp. Alisamento com alfa 0.3 e beta 0.1 (C) Suavização exponencial simples com alfa 0.5 (D) Suavização exponencial simples com alfa 0.3 (E) Suavização exponencial simples com alfa 0.2 Suas estatísticas são quase idênticas, então nós realmente podemos escolher a base De erros de previsão de 1 passo à frente na amostra de dados. Temos de recuar sobre outras considerações. Se acreditamos firmemente que faz sentido basear a estimativa de tendência atual sobre o que aconteceu nos últimos 20 períodos ou mais, podemos fazer um caso para o modelo LES com 945 0,3 e 946 0,1. Se quisermos ser agnósticos sobre se existe uma tendência local, então um dos modelos SES pode ser mais fácil de explicar e também fornecerá mais previsões do meio da estrada para os próximos 5 ou 10 períodos. (Retornar ao topo da página.) Qual tipo de tendência-extrapolação é melhor: horizontal ou linear. Evidências empíricas sugerem que, se os dados já foram ajustados (se necessário) para a inflação, então pode ser imprudente extrapolar a curto prazo linear Tendências muito distantes no futuro. As tendências evidentes hoje podem diminuir no futuro devido a causas variadas, como obsolescência do produto, aumento da concorrência e recessões cíclicas ou aumentos em uma indústria. Por esta razão, o alisamento exponencial simples geralmente realiza melhor fora da amostra do que seria de se esperar, apesar da sua extrapolação de tendência horizontal de quotnaivequot. As modificações da tendência amortecida do modelo de alisamento exponencial linear também são freqüentemente usadas na prática para introduzir uma nota de conservadorismo em suas projeções de tendência. O modelo LES da Tendência amortecida pode ser implementado como um caso especial de um modelo ARIMA, em particular, um modelo ARIMA (1,1,2). É possível calcular intervalos de confiança em torno de previsões de longo prazo produzidas por modelos exponenciais de suavização, considerando-os como casos especiais de modelos ARIMA. (Beware: nem todos os softwares calculam os intervalos de confiança para esses modelos corretamente.) A largura dos intervalos de confiança depende de (i) o erro RMS do modelo, (ii) o tipo de alisamento (simples ou linear) (iii) o valor (S) da (s) constante (s) de suavização e (iv) o número de períodos adiante que você está prevendo. Em geral, os intervalos se espalham mais rapidamente, à medida que 945 se ampliam no modelo SES e se espalham muito mais rápido quando o alisamento linear em vez do simples é usado. Este tópico é discutido mais adiante na seção de modelos ARIMA das notas. (Voltar ao topo da página.) Suavizar os dados remove a variação aleatória e mostra as tendências e os 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 é suavização. 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 ou média calculada dos dados 10. O gerente decide usar isso como a estimativa de despesas de um fornecedor típico. É 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 valor do erro 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 de 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 somleft (fração direita) x1 esquerda (fração direita) x2,. , Esquerda (fratura direita) xn. Os (a esquerda (fratura direita)) são os pesos e, é claro, somam para 1.
Comments
Post a Comment