• Nenhum resultado encontrado

Esta subse¸c˜ao trata de um passo crucial na abordagem de Box & Jenkins: a deter- mina¸c˜ao da existˆencia e da quantidade total de ra´ızes unit´arias no polinˆomio autorre- gressivo n˜ao-sazonal e sazonal do modelo. De posse desses resultados, obtemos uma s´erie estacion´aria a partir da diferencia¸c˜ao da s´erie original. Assim, poderemos identificar a ordem dos parˆametros (p, q, d) atrav´es da F AC e F ACP , pois isso deve ser feito atrav´es de s´eries estacion´arias de segunda ordem.

A fun¸c˜ao ur test executa o teste Augmented Dickey Fuller (ADF - [12]). Ela foi constru´ıda em cima da fun¸c˜ao ur.df do pacote urca [15], que ´e instalado juntamente

4.2 Identifica¸c˜ao 56

com o BETS. A vantagem da ur test ´e a sa´ıda, desenhada para que o usu´ario visualize rapidamente o resultado do teste e tenha todas as informa¸c˜oes de que realmente necessita. Trata-se de um objeto com dois campos: uma tabela mostrando as estat´ısticas de teste, os valores cr´ıticos e se a hip´otese nula ´e rejeitada ou n˜ao, e um vetor contendo os res´ıduos da equa¸c˜ao do teste. Esta equa¸c˜ao ´e mostrada abaixo.

∆yt = φ + τ1t + τ2yt−1+ δ1∆yt−1+ · · · + δp−1∆yt−p+1+ εt. (4.1)

As estat´ısticas de teste da tabela do objeto de sa´ıda se referem aos coeficientes φ (m´edia ou drift), τ1 (tendˆencia determin´ıstica) e τ2 (raiz unit´aria). A inclus˜ao da m´edia

e da tendˆencia determin´ıstica ´e opcional. Para controlar os parˆametros do teste, a ur test aceita os mesmos parˆametros da ur.df, al´em do n´ıvel de significˆancia desejado.

d f = BETS : : ur t e s t ( y = d i f f(d a t a) , t y p e = ” d r i f t ”, l a g s = 1 1 , s e l e c t l a g s = ”BIC”, l e v e l = ” 1 p c t ”)

d f $r e s u l t s

Algoritmo 4.6: Utilizando a fun¸c˜ao urtest

statistic crit.val rej.H0 tau2 -3.565171 -3.46 yes phi1 6.363551 6.52 yes

Tabela 3: Tabela resultante do teste ADF, com 11 lags no teste adf

Abaixo a fun¸c˜ao corrgram ´e utilizada para verificar a FAC dos res´ıduos da s´erie dife- renciada, com intervalo de confian¸ca de 99%.

A fun¸c˜ao do BETS espec´ıfica para desenhar correlogramas ´e a corrgram. Diferen- temente de sua principal alternativa, a Acf do pacote forecast, a corrgram retorna uma gr´afico atraente e oferece a op¸c˜ao de calcular os intervalos de confian¸ca. Sua maior van- tagem, contudo, n˜ao pˆode ser exibida aqui, pois depende de recursos interativos.

BETS : : c o r r g r a m (d i f f(d a t a) , c i = 0 . 9 9 , s t y l e=” normal ”, l a g .max = 1 4 )

Perceba que o valor cr´ıtico est´a muito pr´oximo da estat´ıstica em τ2. Tal resultado

pode nos levar a uma situa¸c˜ao limite em rela¸c˜ao a considerar ou n˜ao uma caracter´ıstica importante dos dados. Claramente a s´erie possui raiz unit´aria. Logo, alteramos a quanti- dade de lags para 13 e percebemos que h´a uma mudan¸ca, n˜ao rejeitamos a hip´otese nula de que o modelo possui raiz unit´aria.

d f = BETS : : ur t e s t ( y = d i f f(d a t a) , t y p e = ” d r i f t ”, l a g s = 1 3 , s e l e c t l a g s = ”BIC”, l e v e l = ” 1 p c t ”)

4.2 Identifica¸c˜ao 57

Figura 16: FAC dos dados com 11 lags no teste ADF.

d f $r e s u l t s

Os resultados est˜ao na Tabela 4:

statistic crit.val rej.H0 tau2 -2.743174 -3.46 no phi1 3.772285 6.52 yes

4.2 Identifica¸c˜ao 58

Utilizando a fun¸c˜ao corrgram para verificar a FAC dos res´ıduos da s´erie diferenciada, com intervalo de confian¸ca de 99%.

BETS : : c o r r g r a m (d f $ r e s i d u a l s , c i = 0 . 9 9 , s t y l e=” normal ”, l a g .max = 2 4 )

Figura 17: FAC dos res´ıduos com 13 lags no teste adf

Portanto analisa-se a possibilidade de rejeitar a hipot´ese nula de existˆencia de uma raiz unit´aria ao n´ıvel de confian¸ca de 99%, pois a estat´ıstica de teste ´e menor do que o valor cr´ıtico. A FAC dos res´ıduos da equa¸c˜ao do teste evidencia que ele ainda n˜ao foi bem especificado, pois a autocorrela¸c˜ao ´e significativa at´e a d´ecima primeira defasagem.

Um outro pacote bastante ´util que ´e instalado com o BETS ´e o forecast [16]. A fun¸c˜ao que ser´a usada deste pacote ´e a nsdiffs, que serve para realizar o teste de Osborn-Chui- Smith-Birchenhall [13] e identificar ra´ızes unit´arias na frequˆencia sazonal (em nosso caso, mensal).

As conclus˜oes anteriores s˜ao corroboradas pela fun¸c˜ao de autocorrela¸c˜ao da s´erie em primeira diferen¸ca (figura 16). Ela mostra que autocorrela¸c˜oes estatisticamente significa- tivas, isto ´e, fora do intervalo de confian¸ca, n˜ao s˜ao persistentes para defasagens m´ultiplas de 12 e no entorno destas, indicando a ausˆencia da raiz unit´aria sazonal.

Utilizando novamente a fun¸c˜ao corrgram, nesse caso com o parˆametro style definido como ’plotly’, o gr´afico torna-se interativo e mostra todos os valores de interesse (autocor-

4.2 Identifica¸c˜ao 59

rela¸c˜oes, defasagens e intervalos de confian¸ca) com a passagem do mouse, al´em de oferecer op¸c˜oes de zoom e salvar o gr´afico no formato png.

O correlograma da Figura 17 ainda n˜ao ´e suficiente para determinamos um modelo para a s´erie. ´E necess´ario efetuar, ent˜ao, o gr´afico da fun¸c˜ao de autocorrela¸c˜ao parcial (FACP) de ∆Zt. A corrgram tamb´em pode ser utilizada para este fim.

BETS : : c o r r g r a m (d i f f(d a t a) , l a g .max = 3 6 , t y p e = ” p a r t i a l ”, s t y l e=” normal ”)

Algoritmo 4.7: Correlograma da diferencia¸c˜ao dos dados originais.

O Algoritmo 4.7 resulta na Figura 18.

4.3 Estima¸c˜ao 60

A FAC da Figura 16 e a FACP da Figura 18 podem ter sido geradas por um processo SARIMA(3,2,2) (1,1,1). Esta conjectura se baseia na observa¸c˜ao de que as defasagens m´ultiplas de 12 parecem apresentar corte brusco na FACP a partir da segunda (isto ´e, a de n´umero 24) e decaimento exponencial na FAC. Al´em disso, as duas primeiras defasagens da FAC parecem significativas. Por estas raz˜oes, o primeiro modelo proposto para Zt ser´a

um SARIM A(3, 2, 2)(1, 1, 1)12. A equa¸c˜ao do modelo segue a baixo:

(1 − φ1B − φ2B2− φ3B3)(1 − Φ1B12)∆2∆12Zt = (1 − θ1B + θ2B2)(1 − Θ1B12)et.

4.3

Estima¸c˜ao

Para estimar os coeficientes do modelo SARIM A(3, 2, 2)(1, 1, 1)12, ser´a aplicada a

fun¸c˜ao Arima do pacote forecast. Os testes t ser˜ao feitos atrav´es da fun¸c˜ao t test do BETS, que recebe um objeto do tipo arima ou Arima, o n´umero de vari´aveis ex´ogenas do modelo e o n´ıvel de significˆancia desejado. Ela retorna um data.frame contendo as informa¸c˜oes do teste e do modelo (coeficientes estimados, erros padr˜ao, estat´ısticas de teste, valores cr´ıticos e resultados dos testes).

# Es timacao dos p a r a m e t r o s do modelo

modelo = Arima (data,o r d e r= c( 3 , 2 , 2 ) , s e a s o n a l = c( 1 , 1 , 1 ) ) S e r i e s : d a t a

ARIMA( 3 , 2 , 2 ) ( 1 , 1 , 1 ) [ 1 2 ] C o e f f i c i e n t s :

a r 1 a r 2 a r 3 ma1 ma2 sma1 −1.5022 −1.3937 −0.3404 1 . 1 9 0 1 0 . 9 9 9 9 −0.8152 s . e . 0 . 0 7 7 5 0 . 0 8 8 4 0 . 0 7 6 4 0 . 0 2 6 2 0 . 0 2 6 4 0 . 0 6 7 8 sigma ˆ2 e s t i m a t e d a s 7 . 4 1 : l o g l i k e l i h o o d = −451.77

AIC=917.55 AICc =918.18 BIC=940.05

Utilizando novamente a fun¸c˜ao t test para verificar quais parˆametros s˜ao estatistica- mente significativos para o modelo, temos:

# T e s t e t com o s c o e f i c i e n t e s e s t i m a d o s # N i v e l de s i g n i f i c a n c i a de 1%

4.4 Testes de Diagn´ostico 61 C o e f f s Std . E r r o r s t C r i t . V a l u e s Rej . H0 a r 1 −0.5923042 0 . 1 9 1 3 0 4 8 4 3 . 0 9 6 1 2 7 2 . 6 0 2 3 7 6 TRUE a r 2 −0.1927980 0 . 1 2 5 7 5 7 9 1 1 . 5 3 3 0 8 9 2 . 6 0 2 3 7 6 FALSE a r 3 0 . 2 5 5 1 9 9 5 0 . 0 9 1 5 1 1 1 8 2 . 7 8 8 7 2 5 2 . 6 0 2 3 7 6 TRUE ma1 −0.7913874 0 . 1 9 4 2 8 7 8 8 4 . 0 7 3 2 7 2 2 . 6 0 2 3 7 6 TRUE ma2 −0.2082854 0 . 1 9 2 7 5 4 5 4 1 . 0 8 0 5 7 3 2 . 6 0 2 3 7 6 FALSE s a r 1 0 . 1 3 9 7 7 1 0 0 . 1 0 7 4 7 7 9 3 1 . 3 0 0 4 6 2 2 . 6 0 2 3 7 6 FALSE sma1 −0.8954013 0 . 1 1 0 6 2 2 2 6 8 . 0 9 4 2 2 4 2 . 6 0 2 3 7 6 TRUE

Conclu´ımos pela coluna Rej.H0 que h´a trˆes coeficientes do modelo com resultados que nos leva a desconsider´a-los do modelo, quando estimados por m´axima verossimilhan¸ca. Apesar de vari´avel ar2 n˜ao ser estatisticamente significante, n˜ao ´e sens´ıvel retir´a-la do modelo, pois estariamos adicionando um ’buraco’ no modelo.

Logo redefinimos o modelo da seguinte forma:

modelo = Arima (data,o r d e r= c( 3 , 1 , 2 ) , s e a s o n a l = c( 0 , 1 , 1 ) )

E aplicando o procedimento anterior, para verificar a significˆancia dos parˆametros, temos: BETS : :t t e s t ( modelo , a l p h a = 0 . 0 1 ) C o e f f s Std . E r r o r s t C r i t . V a l u e s Rej . H0 a r 1 −1.5022024 0 . 0 7 7 5 4 5 1 8 1 9 . 3 7 1 9 6 3 2 . 6 0 2 0 9 2 TRUE a r 2 −1.3937083 0 . 0 8 8 3 9 6 2 0 1 5 . 7 6 6 6 0 9 2 . 6 0 2 0 9 2 TRUE a r 3 −0.3404126 0 . 0 7 6 4 4 9 0 9 4 . 4 5 2 8 0 2 2 . 6 0 2 0 9 2 TRUE ma1 1 . 1 9 0 1 3 1 0 0 . 0 2 6 2 4 8 7 8 4 5 . 3 4 0 4 3 6 2 . 6 0 2 0 9 2 TRUE ma2 0 . 9 9 9 9 1 9 8 0 . 0 2 6 3 8 4 6 6 3 7 . 8 9 7 7 6 9 2 . 6 0 2 0 9 2 TRUE sma1 −0.8151707 0 . 0 6 7 8 2 5 4 5 1 2 . 0 1 8 6 5 5 2 . 6 0 2 0 9 2 TRUE

Finalizamos com a seguinte equa¸c˜ao do modelo:

(1 − φ1B − φ2B2− φ3B3)∆∆12Xt= (1 − θ1B + θ2B2)(1 − Θ1B12)et.

4.4

Testes de Diagn´ostico

O objetivo dos testes de diagn´ostico ´e verificar se o modelo escolhido ´e adequado. Neste trabalho, duas conhecidas ferramentas ser˜ao empregadas: a an´alise dos res´ıduos

4.4 Testes de Diagn´ostico 62

padronizados e o teste de Llung-Box [17].

O gr´afico dos res´ıduos padronizados (Figura 19) ser´a feito com o aux´ılio da fun¸c˜ao std resid, que foi implementada especificamente para isso.

Podemos identificar o valor discrepante com o seguinte c´odigo baseados nos res´ıduos:

x = ( modelo$ r e s i d u a l s − mean( modelo$ r e s i d u a l s) )/ sd( modelo$ r e s i d u a l s)

round( x )

Jan Feb Mar Apr May Jun J u l Aug Sep Oct Nov Dec 2002 0 0 0 0 0 0 0 0 0 0 0 0 2003 0 1 −1 −1 1 1 0 0 2 0 0 0 2004 1 0 2 −1 0 0 0 0 −1 −2 1 1 2005 −1 −2 0 1 0 1 −2 1 −2 −1 0 2 2006 0 0 0 −2 2 0 0 0 −1 0 0 0 2007 1 0 1 −1 1 0 0 0 −1 1 −1 0 2008 1 1 −2 1 −1 2 0 −1 0 −1 −3 −5 2009 −1 1 2 0 1 1 1 0 1 1 1 2 2010 0 0 1 0 −1 −1 0 0 0 −1 1 0 2011 0 2 −1 −1 0 0 0 0 −1 −1 0 1 2012 −1 0 0 −1 0 0 1 1 −1 1 −1 −1 2013 1 −1 0 2 0 −1 −1 1 0 0 −1 −2 2014 1 2 −1 −1 0 −1 1 0 1 −1 −1 −2 2015 0 0 1 −1 0 1 0 0 −1 0 −1 −1 2016 0 1 0 1 −1 2 −1 1 0 −1 0 0 2017 1 0 1 −2 2 1 1 0 0 0 ´

E poss´ıvel, ent˜ao, visualiazar o valor −5 em dezembro de 2008.

par( mar = c( 5 . 1 , 4 . 1 , 0 . 5 , 2 . 1 ) )

# G r a f i c o dos r e s i d u o s p a d r o n i z a d o s

r e s i d s = BETS : : s t d r e s i d( model1 , a l p h a = 0 . 0 1 )

# E v i d e n c i a r o u t l i e r

p o i n t s( 2 0 0 8 + 11/1 2 , r e s i d s [ 8 4 ] , c o l = ” r e d ”)

Observamos que h´a um outlier proeminente e estatisticamente significativo em no- vembro de 2008 (Figura 19). Este ponto corresponde `a data da quebra estrutural que identificamos na Figura 14. Portanto, podemos atribuir ao modelo uma dummy definida

4.4 Testes de Diagn´ostico 63

Figura 19: Gr´afico dos res´ıduos padronizados

como se segue: Dt=    1, dezembro de 2008 = t

0, t < caso contr´ario

(4.2)

Esta dummy pode ser criada com a fun¸c˜ao dummy, como mostramos abaixo. Os parˆametros start e end indicam o in´ıcio e o fim do per´ıodo coberto pela dummy, que nada mais ´e que uma s´erie temporal cujos valores podem ser apenas 0 ou 1. Os campos from e to indicam o intervalo em que a dummy deve assumir valor 1.

dummy <− BETS : :dummy(s t a r t = c( 2 0 0 2 , 0 1 ) ,end = c( 2 0 1 8 , 0 4 ) , month =12 , y e a r = 2008 ,f r e q u e n c y = 1 2 )

Jan Feb Mar Apr May Jun J u l Aug Sep Oct Nov Dec 2002 0 0 0 0 0 0 0 0 0 0 0 0 2003 0 0 0 0 0 0 0 0 0 0 0 0 2004 0 0 0 0 0 0 0 0 0 0 0 0 2005 0 0 0 0 0 0 0 0 0 0 0 0 2006 0 0 0 0 0 0 0 0 0 0 0 0 2007 0 0 0 0 0 0 0 0 0 0 0 0 2008 0 0 0 0 0 0 0 0 0 0 0 1 2009 0 0 0 0 0 0 0 0 0 0 0 0

4.4 Testes de Diagn´ostico 64 2010 0 0 0 0 0 0 0 0 0 0 0 0 2011 0 0 0 0 0 0 0 0 0 0 0 0 2012 0 0 0 0 0 0 0 0 0 0 0 0 2013 0 0 0 0 0 0 0 0 0 0 0 0 2014 0 0 0 0 0 0 0 0 0 0 0 0 2015 0 0 0 0 0 0 0 0 0 0 0 0 2016 0 0 0 0 0 0 0 0 0 0 0 0 2017 0 0 0 0 0 0 0 0 0 0 0 0 2018 0 0 0 0

O gr´afico dos res´ıduos padronizados dos valores ajustados pelo novo modelo (Figura 20) tamb´em mostra que a inclus˜ao de Dtfoi adequada, uma vez que n˜ao h´a mais evidˆencia

de quebra estrutural.

l i b r a r y( f o r e c a s t )

par( mar = c( 5 . 1 , 4 . 1 , 0 . 5 , 2 . 1 ) )

# Es timacao dos p a r a m e t r o s do modelo com a dummy

modelo2 = Arima (data, o r d e r = c( 3 , 1 , 2 ) , s e a s o n a l = c( 0 , 1 , 1 ) , x r e g =

dummy)

Ficamos com a seguinte equa¸c˜ao do modelo:

# c r i a n d o o g r a f i c o dos r e s i d u o s p a d r o n i z a d o s

r e s i d s = BETS : : s t d r e s i d( modelo2 , a l p h a = 0 . 0 1 )

p o i n t s( 2 0 0 8 + 11/1 2 , r e s i d s [ 8 4 ] , c o l = ” r e d ”)

4.4 Testes de Diagn´ostico 65

O teste de Ljung-Box para o modelo escolhido pode ser executado atrav´es da fun¸c˜ao Box.test do pacote stats. Para confirmar os resultados dos testes, fazemos os correlogramas dos res´ıduos e vemos se h´a algum padr˜ao de autocorrela¸c˜ao.

boxt = Box . t e s t (r e s i d( modelo2 ) , t y p e = ” Ljung−Box”, l a g = 1 1 ) Box−Ljung t e s t

d a t a: r e s i d( modelo2 )

X−s q u a r e d = 3 . 0 4 9 2 , d f = 1 1 , p−v a l u e = 0 . 9 9 0 1

O p-valor de 0.9901 indica que h´a uma grande probabilidade de a hip´otese nula (de que n˜ao h´a autocorrela¸c˜ao nos res´ıduos) n˜ao seja rejeitada. Parece ser o caso, como mostra a Figura 21. Conclu´ımos, ent˜ao, que o modelo foi bem especificado.

4.5 Previs˜oes 66

4.5

Previs˜oes

Uma forma de previs˜ao muito comum para dados econˆomicos consiste em fazer a previs˜ao um passo de cada vez, adicionando a informa¸c˜ao a cada novo passo. Para isso, foi constru´ıda para esse estudo de caso uma simples fun¸c˜ao que auxilia esse m´etodo e retorna um gr´afico com a previs˜ao n passos a frente, os dados reais e a previs˜ao mˆes a mˆes. p r e v i s a o mm<− f u n c t i o n( h , dados ,o r d e r , s e a s o n a l , lambda ) { #d e f i n i c o e s p r e m i l i m i n a r e s p r e v i s o e s = c( ) n <− l e n g t h( dados ) i = h # e s s e f o r e x e c u t a a p r e v i s a o mes a mes f o r( i i n h : 1 ) {

y <− t s( dados [ 1 : ( n−i ) ] ,s t a r t=s t a r t( dados ) , f r e q =12)

y dummy <− t s(dummy[ 1 : ( n−i ) ] ,s t a r t=s t a r t( dados ) , f r e q =12)

y dummy p r e v = t a i l (t s(dummy[ 1 : ( n−i +1) ] ,s t a r t=s t a r t( dados ) , f r e q =12) , 1 )

# p a r a a p r e v i s o , p r e c i s a m o s r e e s t i m a r o modelo , n e s s e c a s o , # m s a m s .

aux2 <− Arima ( y ,o r d e r = o r d e r , s e a s o n a l = s e a s o n a l , lambda = lambda , x r e g= y dummy)

p r e v i s o e s [ i ] <− f o r e c a s t ( aux2 , h=1 , x r e g = y dummy p r e v)$mean

}

# d a q u i p a r a f r e n t e , temos a p r e v i s a o p a r a o s meses de um v e z s o!

p r e v i s o e s = t s( p r e v i s o e s [ h : 1 ] ,end = end( dados ) , f r e q = 1 2 ) y <− t s( dados [ 1 : ( n−h ) ] ,s t a r t=s t a r t( dados ) , f r e q =12)

y dummy2 = t s(dummy[ 1 : ( n−h ) ] ,s t a r t=s t a r t( dados ) , f r e q =12)

# p a r a a p r e v i s o , p r e c i s a m o s r e e s t i m a r o modelo

aux1 <− Arima ( y ,o r d e r = o r d e r , s e a s o n a l = s e a s o n a l , lambda = lambda , x r e g= y dummy2)

y dummy p r e v 2 <− t s(dummy[ ( n−h+1) : n ] ,end=end( dados ) , f r e q =12) p r e v i s a o 2 <− f o r e c a s t ( aux1 , h=h , x r e g = y dummy p r e v 2 )$mean

##comparando a s p r e v i s o e s j u n t o com o s dados o r i g i n a i s

t s.p l o t( p r e v i s o e s , p r e v i s a o 2 ,c o l=c( 1 , 4 ) , l t y = c( 1 , 2 ) )

4.5 Previs˜oes 67

l e g e n d(” t o p l e f t ”,l e g e n d = c(” Dados ”,” p r e v . mes a mes”, ” p r e v i s a o normal ”) , l t y = c( 1 , 2 , 3 ) ,c o l = c( 1 , 2 , 4 ) , bty=”n”)

r e t u r n(l i s t( p r e v 1 = p r e v i s o e s , p r e v 2 = p r e v i s a o 2 ) ) }

Utilizando a fun¸c˜ao de previs˜ao personalizada, passando os argumentos que corres- pondem ao modelo encontrando anteriormente.

o r d e r = c( 2 , 1 , 2 ) s e a s o n a l = c( 0 , 1 , 1 ) h=9

p r e v <− p r e v i s a o mm( h=h , dados=data,o r d e r=o r d e r, s e a s o n a l = s e a s o n a l , lambda = 0 )

Figura 22: Gr´afico das previs˜oes geradas pela fun¸c˜ao criada

Pela Figura 22, podemos ver que a previs˜ao mˆes a mˆes ´e um pouco melhor, pois consegue captar a tendˆencia e acerta bem para alguns meses. J´a a previs˜ao para os meses de janeiro a outubro de 2017, ou seja, com h = 9 consegue captar melhor o comportamento da s´erie.

4.5.1

O uso da BETS.report para a modelagem SARIMA

A fun¸c˜ao report executa toda a modelagem Box & Jenkins para qualquer s´erie presente no banco de dados do BETS e gera um relat´orio com os resultados. Ela aceita trˆes parˆametros, descritos na Tabela 5, abaixo.

Se utilizarmos a modelagem SARIMA, a lista ,params dever´a ser composta dos se- guintes campos:

4.5 Previs˜oes 68

Nome Tipo Descri¸c˜ao

ts integer C´odigo da s´erie no banco de dados do BETS.

mode character Tipo da modelagem a ser efetuada. Atualmente, pode ser SARIMA ou GRNN

parameters list Parˆametros do relat´orio

type character Modo de exibi¸c˜ao. Por enquanto, apenas o valor default, ’educational’, ´e v´alido. Significa que co- ment´arios did´aticos acompanhar˜ao os gr´aficos e tre- chos de c´odigo.

Tabela 5: Parˆametros da fun¸c˜ao report

Nome Tipo Descri¸c˜ao

lag.max integer Defasagem m´axima dos correlogramas n.ahead integer N´umeros de passos `a frente nas previs˜oes

Tabela 6: Campos da lista params da fun¸c˜ao report caso a an´alise seja do tipo SARIMA

No Algoritmo 4.8 ´e poss´ıvel ver uma forma de utiliza¸c˜ao da fun¸c˜ao report.

r e q u i r e(BETS) p a r a m e t e r s = l i s t(

l a g .max = 4 8 , n . ahead = 9 )

r e p o r t(t s = data, p a r a m e t e r s = p a r a m e t e r s )

Algoritmo 4.8: Utilizando a fun¸c˜ao Report

O resultado abre automaticamente, na forma de um arquivo .html. Um trecho deste arquivo pode ser visto no documento indexado na Figura 23.

O relat´orio possui algumas informa¸c˜oes, como:

 As informa¸c˜oes da s´erie tal como se encontram na tabela de metadados do BETS.

 O gr´afico da s´erie, feito com o pacote dygraphs [18].

 Os passos envolvidos na identifica¸c˜ao de um poss´ıvel modelo: testes de raiz unit´aria

(teste ADF) e correlogramas da s´erie original, da s´erie diferenciada (se for o caso) e sazonalmente diferenciada (se for o caso).

 A estima¸c˜ao dos parˆametros e o resultado da sele¸c˜ao autom´atica do modelo pela

fun¸c˜ao auto.arima do pacote forecast.

 Teste de Ljung-Box para autocorrela¸c˜ao nos res´ıduos.

 As previs˜oes n passos `a frente utilizando a fun¸c˜ao forecast e um gr´afico da s´erie

4.5 Previs˜oes 69

Figura 23: Relat´orio gerado pela report.

Essa funcionalidade tem como finalidade apoiar a aprendizagem da modelagem de s´eries temporais utilizando Box & Jenkens.

70

5

Conclus˜ao

Com a massiva produ¸c˜ao de informa¸c˜oes, se faz necess´ario a integra¸c˜ao de dados e profissionais com a capacidade de tomar decis˜oes mediante aos dados.

O Brasil ainda caminha para uma pol´ıtica de f´acil acesso aos dados e um bom, poss´ıvel, caminho se d´a atrav´es da linguagem de programa¸c˜ao R e de pacotes como o BETS no qual fornece integra¸c˜ao entre as fontes de informa¸c˜oes.

Com o estudo de caso, apresentado no cap´ıtulo anterior, ´e poss´ıvel notar como o BETS foi constru´ıdo pra facilitar desde a obten¸c˜ao, a an´alise at´e a exporta¸c˜ao dos dados. Com a crescente reestrutura¸c˜ao e redefini¸c˜ao de como um estat´ıstico est´a sendo utilizado no mercado, prover meios para integra¸c˜ao de dados ´e algo primordial e o pacote se torna uma ferramenta relevante para essa tarefa.

O pacote BETS desde o seu lan¸camento obteve notoriedade pela sua proposta e estru- tura. Na sua primeira vers˜ao (0.0.98) teve seu nome listado como integrante dos melhores pacotes do mˆes em pesquisa feita pela p´agina R Views1, blog oficial do RStudio. O post

categoriza os novos pacotes do mˆes em:

• Data - pacotes que oferecem formas integradas e simples de obter dados;

• Data Science - ferrametnas para manipula¸c˜ao e obten¸c˜ao de insights dos dados; • Financial Analysis - ferramentas de an´alises financeiras e econˆomicas;

• Statistics - novos m´etodos ou implementa¸c˜ao de t´ecnicas estat´ısticas no meio com- putacional;

• Utilities - pacotes gerais que auxiliam em todas as partes da programa¸c˜ao ou com- plementam o escopo de aplica¸c˜oes mestres;

• Visualization - ferramentas e/ou apis para gr´aficos e visualiza¸c˜ao de dados em geral.

5 Conclus˜ao 71

No mˆes de novembro de 2016, ano da primeira vers˜ao do BETS, houve um registro de 217 novos pacotes que passaram pelo crivo de qualidade dos analistas do CRAN (N´umero in´edito nos ultimos 9 anos) e ao todo, 52 pacotes tiveram destaque. At´e a presente data, o pacote BETS apresenta uma taxa de 845 downloads mensais e 308 semanais (m´edias m´oveis). Esses n´umeros s˜ao corroborados, dentre muitos fatores, por um processo de atualiza¸c˜ao constante, tanto na parte de corre¸c˜ao de erros de programa¸c˜ao ou imple- menta¸c˜ao de t´ecnicas estat´ısticas, quanto na adi¸c˜ao de novas funcionalidades. Sempre com a finalidade de manter o pacote relevante para os estat´ısticos e todos os profissionais que necessitam de dados para suas pesquisas e atividades em geral.

Como mencionado na introdu¸c˜ao desse trabalho, o BETS n˜ao ´e ´unico em sua proposta de oferecer dados de uma forma esruturada e otimizada. Para ilustrar essa disparidade de forma quantitativa, podemos olhar para a quantidade de downloads ao longo dos meses na Figura 24.

Figura 24: Quantidade de downloads ao longo dos meses.

A Figura 24 mostra uma compara¸c˜ao entre os principais pacotes que compartilham a mesma proposta de dezembro de 2016 a setembro de 2018. Nota-se que o BETS est´a predominantemente acima, tendo um volume not´orio no p´eriodo de abril a junho de 2018. Ao longo das vers˜oes, pode-se notar um n´umero grande de usu´arios regulares que utilizam o BETS em seus meios corporativos al´em de o pacote figurar entre as aplica¸c˜oes componentes de cursos e profissionaliza¸c˜ao de cientistas de dados no Brasil. Al´em de um

5 Conclus˜ao 72

curso de cunho profissional em Big Data e Data Science no instituto Infnet.

Em sua p´agina de bug reports 2 ao constadados pedidos de auxil´ıos para a imple-

menta¸c˜ao do uso do pacote em ambientes corporativos: Empresas como banco BMG, a plataforma de investimentos VINCI Partners, banco BBC e o pr´oprio SEBRAI de Bras´ılia.

Como o BETS apresenta uma estrutura e conte´udo de f´acil aplica¸c˜ao, o pacote ´e muito utilizado no seguimento acadˆemico. Semin´arios como o SER (Semin´ario Internacional de Estat´ıstica com R) e a semana da estat´ıstica da Universidade Federal Fluminense s˜ao exemplos de eventos que receberam o BETS e exemplos de sua aplica¸c˜ao.

Devido a estrutura malev´avel de tratamento dos dados, como passo futuro, o BETS ser´a capaz de integrar a mais fontes de informa¸c˜oes como por exemplo o IPEA data e todo o setor de expectativas de mercado (Infla¸c˜ao acumulada, taxa de cambio, Meta para taxa over-selic dentre outras) do Banco Central do Brasil.

2ao mensagens de alerta para erros e falhas em alguma aplica¸ao, s˜ao criadas para alertar os desen-

73

Referˆencias

[1] R Development Core Team. R: A Language and Environment for Statistical Com- puting. Vienna, Austria, 2008. ISBN 3-900051-07-0. Dispon´ıvel em: <http://www.R- project.org>.

[2] RStudio Team. RStudio: Integrated Development Environment for R. Boston, MA, 2015. Dispon´ıvel em: <http://www.rstudio.com/>.

[3] KDNUGGETS - leading site on Business Analytics, Big Data, Data Mining, Data Science, and Machine Learning. [S.l.]. Accessed: 2018-05-30.

[4] IBGE. Instituto Brasileiro de Geografia e Estat´ıstica. 2018. Dispon´ıvel em: <www.ibge.gov.br>.

[5] FREITAS, W. rbcb: R Interface to Brazilian Central Bank Web Services. [S.l.], 2018. R package version 0.1.3. Dispon´ıvel em: <https://CRAN.R-project.org/package=rbcb>.

[6] TEIXEIRA, F.; AZEVEDO, J. ecoseries: An R Interface to Brazilian Central Bank and Sidra APIs and the IPEA Data. [S.l.], 2017. R package version 0.1.5. Dispon´ıvel em: <https://CRAN.R-project.org/package=ecoseries>.

[7] Prado Siqueira, R. sidrar: An Interface to IBGE’s SIDRA API. [S.l.], 2017. R package version 0.2.4. Dispon´ıvel em: <https://CRAN.R-project.org/package=sidrar>.

[8] Costa Ferreira, P.; SPERANZA, T.; COSTA, J. BETS: Brazilian Economic Time Series. [S.l.], 2018. R package version 0.4.4. Dispon´ıvel em: <https://CRAN.R- project.org/package=BETS>.

[9] WICKHAM, H.; HESTER, J.; CHANG, W. devtools: Tools to Make Develo- ping R Packages Easier. [S.l.], 2018. R package version 1.13.5. Dispon´ıvel em: <https://CRAN.R-project.org/package=devtools>.

[10] WICKHAM, H.; DANENBERG, P.; EUGSTER, M. roxygen2: In-Line Documen- tation for R. [S.l.], 2017. R package version 6.0.1. Dispon´ıvel em: <https://CRAN.R- project.org/package=roxygen2>.

[11] MORETTIN, P.; TOLOI, C. de C. An´alise de s´eries temporais. Edgard Blucher, 2006. (ABE - Projeto Fisher). ISBN 9788521203896. Dispon´ıvel em: <https://books.google.com.br/books?id=Q7bJAAAACAAJ>.

[12] DICKEY, D. A.; FULLER, W. A. Distribution of the estimators for autoregressive time series with a unit root. Journal of the American Statistical Association, v. 74, 1979.

Referˆencias 74

[13] OSBORN, D. et al. Seasonality and the order of integration for consumption. Oxford Bulletin of Economics and Statistics, 1988.

[14] BOX, G. E. P.; JENKINS, G. M. Time Series Analysis forecasting and control. San Francisco: Holden Day, 1970.

[15] PFAFF, B.; ZIVOT, E.; STIGLER, M. urca: Unit Root and Cointegra- tion Tests for Time Series Data. [S.l.], 2016. Dispon´ıvel em: <http://cran.r- project.org/package=urca>.

[16] HYNDMAN, R. J. forecast: Forecasting Functions for Time Series and Linear Mo- dels. [S.l.], 2015. Dispon´ıvel em: <http://cran.r-project.org/package=forecast>.

[17] LJUNG, G. M.; BOX, G. E. P. On a measure of a lack of fit in time series models. Biometrika, v. 65, 1978.

[18] VANDERKAM, D. et al. dygraphs: Interface to ’Dygraphs’ Interactive Time Series Charting Library. [S.l.], 2016. Dispon´ıvel em: <https://cran.r- project.org/web/packages/dygraphs/index.html>.

75

Documentos relacionados