Monday 21 August 2017

Autoregressive Moving Average In R


Os modelos ARIMA são, em teoria, a classe mais geral de modelos para prever uma série de tempo que pode ser feita para ser 8220stationary8221 por diferenciação (se necessário), talvez Em conjunto com transformações não-lineares, como logging ou deflação (se necessário). Uma variável aleatória que é uma série de tempo é 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 se move de forma consistente. Isto é, os seus padrões de tempo aleatório a curto prazo têm sempre o mesmo aspecto num sentido estatístico. Esta última condição significa que suas autocorrelações (correlações com seus próprios desvios prévios em relação à média) permanecem constantes ao longo do tempo, ou de forma equivalente, que seu espectro de poder permanece constante ao longo do tempo. Uma variável aleatória desta forma pode ser vista (como de costume) 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 rápida alternância no sinal , E poderia também ter uma 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 de ARIMA para uma série de tempo estacionária é uma equação linear (isto é, tipo de regressão) na qual os preditores consistem em atrasos da variável dependente e / ou atrasos dos erros de previsão. Ou seja: 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 em valores defasados ​​de Y., é um modelo autoregressivo puro (8220 auto-regressado8221), que é apenas um caso especial de um modelo de regressão e que poderia ser equipado com 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 retardada 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 8222 como uma variável independente: os erros devem ser calculados em base período a período Quando o modelo é ajustado aos dados. Do 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 dos coeficientes. Mesmo que sejam funções lineares dos dados passados. Portanto, os coeficientes em modelos ARIMA que incluem erros retardados devem ser estimados por métodos de otimização não-lineares (8220hill-climbing8221) ao invés de apenas resolver um sistema de equações. O acrônimo ARIMA significa Auto-Regressive Integrated Moving Average. Lags das séries estacionalizadas na equação de previsão são chamados de termos quotautorregressivos, os atrasos dos erros de previsão são chamados de quotmoving termos médios e uma série de tempo que precisa ser diferenciada para ser estacionária é dito ser uma versão quotintegrada de uma série estacionária. Modelos de Random-walk e tendência aleatória, modelos autorregressivos e modelos de suavização exponencial são casos especiais de modelos ARIMA. Um modelo ARIMA não sazonal é classificado como um modelo quotARIMA (p, d, q) quot, 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 defasados ​​em A equação de predição. A equação de previsão é construída como se segue. Em primeiro lugar, vamos dizer a d diferença de Y. o que significa: Note que a segunda diferença de Y (o caso d2) não é a diferença de 2 períodos atrás. Pelo contrário, é 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 de previsão geral é: Aqui os parâmetros da média móvel (9528217s) são definidos de modo que seus sinais sejam 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 para que eles tenham mais sinais em vez disso. Quando números reais são conectados à equação, não há ambigüidade, mas é importante saber qual convenção seu software usa quando 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) a necessidade de estacionarizar a série e remover as características brutas da sazonalidade, talvez em conjunto com uma transformação estabilizadora de variância, como a extração madeireira ou a deflação. Se você parar neste ponto e prever que a série diferenciada é constante, você tem apenas montado uma caminhada aleatória ou modelo de tendência aleatória. No entanto, a série estacionária pode ainda ter erros autocorrelacionados, sugerindo que algum número de termos AR (p 8805 1) e / ou alguns termos MA (q 8805 1) também são necessários na equação de previsão. O processo de determinar os valores de p, d e q que são melhores para uma dada série temporal será discutido em seções posteriores das notas (cujos links estão no topo desta página), mas uma prévia de alguns dos tipos De modelos não-sazonais ARIMA que são comumente encontrados é dada abaixo. ARIMA (1,0,0) modelo autoregressivo de primeira ordem: se a série é estacionária e autocorrelacionada, talvez possa ser predita como um múltiplo de seu próprio valor anterior, mais uma constante. A equação de previsão neste caso é 8230, que é regressão Y sobre si mesma retardada por um período. Este é um modelo 8220ARIMA (1,0,0) constant8221. 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 (ele 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 981 vezes 1 Longe da média como valor deste período. Se 981 1 for negativo, ele prevê o comportamento de reversão de média com alternância de sinais, isto é, também prevê que Y estará abaixo do próximo período médio se estiver acima da média neste período. Em um modelo autorregressivo de segunda ordem (ARIMA (2,0,0)), haveria um termo Y t-2 à direita também, 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 sobre uma mola submetida a choques aleatórios . Se a série Y não for estacionária, o modelo mais simples possível para ela é um modelo randômico randômico, que pode ser considerado como um caso limitante de um modelo AR (1) em que o modelo autorregressivo 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 variação média período-período (ou seja, a deriva a longo prazo) em Y. Este modelo poderia ser montado como um modelo de regressão sem interceptaçã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, é classificada como um modelo de ARIMA (0,1,0) com constante. quot O modelo randômico-sem-desvio seria um ARIMA (0,1, 0) sem constante ARIMA (1,1,0) modelo autoregressivo de primeira ordem diferenciado: Se os erros de um modelo de caminhada aleatória são autocorrelacionados, talvez o problema possa ser corrigido adicionando um lag da variável dependente à equação de predição - Eu Pela regressão da primeira diferença de Y sobre si mesma retardada por um período. Isto resultaria na seguinte equação de predição: que pode ser rearranjada para Este é um modelo autorregressivo de primeira ordem com uma ordem de diferenciação não sazonal e um termo constante - isto é. Um modelo ARIMA (1,1,0). ARIMA (0,1,1) sem suavização exponencial simples constante: Uma outra estratégia para corrigir erros autocorrelacionados em um modelo de caminhada aleatória é sugerida pelo modelo de suavização exponencial simples. Lembre-se que para algumas séries temporais não-estacionárias (por exemplo, as 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 quanto 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 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 conseguir esse efeito. A equação de predição para o modelo de suavização exponencial simples pode ser escrita em um número de formas matematicamente equivalentes. Uma das quais é a chamada 8220error correction8221, na qual a previsão anterior é ajustada na direção do erro que ela fez: Como 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 com 952 1 1 - 945. Isso significa que você pode ajustar uma suavização exponencial simples especificando-a como um modelo ARIMA (0,1,1) sem Constante, eo coeficiente MA (1) estimado 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 antecipado é de 1 945, o que significa que tendem a ficar aquém das tendências ou pontos de viragem em cerca de 1 945 períodos. Segue-se que a média de idade dos dados nas previsões de 1 período de um modelo ARIMA (0,1,1) sem constante é de 1 (1 - 952 1). Assim, por exemplo, se 952 1 0,8, a idade média é 5. Quando 952 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 como 952 1 Aproxima-se 0 torna-se um modelo randômico-caminhada-sem-deriva. Nos dois modelos anteriores discutidos acima, o problema dos erros autocorrelacionados em um modelo de caminhada aleatória foi fixado de duas maneiras diferentes: adicionando um valor defasado da série diferenciada Para a 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 a autocorrelação positiva é geralmente melhor tratada pela adição de um termo AR para o modelo e autocorrelação negativa é geralmente melhor tratada pela adição de um MA termo. Nas séries econômicas e de negócios, a autocorrelação negativa muitas vezes surge como um artefato de diferenciação. Portanto, o modelo ARIMA (0,1,1), no qual a diferenciação é acompanhada por um termo de MA, é mais freqüentemente usado do que um modelo de auto-correlação positiva. Modelo ARIMA (1,1,0). ARIMA (0,1,1) com suavização exponencial simples constante com crescimento: Ao implementar o modelo SES como um modelo ARIMA, você realmente ganha alguma flexibilidade. Em primeiro lugar, o coeficiente MA (1) estimado pode ser negativo. Isto corresponde a um factor de suavização maior do que 1 num modelo SES, o que normalmente não é permitido pelo procedimento de ajustamento 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 predição: As previsões de um período de adiantamento deste modelo são qualitativamente semelhantes às do modelo SES, exceto que a trajetória das previsões de longo prazo é tipicamente uma 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: Os modelos lineares de suavização exponencial 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 retardada por dois períodos, mas sim é a primeira diferença da primeira diferença - i. e. A mudança na 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: ela mede a quotaccelerationquot ou quotcurvaturequot na função em um dado ponto no tempo. O modelo ARIMA (0,2,2) sem constante prevê que a segunda diferença da série é igual a uma função linear dos dois últimos erros de previsão: que pode ser rearranjada como: onde 952 1 e 952 2 são MA (1) e MA (2) coeficientes. Este é um modelo de suavização exponencial linear geral. Essencialmente o mesmo que Holt8217s modelo, e Brown8217s modelo é 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 a longo prazo deste modelo convergem para uma linha recta cujo declive depende da tendência média observada no final da série. ARIMA (1,1,2) sem suavização exponencial linear de tendência amortecida constante. Este modelo é ilustrado nos slides acompanhantes nos modelos ARIMA. Ele extrapola a tendência local no final da série, mas aplana-lo em horizontes de previsão mais longos para introduzir uma nota de conservadorismo, uma prática que tem apoio empírico. Veja o artigo sobre "Por que a tendência de amortecimento" trabalha por Gardner e McKenzie e o artigo de "Rule of Gold" de Armstrong et al. para detalhes. É geralmente aconselhável aderir a modelos nos quais pelo menos um de p e q não é maior do que 1, ou seja, não tente encaixar um modelo como ARIMA (2,1,2), uma vez que isto é susceptível de conduzir a sobre-adaptaçã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 de planilhas: 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 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 referindo-se a valores nas linhas precedentes das colunas A e C, multiplicada pelos coeficientes AR ou MA apropriados armazenados em células em outra parte da planilha. Previsão com o Excel e R do AIRIMA Olá Hoje eu vou guiá-lo através de uma introdução ao ARIMA e seus componentes, bem 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, os modelos 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 etapas discretas para modelar a identificação, estimativa e verificação. Este processo será descrito posteriormente como referência. Iniciamos com a introdução do modelo ARMA pelos seus vários componentes, os modelos AR e MA e apresentamos uma generalização popular do modelo ARMA, ARIMA (Média Movente Integrada Autoregressiva) e previsão e etapas de 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 de tempo. 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: Xt c soma varphii, Xt-i varepsilont Onde varphi1, ldots, varphivarphi são os parâmetros do modelo, C é constante, e varepsilont é um termo de ruído branco. Essencialmente, o que o modelo descreve é ​​para qualquer valor dado X (t). Ele pode ser explicado por funções de seu valor anterior. Para um modelo com um parâmetro, varphi 1. X (t) é explicado por seu valor passado X (t-1) e erro aleatório varepsilont. Para um modelo com mais de um parâmetro, por exemplo varphi 2. X (t) é dado por X (t-1). X (t-2) e varepsilont de erro aleatório. Modelo de Média Móvel O modelo de Média Móvel (MA) é usado freqüentemente para modelar séries temporais univariadas e é definido como: Xt mu varepsilont theta1, varepsilon ldots thetaq, varepsilon mu é a média das séries temporais. Theta1, ldots, thetaq são os parâmetros do modelo. Varepsilont, varepsilon, ldots são os termos de erro de ruído branco. Q é 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 termos varepsilont no período anterior, t. Varepsilon. Por exemplo, um modelo de MA de q 1. X (t) é explicado pelo erro atual varepsilont no mesmo período eo valor do erro passado, varepsilon. Para um modelo de ordem 2 (q 2), X (t) é explicado pelos dois últimos valores de erro, varepsilon e varepsilon. Os termos AR (p) e MA (q) são usados ​​no modelo ARMA, que será agora introduzido. Modelos de média móvel auto-regressivos Modelos de média móvel auto-regressivos utilizam dois polinómios, AR (p) e MA (q) e descrevem um processo estocástico estacionário. Um processo estacionário não muda quando deslocado no tempo ou no 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 (p, q). A notação do modelo é escrita: Xt c varepsilont soma varphi1 X soma thetai varepsilon 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 mais adequado. O primeiro passo do método Box-Jenkins é a identificação do modelo. O passo inclui a identificação de sazonalidade, diferenciando se necessário e determinando a ordem de p e q traçando 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 verificar a 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, p, d, q. Para definir o modelo ARMA para incluir o termo de diferenciação, começamos rearranjando o modelo ARMA padrão para separar X (t) látex e látex varepsilont da soma. (1 - soma alfa Li) Xt (1 suma thetai Li) varepsilont Onde L é o operador de latência e alphai. Thetai. Varepsilont 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, (1 - sum alphai Li) tem uma raiz unitária da multiplicidade d. Podemos então reescrevê-lo para o seguinte: O modelo ARIMA expressa a factorização polinomial com pp-d e nos dá: (1 - sum phii Li) (1 - L) d Xt (1 suma thetai Li) varepsilont Por fim, generalizamos a Adicionando um termo de deriva, que define o modelo ARIMA como ARIMA (p, d, q) com fratura de deriva. Com o modelo agora definido, podemos ver o modelo ARIMA como duas partes separadas, uma não-estacionária e a outra, estacionária, de sentido amplo (1-soma phii Li) (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: (1-sum phii Li) Yt (1 suma thetai Li) varepsilont As previsões podem agora ser feitas em Yt usando 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 previsões ARIMA, 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 fazer o download do RAndFriends, uma vez que facilita a instalação mais rápida e fácil. No entanto, se você já tiver R e quiser instalá-lo manualmente, siga estas etapas. Instalando manualmente o RExcel Para instalar o RExcel e outros pacotes para tornar o R ​​funcionando 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 nas 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, geralmente 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 Excel, digite Alt F11. Isso abrirá Excels VBA editor. Vá para Tools - gt References e encontre a referência RExcel, RExcelVBAlib. O 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, insira seus dados na coluna Dados. Selecione o intervalo de 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. Observe 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 passos 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 adiante na 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. A esquerda apresenta os valores previstos com os dados, enquanto a direita 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 de Ljung-Box para determinar se o modelo está bem ajustado. 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 é ele Atualmente, a coluna da data não faz qualquer outra coisa senão para 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 fora da ferramenta Seu me salvou bastante 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. O código, a planilha do Excel e o arquivo. bas também estão no GitHub. Os processos de erro de média móvel (ARMA) e outros modelos que envolvem atrasos de termos de erro podem ser estimados usando declarações FIT e simulados ou previstos usando declarações SOLVE. Os modelos ARMA para o processo de erro são freqüentemente usados ​​para modelos com resíduos autocorrelacionados. A macro AR pode ser usada para especificar modelos com processos de erro autorregressivos. A macro MA pode ser usada para especificar modelos com processos de erro de média móvel. Erros Autoregressivos Um modelo com erros autoregressivos de primeira ordem, AR (1), tem a forma enquanto um processo de erro AR (2) tem a forma e assim por diante para processos de ordem superior. Observe que os s são independentes e identicamente distribuídos e têm um valor esperado de 0. Um exemplo de um modelo com um componente AR (2) é e assim por diante para processos de ordem superior. Por exemplo, você pode escrever um modelo de regressão linear simples com MA (2) erros de média móvel, onde MA1 e MA2 são os parâmetros de média móvel. Observe que RESID. Y é automaticamente definido por PROC MODEL como A função ZLAG deve ser usada para modelos MA para truncar a recursividade dos atrasos. Isso garante que os erros defasados ​​começam em zero na fase de latência e não propagam valores faltantes quando as variáveis ​​de período de atraso são perdidos e garantem que os erros futuros sejam zero em vez de faltar durante a simulação ou previsão. Para obter detalhes sobre as funções de atraso, consulte a seção Lag Logic. Este modelo escrito usando a macro MA é o seguinte: Formulário Geral para Modelos ARMA O processo ARMA (p, q) geral tem a seguinte forma Um modelo ARMA (p, q) pode ser especificado da seguinte forma: onde AR i e MA j representam Os parâmetros auto-regressivos e de média móvel para os vários desfasamentos. Você pode usar qualquer nome que você deseja para essas variáveis, e há muitas maneiras equivalentes que a especificação poderia ser escrita. Os processos Vector ARMA também podem ser estimados com PROC MODEL. Por exemplo, um processo AR (1) de duas variáveis ​​para os erros das duas variáveis ​​endógenas Y1 e Y2 pode ser especificado da seguinte forma: Problemas de Convergência com Modelos ARMA Os modelos ARMA podem ser difíceis de estimar. Se as estimativas dos parâmetros não estiverem dentro da faixa apropriada, os termos residuais dos modelos de média móvel crescem exponencialmente. Os resíduos calculados para observações posteriores podem ser muito grandes ou podem transbordar. Isso pode acontecer porque os valores iniciais inadequados foram usados ​​ou porque as iterações se afastaram de valores razoáveis. Cuidado deve ser usado na escolha de valores iniciais para ARMA parâmetros. Os valores iniciais de 0,001 para os parâmetros ARMA geralmente funcionam se o modelo se encaixa bem nos dados eo problema está bem condicionado. Note-se que um modelo MA pode muitas vezes ser aproximado por um modelo AR de alta ordem, e vice-versa. Isso pode resultar em alta colinearidade em modelos ARMA mistos, o que por sua vez pode causar grave mal-condicionamento nos cálculos e instabilidade das estimativas de parâmetros. Se você tiver problemas de convergência ao estimar um modelo com processos de erro ARMA, tente estimar em etapas. Primeiro, use uma instrução FIT para estimar apenas os parâmetros estruturais com os parâmetros ARMA mantidos a zero (ou a estimativas anteriores razoáveis ​​se disponíveis). Em seguida, use outra instrução FIT para estimar somente os parâmetros ARMA, usando os valores dos parâmetros estruturais da primeira execução. Uma vez que os valores dos parâmetros estruturais são susceptíveis de estar perto de suas estimativas finais, as estimativas ARMA parâmetro agora pode convergir. Finalmente, use outra instrução FIT para produzir estimativas simultâneas de todos os parâmetros. Uma vez que os valores iniciais dos parâmetros são agora provavelmente muito próximos de suas estimativas conjuntas finais, as estimativas devem convergir rapidamente se o modelo for apropriado para os dados. AR Condições iniciais Os retornos iniciais dos termos de erro dos modelos AR (p) podem ser modelados de diferentes maneiras. Os métodos de inicialização de erros autorregressivos suportados pelos procedimentos do SASETS são os seguintes: PROCEDIMENTOS MÍNIMOS CONDUTAIS (Procedimentos ARIMA e MODELO) Procedimentos de mínimos quadrados incondicionais (procedimentos AUTOREG, ARIMA e MODELO) Yule-Walker (AUTOREG, ARIMA e MODELO) Procedimento somente) Hildreth-Lu, que exclui as primeiras p observações (procedimento MODEL somente) Consulte o Capítulo 8, O Procedimento AUTOREG, para uma explicação e discussão dos méritos de vários métodos de inicialização AR (p). As inicializações CLS, ULS, ML e HL podem ser realizadas pelo PROC MODEL. Para erros de AR (1), estas inicializações podem ser produzidas como mostrado na Tabela 18.2. Estes métodos são equivalentes em amostras grandes. Tabela 18.2 Inicializações Executadas por PROC MODEL: AR (1) ERROS Os retornos iniciais dos termos de erro dos modelos MA (q) também podem ser modelados de diferentes maneiras. Os seguintes paradigmas de inicialização de erros de média móvel são suportados pelos procedimentos ARIMA e MODELO: mínimos quadrados condicionais mínimos incondicionais O método de mínimos quadrados condicionais para estimar os termos de erro de média móvel não é o ideal porque ignora o problema de inicialização. Isso reduz a eficiência das estimativas, embora permaneçam imparciais. Os resíduos atrasados ​​iniciais, que se estendem antes do início dos dados, são assumidos como 0, o seu valor esperado incondicional. Isso introduz uma diferença entre esses resíduos e os resíduos de mínimos quadrados generalizados para a covariância da média móvel, que, ao contrário do modelo autorregressivo, persiste através do conjunto de dados. Normalmente, esta diferença converge rapidamente para 0, mas para processos de média móvel quase não-reversíveis a convergência é bastante lenta. Para minimizar este problema, você deve ter abundância de dados, e as estimativas de parâmetros de média móvel devem estar bem dentro do intervalo de inversibilidade. Este problema pode ser corrigido à custa de escrever um programa mais complexo. As estimativas de mínimos quadrados incondicionais para o processo MA (1) podem ser produzidas especificando o modelo da seguinte maneira: Erros de média móvel podem ser difíceis de estimar. Você deve considerar usar uma aproximação AR (p) para o processo de média móvel. Um processo de média móvel geralmente pode ser bem aproximado por um processo autorregressivo se os dados não tiverem sido suavizados ou diferenciados. A Macro AR A macro AR do SAS gera instruções de programação para MODELO PROC para modelos autorregressivos. A macro AR é parte do software SASETS e nenhuma opção especial precisa ser definida para usar a macro. O processo autorregressivo pode ser aplicado aos erros de equações estruturais ou às próprias séries endógenas. A macro AR pode ser usada para os seguintes tipos de auto-regressão: auto-regressão vetorial irrestrita autoregressão vetorial restrita Autoregressão Univariada Para modelar o termo de erro de uma equação como um processo autorregressivo, use a seguinte instrução após a equação: Por exemplo, suponha que Y seja a Linear de X1, X2 e um erro de AR (2). Você escreveria este modelo da seguinte maneira: As chamadas para AR devem vir depois de todas as equações às quais o processo se aplica. A invocação de macro anterior, AR (y, 2), produz as instruções mostradas na saída LIST na Figura 18.58. Figura 18.58 Saída de Opção LIST para um Modelo AR (2) As variáveis ​​prefixadas PRED são variáveis ​​de programa temporárias usadas para que os atrasos dos resíduos sejam os resíduos corretos e não os redefinidos por esta equação. Observe que isso é equivalente às instruções explicitamente escritas na seção Formulário Geral para Modelos ARMA. Você também pode restringir os parâmetros autorregressivos a zero em intervalos selecionados. Por exemplo, se você quisesse parâmetros autorregressivos nos retornos 1, 12 e 13, você pode usar as seguintes instruções: Estas instruções geram a saída mostrada na Figura 18.59. Figura 18.59 Saída de Opção LIST para um Modelo AR com Lags em 1, 12 e 13 O MODELO Procedimento Listagem do Código de Programa Compilado como Parsed PRED. yab x1 c x2 RESID. y PRED. y - ACTUAL. y ERROR. y PRED. Y - y OLDPRED. y PRED. y yl1 ZLAG1 (y - perdy) il12 ZLAG12 (y - perdy) il13 ZLAG13 (y - perdy) RESID. y PRED. y - ACTUAL. y PRED. y - y Existem Variações no método dos mínimos quadrados condicionais, dependendo se as observações no início da série são usadas para aquecer o processo AR. Por padrão, o método de mínimos quadrados condicionais AR usa todas as observações e assume zeros para os retornos iniciais de termos autorregressivos. Usando a opção M, você pode solicitar que AR use o método de mínimos quadrados incondicionais (ULS) ou de máxima verossimilhança (ML). Por exemplo, as discussões sobre esses métodos são fornecidas na seção AR Condições iniciais. Usando a opção MCLS n, você pode solicitar que as primeiras n observações sejam usadas para calcular estimativas dos atrasos autorregressivos iniciais. Neste caso, a análise começa com a observação n 1. Por exemplo: Você pode usar a macro AR para aplicar um modelo autorregressivo à variável endógena, em vez de ao termo de erro, usando a opção TYPEV. Por exemplo, se você quiser adicionar os cinco atrasos anteriores de Y à equação no exemplo anterior, você pode usar AR para gerar os parâmetros e os retornos usando as seguintes instruções: As instruções anteriores geram a saída mostrada na Figura 18.60. Figura 18.60 Saída de opção LIST para um modelo AR de Y Este modelo prediz Y como uma combinação linear de X1, X2, uma interceptação e os valores de Y nos cinco períodos mais recentes. Autoresponder vetorial irrestrito Para modelar os termos de erro de um conjunto de equações como um processo autorregressivo de vetor, use a seguinte forma da macro AR após as equações: O valor processname é qualquer nome que você fornecer para AR usar para fazer nomes para o autorregressivo Parâmetros. Você pode usar a macro AR para modelar vários processos AR diferentes para diferentes conjuntos de equações usando diferentes nomes de processo para cada conjunto. O nome do processo garante que os nomes de variáveis ​​usados ​​são exclusivos. Use um valor processname curto para o processo se as estimativas de parâmetro forem gravadas em um conjunto de dados de saída. A macro AR tenta construir nomes de parâmetro menor ou igual a oito caracteres, mas isso é limitado pelo comprimento de processname. Que é usado como um prefixo para os nomes de parâmetro AR. O valor da lista de variáveis ​​é a lista de variáveis ​​endógenas para as equações. Por exemplo, suponha que erros para as equações Y1, Y2 e Y3 sejam gerados por um processo autorregressivo de vetor de segunda ordem. Você pode usar as seguintes instruções: que geram o seguinte para Y1 e código semelhante para Y2 e Y3: Somente o método de mínimos quadrados condicional (MCLS ou MCLS n) pode ser usado para processos vetoriais. Você também pode usar o mesmo formulário com restrições que a matriz de coeficientes seja 0 em defasagens selecionadas. Por exemplo, as seguintes afirmações aplicam um processo vetorial de terceira ordem aos erros de equação com todos os coeficientes no retardo 2 restrito a 0 e com os coeficientes nos retornos 1 e 3 sem restrições: Você pode modelar as três séries Y1Y3 como um processo autorregressivo de vetor Nas variáveis ​​em vez de nos erros usando a opção TYPEV. Se você deseja modelar Y1Y3 como uma função de valores passados ​​de Y1Y3 e algumas variáveis ​​exógenas ou constantes, você pode usar AR para gerar as declarações para os termos de atraso. Escreva uma equação para cada variável para a parte não autorregressiva do modelo e, em seguida, chame AR com a opção TYPEV. Por exemplo, a parte não autorregressiva do modelo pode ser uma função de variáveis ​​exógenas, ou pode ser parâmetros de interceptação. Se não houver componentes exógenos para o modelo de autorregressão vetorial, incluindo sem interceptações, então atribua zero a cada uma das variáveis. Deve haver uma atribuição para cada uma das variáveis ​​antes de AR é chamado. Este exemplo modela o vetor Y (Y1Y2Y3) como uma função linear apenas do seu valor nos dois períodos anteriores e um vetor de erro de ruído branco. O modelo tem 18 (3 3 3 3) parâmetros. Sintaxe da Macro AR Existem dois casos da sintaxe da macro AR. Quando as restrições em um processo AR vetorial não são necessárias, a sintaxe da macro AR tem a forma geral especifica um prefixo para AR a ser usado na construção de nomes de variáveis ​​necessários para definir o processo AR. Se o endolist não é especificado, a lista endógena padrão é nome. Que deve ser o nome da equação à qual o processo de erro AR deve ser aplicado. O valor de nome não pode exceder 32 caracteres. É a ordem do processo AR. Especifica a lista de equações às quais o processo AR deve ser aplicado. Se for dado mais de um nome, é criado um processo vetorial sem restrições com os resíduos estruturais de todas as equações incluídas como regressores em cada uma das equações. Se não for especificado, o endolist predefinirá o nome. Especifica a lista de defasagens em que os termos AR devem ser adicionados. Os coeficientes dos termos em intervalos não listados são definidos como 0. Todos os atrasos listados devem ser menores ou iguais a nlag. E não deve haver duplicatas. Se não for especificado, o laglist padrão para todos os retornos 1 através de nag. Especifica o método de estimação a ser implementado. Valores válidos de M são CLS (estimativas de mínimos quadrados condicionais), ULS (estimativas de mínimos quadrados incondicionais) e ML (estimativas de máxima verossimilhança). MCLS é o padrão. Somente o MCLS é permitido quando mais de uma equação é especificada. Os métodos ULS e ML não são suportados para modelos AR de AR por AR. Especifica que o processo AR deve ser aplicado às próprias variáveis ​​endógenas em vez de aos resíduos estruturais das equações. Auto-regressão vetorial restrito Você pode controlar quais parâmetros são incluídos no processo, restringindo a 0 aqueles parâmetros que você não inclui. Primeiro, use AR com a opção DEFER para declarar a lista de variáveis ​​e definir a dimensão do processo. Em seguida, use chamadas AR adicionais para gerar termos para equações selecionadas com variáveis ​​selecionadas em intervalos selecionados. Por exemplo, as equações de erro produzidas são as seguintes: Este modelo estabelece que os erros para Y1 dependem dos erros de Y1 e Y2 (mas não Y3) nos dois intervalos 1 e 2 e que os erros para Y2 e Y3 dependem de Os erros anteriores para todas as três variáveis, mas somente com atraso 1. AR Macro Sintaxe para AR Restrito AR Um uso alternativo de AR é permitido para impor restrições em um processo AR vetorial chamando AR várias vezes para especificar diferentes AR termos e defasagens para diferentes Equações. A primeira chamada tem a forma geral especifica um prefixo para AR para usar na construção de nomes de variáveis ​​necessárias para definir o vetor AR processo. Especifica a ordem do processo AR. Especifica a lista de equações às quais o processo AR deve ser aplicado. Especifica que AR não é para gerar o processo AR, mas é esperar por mais informações especificadas em chamadas AR posterior para o mesmo valor de nome. As chamadas subseqüentes têm a forma geral é o mesmo que na primeira chamada. Especifica a lista de equações às quais as especificações nesta chamada AR devem ser aplicadas. Somente os nomes especificados no valor endolist da primeira chamada para o valor de nome podem aparecer na lista de equações na lista de eqlist. Especifica a lista de equações cujos resíduos estruturais retardados devem ser incluídos como regressores nas equações em eqlist. Somente nomes no endolist da primeira chamada para o valor de nome podem aparecer em varlist. Se não for especificado, varlist padrão para endolist. Especifica a lista de defasagens em que os termos AR devem ser adicionados. Os coeficientes dos termos em intervalos não listados são definidos como 0. Todos os atrasos listados devem ser menores ou iguais ao valor de nlag. E não deve haver duplicatas. Se não for especificado, o laglist assume todos os defasagens 1 a nlag. A macro MA A macro SAS MA gera instruções de programação para MODELO PROC para modelos de média móvel. A macro MA faz parte do software SASETS e não são necessárias opções especiais para utilizar a macro. O processo de erro de média móvel pode ser aplicado aos erros da equação estrutural. A sintaxe da macro MA é o mesmo que a macro AR, exceto que não há argumento TYPE. Quando você estiver usando as macros MA e AR combinadas, a macro MA deve seguir a macro AR. As seguintes instruções SASIML produzem um processo de erro ARMA (1, (1 3)) e salvam-no no conjunto de dados MADAT2. As seguintes instruções PROC MODEL são usadas para estimar os parâmetros deste modelo usando a estrutura de erro de máxima verossimilhança: As estimativas dos parâmetros produzidos por esta execução são mostradas na Figura 18.61. Figura 18.61 Estimativas de um processo ARMA (1, (1 3)) Existem dois casos da sintaxe para a macro MA. Quando as restrições em um processo de MA vetorial não são necessárias, a sintaxe da macro MA tem a forma geral especifica um prefixo para MA usar na construção de nomes de variáveis ​​necessárias para definir o processo MA e é o endolist padrão. É a ordem do processo MA. Especifica as equações às quais o processo MA deve ser aplicado. Se for dado mais de um nome, a estimativa CLS é usada para o processo vetorial. Especifica os atrasos em que os termos MA devem ser adicionados. Todos os atrasos listados devem ser menores ou iguais a nlag. E não deve haver duplicatas. Se não for especificado, o laglist padrão para todos os retornos 1 através de nag. Especifica o método de estimação a ser implementado. Valores válidos de M são CLS (estimativas de mínimos quadrados condicionais), ULS (estimativas de mínimos quadrados incondicionais) e ML (estimativas de máxima verossimilhança). MCLS é o padrão. Somente o MCLS é permitido quando mais de uma equação é especificada no endolist. MA Sintaxe de Macro para Movimentação-Média Restrita de Vetores Um uso alternativo de MA é permitido para impor restrições em um processo de MA de vetor chamando MA várias vezes para especificar diferentes termos de MA e defasagens para equações diferentes. A primeira chamada tem a forma geral especifica um prefixo para MA para usar na construção de nomes de variáveis ​​necessárias para definir o vetor MA processo. Especifica a ordem do processo MA. Especifica a lista de equações às quais o processo MA deve ser aplicado. Especifica que MA não é para gerar o processo de MA, mas é aguardar informações adicionais especificadas em chamadas de MA mais tarde para o mesmo valor de nome. As chamadas subseqüentes têm a forma geral é o mesmo que na primeira chamada. Especifica a lista de equações às quais as especificações nesta chamada MA devem ser aplicadas. Especifica a lista de equações cujos resíduos estruturais retardados devem ser incluídos como regressores nas equações em eqlist. Especifica a lista de defasagens em que os termos MA devem ser adicionados.

No comments:

Post a Comment