Estou trabalhando com uma grande quantidade de séries temporais. Essas séries temporais são basicamente medidas de rede que chegam a cada 10 minutos, e algumas delas são periódicas (ou seja, a largura de banda), enquanto algumas outras arent (ou seja, a quantidade de tráfego de roteamento). Gostaria de um algoritmo simples para fazer uma detecção outlier online. Basicamente, eu quero manter na memória (ou no disco) todos os dados históricos para cada série temporal, e eu quero detectar qualquer outlier em um cenário ao vivo (cada vez que uma nova amostra é capturada). Qual é a melhor maneira de alcançar esses resultados Estou atualmente usando uma média móvel para remover algum ruído, mas depois o que aconteceu Simples coisas como desvio padrão, louco. Contra todo o conjunto de dados não funciona bem (eu não posso assumir que as séries temporais estão estacionárias) e eu gostaria de algo mais preciso, idealmente uma caixa preta como: double outlierdetection (double vector, double value) onde vector é o array de dupla contendo Os dados históricos e o valor de retorno são a pontuação de anomalia para o novo valor da amostra. Perguntou 2 de agosto 10 às 20:37 Sim, eu assumi que a freqüência é conhecida e especificada. Existem métodos para estimar a frequência automaticamente, mas isso complicaria consideravelmente a função. Se você precisa estimar a freqüência, tente fazer uma pergunta separada sobre isso - e provavelmente vou fornecer uma resposta, mas precisa de mais espaço do que eu tenho disponível em um comentário. Ndash Rob Hyndman 3 de agosto 10 às 23:40 Uma boa solução terá vários ingredientes, incluindo: Use uma janela resistente, móvel, suave para remover a não-estabilidade. Reexpresse os dados originais para que os resíduos em relação ao liso sejam distribuídos aproximadamente de forma simétrica. Dada a natureza dos seus dados, é provável que suas raízes quadradas ou logaritmos dêem resíduos simétricos. Aplique os métodos do gráfico de controle, ou pelo menos o pensamento da tabela de controle, para os resíduos. No que diz respeito ao último, o pensamento do gráfico de controle mostra que os limiares convencionais, como 2 SD ou 1,5 vezes o IQR além dos quartis, funcionam mal porque provocam muitos sinais falsos fora de controle. As pessoas geralmente usam 3 SD no trabalho de tabela de controle, de onde 2,5 (ou mesmo 3) vezes o IQR além dos quartis seria um bom ponto de partida. Eu esbocei mais ou menos a natureza da solução Rob Hyndmans, ao mesmo tempo em que adicionei dois pontos principais: o potencial precisa reexpressar os dados e a sabedoria de ser mais conservador na sinalização de um outlier. Não tenho certeza de que Loess seja bom para um detector on-line, no entanto, porque não funciona bem nos pontos finais. Você pode, em vez disso, usar algo tão simples como um filtro de medição móvel (como no alisamento resistente de Tukeys). Se os outliers não vierem em rajadas, você pode usar uma janela estreita (5 pontos de dados, talvez, que serão quebrados apenas com uma explosão de 3 ou mais valores atípicos dentro de um grupo de 5). Depois de ter realizado a análise para determinar uma boa reexpressão dos dados, é improvável que você precise alterar a reexpressão. Portanto, seu detector on-line realmente precisa apenas fazer referência aos valores mais recentes (a última janela) porque não usará os dados anteriores. Se você tiver muito tempo, você pode avançar para analisar a autocorrelação e a sazonalidade (como flutuações diárias ou semanais recorrentes) para melhorar o procedimento. Respondeu 26 de agosto às 18:02 John, 1.5 IQR é a recomendação original da Tukey39 para os bigodes mais longos em um boxplot e 3 IQR é a sua recomendação para marcar pontos como quotfar outliersquot (um riff em uma frase popular de 6039s). Isso é incorporado em vários algoritmos boxplot. A recomendação é analisada teoricamente em Hoaglin, Mosteller, amp Tukey, Understanding Robust e Exploratory Data Analysis. Ndash whuber 9830 out 9 12 at 21:38 Isso confirma dados de séries temporais que tentei analisar. A média da janela e também os desvios padrão de uma janela. ((X - avg) sd) gt 3 parecem ser os pontos que eu quero marcar como outliers. Bem, pelo menos, avisar como outliers, eu sinalizador qualquer coisa acima de 10 sd como extremos extremos outliers. O problema em que eu toco é o que é um comprimento de janela ideal I39m jogando com qualquer coisa entre 4-8 pontos de dados. Ndash NeoZenith 29 de junho 16 às 8:00 Neo Sua melhor aposta pode ser experimentar um subconjunto de seus dados e confirmar suas conclusões com os testes no restante. Você também poderia realizar uma validação cruzada mais formal (mas é necessário um cuidado especial com dados da série temporal devido à interdependência de todos os valores). Ndash whuber 9830 29 jun 16 às 12:10 (Esta resposta respondeu a uma pergunta duplicada (agora fechada) na Detecção de eventos pendentes, que apresentou alguns dados em forma gráfica.) A detecção de ultrapassagem depende da natureza dos dados e do que você é Disposto a assumir sobre eles. Os métodos de uso geral dependem de estatísticas robustas. O espírito desta abordagem é caracterizar a maior parte dos dados de uma forma que não é influenciada por valores aberrantes e, em seguida, apontar para valores individuais que não se enquadram nessa caracterização. Como esta é uma série de tempo, ela acrescenta a complicação da necessidade de (re) detectar outliers de forma contínua. Se isso for feito à medida que a série se desenrola, então só podemos usar dados mais antigos para a detecção, não dados futuros. Além disso, como proteção contra os muitos testes repetidos, gostaríamos de usar um método com falso muito baixo Taxa positiva. Essas considerações sugerem a execução de um teste outlier de janela móvel simples e robusto sobre os dados. Há muitas possibilidades, mas uma simples, fácil de entender e facilmente implementada é baseada em um MAD em execução: desvio absoluto mediano da mediana. Esta é uma medida fortemente robusta de variação dentro dos dados, semelhante a um desvio padrão. Um pico periférico seria vários MAD ou mais maior do que a mediana. Ainda há algum ajuste a ser feito. Quanto de um desvio da maior parte dos dados deve ser considerado periférico e em que ponto de volta no tempo deve olhar. Deixar estes como parâmetros para experimentação. Heres e uma implementação R aplicada a dados x (1,2, ldots, n) (com n1150 para emular os dados) com valores correspondentes y: Aplicada a um conjunto de dados como a curva vermelha ilustrada na pergunta, produz esse resultado: os dados São mostrados em vermelho, a janela de 30 dias dos limiares da mediana5MAD em cinza e os outliers - que são simplesmente esses valores de dados acima da curva de cinza - em preto. (O limite só pode ser calculado começando no final da janela inicial. Para todos os dados nesta janela inicial, o primeiro limiar é usado: é por isso que a curva cinza é plana entre x0 e x30.) Os efeitos da alteração dos parâmetros são (A) o aumento do valor da janela tenderá a suavizar a curva cinza e (b) o limite crescente aumentará a curva cinza. Sabendo disso, pode-se levar um segmento inicial dos dados e identificar rapidamente os valores dos parâmetros que melhor segregam os picos periféricos do resto dos dados. Aplique esses valores de parâmetros para verificar o resto dos dados. Se um gráfico mostra que o método está a piorar ao longo do tempo, isso significa que a natureza dos dados está mudando e os parâmetros podem precisar ser reajustados. Observe o pouco que este método assume sobre os dados: eles não precisam ser normalmente distribuídos, eles não precisam exibir qualquer periodicidade, eles não precisam ser negativos. Tudo o que presume é que os dados se comportam de maneira razoavelmente similar ao longo do tempo e que os picos periféricos são visivelmente maiores do que o resto dos dados. Se alguém quiser experimentar (ou comparar alguma outra solução com aquela oferecida aqui), aqui está o código que eu usei para produzir dados como os que estão na pergunta. Estou adivinhando que o modelo sofisticado de séries temporais não funcionará para você por causa do tempo necessário para detectar outliers usando esta metodologia. Portanto, aqui está uma solução alternativa: primeiro estabeleça um padrão de tráfego normal de linha de base por um ano com base na análise manual de dados históricos que responde pelo horário do dia, dia da semana vs fim de semana, mês do ano etc. Use esta linha de base juntamente com algum mecanismo simples (Por exemplo, média móvel sugerida por Carlos) para detectar outliers. Você também pode querer rever a literatura de controle de processo estatístico para algumas idéias. Sim, isso é exatamente o que eu estou fazendo: até agora eu dividir manualmente o sinal em períodos, de modo que, para cada um deles, eu posso definir um intervalo de confiança dentro do qual o sinal deveria estar parado e, portanto, eu posso usar métodos padrão, como Como desvio padrão. O problema real é que não consigo decidir o padrão esperado para todos os sinais que eu tenho que analisar, e é por isso que estou procurando por algo mais inteligente. Ndash gianluca 2 de agosto 10 às 21:37 Aqui está uma idéia: Etapa 1: implementar e estimar um modelo genérico de séries temporais em uma base única com base em dados históricos. Isso pode ser feito offline. Etapa 2: use o modelo resultante para detectar outliers. Passo 3: em algumas frequências (talvez a cada mês), calibre novamente o modelo da série temporal (isso pode ser feito offline), de modo que a detecção de outliers por etapas 2 não ultrapasse os padrões de tráfego atuais. Isso funcionaria para o seu contexto ndash user28 2 de agosto 10 às 22:24 Sim, isso pode funcionar. Eu estava pensando em uma abordagem semelhante (recomputando a linha de base toda semana, o que pode ser intensivo em CPU se você tiver centenas de séries temporais univariadas para analisar). BTW a verdadeira questão difícil é quot qual é o melhor algoritmo de estilo blackbox para modelar um sinal completamente genérico, considerando o ruído, estimativa de tendência e sazonalidade. AFAIK, cada abordagem na literatura requer uma fase de tuningquot quotparameter muito difícil, e o único método automático que encontrei é um modelo ARIMA da Hyndman (robjhyndmansoftwareforecast). Estou faltando algo ndash gianluca 2 de agosto 10 às 22:38 Novamente, isso funciona muito bem se o sinal for suposto ter uma sazonalidade como essa, mas se eu usar uma série de tempo completamente diferente (ou seja, o tempo médio de ida e volta de TCP ao longo do tempo ), Este método não funcionará (uma vez que seria melhor lidar com aquele com uma média global simples e desvio padrão usando uma janela deslizante contendo dados históricos). Ndash gianluca 2 de agosto 10 às 22:02 A menos que você esteja disposto a implementar um modelo de série de tempo geral (o que traz seus contras em termos de latência, etc.) Eu sou pessimista que você encontrará uma implementação geral que, ao mesmo tempo, é simples o suficiente Para trabalhar em todos os tipos de séries temporais. Ndash user28 2 de agosto 10 às 22:06 Outro comentário: eu sei que uma boa resposta pode ser porque você pode estimar a periodicidade do sinal e decidir o algoritmo para usar de acordo com isso, mas eu não encontrei uma boa solução para este. Problema (eu joguei um pouco com análise espectral usando DFT e análise de tempo usando a função de autocorrelação, mas minhas séries temporais contêm muito barulho e esses métodos dão alguns resultados loucos dos tempos) ndash gianluca 2 de agosto 10 às 22:06 A Comente para o seu último comentário: é por isso que estou procurando uma abordagem mais genérica, mas eu preciso de um tipo de caixa de quotblack porque não posso fazer qualquer suposição sobre o sinal analisado e, portanto, não posso criar o conjunto de parâmetros mais velozes para o algoritmo de aprendizagem. Ndash gianluca 2 de agosto 10 às 22:09 Uma vez que é um dado da série temporal, um filtro exponencial simples em. wikipedia. orgwikiExponentialsmoothing irá suavizar os dados. É um filtro muito bom, pois você não precisa acumular pontos de dados antigos. Compare cada valor de dados recentemente suavizado com o seu valor não suavizado. Uma vez que o desvio excede um certo limiar predefinido (dependendo do que você acredita que um outlier em seus dados é), seu outlier pode ser facilmente detectado. Respondeu 30 de abril 15 às 8:50 Você poderia usar o desvio padrão das últimas medições N (você precisa escolher um N adequado). Uma boa pontuação de anomalia seria quantos desvios padrão uma medida é da média móvel. Respondeu 2 de agosto 10 às 20:48 Obrigado pela sua resposta, e se o sinal exibir uma alta sazonalidade (ou seja, muitas medidas de rede são caracterizadas por um padrão diário e semanal ao mesmo tempo, por exemplo, noite vs dia ou fim de semana Vs dias úteis) Uma abordagem baseada no desvio padrão não funcionará nesse caso. Ndash gianluca 2 de agosto 10 às 20:57 Por exemplo, se eu receber uma nova amostra a cada 10 minutos, e I39m fazendo uma detecção outlier do uso de largura de banda da rede de uma empresa, basicamente às 18h, esta medida cairá (isso é esperado Um padrão totalmente normal), e um desvio padrão calculado sobre uma janela deslizante falhará (porque ele irá ativar um alerta com certeza). Ao mesmo tempo, se a medida cair às 16h (desviando-se da linha de base usual), este é um valor de risco real. Ndash gianluca 2 de agosto 10 às 20:58 o que eu faço é agrupar as medidas por hora e dia da semana e comparar os desvios-padrão dessa. Ainda não correto para coisas como feriados e sazonalidade invernal, mas é correto na maioria das vezes. A desvantagem é que você realmente precisa coletar um ano ou mais de dados para ter o suficiente para que o stddev comece a fazer sentido. A análise espectral detecta periodicidade em séries temporais estacionárias. A abordagem de domínio de freqüência com base na estimativa da densidade espectral é uma abordagem que eu recomendaria como seu primeiro passo. Se, por certos períodos, a irregularidade significa um pico muito maior do que o típico nesse período, a série com tais irregularidades não seria estacionária e a análise espacial espectral não seria apropriada. Mas supondo que você tenha identificado o período que tem as irregularidades, você deve determinar aproximadamente qual seria a altura normal do pico e, em seguida, pode definir um limite em algum nível acima dessa média para designar os casos irregulares. Respondeu 3 de setembro 12 às 14:59 Sugiro o esquema abaixo, que deve ser implementável em um dia ou mais: coletar tantas amostras quanto você pode segurar na memória Remover outliers óbvias usando o desvio padrão para cada atributo Calcular e armazenar a matriz de correlação E também a média de cada atributo Calcule e armazene as distâncias de Mahalanobis de todas as suas amostras Calculando a outguraza: Para a amostra única de que você quer saber a sua outorância: Recupere os meios, a matriz de covariância e a distância de Mahalanobis do treinamento Calcule a distância de Mahalanobis d Para a sua amostra Retorne o percentil em que d cai (usando as distâncias de Mahalanobis do treino). Esse será o seu resultado anormal: 100 é um outlier extremo. PS. Ao calcular a distância Mahalanobis. Use a matriz de correlação, não a matriz de covariância. Isso é mais robusto se as medidas da amostra variarem em unidades e números. 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 as séries temporais são localmente estacionárias 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, em seguida, use isso como a previsão para um 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 geralmente é chamada de uma versão quotsmoothedquot da série original porque a média a 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 ideal entre o desempenho dos modelos de caminhada aleatória e média. 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 das séries temporais Y feitas o mais cedo possível por 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 atrasar os pontos de viragem nos dados . Por exemplo, se você estiver calculando a média dos ú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 quotfitquot para os dados, ou seja, os menores erros de previsão em média. Aqui é 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, o que equivale 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 lisas: 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 existe uma teoria estatística subjacente que nos diga como os intervalos de confiança devem 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 média de idade aumenta para 10: Observe que, de fato, as previsões estão atrasadas em torno de 10 pontos. 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 Médias temporais e de 9 termos, 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 de que trata as últimas observações k de forma igualitária 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 suavizado atual é 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 suavizado 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 cometido 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 que apontam para a previsão anterior, a observação anterior e a célula onde o valor de 945 é armazenado. Note-se 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 é 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 quotresponsivech para as 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 possui 8220forget8221 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 é 0.2961, como mostrado aqui: A idade média dos dados nesta previsão é 10.2961 3,4 períodos, o 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 o cálculo de 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 ao 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 desativadas 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 de 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 quanto a 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 houver necessidade de prever mais de 1 período à frente, 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 suavização 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 denotar a série de suavização individual 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.) Então, deixe Squot indicar a série duplamente suavizada obtida aplicando o alisamento exponencial simples (usando o mesmo 945) para a série S: Finalmente, a previsão para Y tk. Para qualquer kgt1, é dada por: Isto produz e 1 0 (isto é, traga 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 Suavizante Brown8217s modelo LES calcula estimativas locais de nível e tendência ao suavizar 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 podem variar a 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. A qualquer momento t, como no modelo Brown8217s, existe 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 o alisamento 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 simulação de tendência 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 revelam-se 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, esse 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 grandeza 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, isso parece previsões razoáveis para um modelo que deveria estimar uma tendência local Se você 8220eyeball8221 este gráfico, parece que a tendência local virou para baixo no final da série O que aconteceu Os parâmetros deste modelo Foi estimado pela minimização do erro quadrado das previsões de 1 passo à 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 a passo, 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 extrapolação dos dados no olho, podemos ajustar manualmente a constante de alívio da tendência, de modo que ele use uma linha de base mais curta para a 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 esta 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 capacidade de resposta, respectivamente) são obtidos com 0,5 e 0,2. (A) Holts linear exp. Alisamento com alpha 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 realmente podemos usar a escolha com base De erros de previsão de 1 passo à frente na amostra de dados. Temos de voltar atrás em outras considerações. Se acreditamos firmemente que faz sentido basear a estimativa da tendência atual sobre o que aconteceu nos últimos 20 períodos, 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 daria 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 inflação, então pode ser imprudente extrapolar linear de curto prazo 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 este motivo, o alisamento exponencial simples geralmente apresenta melhor fora da amostra do que seria de esperar, apesar da sua extrapolação de tendência horizontal de quotnaivequot. As modificações de tendências amortecidas 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 modificação 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 todo o software calcula 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 rápido, à 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.)
No comments:
Post a Comment