Tuesday 22 August 2017

Autoregressive Moving Average C ++


Simulação de Movimento Média Autoregressiva (Primeira Ordem) A Demonstração é definida de tal forma que a mesma série aleatória de pontos é usada não importa como as constantes e são variadas. No entanto, quando o botão quotrandomizequot é pressionado, uma nova série aleatória será gerada e usada. Manter a série aleatória idêntica permite ao usuário ver exatamente os efeitos na série ARMA de mudanças nas duas constantes. A constante é limitada a (-1,1) porque a divergência da série ARMA resulta quando. A Demonstração destina-se apenas a um processo de primeira ordem. Os termos AR adicionais permitiriam a geração de séries mais complexas, enquanto que os termos MA adicionais aumentariam o alisamento. Para uma descrição detalhada dos processos ARMA, ver, por exemplo, G. Box, G. M. Jenkins e G. Reinsel, Análise de séries temporais: Previsão e Controlo. 3a ed. (P, d, q) Modelos para a Análise de Séries Temporais No conjunto anterior de artigos (Partes 1, 2 e 3), entrámos em detalhes significativos sobre a AR (p), MA (q) e ARMA (p, q) modelos de séries temporais lineares. Utilizamos esses modelos para gerar conjuntos de dados simulados, modelos ajustados para recuperar os parâmetros e, em seguida, aplicamos esses modelos aos dados das ações financeiras. Neste artigo vamos discutir uma extensão do modelo ARMA, ou seja, o modelo de média móvel integrada ou modelo ARIMA (p, d, q). Veremos que é necessário considerar o modelo ARIMA quando temos séries não-estacionárias. Tais séries ocorrem na presença de tendências estocásticas. Recapitulação Rápida e Próximas Etapas Até o momento, consideramos os seguintes modelos (os links o levarão aos artigos apropriados): Constantemente construímos nossa compreensão de séries temporais com conceitos como correlação serial, estacionário, linearidade, resíduos, correlogramas, Simulando, ajuste, sazonalidade, heterocedasticidade condicional e teste de hipóteses. Até agora ainda não realizamos previsão ou previsão de nossos modelos e por isso não tivemos nenhum mecanismo para produzir um sistema de negociação ou curva de patrimônio. Uma vez estudado ARIMA (neste artigo), ARCH e GARCH (nos próximos artigos), estaremos em posição de construir uma estratégia básica de negociação de longo prazo com base na previsão dos retornos do índice do mercado de ações. Apesar do fato de eu ter entrado em um monte de detalhes sobre os modelos que sabemos que em última análise não terá grande desempenho (AR, MA, ARMA), estamos agora bem versados ​​no processo de modelagem de séries temporais. Isso significa que, quando estudarmos modelos mais recentes (e até mesmo aqueles atualmente na literatura de pesquisa), teremos uma base de conhecimento significativa sobre a qual desenhar, a fim de efetivamente avaliar esses modelos, em vez de tratá-los como um turn key Prescrição ou caixa preta. Mais importante ainda, ele nos dará a confiança para estendê-los e modificá-los por conta própria e entender o que estamos fazendo quando o fazemos gostaria de agradecer por ter sido paciente até agora, como pode parecer que esses artigos estão longe de A ação real da negociação real. No entanto, a verdadeira investigação quantitativa de negociação é cuidadosa, medido e leva um tempo significativo para obter direito. Não há nenhuma correção rápida ou ficar rico esquema no comércio de quant. Estávamos quase prontos para considerar nosso primeiro modelo comercial, que será uma mistura de ARIMA e GARCH, por isso é imperativo que passemos algum tempo entendendo bem o modelo ARIMA. Uma vez que construímos nosso primeiro modelo de negociação, vamos considerar mais Modelos avançados, tais como processos de memória longa, modelos de espaço de estados (ou seja, o filtro de Kalman) e Vetor (VAR), que nos levarão a outras estratégias de negociação mais sofisticadas. Modelos ARIMA de ordem p, d, q Os modelos ARIMA são usados ​​porque podem reduzir uma série não-estacionária para uma série estacionária usando uma seqüência de etapas de diferenciação. Podemos recordar do artigo sobre ruído branco e passeios aleatórios que, se aplicarmos o operador diferença a uma série randômica aleatória (uma série não-estacionária) ficamos com ruído branco (uma série estacionária): begin nabla xt xt - x wt End ARIMA essencialmente executa esta função, mas faz isso repetidamente, d vezes, a fim de reduzir uma série não-estacionário para um estacionário. Para tratar outras formas de não estacionaridade além das tendências estocásticas, podem ser utilizados modelos adicionais. Os efeitos da sazonalidade (como os que ocorrem nos preços das commodities) podem ser abordados com o modelo ARIMA sazonal (SARIMA), porém não estaremos discutindo SARIMA muito nessa série. Efeitos heteroscedastic condicionais (como com agrupamento de volatilidade em índices de ações) podem ser abordados com ARCHGARCH. Neste artigo vamos considerar as séries não-estacionárias com tendências estocásticas e ajustar modelos ARIMA para estas séries. Também produziremos previsões para nossa série financeira. Definições Antes de definir os processos ARIMA precisamos discutir o conceito de uma série integrada: Série Integrada de ordem d Uma série temporal é integrada de ordem d. I (d), se: begin nablad xt wt end Isto é, se diferenciarmos a série d vezes recebemos uma série de ruído branco discreto. Alternativamente, usando o operador de mudança de marcha atrás, uma condição equivalente é: Agora que definimos uma série integrada, podemos definir o próprio processo ARIMA: Média Movente Integrada Autoregressiva Modelo de ordem p, d, q Uma série temporal é um modelo de média móvel integrada autorregressiva De ordem p, d, q. ARIMA (p, d, q). Se nablad xt é uma média móvel autorregressiva de ordem p, q, ARMA (p, q). Ou seja, se a série é diferenciada d vezes, e então segue um processo ARMA (p, q), então é uma série ARIMA (p, d, q). Se usarmos a notação polinomial da Parte 1 e Parte 2 da série ARMA, então um processo ARIMA (p, d, q) pode ser escrito em termos do Operador de Deslocamento para Trás. : Onde wt é uma série discreta de ruído branco. Há alguns pontos a observar sobre estas definições. Uma vez que a caminhada aleatória é dada por xt x wt, pode-se ver que I (1) é outra representação, uma vez que nabla1 xt wt. Se suspeitarmos de uma tendência não linear, então poderemos usar a diferenciação repetida (isto é, d gt 1) para reduzir uma série a ruído branco estacionário. Em R podemos usar o comando diff com parâmetros adicionais, p. Diff (x, d3) para realizar diferenças repetidas. Simulação, Correlograma e Ajuste do Modelo Já que já usamos o comando arima. sim para simular um processo ARMA (p, q), o procedimento a seguir será semelhante ao realizado na Parte 3 da série ARMA. A principal diferença é que vamos agora definir d1, ou seja, vamos produzir uma série de tempo não-estacionário com uma componente de tendência estocástica. Como antes vamos ajustar um modelo ARIMA aos nossos dados simulados, tentar recuperar os parâmetros, criar intervalos de confiança para estes parâmetros, produzir um correlograma dos resíduos do modelo ajustado e finalmente realizar um teste de Ljung-Box para estabelecer se temos um bom ajuste. Vamos simular um modelo ARIMA (1,1,1), com o coeficiente autorregressivo alfa0,6 eo coeficiente de média móvel beta-0,5. Aqui está o código R para simular e traçar tal série: Agora que temos nossa série simulada, vamos tentar ajustar um modelo ARIMA (1,1,1) a ele. Uma vez que conhecemos a ordem, simplesmente a especificamos no ajuste: Os intervalos de confiança são calculados como: Ambas as estimativas de parâmetros estão dentro dos intervalos de confiança e estão próximas dos valores de parâmetros verdadeiros da série ARIMA simulada. Portanto, não devemos nos surpreender ao ver os resíduos parecerem uma realização de ruído branco discreto: Finalmente, podemos executar um teste de Ljung-Box para fornecer evidência estatística de um bom ajuste: Podemos ver que o valor de p é significativamente maior do que 0,05 e como tal podemos afirmar que existe forte evidência de discreto ruído branco sendo um bom ajuste para os resíduos. Assim, o modelo ARIMA (1,1,1) é um bom ajuste, como esperado. Dados Financeiros e Previsão Nesta seção vamos ajustar os modelos da ARIMA à Amazon, Inc. (AMZN) e ao SampP500 US Equity Index (GPSC, no Yahoo Finance). Faremos uso da biblioteca de previsão, escrita por Rob J Hyndman. Vamos em frente e instalar a biblioteca em R: Agora podemos usar o quantmod para baixar a série de preços diários da Amazon a partir do início de 2013. Como já teremos tomado as diferenças de primeira ordem da série, o ajuste ARIMA realizado em breve será Não requer d gt 0 para o componente integrado: Como na parte 3 da série ARMA, vamos agora fazer um loop através das combinações de p, d e q, para encontrar o melhor modelo ARIMA (p, d, q). Por ótima queremos dizer a combinação de ordem que minimiza o Critério de Informação Akaike (AIC): Podemos ver que uma ordem de p4, d0, q4 foi selecionada. Notavelmente d0, como já observamos as diferenças de primeira ordem acima: Se plotarmos o correlograma dos resíduos, podemos ver se temos evidências de uma série de ruído branco discreto: Existem dois picos significativos, isto é, em k15 e k21, Esperam ver picos estatisticamente significativos simplesmente devido à variação de amostragem 5 do tempo. Vamos fazer um teste de Ljung-Box (ver artigo anterior) e ver se temos evidências de um bom ajuste: Como podemos ver o valor de p é maior que 0,05 e por isso temos evidências de um bom ajuste no nível 95. Podemos agora usar o comando de previsão da biblioteca de previsão para prever 25 dias de antecedência para a série de retornos da Amazon: Podemos ver as previsões de pontos para os próximos 25 dias com 95 (azul escuro) e 99 (azul claro) bandas de erro . Nós vamos usar essas previsões em nossa primeira estratégia de série de tempo de negociação quando chegarmos a combinar ARIMA e GARCH. Vamos executar o mesmo procedimento para o SampP500. Em primeiro lugar, obtemos os dados do quantmod eo convertemos para um fluxo diário de retorno de log: Ajustamos um modelo ARIMA fazendo um loop sobre os valores de p, d e q: A AIC nos diz que o melhor modelo é o ARIMA (2,0, 1). Observe mais uma vez que d0, como já fizemos as diferenças de primeira ordem da série: Podemos traçar os resíduos do modelo ajustado para ver se temos evidências de ruído branco discreto: O correlograma parece promissor, então o próximo passo é executar O teste de Ljung-Box e confirmar que temos um bom ajuste de modelo: Como o valor de p é maior que 0,05, temos evidências de um bom ajuste de modelo. Por que é que no artigo anterior nosso teste Ljung-Box para o SampP500 mostrou que o ARMA (3,3) era um ajuste fraco para o log diário Retorna que eu deliberadamente truncado os dados SampP500 para iniciar a partir de 2013 neste artigo , O que convenientemente exclui os períodos voláteis em torno de 2007-2008. Por isso, excluímos uma grande parte do SampP500 onde tínhamos um agrupamento de volatilidade excessivo. Isso afeta a correlação serial da série e, portanto, tem o efeito de fazer a série parecer mais estática do que foi no passado. Este é um ponto muito importante. Ao analisar as séries temporais, precisamos ter muito cuidado com as séries condicionalmente heterocedascênicas, como os índices do mercado de ações. Em finanças quantitativas, tentar determinar períodos de volatilidade diferente é muitas vezes conhecido como detecção de regime. É uma das tarefas mais difíceis de alcançar. Bem, discuta este ponto detalhadamente no próximo artigo quando chegarmos a considerar os modelos ARCH e GARCH. Vamos agora traçar uma previsão para os próximos 25 dias do SampP500 log diário retorna: Agora que temos a capacidade de ajustar e prever modelos como ARIMA, foram muito perto de ser capaz de criar indicadores de estratégia para a negociação. Próximas Etapas No próximo artigo vamos dar uma olhada no modelo Generalized Autoregressive Condicional Heteroscedasticity (GARCH) e usá-lo para explicar mais da correlação serial em certas ações e séries de índices de equidade. Uma vez discutido o GARCH, estaremos em posição de combiná-lo com o modelo ARIMA e criar indicadores de sinal e, portanto, uma estratégia de negociação quantitativa básica. Apenas começando com Quantitative TradingDocumentation a é um vetor constante de deslocamentos, com n elementos. A i são n-by-n matrizes para cada i. Os Ai são matrizes autorregressivas. Existem p matrizes autorregressivas. 949 t é um vector de inovações não correlacionadas em série. Vetores de comprimento n. Os 949 t são vetores aleatórios normais multivariados com matriz de covariância Q. Onde Q é uma matriz de identidade, salvo indicação em contrário. B j são n-by-n matrizes para cada j. As B j são matrizes de média móvel. Existem q matrizes de média móvel. Xt é uma matriz n-by-r representando termos exógenos em cada momento t. R é o número de séries exógenas. Termos exógenos são dados (ou outras entradas não modificadas) além da série de tempo de resposta y t. B é um vetor constante de coeficientes de regressão de tamanho r. Portanto, o produto X t middotb é um vetor de tamanho n. Geralmente, as séries temporais y t e X t são observáveis. Em outras palavras, se você tiver dados, ele representa uma ou ambas as séries. Você nem sempre sabe o deslocamento a. Coeficiente b. Matrizes autorregressivas A i. E matrizes de média móvel B j. Normalmente, você deseja ajustar esses parâmetros aos seus dados. Consulte a página de referência da função vgxvarx para obter formas de estimar parâmetros desconhecidos. As inovações 949 t não são observáveis, pelo menos em dados, embora possam ser observadas em simulações. Lag Representação do Operador Há uma representação equivalente das equações auto-regressivas lineares em termos de operadores de retardamento. O operador de atraso L move o índice de tempo de volta em um: L y t y t 82111. O operador L m move o índice de tempo para trás por m. L m y t y t 8211 m. Na forma de operador de lag, a equação para um modelo de SVARMAX (p. Q. R) torna-se (A 0 x 2212 x2211 i 1 p A i L i) y t a X t b (B 0 x 2211 j 1 q B j L j) x03B5 t. Esta equação pode ser escrita como A (L) y t a X t b B (L) x03B5 t. Um modelo VAR é estável se det (I n x2212 A 1 z x 2212 A 2 z 2 x 2212. x2212 A pzp) x2260 0 x00A0x00A0forx00A0x00A0 z x2264 1. Esta condição implica que, com todas as inovações igual a zero, o processo VAR converge para um Como o tempo passa. Veja Luumltkepohl 74 Capítulo 2 para uma discussão. Um modelo VMA é inversível se det (I n B 1 z B 2 z 2. B q z q) x2260 0 x00A0x00A0forx00A0x00A0 z x2264 1. Esta condição implica que a representação VAR pura do processo é estável. Para obter uma explicação de como converter entre modelos VAR e VMA, consulte Alterando Representações de Modelo. Veja o capítulo 11 de Luumltkepohl para uma discussão sobre os modelos VMA invertíveis. Um modelo VARMA é estável se sua parte VAR é estável. Da mesma forma, um modelo VARMA é inversível se sua parte VMA é invertible. Não existe uma noção bem definida de estabilidade ou de invertibilidade para modelos com entradas exógenas (por exemplo, modelos VARMAX). Uma entrada exógena pode desestabilizar um modelo. Construindo Modelos VAR Para entender um modelo de séries temporais múltiplas, ou vários dados de séries temporais, geralmente você executa as seguintes etapas: Importe e pré-processa dados. Especifique um modelo. Estruturas de Especificação sem Valores de Parâmetro para especificar um modelo quando você deseja que o MATLAB x00AE estime os parâmetros Estruturas de Especificação com Valores de Parâmetro Selecionados para especificar um modelo onde você conhece alguns parâmetros e deseja que o MATLAB estime os outros Determinando um Número Apropriado de Lags a determinar Um número adequado de defasagens para seu modelo Ajustar o modelo aos dados. Ajustando Modelos a Dados para usar o vgxvarx para estimar os parâmetros desconhecidos em seus modelos. Isso pode envolver: Modificação de Representações de Modelo para alterar seu modelo para um tipo que vgxvarx manipula Analisar e prever usando o modelo ajustado. Isto pode envolver: Examinando a estabilidade de um modelo ajustado para determinar se seu modelo é estável e invertible. Modelo VAR Previsão para prever diretamente a partir de modelos ou para prever usando uma simulação de Monte Carlo. Cálculo de respostas de impulso para calcular as respostas de impulso, que fornecem previsões baseadas numa alteração assumida numa entrada para uma série temporal. Compare os resultados das previsões de seus modelos com os dados disponíveis para a previsão. Para um exemplo, veja Estudo de Caso do Modelo VAR. Seu aplicativo não precisa envolver todas as etapas deste fluxo de trabalho. Por exemplo, você pode não ter quaisquer dados, mas sim simular um modelo parametrizado. Nesse caso, você executaria apenas as etapas 2 e 4 do fluxo de trabalho genérico. Você pode iterar através de algumas dessas etapas. Exemplos Relacionados Selecione seu PaísOs processos de erro de média móvel (erros 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 faltarem durante a simulação ou a 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 maneira: 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 do intervalo apropriado, 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 (Y1 Y2 Y3) 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 estimativa 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. Em primeiro lugar, 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 apenas 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 termos AR 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. The subsequent calls have the general form is the same as in the first call. specifies the list of equations to which the specifications in this AR call are to be applied. Only names specified in the endolist value of the first call for the name value can appear in the list of equations in eqlist . specifies the list of equations whose lagged structural residuals are to be included as regressors in the equations in eqlist . Only names in the endolist of the first call for the name value can appear in varlist . If not specified, varlist defaults to endolist . specifies the list of lags at which the AR terms are to be added. The coefficients of the terms at lags not listed are set to 0. All of the listed lags must be less than or equal to the value of nlag . and there must be no duplicates. If not specified, laglist defaults to all lags 1 through nlag . The MA Macro The SAS macro MA generates programming statements for PROC MODEL for moving-average models. The MA macro is part of SASETS software, and no special options are needed to use the macro. The moving-average error process can be applied to the structural equation errors. The syntax of the MA macro is the same as the AR macro except there is no TYPE argument. When you are using the MA and AR macros combined, the MA macro must follow the AR macro. The following SASIML statements produce an ARMA(1, (1 3)) error process and save it in the data set MADAT2. The following PROC MODEL statements are used to estimate the parameters of this model by using maximum likelihood error structure: The estimates of the parameters produced by this run are shown in Figure 18.61. Figure 18.61 Estimates from an ARMA(1, (1 3)) Process There are two cases of the syntax for the MA macro. When restrictions on a vector MA process are not needed, the syntax of the MA macro has the general form specifies a prefix for MA to use in constructing names of variables needed to define the MA process and is the default endolist . is the order of the MA process. specifies the equations to which the MA process is to be applied. If more than one name is given, CLS estimation is used for the vector process. specifies the lags at which the MA terms are to be added. All of the listed lags must be less than or equal to nlag . and there must be no duplicates. If not specified, the laglist defaults to all lags 1 through nlag . specifies the estimation method to implement. Valid values of M are CLS (conditional least squares estimates), ULS (unconditional least squares estimates), and ML (maximum likelihood estimates). MCLS is the default. Only MCLS is allowed when more than one equation is specified in the endolist . MA Macro Syntax for Restricted Vector Moving-Average An alternative use of MA is allowed to impose restrictions on a vector MA process by calling MA several times to specify different MA terms and lags for different equations. The first call has the general form specifies a prefix for MA to use in constructing names of variables needed to define the vector MA process. specifies the order of the MA process. specifies the list of equations to which the MA process is to be applied. specifies that MA is not to generate the MA process but is to wait for further information specified in later MA calls for the same name value. The subsequent calls have the general form is the same as in the first call. specifies the list of equations to which the specifications in this MA call are to be applied. specifies the list of equations whose lagged structural residuals are to be included as regressors in the equations in eqlist . specifies the list of lags at which the MA terms are to be added.

No comments:

Post a Comment