Wednesday 26 July 2017

Autoregressive Moving Average Excel Example


ARMA Unplugged Esta é a primeira entrada da nossa série de tutoriais Unplugged, nos quais investigamos os detalhes de cada um dos modelos de séries temporais com os quais você já está familiarizado, destacando os pressupostos subjacentes e dirigindo para casa as intuições por trás deles. Nesta edição, nós abordamos o modelo ARMA uma pedra angular na modelagem de séries temporais. Ao contrário de questões de análise anteriores, vamos começar aqui com a definição do processo ARMA, o estado das entradas, saídas, parâmetros, restrições de estabilidade, suposições e, finalmente, desenhar algumas orientações para o processo de modelagem. Antecedentes Por definição, a média móvel auto-regressiva (ARMA) é um processo estacionário estacionário composto por somas de Excel auto-regressivo e componentes de média móvel. Alternativamente, numa formulação simples: Suposições Vamos olhar mais de perto a formulação. O processo ARMA é simplesmente uma soma ponderada das observações de saída passadas e choques, com poucas suposições fundamentais: O que significam estas suposições Um processo estocástico é uma contrapartida de um processo determinista que descreve a evolução de uma variável aleatória ao longo do tempo. Em nosso caso, a variável aleatória é O processo ARMA captura apenas a correlação serial (ou seja, auto-correlação) entre as observações. Em palavras simples, o processo ARMA resume os valores de observações passadas, não seus valores quadrados ou seus logaritmos, etc. Dependência de ordem superior exige um processo diferente (por exemplo, ARCH / GARCH, modelos não-lineares, etc.). Existem inúmeros exemplos de um processo estocástico em que valores passados ​​afetam os atuais. Por exemplo, em um escritório de vendas que recebe RFQs em uma base contínua, alguns são percebidos como vendas-ganhou, alguns como vendas perdidas, e alguns derramou sobre para o próximo mês. Como resultado, em qualquer mês, alguns dos casos ganhos de vendas originam-se como solicitações de cotação ou são vendas repetidas dos meses anteriores. Quais são os choques, inovações ou termos de erro Esta questão é difícil, ea resposta não é menos confusa. Ainda, vamos tentar: Em palavras simples, o termo de erro em um determinado modelo é um catch-all bucket para todas as variações que o modelo não explica. Ainda perdido Vamos usar um exemplo. Para um processo de preço de ações, há possivelmente centenas de fatores que impulsionam o nível de preços para cima / para baixo, incluindo: Dividendos e anúncios divididos Relatórios de ganhos trimestrais Atividades de fusão e aquisição (MampA) Eventos legais, p. A ameaça de ações coletivas. Outros Um modelo, por design, é uma simplificação de uma realidade complexa, então tudo o que deixamos fora do modelo é automaticamente empacotado no termo de erro. O processo ARMA assume que o efeito coletivo de todos esses fatores age mais ou menos como ruído Gaussiano. Por que nos preocupamos com os choques passados ​​Ao contrário de um modelo de regressão, a ocorrência de um estímulo (por exemplo, choque) pode ter um efeito sobre o nível atual, e possivelmente níveis futuros. Por exemplo, um evento corporativo (por exemplo, a atividade da MampA) afeta o preço das ações da companhia, mas a mudança pode levar algum tempo para ter seu impacto total, pois os participantes do mercado absorvem / analisam as informações disponíveis e reagem de acordo. Isso implora a pergunta: não os valores passados ​​da saída já têm os choques informações passadas SIM, o histórico de choques já está contabilizado nos níveis de saída passados. Um modelo ARMA pode ser representado apenas como um modelo auto-regressivo puro (RA), mas o requisito de armazenamento de tal sistema em infinito. Esta é a única razão para incluir o componente MA: para economizar em armazenamento e simplificar a formulação. Novamente, o processo ARMA deve ser estacionário para que a variância marginal (incondicional) exista. Nota: Na minha discussão acima, não estou fazendo uma distinção entre meramente a ausência de uma raiz unitária na equação característica e a estacionaridade do processo. Eles estão relacionados, mas a ausência de uma raiz unitária não é uma garantia de estacionaridade. Ainda assim, a raiz unitária deve estar dentro do círculo da unidade para ser exata. Conclusão Vamos recapitular o que fizemos até agora. Primeiro examinamos um processo ARMA estacionário, juntamente com sua formulação, entradas, suposições e requisitos de armazenamento. Em seguida, mostrou que um processo ARMA incorpora seus valores de saída (auto-correlação) e choques que experimentou anteriormente na saída atual. Finalmente, mostramos que o processo ARMA estacionário produz uma série temporal com uma média e uma variância estáveis ​​a longo prazo. Em nossa análise de dados, antes de propormos um modelo ARMA, devemos verificar a suposição de estacionaridade e os requisitos de memória finita. Caso a série de dados exiba uma tendência determinística, precisamos remover (des-tendência) primeiro e, em seguida, usar os resíduos para ARMA. Caso o conjunto de dados exiba uma tendência estocástica (por exemplo, caminhada aleatória) ou sazonalidade, precisamos entreter ARIMA / SARIMA. Finalmente, o correlograma (isto é, ACF / PACF) pode ser usado para medir a necessidade de memória do modelo, devemos esperar que ACF ou PACF se decomponham rapidamente após alguns desfasamentos. Se não, isso pode ser um sinal de não-estacionaridade ou um padrão de longo prazo (por exemplo, ARFIMA). Previsões ARIMA com Excel e R Olá Hoje eu vou guiá-lo através de uma introdução ao modelo ARIMA e seus componentes, bem como Como uma breve explicação do método Box-Jenkins de como os modelos ARIMA são especificados. Por fim, eu criei uma implementação do Excel usando R, que I8217ll mostrar-lhe como configurar e usar. Modelos de média móvel auto-regressiva (ARMA) O modelo de média móvel auto-regressiva é utilizado para modelar e prever processos estáticos estacionários de séries temporais. É a combinação de duas técnicas estatísticas previamente desenvolvidas, o Autoregressive (AR) e Moving Average (MA) e foi originalmente descrito por Peter Whittle em 1951. George E. P. Box e Gwilym Jenkins popularizaram o modelo em 1971, especificando passos discretos para modelar a identificação, estimativa e verificação. Este processo será descrito posteriormente como referência. Vamos começar por introduzir o modelo ARMA pelos seus vários componentes, os modelos AR e MA e então apresentar uma generalização popular do modelo ARMA, ARIMA (Média Movente Integrada Autoregressiva) e as etapas de previsão e especificação do modelo. Por último, vou explicar uma implementação do Excel que eu criei e como usá-lo para fazer suas previsões de séries temporais. Modelos Autoregressivos O modelo Autoregressivo é usado para descrever processos aleatórios e processos que variam no tempo e especifica que a variável de saída depende linearmente de seus valores anteriores. O modelo é descrito como: Onde estão os parâmetros do modelo, C é constante, e é um termo de ruído branco. Essencialmente, o que o modelo descreve é ​​para qualquer valor. Ele pode ser explicado por funções de seu valor anterior. Para um modelo com um parâmetro. É explicado por seu valor passado e erro aleatório. Para um modelo com mais de um parâmetro, por exemplo. É dado por. E erro aleatório. Modelo de média móvel O modelo de média móvel (EM) é usado frequentemente para modelar séries temporais univariadas e é definido como: é a média das séries temporais. São os parâmetros do modelo. São os termos de erro de ruído branco. É a ordem do modelo de média móvel. O modelo de média móvel é uma regressão linear do valor atual da série em comparação com os termos do período anterior. Por exemplo, um modelo de MA de. É explicado pelo erro atual no mesmo período eo valor do erro passado. Para um modelo de ordem 2 (), é explicado pelos dois últimos valores de erro, e. Os termos AR () e MA () são usados ​​no modelo ARMA, que será agora introduzido. Modelo de média móvel auto-regressivo Os modelos de média móvel autorregressiva usam dois polinômios, AR () e MA () e descrevem um processo estocástico estacionário. Um processo estacionário não muda quando deslocado no tempo ou espaço, portanto, um processo estacionário tem média e variância constantes. O modelo ARMA é freqüentemente referido em termos de seus polinômios, ARMA (). A notação do modelo é escrita: Selecionar, estimar e verificar o modelo é descrito pelo processo Box-Jenkins. Método Box-Jenkins para Identificação de Modelo O abaixo é mais um esboço do método Box-Jenkins, como o processo real de encontrar esses valores pode ser bastante esmagadora sem um pacote estatístico. A folha Excel incluída nesta página determina automaticamente o modelo de melhor ajuste. O primeiro passo do método Box-Jenkins é a identificação do modelo. O passo inclui identificar a sazonalidade, diferenciar se necessário e determinar a ordem de e por traçar as funções de autocorrelação e autocorrelação parcial. Depois que o modelo é identificado, o próximo passo é estimar os parâmetros. A estimação de parâmetros usa pacotes estatísticos e algoritmos de computação para encontrar os melhores parâmetros de ajuste. Uma vez que os parâmetros são escolhidos, o último passo é verificar o modelo. A verificação do modelo é feita testando para ver se o modelo está em conformidade com uma série de tempo univariada estacionária. Deve-se também confirmar que os resíduos são independentes um do outro e exibem média e variância constantes ao longo do tempo, o que pode ser feito executando um teste de Ljung-Box ou novamente traçando a autocorrelação e a autocorrelação parcial dos resíduos. Observe que a primeira etapa envolve a verificação da sazonalidade. Se os dados com os quais você está trabalhando contiverem tendências sazonais, você terá de desviar 8222 para tornar os dados estacionários. Este passo diferenciação generaliza o modelo ARMA em um modelo ARIMA, ou Autoregressive Integrated Moving Average, onde 8216Integrated8217 corresponde ao passo de diferenciação. Modelos de Média Móvel Integrados Autoregressivos O modelo ARIMA tem três parâmetros. Para definir o modelo ARMA para incluir o termo de diferenciação, começamos rearranjando o modelo ARMA padrão para separar o somatório. Onde está o operador lag e. São parâmetros auto-regressivos e de média móvel, e os termos de erro, respectivamente. Nós agora fazemos a suposição do primeiro polinômio da função, tem uma raiz unitária da multiplicidade. Podemos então reescrevê-lo para o seguinte: O modelo ARIMA expressa a factorização polinomial com e nos dá: Por fim, generalizamos o modelo adicionando um termo de deriva, que define o modelo ARIMA como ARIMA () com deriva. Com o modelo agora definido, podemos ver o modelo ARIMA como duas partes separadas, uma não-estacionária e outra de sentido amplo estacionária (a distribuição de probabilidade conjunta não muda quando deslocada no tempo ou no espaço). O modelo não-estacionário: O modelo estacionário de sentido amplo: Agora podem ser feitas previsões sobre o uso de um método de previsão autorregressivo generalizado. Agora que discutimos os modelos ARMA e ARIMA, agora vamos voltar para a forma como podemos usá-los em aplicações práticas para fornecer previsão. Ive construiu uma implementação com o Excel usando R para fazer ARIMA previsões, bem como uma opção para executar Monte Carlo simulação no modelo para determinar a probabilidade das previsões. Implementação do Excel e como usar Antes de usar a folha, você deve baixar R e RExcel do site Statconn. Se você já tem R instalado, você pode apenas baixar RExcel. Se você não tem R instalado, você pode baixar RAndFriends que contém a versão mais recente do R e RExcel. Observe, RExcel só funciona em 32 bits Excel para sua licença não-comercial. Se você tem 64bit Excel instalado, você terá que obter uma licença comercial de Statconn. Recomenda-se para baixar RAndFriends como ele faz para a instalação mais rápida e fácil no entanto, se você já tem R e gostaria de instalá-lo manualmente, siga estas etapas. Instalando manualmente o RExcel Para instalar o RExcel e os outros pacotes para fazer o R ​​trabalhar no Excel, abra R como Administrador clicando com o botão direito do mouse no arquivo. exe. No console R, instale o RExcel digitando as seguintes instruções: Os comandos acima instalam o RExcel em sua máquina. O próximo passo é instalar o rcom, que é outro pacote do Statconn para o pacote RExcel. Para instalar isso, digite os seguintes comandos, que também instalará automaticamente o rscproxy a partir da versão R 2.8.0. Com esses pacotes instalados, você pode passar para a configuração da conexão entre R e Excel. Embora não seja necessário para a instalação, um pacote acessível para download é Rcmdr, desenvolvido por John Fox. Rcmdr cria R menus que podem se tornar menus no Excel. Esse recurso vem por padrão com a instalação do RAndFriends e disponibiliza vários comandos R no Excel. Digite os seguintes comandos em R para instalar Rcmdr. Podemos criar o link para R e Excel. Observação em versões recentes do RExcel esta conexão é feita com um simples clique duplo do arquivo. bat fornecido ActivateRExcel2010, portanto, você só precisará seguir estas etapas se você instalou R e RExcel manualmente ou se por algum motivo a conexão isnt feita durante A instalação do RAndFriends. Criar a conexão entre R e Excel Abra um novo livro no Excel e navegue até a tela de opções. Clique em Opções e em Add-Ins. Você deve ver uma lista de todos os suplementos ativos e inativos que você tem atualmente. Clique no botão Ir na parte inferior. Na caixa de diálogo Add-Ins, você verá todas as referências de suplemento que você fez. Clique em Procurar. Navegue até a pasta RExcel, normalmente localizada em C: Program FilesRExcelxls ou algo semelhante. Localize o suplemento RExcel. xla e clique nele. O próximo passo é criar uma referência para que macros usando R para funcionar corretamente. Em seu documento do Excel, digite Alt F11. Isso abrirá Excels VBA editor. Vá para Tools - gt References e encontre a referência RExcel, RExcelVBAlib. RExcel agora deve estar pronto para usar Usando a Planilha de Excel Agora que R e RExcel estão devidamente configurados, é hora de fazer alguma previsão Abra a planilha de previsão e clique em Carregar Servidor. Isto é para iniciar o servidor RCom e também carregar as funções necessárias para fazer a previsão. Uma caixa de diálogo será aberta. Selecione o arquivo itall. R incluído com a folha. Este arquivo contém as funções que a ferramenta de previsão usa. A maioria das funções contidas foram desenvolvidas pelo professor Stoffer na Universidade de Pittsburgh. Estendem as capacidades de R e nos fornecem alguns gráficos de diagnóstico úteis junto com nossa saída de previsão. Há também uma função para determinar automaticamente os melhores parâmetros de ajuste do modelo ARIMA. Depois que o servidor for carregado, digite seus dados na coluna Dados. Selecione o intervalo dos dados, clique com o botão direito do mouse e selecione Intervalo de nomes. Nomeie o intervalo como Dados. Em seguida, defina a freqüência de seus dados na célula C6. Freqüência refere-se aos períodos de tempo de seus dados. Se for semanal, a freqüência seria 7. Mensal seria 12, enquanto que trimestral seria 4, e assim por diante. Insira os períodos futuros para previsão. Note que os modelos ARIMA se tornam bastante imprecisos após várias previsões de freqüência sucessivas. Uma boa regra é não exceder 30 etapas como qualquer coisa que poderia ser passado não confiável. Isso depende do tamanho de seu conjunto de dados também. Se você tiver dados limitados disponíveis, recomenda-se escolher um número menor de passos à frente. Depois de inserir seus dados, nomeá-los e definir a freqüência desejada e os passos à frente para a previsão, clique em Executar. Pode levar algum tempo para a previsão processar. Uma vez concluído, você obterá os valores previstos para o número especificado, o erro padrão dos resultados e dois gráficos. O lado esquerdo apresenta os valores previstos com os dados, enquanto que o direito contém diagnósticos úteis com resíduos padronizados, a autocorrelação dos resíduos, um gráfico gg dos resíduos e um gráfico estatístico Ljung-Box para determinar se o modelo está bem montado. Eu não vou entrar em muito detalhes sobre como você olha para um modelo bem equipado, mas no gráfico ACF você não quer qualquer (ou muito) dos pontos de lag cruzamento sobre a linha pontilhada azul. No gráfico gg, quanto mais círculos passam pela linha, mais normalizado e melhor ajustado é o modelo. Para conjuntos de dados maiores isso pode atravessar muitos círculos. Por fim, o teste de Ljung-Box é um artigo em si, porém, quanto mais círculos estiverem acima da linha pontilhada, melhor será o modelo. Se o resultado do diagnóstico não parecer bom, você pode tentar adicionar mais dados ou começar em um ponto diferente mais próximo do intervalo que você deseja prever. Você pode limpar facilmente os resultados gerados clicando nos botões Limpar valores previstos. E isso é isso Atualmente, a coluna de data não faz nada além de sua referência, mas não é necessário para a ferramenta. Se eu encontrar tempo, vou voltar e adicionar isso para que o gráfico exibido mostra a hora correta. Você também pode receber um erro ao executar a previsão. Isso geralmente é devido à função que encontra os melhores parâmetros é incapaz de determinar a ordem adequada. Você pode seguir os passos acima para tentar organizar seus dados melhor para que a função funcione. Espero que você obtenha o uso da ferramenta Seu me salvou muito tempo no trabalho, como agora tudo o que tenho a fazer é inserir os dados, carregar o servidor e executá-lo. Espero também que isso mostre como R awesome pode ser, especialmente quando usado com um front-end, como o Excel. Código, planilha do Excel e arquivo. bas também estão no GitHub aqui. Um RIMA significa Autoregressive Integrated Moving Average models. Univariada (vetor único) ARIMA é uma técnica de previsão que projeta os valores futuros de uma série baseada inteiramente em sua própria inércia. Sua principal aplicação é na área de previsão de curto prazo, exigindo pelo menos 40 pontos de dados históricos. Ele funciona melhor quando seus dados exibem um padrão estável ou consistente ao longo do tempo com uma quantidade mínima de outliers. Às vezes chamado Box-Jenkins (após os autores originais), ARIMA é geralmente superior às técnicas de suavização exponencial quando os dados são razoavelmente longos ea correlação entre as observações passadas é estável. Se os dados forem curtos ou altamente voláteis, então algum método de alisamento pode funcionar melhor. Se você não tiver pelo menos 38 pontos de dados, você deve considerar algum outro método que ARIMA. O primeiro passo na aplicação da metodologia ARIMA é verificar a estacionaridade. A estacionariedade implica que a série permanece a um nível razoavelmente constante ao longo do tempo. Se existe uma tendência, como na maioria das aplicações econômicas ou de negócios, os dados NÃO são estacionários. Os dados também devem mostrar uma variação constante em suas flutuações ao longo do tempo. Isto é facilmente visto com uma série que é fortemente sazonal e crescendo a um ritmo mais rápido. Nesse caso, os altos e baixos da sazonalidade se tornarão mais dramáticos ao longo do tempo. Sem que estas condições de estacionaridade sejam satisfeitas, muitos dos cálculos associados ao processo não podem ser calculados. Se um gráfico gráfico dos dados indica nonstationarity, então você deve diferenciar a série. A diferenciação é uma excelente maneira de transformar uma série não-estacionária em uma estacionária. Isto é feito subtraindo a observação no período atual do anterior. Se essa transformação é feita apenas uma vez para uma série, você diz que os dados foram primeiro diferenciados. Este processo elimina essencialmente a tendência se sua série está crescendo em uma taxa razoavelmente constante. Se ele está crescendo a uma taxa crescente, você pode aplicar o mesmo procedimento e diferença os dados novamente. Seus dados seriam então segundo diferenciados. Autocorrelações são valores numéricos que indicam como uma série de dados está relacionada a si mesma ao longo do tempo. Mais precisamente, ele mede quão fortemente os valores de dados em um número específico de períodos separados estão correlacionados entre si ao longo do tempo. O número de períodos separados é geralmente chamado de atraso. Por exemplo, uma autocorrelação no intervalo 1 mede como os valores 1 intervalo de tempo são correlacionados um ao outro ao longo da série. Uma autocorrelação no intervalo 2 mede como os dados dois períodos separados estão correlacionados ao longo da série. As autocorrelações podem variar de 1 a -1. Um valor próximo a 1 indica uma alta correlação positiva, enquanto um valor próximo de -1 implica uma correlação negativa elevada. Essas medidas são mais frequentemente avaliadas através de gráficos gráficos chamados correlagramas. Um correlagram traça os valores de autocorrelação para uma dada série em diferentes defasagens. Isto é referido como a função de autocorrelação e é muito importante no método ARIMA. A metodologia ARIMA tenta descrever os movimentos em séries temporais estacionárias como uma função do que são chamados parâmetros auto-regressivos e de média móvel. Estes são referidos como parâmetros AR (autoregessive) e parâmetros MA (média móvel). Um modelo AR com apenas 1 parâmetro pode ser escrito como. X (t) A (1) X (t-1) E (t) onde X (t) séries temporais sob investigação A (1) o parâmetro autorregressivo de ordem 1 X (t-1) (T) o termo de erro do modelo Isto simplesmente significa que qualquer valor dado X (t) pode ser explicado por alguma função de seu valor anterior, X (t-1), mais algum erro aleatório inexplicável, E (t). Se o valor estimado de A (1) fosse .30, então o valor atual da série estaria relacionado a 30 de seu valor 1 período atrás. Naturalmente, a série poderia estar relacionada a mais do que apenas um valor passado. Por exemplo, X (t) A (1) X (t-1) A (2) X (t-2) E (t) Isso indica que o valor atual da série é uma combinação dos dois valores imediatamente anteriores, X (t-1) e X (t-2), mais algum erro aleatório E (t). Nosso modelo é agora um modelo autorregressivo de ordem 2. Modelos de média móvel: Um segundo tipo de modelo Box-Jenkins é chamado de modelo de média móvel. Embora estes modelos parecem muito semelhantes ao modelo AR, o conceito por trás deles é bastante diferente. Os parâmetros de média móvel relacionam o que acontece no período t apenas aos erros aleatórios que ocorreram em períodos de tempo passados, isto é, E (t-1), E (t-2), etc., em vez de X (t-1), X T-2), (Xt-3) como nas abordagens autorregressivas. Um modelo de média móvel com um termo MA pode ser escrito da seguinte forma. O termo B (1) é chamado de MA de ordem 1. O sinal negativo na frente do parâmetro é usado apenas para convenção e geralmente é impresso Automaticamente pela maioria dos programas de computador. O modelo acima diz simplesmente que qualquer valor dado de X (t) está diretamente relacionado somente ao erro aleatório no período anterior, E (t-1) e ao termo de erro atual, E (t). Como no caso dos modelos autorregressivos, os modelos de média móvel podem ser estendidos a estruturas de ordem superior cobrindo diferentes combinações e comprimentos médios móveis. A metodologia ARIMA também permite a construção de modelos que incorporem parâmetros de média autorregressiva e média móvel. Estes modelos são frequentemente referidos como modelos mistos. Embora isso torne uma ferramenta de previsão mais complicada, a estrutura pode de fato simular melhor a série e produzir uma previsão mais precisa. Modelos puros implicam que a estrutura consiste apenas de AR ou MA parâmetros - não ambos. Os modelos desenvolvidos por esta abordagem são geralmente chamados de modelos ARIMA porque eles usam uma combinação de auto-regressão (RA), integração (I) - referindo-se ao processo inverso de diferenciação para produzir as operações de previsão e de média móvel (MA). Um modelo ARIMA é geralmente indicado como ARIMA (p, d, q). Isso representa a ordem dos componentes autorregressivos (p), o número de operadores de diferenciação (d) e a ordem mais alta do termo médio móvel. Por exemplo, ARIMA (2,1,1) significa que você tem um modelo autorregressivo de segunda ordem com um componente de média móvel de primeira ordem cuja série foi diferenciada uma vez para induzir a estacionaridade. Escolhendo a Especificação Direita: O principal problema no clássico Box-Jenkins está tentando decidir qual especificação ARIMA usar - i. e. Quantos parâmetros AR e / ou MA devem ser incluídos. Isto é o que muito de Box-Jenkings 1976 foi dedicado ao processo de identificação. Ela dependia da avaliação gráfica e numérica das funções de autocorrelação da amostra e autocorrelação parcial. Bem, para os seus modelos básicos, a tarefa não é muito difícil. Cada um tem funções de autocorrelação que parecem uma certa maneira. No entanto, quando você subir em complexidade, os padrões não são tão facilmente detectados. Para tornar as questões mais difíceis, seus dados representam apenas uma amostra do processo subjacente. Isto significa que os erros de amostragem (outliers, erro de medição, etc.) podem distorcer o processo de identificação teórica. É por isso que a modelagem ARIMA tradicional é uma arte e não uma ciência.

No comments:

Post a Comment