Sunday, 18 June 2017

Autoregressive Moving Average Python


Análise de séries temporais tsa. Contém modelos de classes e funções que são úteis para a análise de séries temporais. Atualmente, inclui modelos autoregressivos univariados AR, modelos autoregressivos de vetor VAR e modelos de média móvel autorregressivos univariados ARMA Também inclui estatísticas descritivas para séries temporais, por exemplo autocorrelação, função de autocorrelação parcial e periodograma, Bem como as correspondentes propriedades teóricas de ARMA ou processos relacionados. Também inclui métodos para trabalhar com polinômios de atraso médio auto-regressivos e móveis. Além disso, testes estatísticos relacionados e algumas funções auxiliares úteis estão disponíveis. A estimativa é feita por Máxima Verossimilhança exata ou condicional Condicional mínimos quadrados, usando o filtro de Kalman ou filtros diretos. Atualmente, as funções e as classes têm que ser importadas do módulo correspondente, mas as classes principais serão disponibilizadas no espaço para nome A estrutura do módulo está dentro de propriedades empíricas is. stattools e testes , Acf, pacf, gr Estimativa com probabilidade máxima condicional e exata e mínimos condicionais mínimos. arimamodelo, processo ARMA univariável, estimativa com probabilidade máxima condicional e exata e menor-condição condicional, Squares. vectorar, var vector processo autoregressivo modelos de estimação 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 Kalman Filter. armaprocess propriedades de arma processos com dados parâmetros, Isso inclui ferramentas para converter entre ARMA, MA e AR representação, bem como acf, pacf, densidade espectral, função de resposta de impulso e similares. Similar a armaprocess mas trabalhando na freqüência domain. tsatools funções auxiliares adicionais, para criar matrizes de variáveis ​​defasadas, construir regressores para tendência, detrend e similar. filters função auxiliar para filtrar séries de tempo. Algumas funções adicionais que também são úteis para análise de séries temporais são Em outras partes de modelos de estatísticas, por exemplo, testes estatísticos adicionais. Algumas funções relacionadas também estão disponíveis em matplotlib, nitime, e essas funções são projetadas mais para o uso no processamento de sinal onde mais séries temporais estão disponíveis e trabalham com mais freqüência no domínio da freqüência. Estatísticas Descritivas e Testes. X, imparcial, degradação, fft. Statsmodels é um pacote de Python que fornece um complemento para scipy para cálculos estatísticos, incluindo estatística descritiva e estimativa de modelos estatísticos. O nome de foi alterado para statsmodels a nova versão é at. Main Features. regression Generalized Mínimos quadrados, incluindo mínimos quadrados ponderados e mínimos quadrados com erros auto-regressivos, mínimos quadrados ordinários. glm Modelos lineares generalizados com suporte para todas as distribuições exponenciais da família de um parâmetro. Modelos discretos de escolha Poisson, probit, logit, multinomial logit. rlm Modelos lineares robustos Com suporte para vários M-estimators. tsa Modelos de análise de séries temporais, incluindo ARMA, AR, VAR. nonparametric Estimadores de densidade de kernel univariados. datasets Conjuntos de dados a serem distribuídos e usados ​​para exemplos e em testing. PyDTA Ferramentas para ler arquivos Stata em arrays numpy. Stats uma vasta gama de testes estatísticos. sandbox Há também um sandbox que contém código para aditivo generalizado mo Dels não testados, modelos de efeitos mistos, modelo de riscos proporcionais de cox ambos não são testados e ainda dependem da estrutura da fórmula nipy, gerando estatística descritiva e saída de tabela de impressão para ascii, látex e html Há também código experimental para sistemas de equações regressão, tempo Modelos de série, os dados do painel estimadores e medidas de informação teórica Nenhum deste código é considerado pronto para a produção. Para obter it. Development ramos será no Github Este é o lugar para ir para obter o código mais atualizado no tronco ramo Código experimental é Hospedado aqui em filiais e em forquilhas de desenvolvedor Este código é mesclado para dominar muitas vezes Nós tentamos certificar-se de que o ramo mestre é sempre estável. Download de fonte de tags estáveis ​​será em SourceForge. Introdução para ARIMA nonseasonal models. ARIMA p, d, q Os modelos ARIMA são, em teoria, a classe mais geral de modelos para a previsão de uma série temporal que pode ser feita para ser estacionária por diferenciação se necessário, pe Em conjunto com transformações não-lineares, tais como registro ou deflaçã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 Ele wiggles de uma forma consistente, ou seja, seus padrões de tempo aleatório de curto prazo sempre olhar o mesmo em um sentido estatístico Esta ú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 o seu espectro de potência Permanece constante ao longo do tempo Uma variável aleatória desta forma pode ser vista como usual como uma combinação de sinal e ruído, eo sinal se for aparente poderia ser um padrão de reversão média rápida ou lenta, ou oscilação sinusoidal, ou alternância rápida no sinal , E também poderia ter um componente sazonal Um modelo ARIMA pode ser visto como um filtro que tenta separar o sinal do ruído, e th E é então extrapolado para o futuro para obter previsões. A equação de previsão de ARIMA para uma série de tempo estacionária é uma equação linear de tipo de regressão, na qual os preditores consistem em atrasos da variável dependente e / ou atrasos dos erros de previsão. Valor previsto de Y uma constante e / ou uma soma ponderada de um ou mais valores recentes de Y e / ou uma soma ponderada de um ou mais valores recentes dos erros. Se os preditores consistem apenas de valores defasados ​​de Y é um self autoregressivo puro Por exemplo, um modelo AR 1 auto-regressivo de primeira ordem para Y é um modelo de regressão simples no qual a variável independente é apenas Y-lag Por um período LAG Y, 1 em Statgraphics ou YLAG1 em RegressIt Se alguns dos preditores são defasagens dos erros, um modelo ARIMA não é um modelo de regressão linear, porque não há maneira de especificar o erro do último período a De um ponto de vista técnico, o problema com o uso de erros defasados ​​como preditores é que as previsões do modelo não são funções lineares do sistema. Assim, os coeficientes em modelos ARIMA que incluem erros retardados devem ser estimados por métodos de otimização não-linear escalada em vez de simplesmente resolver um sistema de equações. A sigla ARIMA significa Auto-Regressive Integrated Média Móvel As Lags das séries estacionalizadas na equação de previsão são chamadas de termos autorregressivos, os atrasos dos erros de previsão são chamados de termos de média móvel e uma série de tempo que precisa ser diferenciada para ser estacionária é considerada uma versão integrada de um modelo estacionário Série Random-walk e modelos de tendência aleatória, modelos autorregressivos e modelos exponenciais de suavização são todos casos especiais de modelos ARIMA. O modelo asonal ARIMA é classificado como um modelo ARIMA 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 estacionariedade, eq é o número de erros de previsão defasados ​​na equação de previsão . A equação de previsão é construída da seguinte forma: Primeiro, vamos dizer y a d diferença de Y que significa. Note que a segunda diferença de Y o caso d 2 não é a diferença de 2 períodos atrás Em vez disso, é a primeira diferença - Da primeira diferença que é o análogo discreto de uma segunda derivada, ou seja, a aceleração local da série em vez de sua tendência local. Em termos de y, a equação de previsão geral é. Aqui os parâmetros da média móvel s são definidos de modo que seus Os 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 definem-los de modo que eles têm sinais positivos em vez Quando os números reais estão ligados à equação, há Sem ambigüidade, mas é importante saber qual convenção seu software usa quando está lendo a saída. Freqüentemente os parâmetros são indicados por AR 1, AR 2,, e MA 1, MA 2, etc. Para identificar o modelo ARIMA apropriado para Y você começa por determinar a ordem de diferenciação d que precisam estacionarizar a série e remover as características brutas da sazonalidade, talvez em conjunto com uma transformação de estabilização de variância, como logging ou deflação Se você parar neste ponto e prever que a série diferenciada é No entanto, a série estacionária pode ainda ter erros autocorrelacionados, sugerindo que algum número de termos AR p 1 e / ou alguns termos de número MA q 1 também são necessários na equação de previsão. Processo de determinação dos valores de p, d e q que são melhores para uma dada série de tempo será discutido em seções posteriores das notas cujos links estão no topo desta página, mas uma prévia de alguns F os tipos de modelos não-sazonais ARIMA que são comumente encontrados é dado abaixo. ARIMA 1,0,0 modelo de auto-regressão de primeira ordem se a série é estacionária e autocorrelacionada, talvez ele pode ser previsto como um múltiplo de seu próprio valor anterior, mais um Constante A equação de previsão neste caso é a que é Y regressa sobre si mesma retardada por um período. Este é um modelo de constante ARIMA 1,0,0 Se a média de Y for zero, então o termo constante não seria incluído. Se a inclinação O coeficiente 1 é positivo e menor que 1 em magnitude deve ser menor que 1 em magnitude se Y estiver parado, o modelo descreve o comportamento de reversão de média no qual o valor do próximo período deve ser predito como sendo 1 vezes mais distante da média como O valor deste período s 1 é negativo, prevê o comportamento de reversão de média com alternância de sinais, ou seja, também prevê que Y estará abaixo do próximo período médio se estiver acima da média desse período. Em um modelo autorregressivo de segunda ordem ARIMA 2,0,0, haveria um Y t - 2 termo à direita e assim por diante Dependendo dos sinais e magnitudes dos coeficientes, um modelo ARIMA 2,0,0 poderia descrever um sistema cuja reversão média ocorre de forma sinusoidal oscilante, como o movimento de uma massa Em uma mola que é submetida a choques aleatórios. ARIMA 0,1,0 caminhada aleatória Se a série Y não é 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 AR 1 Modelo em que o coeficiente autorregressivo é 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 variação média período-período, ou seja, a deriva de longo prazo em Y Este modelo poderia ser ajustado como um modelo de regressão sem interceptação em que 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, é classificada como um modelo ARIMA 0,1,0 com constante Random-walk-sem - drift mo Del seria um modelo ARIMA 0,1,0 sem constante. ARIMA 1,1,0 modelo auto-regressivo diferenciado de primeira ordem Se os erros de um modelo de caminhada aleatória são autocorrelacionados, talvez o problema possa ser corrigido adicionando um atraso do dependente Variável para a equação de predição - isto é, regressando a primeira diferença de Y sobre si mesma retardada por um período Isto resultaria na seguinte equação de previsão que pode ser rearranjada para. Este é um modelo autorregressivo de primeira ordem com uma ordem de diferenciamento não sazonal e Um termo constante - ou seja, um modelo ARIMA 1,1,0. ARIMA 0,1,1 sem suavização 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. Por exemplo, aqueles que exibem flutuações barulhentas em torno de uma média de variação lenta, o modelo de caminhada aleatória não funciona tão bem como uma média móvel de valores passados. Como a previsão da próxima observação, é melhor usar uma média das últimas observações para filtrar o ruído e estimar com mais precisão a média local. O modelo de suavização exponencial simples usa uma média móvel exponencialmente ponderada de valores passados ​​para Obter este efeito A equação de predição para o modelo de suavização exponencial simples pode ser escrita em várias formas matematicamente equivalentes, uma das quais é a chamada forma de correção de erro, na qual a previsão anterior é ajustada na direção do erro que ele produziu. Uma vez que e t-1 Y t-1 - t-1 por definição, isto pode ser reescrito como. que é uma equação de previsão ARIMA 0,1,1-sem constante com 1 1 - Isto significa que você pode ajustar uma exponencial simples Suavizando-o especificando-o como um modelo ARIMA 0,1,1 sem constante, eo 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 no 1- Período de antecedência foreca Sts é 1, o que significa que eles tendem a ficar para trás as tendências ou pontos de viragem por cerca de 1 períodos Segue-se que a idade média dos dados nas previsões de 1 período de um modelo ARIMA 0,1,1 sem constante é 1 1 - 1 Assim, por exemplo, se 1 0 8, a idade média é 5 Como 1 aproxima-se de 1, o modelo ARIMA 0,1,1-sem constante torna-se uma média móvel de muito longo prazo e à medida que 1 se aproxima 0 torna-se um modelo randômico-caminhada-sem-deriva. Qual é a melhor maneira de corrigir a autocorrelação adicionando termos AR ou adicionando termos MA Nos dois modelos anteriores discutidos acima, o problema de erros autocorrelacionados em um modelo randômico foi fixado em Duas maneiras diferentes, adicionando um valor defasado da série diferenciada à equação ou adicionando um valor defasado do erro de previsão Qual abordagem é a melhor Uma regra para esta situação, que será discutida em mais detalhes mais adiante, é que Autocorrelação positiva é geralmente melhor tratada pela adição de um termo AR para o modelo e autocorrelati negativo Em geral, é melhor tratada pela adição de um termo MA Em séries econômicas e de tempo, a autocorrelação negativa geralmente surge 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. 1,1 modelo, em que a diferenciação é acompanhada por um termo MA, é mais freqüentemente usado do que um ARIMA 1,1,0 modelo. ARIMA 0,1,1 com constante simples suavização exponencial com o crescimento Por implementar o modelo SES como um ARIMA Modelo, você realmente ganhar alguma flexibilidade Primeiro de tudo, o valor estimado MA 1 coeficiente é permitido ser negativo, isto corresponde a um factor de suavização maior do que 1 em um modelo SES, que normalmente não é permitido pelo SES modelo de ajuste do segundo Têm a opção de incluir um termo constante no modelo ARIMA, se desejar, para estimar uma tendência não-zero média. O modelo ARIMA 0,1,1 com constante tem a equação de previsão. As previsões de um período antecipado de t Seu modelo são qualitativamente semelhantes aos 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 suavização exponencial linear constante Modelos lineares de suavização exponencial são modelos ARIMA que usam duas diferenças não sazonais em conjunção com os termos MA A segunda diferença de uma série Y não é simplesmente a diferença entre Y e ela mesma retardada por dois períodos, mas sim a primeira Assim, a segunda diferença de Y no período t é igual a Y t - Y t-1 - Y t-1 - Y t - Uma segunda diferença de uma função discreta é análoga a uma segunda derivada de uma função contínua que mede a aceleração ou curvatura na função em um determinado ponto no tempo. O ARIMA 0,2 , 2 modelo sem constante prevê que a segunda diferença da série é igual a um lin Orelha dos últimos dois erros de previsão. que podem ser rearranjados como. quando 1 e 2 são os coeficientes MA 1 e MA 2 Este é um modelo de alisamento linear exponencial geral essencialmente o mesmo que o modelo de Holt s, eo modelo de Brown s é um especial Case Usa médias ponderadas ponderadas exponencialmente 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 suavização exponencial linear de tendência constante amortecida. Este modelo é ilustrado nas lâminas acompanhantes em modelos ARIMA Extrapola a tendência local no final da série, mas aplana-a em horizontes de previsão mais longos para introduzir uma nota de conservadorismo, Uma prática que tem suporte empírico Veja o artigo sobre Por que a Tendência de Damped funciona por Gardner e McKenzie eo artigo da Regra de Ouro por Armstrong et al para detalhes. É geralmente aconselhável ficar com modelos i N em que pelo menos um de p e q não é maior que 1, ou seja, não tente encaixar um modelo como o ARIMA 2,1,2, pois isso é susceptível de levar a problemas de overfitting e de fatores comuns que são discutidos em mais Detalhamento nas notas sobre a estrutura matemática de modelos ARIMA. Implementação de folha de cálculo Modelos ARIMA como os descritos acima são fáceis de implementar em uma planilha A equação de predição é simplesmente uma equação linear que se refere a valores passados ​​de séries de tempo originais e valores passados ​​do 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 dados de erros menos as previsões na coluna C A fórmula de previsão em uma célula típica na coluna B seria simplesmente um linear Expressão que se refere a valores nas linhas precedentes das colunas A e C, multiplicado pelos coeficientes AR ou MA apropriados armazenados em células noutro local da folha de cálculo.

No comments:

Post a Comment