ANÁLISE DE SÉRIES TEMPORAIS ECONÔMICAS Prof. Henrique Dantas Neder – Universidade Federal de Uberlândia Processos Estocásticos Definição: Seja T um conjunto arbitrário. Um processo estocástico é uma família Z {Z (t ), t T }, tal que, para cada t T , Z (t ) é uma variável aleatória. Um processo estocástico é uma família de variáveis aleatórias. O processo estocástico Z {Z (t ), t T } Está completamente especificado se conhecermos as funções de distribuição F ( z1 ,...., zn ; t1 ,...., tn ) P Z (t1 ) z1 ,...., Z (tn ) zn para todo n 1 Processos estocásticos estacionários Um processo estocástico Z {Z (t ), t T } é estritamente estacionário se todas as funções de distribuições permanecem as mesmas no decorrer do tempo, ou seja, F ( z1 ,...., zn ; t1 ,...., tn ) F ( z1 ,...., zn ; t1 ,...., tn ) para quaisquer t1,...,tn, Processo estocástico estacionário Todas as distribuições univariadas são invariantes no tempo: µ(t)=µ,V(t)=σ2 para todo t T . Podemos também supor que µ=0 ou, de forma alternativa, considerar o processo {Z(t)-µ} Como (t1, t2 ) (t1 t, t2 t ) (t1 t2 ,0) ( ) Processo estocástico estacionário Logo, em um processo estritamente estacionário, (t1 , t2 ) é uma função de um único argumento, ou seja, o valor da covariância depende apenas da defasagem temporal. Processo estocástico fracamente estacionário Processo estacionário de 2a. ordem (ou em sentido amplo): 1) E{Z(t)}=µ(t)=µ, constante, para todo t Є T; 2) E{Z2(t)} < ∞; para todo t Є T; 3) (t1, t2 ) cov{Z (t1 ), Z (t2 )} ׀t1 –t2׀ é uma função de Autocorrelação É o coeficiente de correlação observações defasadas no tempo: n 1 r1 ( x x )( x t 1 t t 1 1 x2 ) n 1 (x x ) (x 2 t 1 t 1 t 1 x2 ) 2 entre Autocorrelação onde as médias amostrais são: n 1 x1 xt (n 1) i 1 n e x2 xt (n 1) i 2 Autocorrelação Costuma-se simplificar a expressão anterior da seguinte forma: n 1 r1 Já que (x t 1 t x )( xt 1 x ) n 1 (n 1) ( xt x ) 2 n x1 x2 t 1 e assumindo variância constante. Autocorrelação A expressão anterior pode ser generalizada para k períodos de tempo (defasagem): nk rk (x t 1 t x )( xt k x ) n 1 (x t 1 t x) 2 Séries aleatórias Se x1,x2,...,xn são i.i.d (independentes e identicamente distribuídas) então o coeficiente de autocorrelação amostral rk é assintoticamente normalmente distribuído com média e variância dados por: E(rk ) 1/ n e Var(rk ) 1/ n Processo ruído branco - Stata * simulação de um processo ruído branco e um passeio aleatório drawnorm ruido, n(500) seed(500) gene tempo = _n tsset tempo twoway (tsline ruido) wntestq ruido 0 -2 -4 ruido 2 4 Simulação de um processo ruído branco – todas as variáveis Xt tem distribuição normal com média µ=0 e σ=1 0 100 200 300 tempo 400 500 Processo Passeio Aleatório Stata set obs 500 gen int t = _n gen sumz = sum(invnorm(uniform())) tset t twoway (tsline sumz) O passeio aleatório é não estacionário. A sua especificação econométrica é: Yt=Yt-1+at, at~N(0,σ2) -5 -10 -15 sumz 0 5 Simulação de um processo passeio aleatório (“random walk”) 0 100 200 300 t 400 500 Processo Passeio Aleatório Stata Ou um passeio aleatório com tendência: Yt=β0+Yt-1+at, at~N(0,σ2) Se β0, então em média, Yt aumenta. A melhor previsão da série para t+1 é Yt+β0. No modelo anterior, passeio aleatório sem tendência, a melhor previsão da série t+1 é Yt. Processo Passeio Aleatório O modelo de passeio aleatório é uma caso especial do modelo AR(1) – auto-regressivo de primeira ordem: Yt=β1Yt-1+at, at~N(0,σ2) quando β1=1, o modelo AR é não estacionário e sua variância aumenta ao longo do tempo. Na equação Yt=Yt-1+at, at~N(0,σ2) Var(Yt) = Var(Yt-1)+Var(at) Para que Yt seja estacionário Var(Yt) = Var(Yt-1), mas para isto Var(at) = 0 Processo Passeio Aleatório Y0=0 , Y1=a1, Y2=a1+a2,Yt=a1+a2+...+at Var(Yt)=t.σ2 : a variância aumenta a medida que t aumenta. No caso de um modelo auto-regressivo de ordem p (AR(p)): Yt=β1Yt-1+β2Yt-2+...+βpYt-p+at, at~N(0,σ2) Para ser estacionário todas as raízes do polinômio 1-β1z-β1z2-...βpzp devem ser maiores do que 1 em valor absoluto. Testes de raiz unitária – Dickey-Fuller Consideremos o modelo AR(1): Zt = θ1Zt-1+at , at~N(0,σ2) ΔZt = θ’1Zt-1+at θ’1 = θ1-1 H0 {θ’1 = 0 HÁ {θ’1 < 0 Testes de raiz unitária – Dickey-Fuller aumentado Z t 0 Z t 1 1Z t 1 2 Z t 2 ... p Z t p ut H 0{ 0 (Zt tem uma tendencia estocastica) H A { 0 (Zt é estacionaria) •O número de defasagens p pode ser obtido utilizando os critérios AIC (Akaike) ou Schwarz que veremos adiante. • A estatística ADF não tem distribuição normal, mesmo para amostras grandes. Testes de raiz unitária – Dickey-Fuller aumentado use http://www.stata-press.com/data/r8/lutkepohl.dta tsset qtr twoway (tsline investment) dfuller investiment dfuller D.investment dfuller D.investment, lags(4) fitstat dfuller D.investment, lags(3) fitstat dfuller D.investment, lags(2) fitstat 600 400 200 Investment 800 1000 Evolução temporal da série investimento – antiga Alemanha Ocidental 1960q1 1965q1 1970q1 1975q1 qtr 1980q1 1985q1 Testes de raiz unitária – Dickey-Fuller aumentado Com a seguinte seqüência de comandos Stata, verifique a estacionariedade de um passeio aleatório: set obs 500 gen int t = _n gen sumz = sum(invnorm(uniform())) tset t dfuller sumz dfuller D.sumz twoway (tsline D.sumz) -4 -2 D.sumz 0 2 Evolução temporal da diferença de um passeio aleatório 0 100 200 300 t 400 500 Existem alguns problemas adicionais com relação a testes de raiz unitária: 1) Eles tem baixo poder para discriminar entre uma raiz unitária e um processo próximo de raiz unitária. 2) Eles podem usar um conjunto inapropriado de regressores determinísticos. 3) Para os testes deve ser considerada a possibilidade de quebra estrutural. Os testes ADF devem considerar o seguinte conjunto de equações: p yt yt 1 i yt i 1 t i 2 p yt a0 yt 1 i yt i 1 t i 2 p yt a0 yt 1 a2t i yt i 1 t i 2 Operadores para séries temporais Operador translação para o passado BZt=Zt-1 BmZt=Zt-m Operador diferença ΔZt=Zt-Zt-1=(1-B)Zt Δ = 1 – B Operador soma 2 SZt= Z t j Z t Z t 1 ... (1 B B ...) Z t j 0 (1 B ) Z t S= -1 Modelos ARMA (Box-Jenkins) ARMA(p,q) Z t 1Z t 1 ... p Z t p at 1at 1 ... p at p ou ( B) Zt ( B)Z t onde ( B ) 1 1 B 2 B ... p B 2 p ( B ) 1 1 B 2 B 2 ... p B p Modelos ARMA (Box-Jenkins) Filtro linear Ψ(B) Filtro linear at zt Zt=μ+at+ψ1at-1+ ψ2at-2+...=μ+ ψ(B) at Onde ψ(B)=1+ψ1B+ ψ2B2+... Modelo ARMA(1,1) Zt=0,8Zt-1+at-0,3at-1 Simulação no Stata: drawnorm a, n(50) seed(500) gene tempo = _n tsset tempo set matsize 800 gene z = 0 mkmat a z,matrix(Z) forvalues i = 2(1)50 { matrix Z[`i',2]=.8*Z[`i'-1,2]+Z[`i',1]-.3*Z[`i'-1,1] } svmat Z, name(serie) twoway (tsline serie2) Função de autocorrelação parcial Seja um modelo autorregressivo AR(k): Zt k1Zt 1 k 2 Zt 2 ... kk Zt k j k1 j 1 k 2 j 2 ... kk j k , j = 1,...,k Temos assim as equações de Yule-Walker: Equações de Yule-Walker 1 2 ... 1 2 ... 1 1 . . k 1 k 2 k 3 ... k 1 k1 1 k 2 k 2 2 1 ... kk ... k Função de autocorrelação parcial Resolvendo para k =1,2,3... 11 1 1 1 2 2 12 1 1 12 1 1 1 22 1 33 1 1 1 2 1 1 1 2 1 1 2 3 2 1 1 1 1 1 e em geral, kk *k k Onde Pk é a matriz de autocorrelações e Pk* é a matriz Pk com a última coluna substituída pelo vetor de autocorrelações (ver Morettin, 2004). Modelos ARMA 1. 2. 3. Um processo AR(p) tem fac que decai de acordo com exponenciais e/ou senoides amortecidas, infinita em extensão; Um processo MA(q) tem fac finita, com um corte após o lag q; Um processo ARMA(p,q) tem fac infinita em extensão, que decai de acordo com exponenciais e/ou senoides amortecidas após o lag q-p Modelos ARMA 1. 2. 3. Um processo AR(p) tem facp Økk≠0, para k≤p e Økk=0, para k >p; Um processo MA(q) tem facp que se comporta de maneira similar à fac de um processo AR(p); Um processo ARMA(p,q) tem facp que se comporta como a facp de um processo MA puro (ver Morettin, 2004) Modelos ARMA Vamos simular no Stata diversos processos ARMA e verificar a sua fac e fapc. Para isto baixe o arquivo dofile: http://www.ecn26.ie.ufu.br/TEXTOS_ESTATISTICA/SIMULACAO%20ARMA.do Modelos ARMA Processo MA(1) 1 -2 -1 -4 0 50 100 tempo 150 200 -4 -2 0 2 4 Processo ARMA(1) serie4 0 serie3 0 -2 serie2 2 2 4 3 Processo AR(1) 0 50 100 tempo 150 200 0 50 100 tempo 150 200 Correlograma processo AR(1) Correlograma processo MA(1) Correlograma processo ARMA(1,1) Identificação de modelos ARMA ARIMA(1,0,0) ARIMA(0,0,1) ρk decai exponencialmente Somente Ø11≠0 Somente ρ1 ≠0 Økk decai exponencialmente ARMA(2,0,0) ARMA(0,0,2) ρ k – mistura de exponenciais ou senoides amortecidas Ø11≠0 e Ø22≠0 ρ1 ≠0 e ρ2 ≠0 Økk – mistura de exponenciais ou senoides amortecidas ARMA(1,0,1) ρ k decai exponencialmente após o lag 1 Økk decai exponencialmente após o lag 1 Outras alternativas de identificação de modelos ARMA Critério de informação de Akaike: AIC(k, l ) N ln ˆ k2,l 2(k l 2) onde: ˆ k2,l é a estimativa de máxima verossimilhança da variância dos resíduos do modelo ARMA(k,l) ajustado às N observações da série. Outras alternativas de identificação de modelos ARMA Critério de informação Bayesiano BIC (k , l ) ln ˆ 2 k ,l ln N (k l ) N onde: ˆ k2,l é a estimativa de máxima verossimilhança da variância dos resíduos do modelo ajustado às N observações da série. ARMA(k,l) Aplicação dos critérios AIC e BIC através do Stata- aplicados a série gdp diferenciada(produto interno bruto) dos EUA – Exemplo Gujarati Aplicação dos critérios AIC e BIC através do Stata Aplicação dos critérios AIC e BIC através do Stata Modelo AIC SIC -2log likelihood No. de parâmetros AR(1 8 9 12) MA(1 2 8 12) 853.78007 875.97324 835.78007 9 ARMA(1,1) 865.28999 872.68771 859.28999 3 ARMA(2,1) 866.95925 876.82288 858.95925 3 ARMA(1,2) 867.10988 876.97351 859.10988 4 Verificação da adequação do modelo diagnóstico Para verificar a adequação do modelo aos dados, um dos procedimentos utilizados é verificar se os resíduos são auto-correlacionados. Os resíduos do modelo podem ser obtidos através do comando predict: arima d.gdp, ar(1) ma(1) predict residuo, residuals corrgram residuo ac residuo -0.40 -0.20 0.00 0.20 0.40 Verificação da adequação do modelo diagnóstico 0 10 20 Lag 30 40 Bartlett's formula for MA(q) 95% confidence bands Aparentemente, os resíduos do modelo ARMA(1,1) não são auto-correlacionados (com exceção do lag 8, as correlações dos resíduos defasados não são significativas). Introdução a Análise VAR – Vector Autoregressive Regression Considere o sistema bi-variado simples: yt b10 b12 zt 11 yt 1 12 zt 1 yt zt b20 b21 yt 21 yt 1 22 zt 1 zt Assume-se que: 1) yt e zt são séries estacionárias 2) εyt e εzt são erros aleatórios ruído branco com desvios-padroes σy e σz respectivamente. 3) εyt e εzt são séries não auto-correlacionadas b12 é o efeito contemporâneo de uma mudança unitária de zt em y. Podemos colocar este sistema na forma matricial: 1 b21 ou b12 yt b10 11 12 yt 1 yt 1 zt b20 21 22 zt 1 zt Bxt 0 1 xt 1 t ou xt A0 A1 xt 1 et onde : yt xt , A 0 B 1 0 , A1 B 11 , et B 1 t zt A Função de Impulso-Resposta Considere um modelo VAR bi-variado: yt 1 yt 1 t onde: y1,t y t y2,t 1,t t 2,t 1,1 1,2 1 2,1 2,2 Considere os efeitos dos choques correntes e passados na serie yt. Por exemplo, um choque unitário ε1,t tem um efeito de aumentar y1,t em uma unidade e ε2,t tem um efeito similar sobre y2,t. Mas examinemos os efeitos de outros choques e choques passados. Fazendo repetidas substituições para trás: yt 1t y0 1t 11 ... 12 t 2 1 t 1 t y1,t 1,1 1,2 1,t 1 t t 1 2 1 y0 1 1 ... 1 t 2 t 2,1 2,2 2,t 1 y2,t 1,11,t 1 1,2 2,t 1 t t 1 2 1 y0 1 1 ... 1 t 2 t 2,11,t 1 2,2 2,t 1 Isto torna claro que o efeito de uma unidade no choque ε1,t-1 sobre y1,t é Φ1,1 e que o mesmo choque tem um efeito de Φ2,1 sobre y2,t. O impulso-resposta de segunda ordem é obtido por: 2 1,11,2 1,22,2 1 1,22,1 2 1 2 2,11,2 2,2 2,11,1 2,22,1 2 y1,t 1,11,2 1,22,2 1,t 2 1 1,22,1 t t 1 1 y0 1 1 ... 2 2,11,2 2,2 2,t 2 y2,t 2,11,1 2,22,1 1 t 1 t Generalizando: o efeito de uma unidade do choque ε1,t-h sobre y1,t é dado pelo elemento superior esquerdo da matriz Φ1h. Em geral, o efeito sobre yi,t de uma unidade de choque εj,t-h é dado pelo elemento (i,j) da matriz Φ1h. Para as aplicações a seguir iremos utilizar o arquivo de dados Stata obtido através do comando: use http://www.ecn26.ie.ufu.br/DADOS/money.dta Este comando irá carregar através da web o arquivo de dados para o Stata. Para obter um modelo VAR o primeiro passo a ser executado é a obtenção de seu número de lags. Isto é conseguido através do comando varsoc: set matsize 800 varsoc y m inf, maxlag(7) Determinação do número de lags de um modelo VAR irrestrito Pelo resultado anterior, de acordo com os critérios de AKAIKE (AIC), Final Predction Error (FPE) e Likelihood Ratio Test (LR) a melhor estrutura de lags corresponde ao modelo de 4 lags. Rodamos então o modelo VAR com 4 lags através do comando: var y m inf, lags(1/4) O resultado em si das estimativas MQO do modelo não tem valor analítico para o tipo de análise que iremos fazer a seguir. Portanto, para suprimir a saída das estimativas do modelo, iremos executar o comando: quietly var y m inf, lags(1/4) Teste de normalidade dos resíduos para modelo VAR Pelos resultados do teste Jarque-Bera, os resíduos para as equações das variáveis y e m são normais ao passo que para a equação da variável inf é rejeitada a hipótese nula de normalidade dos resíduos. É importante também verificar a condição de não autocorrelação dos resíduos do modelo. Utiliza-se para isto o comando: varlmar Pelos resultados da saída Stata a seguir, os resíduos do modelo apresentam auto-correlação de primeira ordem, mas não apresentam auto-correlação de segunda ordem. Teste de auto-correlação dos resíduos do modelo VAR Para realizar a análise das funções impulso-resposta e decomposição de variância no Stata temos uma seqüência de comandos: irf set “arquivo1” irf create modelo1 irf table irf fevd Com estes comandos especificamos a saída para as funções impulso-resposta e decomposição de variância, mostradas a seguir. Funções impulso-resposta e decomposição de variância para modelo VAR Decomposição de variância • Diferentemente da análise de impulso-resposta, na decomposição de variância estamos interessados em avaliar a importância relativa (percentual) sobre os erros de previsão para uma determinada variável. • Na análise de impulso-resposta podemos verificar o sentido dos efeitos de cada variável (impulso) sobre as outras variáveis (resposta). O efeito neste caso pode ser positivo ou negativo. • No caso da decomposição de variância esta noção de sentido dos efeitos já não existe, mas apenas o valor relativo dos efeitos de cada variável sobre o erro de previsão de uma determinada variável. Funções Impulso-Resposta para Modelo VAR modelo1, inf, inf modelo1, inf, m modelo1, inf, y modelo1, m, inf modelo1, m, m modelo1, m, y modelo1, y, inf modelo1, y, m modelo1, y, y 1 .5 0 -.5 1 .5 0 -.5 1 .5 0 -.5 0 2 4 6 8 0 2 4 6 8 0 2 4 step 95% CI impulse response function (irf) Graphs by irfname, impulse variable, and response variable 6 8 • Nos gráficos da primeira coluna do slide anterior vemos as respostas das três variáveis sobre a inflação. No primeiro gráfico desta coluna vemos o efeito resposta de uma variação unitária do choque exógeno na equação da inflação sobre a própria inflação quando transmitido através dos seus efeitos multiplicadores pelo conjunto do sistema. Ele mostra que a inflação tem efeitos sobre seus próprios valores futuros até o terceiro ou quarto lags. • Observando a segunda linha de gráficos verifica-se que a oferta monetária não produz efeito futuro sobre as variáveis inflação (inf) e Produto Interno Bruto (y). Ela apresenta um impacto significativo sobre a própria oferta monetária até o segundo lag. • Isto sugere que há uma fraca relação dinâmica entre as variáveis do modelo. Um comando apropriado para o Stata para gráficos de decomposição de variância é: irf graph fevd, irf(modelo1) Isto também pode ser obtido através do menu: Statistics => Multivariate time series => IRF & FEDV Analysis => Graphs by Impulse or response (e especifique em Statistics to graph: fevd) Decomposição de variância para Modelo VAR modelo1, inf, inf modelo1, inf, m modelo1, inf, y modelo1, m, inf modelo1, m, m modelo1, m, y modelo1, y, inf modelo1, y, m modelo1, y, y 1 .5 0 1 .5 0 1 .5 0 0 2 4 6 8 0 2 4 6 8 0 2 4 step 95% CI fraction of mse due to impulse Graphs by irfname, impulse variable, and response variable 6 8