Tuesday 8 October 2019

Autoregressive moving average python


Análise da série de tempo tsa statsmodels. tsa contém classes modelo e funções que são úteis para a análise de séries temporais. Isso atualmente inclui modelos autoregressivos univariados (AR), modelos vetoriais vetoriais (VAR) e modelos de média móvel auto-regressiva univariada (ARMA). Também inclui estatística descritiva para séries temporais, por exemplo, autocorrelação, função de autocorrelação parcial e periodograma, bem como as propriedades teóricas correspondentes de ARMA ou processos relacionados. Também inclui métodos para trabalhar com atraso médio-aleatório e polinômios. Além disso, estão disponíveis testes estatísticos relacionados e algumas funções auxiliares úteis. A estimativa é feita por uma Probabilidade Máxima exata ou condicional ou por mínimos quadrados condicionais, usando Filtro Kalman ou filtros diretos. Atualmente, as funções e as classes devem ser importadas do módulo correspondente, mas as classes principais estarão disponíveis no namespace statsmodels. tsa. A estrutura do módulo está dentro statsmodels. tsa é stattools. Propriedades empíricas e testes, acf, pacf, granger-causality, teste de raiz da unidade adf, teste de caixa de jj e outros. Armadilho. Processo auto-regressivo univariante, estimativa com probabilidade máxima condicional e exata e aleatorização de mínimos quadrados condicionais. Processo ARMA univariante, estimativa com probabilidade máxima condicional e exata e vetorar de mínimos quadrados condicionais, var. Modelos de estimativa de processo de autorregressão de vetores (VAR), análise de resposta de impulso, decomposição de variância de erro de previsão e ferramentas de visualização de dados kalmanf. Classes de estimativa para ARMA e outros modelos com MLE exato usando o Kalman Filter armaprocess. Propriedades de processos de arma com parâmetros determinados, isto inclui ferramentas para converter entre ARMA, MA e representação de AR, bem como acf, pacf, densidade espectral, função de resposta de impulso e sandbox. tsa. fftarma semelhante. Semelhante ao armaprocess, mas trabalhando em tsatools de domínio de freqüência. Funções auxiliares adicionais, para criar matrizes de variáveis ​​atrasadas, construir regressores para tendências, desvios e similares. Filtros. Função auxiliar para filtrar séries temporais Algumas funções adicionais que também são úteis para a análise de séries temporais estão em outras partes dos modelos de estatísticas, por exemplo, testes estatísticos adicionais. Algumas funções relacionadas também estão disponíveis em matplotlib, nitime e scikits. talkbox. Essas funções são projetadas mais para o uso no processamento de sinais onde séries temporais mais longas estão disponíveis e funcionam com mais frequência no domínio da frequência. Estatística e testes estatísticos estatutos estattools. acovf Introdução ao ARIMA: modelos não-sazonais Equação de previsão ARIMA (p, d, q): os modelos ARIMA são, em teoria, a classe mais geral de modelos para prever um horário Série que pode ser feita para ser 8220stationary8221 por diferenciação (se necessário), talvez em conjunção com transformações não-lineares, como registro ou desinflação (se necessário). Uma variável aleatória que é uma série temporal é estacionária se suas propriedades estatísticas são todas constantes ao longo do tempo. Uma série estacionária não tem tendência, suas variações em torno de sua média têm uma amplitude constante, e ela muda de forma consistente. Isto é, seus padrões de tempo aleatório de curto prazo sempre parecem os mesmos em um sentido estatístico. A última condição significa que suas autocorrelações (correlações com seus próprios desvios anteriores da média) permanecem constantes ao longo do tempo, ou de forma equivalente, que seu espectro de potência permanece constante ao longo do tempo. Uma variável aleatória deste formulário pode ser visualizada (como de costume) como uma combinação de sinal e ruído, e o sinal (se um é aparente) pode ser um padrão de reversão média rápida ou lenta, ou oscilação sinusoidal, ou alternância rápida no signo , E também poderia ter um componente sazonal. Um modelo ARIMA pode ser visto como um 8220filter8221 que tenta separar o sinal do ruído, e o sinal é então extrapolado para o futuro para obter previsões. A equação de previsão ARIMA para uma série de tempo estacionária é uma equação linear (ou seja, regressão) em que os preditores consistem em atrasos da variável dependente ou atrasos dos erros de previsão. Isto é: valor previsto de Y uma constante ou uma soma ponderada de um ou mais valores recentes de Y e uma soma ponderada de um ou mais valores recentes dos erros. Se os preditores consistem apenas em valores atrasados ​​de Y. é um modelo autoregressivo puro (8220 self-regressed8221), que é apenas um caso especial de um modelo de regressão e que poderia ser equipado com um software de regressão padrão. Por exemplo, um modelo autoregressivo de primeira ordem (8220AR (1) 8221) para Y é um modelo de regressão simples no qual a variável independente é apenas Y rezagada por um período (LAG (Y, 1) em Statgraphics ou YLAG1 em RegressIt). Se alguns dos preditores são atrasos nos erros, um modelo ARIMA não é um modelo de regressão linear, porque não existe nenhuma maneira de especificar o erro 8222 do último erro82221 como uma variável independente: os erros devem ser computados numa base de período a período Quando o modelo é ajustado para os dados. Do ponto de vista técnico, o problema com o uso de erros atrasados ​​como preditores é que as previsões do modelo8217s não são funções lineares dos coeficientes. Mesmo que sejam funções lineares dos dados passados. Assim, os coeficientes nos modelos ARIMA que incluem erros atrasados ​​devem ser estimados por métodos de otimização não-linear (8220hill-climbing8221) ao invés de apenas resolver um sistema de equações. O acrônimo ARIMA significa Auto-Regressive Integrated Moving Average. Lags da série estacionada na equação de previsão são chamados quota de termos degressivos, os atrasos dos erros de previsão são chamados quotmoving termos de média, e uma série de tempo que precisa ser diferenciada para ser estacionada é uma versão quotintegratedquot de uma série estacionária. Modelos de caminhada aleatória e tendência aleatória, modelos autoregressivos e modelos de suavização exponencial são todos os casos especiais de modelos ARIMA. Um modelo ARIMA não-sazonal é classificado como um quot de quotARIMA (p, d, q), onde: p é o número de termos autorregressivos, d é o número de diferenças não-sazonais necessárias para a estacionaridade e q é o número de erros de previsão atrasados ​​em A equação de predição. A equação de previsão é construída da seguinte forma. Primeiro, digamos a d ª diferença de Y. o que significa: Observe que a segunda diferença de Y (o caso d2) não é a diferença de 2 períodos atrás. Em vez disso, é a primeira diferença de primeira diferença. Que é o análogo discreto de uma segunda derivada, isto é, a aceleração local da série em vez da sua tendência local. Em termos de y. A equação geral de previsão é: Aqui, os parâmetros de média móvel (9528217s) são definidos de modo que seus sinais são negativos na equação, seguindo a convenção introduzida por Box e Jenkins. Alguns autores e software (incluindo a linguagem de programação R) os definem para que eles tenham sinais de mais. Quando os números reais estão conectados à equação, não há ambigüidade, mas é importante saber qual a convenção que seu software usa quando você está lendo a saída. Muitas vezes, os parâmetros são indicados por AR (1), AR (2), 8230 e MA (1), MA (2), 8230 etc. Para identificar o modelo ARIMA apropriado para Y. você começa por determinar a ordem de diferenciação (D) necessidade de estacionar a série e remover as características brutas da sazonalidade, talvez em conjunto com uma transformação estabilizadora de variância, como o registro ou a desinflação. Se você parar neste ponto e prever que a série diferenciada é constante, você ajustou apenas uma caminhada aleatória ou modelo de tendência aleatória. No entanto, a série estacionada ainda pode ter erros autocorrelacionados, sugerindo que alguns números de AR (p 8805 1) e outros números de MA de número (q 8805 1) também são necessários na equação de previsão. O processo de determinação dos valores de p, d e q que são melhores para uma determinada série de tempo será discutido em seções posteriores das notas (cujos links estão no topo desta página), mas uma visualização de alguns tipos Os modelos ARIMA não-sazonais que são comumente encontrados são dados abaixo. Modelo autoregressivo de primeira ordem ARIMA (1,0,0): se a série estiver estacionada e autocorrelada, talvez ela possa ser predita como um múltiplo de seu próprio valor anterior, além de uma constante. A equação de previsão neste caso é 8230, que é regredida por si mesmo atrasada por um período. Este é um modelo 8220ARIMA (1,0,0) constante8221. Se a média de Y for zero, então o termo constante não seria incluído. Se o coeficiente de inclinação 981 1 for positivo e menor que 1 em magnitude (deve ser inferior a 1 em magnitude se Y estiver estacionário), o modelo descreve o comportamento de reversão média em que o valor do período 8217 seguinte deve ser previsto 981 1 vezes como Muito longe da média, já que esse valor do período é de $ 127. Se 981 1 for negativo, ele prevê um comportamento de reversão média com alternância de sinais, ou seja, ele também prevê que Y estará abaixo do período médio seguinte se estiver acima da média desse período. Em um modelo autoregressivo de segunda ordem (ARIMA (2,0,0)), haveria um termo Y t-2 também à direita e assim por diante. Dependendo dos sinais e das magnitudes dos coeficientes, um modelo ARIMA (2,0,0) pode descrever um sistema cuja reversão média ocorre de forma sinusoidalmente oscilante, como o movimento de uma massa em uma mola sujeita a choques aleatórios . ARIMA (0,1,0) caminhada aleatória: se a série Y não estiver estacionária, o modelo mais simples possível para ele é um modelo de caminhada aleatória, que pode ser considerado como um caso limitante de um modelo AR (1) no qual o autorregressivo O coeficiente é igual a 1, ou seja, uma série com reversão média infinitamente lenta. A equação de predição para este modelo pode ser escrita como: onde o termo constante é a mudança média do período para o período (ou seja, a derivação de longo prazo) em Y. Esse modelo poderia ser ajustado como um modelo de regressão sem intercepção em que o A primeira diferença de Y é a variável dependente. Uma vez que inclui (apenas) uma diferença não-sazonal e um termo constante, ela é classificada como um modelo quotARIMA (0,1,0) com constante. quot O modelo random-walk-without-drift seria um ARIMA (0,1, 0) modelo sem modelo ARADA constante (1,1,0) diferenciado do modelo autoregressivo de primeira ordem: se os erros de um modelo de caminhada aleatória forem autocorrelacionados, talvez o problema possa ser corrigido adicionando um atraso da variável dependente à equação de predição - - é Regressando a primeira diferença de Y em si mesma atrasada por um período. Isso produziria a seguinte equação de predição: que pode ser rearranjada para Este é um modelo autoregressivo de primeira ordem com uma ordem de diferenciação não-sazonal e um termo constante - ou seja. Um modelo ARIMA (1,1,0). ARIMA (0,1,1) sem alisamento exponencial simples constante: Outra estratégia para corrigir erros autocorrelacionados em um modelo de caminhada aleatória é sugerida pelo modelo de suavização exponencial simples. Lembre-se de que, para algumas séries temporais não estacionárias (por exemplo, que exibem flutuações ruidosas em torno de uma média variando lentamente), o modelo de caminhada aleatória não funciona, bem como uma média móvel de valores passados. Em outras palavras, ao invés de tomar a observação mais recente como a previsão da próxima observação, é melhor usar uma média das últimas observações para filtrar o ruído e, com mais precisão, estimar a média local. O modelo de suavização exponencial simples usa uma média móvel ponderada exponencialmente de valores passados ​​para alcançar esse efeito. A equação de predição para o modelo de suavização exponencial simples pode ser escrita em várias formas matematicamente equivalentes. Um dos quais é o chamado formulário 8220error correction8221, no qual a previsão anterior é ajustada na direção do erro que ele fez: porque e t-1 Y t-1 - 374 t-1 por definição, isso pode ser reescrito como : Que é uma equação de previsão ARIMA (0,1,1) sem constante constante com 952 1 1 - 945. Isso significa que você pode ajustar um alisamento exponencial simples especificando-o como um modelo ARIMA (0,1,1) sem Constante e o coeficiente estimado de MA (1) corresponde a 1-menos-alfa na fórmula SES. Lembre-se que, no modelo SES, a idade média dos dados nas previsões de 1 período anterior é de 1 945, o que significa que tenderão a atrasar as tendências ou os pontos de viragem em cerca de 1 945 períodos. Segue-se que a idade média dos dados nas previsões de 1 período de um ARIMA (0,1,1) - sem modelo constante é 1 (1 - 952 1). Assim, por exemplo, se 952 1 0.8, a idade média é 5. Como 952 1 aborda 1, o modelo ARIMA (0,1,1) sem modelo constante torna-se uma média móvel de muito longo prazo e, como 952 1 Aproxima-se de 0, torna-se um modelo de caminhada aleatória sem drift. O que é a melhor maneira de corrigir a autocorrelação: adicionar termos AR ou adicionar termos MA Nos dois modelos anteriores discutidos acima, o problema dos erros auto-correlacionados em um modelo de caminhada aleatória foi reparado de duas formas diferentes: adicionando um valor atrasado da série diferenciada Para a equação ou adicionando um valor atrasado do erro de previsão. Qual abordagem é melhor Uma regra de ouro para esta situação, que será discutida com mais detalhes mais adiante, é que a autocorrelação positiva geralmente é melhor tratada adicionando um termo AR ao modelo e a autocorrelação negativa geralmente é melhor tratada adicionando um Termo MA. Nas séries temporais de negócios e econômicas, a autocorrelação negativa surge frequentemente como um artefato de diferenciação. (Em geral, a diferenciação reduz a autocorrelação positiva e pode até causar uma mudança de autocorrelação positiva para negativa). Assim, o modelo ARIMA (0,1,1), no qual a diferenciação é acompanhada por um termo MA, é mais usado do que um Modelo ARIMA (1,1,0). ARIMA (0,1,1) com alisamento exponencial constante e constante: ao implementar o modelo SES como modelo ARIMA, você realmente ganha alguma flexibilidade. Em primeiro lugar, o coeficiente estimado de MA (1) pode ser negativo. Isso corresponde a um fator de alisamento maior do que 1 em um modelo SES, que geralmente não é permitido pelo procedimento de montagem do modelo SES. Em segundo lugar, você tem a opção de incluir um termo constante no modelo ARIMA, se desejar, para estimar uma tendência média não-zero. O modelo ARIMA (0,1,1) com constante tem a equação de previsão: as previsões de um período anteriores deste modelo são qualitativamente similares às do modelo SES, exceto que a trajetória das previsões de longo prazo é tipicamente uma Linha inclinada (cuja inclinação é igual a mu) em vez de uma linha horizontal. ARIMA (0,2,1) ou (0,2,2) sem alisamento exponencial linear constante: modelos de alisamento exponencial linear são modelos ARIMA que utilizam duas diferenças não-sazonais em conjunto com os termos MA. A segunda diferença de uma série Y não é simplesmente a diferença entre Y e ela mesma atrasada por dois períodos, mas é a primeira diferença da primeira diferença - isto é. A mudança de mudança de Y no período t. Assim, a segunda diferença de Y no período t é igual a (Y t - Y t-1) - (Y t-1 - Y t-2) Y t - 2Y t-1 Y t-2. Uma segunda diferença de uma função discreta é análoga a uma segunda derivada de uma função contínua: mede a quotaccelerationquot ou quotcurvaturequot na função em um determinado ponto no tempo. O modelo ARIMA (0,2,2) sem constante prediz que a segunda diferença da série é igual a uma função linear dos dois últimos erros de previsão: o que pode ser rearranjado como: onde 952 1 e 952 2 são o MA (1) e MA (2) coeficientes. Este é um modelo de suavização exponencial linear geral. Essencialmente o mesmo que o modelo Holt8217s, e o modelo Brown8217s é um caso especial. Ele usa médias móveis exponencialmente ponderadas para estimar um nível local e uma tendência local na série. As previsões de longo prazo deste modelo convergem para uma linha reta cuja inclinação depende da tendência média observada no final da série. ARIMA (1,1,2) sem alisamento exponencial linear constante de tendência amortecida. Este modelo está ilustrado nos slides que acompanham os modelos ARIMA. Ele extrapola a tendência local no final da série, mas acha-se em horizontes de previsão mais longos para introduzir uma nota de conservadorismo, uma prática que tem suporte empírico. Veja o artigo em quotPor que a Tendência Damped funciona por Gardner e McKenzie e o artigo de QuotGolden Rulequot de Armstrong et al. para detalhes. Em geral, é aconselhável manter os modelos em que pelo menos um de p e q não é maior do que 1, ou seja, não tente se ajustar a um modelo como o ARIMA (2,1,2), pois isso provavelmente levará a uma superposição E quotcommon-factorquot questões que são discutidas em mais detalhes nas notas sobre a estrutura matemática dos modelos ARIMA. Implementação da planilha: os modelos ARIMA, como os descritos acima, são fáceis de implementar em uma planilha eletrônica. A equação de predição é simplesmente uma equação linear que se refere a valores passados ​​de séries temporais originais e valores passados ​​dos erros. Assim, você pode configurar uma planilha de previsão ARIMA armazenando os dados na coluna A, a fórmula de previsão na coluna B e os erros (dados menos previsões) na coluna C. A fórmula de previsão em uma célula típica na coluna B seria simplesmente Uma expressão linear que se refere a valores nas linhas precedentes das colunas A e C, multiplicadas pelos coeficientes AR ou MA apropriados armazenados em células em outro lugar na planilha.

No comments:

Post a Comment