• Nenhum resultado encontrado

BETS - desenvolvimento de um pacote estatístico para extração e análise de séries temporais econômicas

N/A
N/A
Protected

Academic year: 2021

Share "BETS - desenvolvimento de um pacote estatístico para extração e análise de séries temporais econômicas"

Copied!
80
0
0

Texto

(1)

Jonatha Azevedo da Costa

BETS - desenvolvimento de um pacote

estat´ıstico para extra¸

ao e an´

alise de s´

eries

temporais econˆ

omicas

(2)

Universidade Federal Fluminense

Jonatha Azevedo da Costa

BETS - desenvolvimento de um

pacote estat´ıstico para extra¸

ao e

an´

alise de s´

eries temporais

econˆ

omicas

Trabalho de Conclus˜ao de Curso

Monografia apresentada para obten¸c˜ao do grau de Bacharel em Estat´ıstica pela Universidade Federal Fluminense.

Orientador: Prof. Jony Arrais Pinto Junior

(3)

Universidade Federal Fluminense

Jonatha Azevedo da Costa

BETS - desenvolvimento de um pacote

estat´ıstico para extra¸

ao e an´

alise de s´

eries

temporais econˆ

omicas

Monografia de Projeto Final de Gradua¸c˜ao sob o t´ıtulo “BETS - desenvolvimento de um pacote estat´ıstico para extra¸c˜ao e an´alise de s´eries temporais econˆomicas”, defendida por Jo-natha Azevedo da Costa e aprovada em 07 de dezembro de 2018, na cidade de Niter´oi, no Estado do Rio de Janeiro, pela banca examinadora constitu´ıda pelos professores:

Prof. Dr. Jony Arrais Pinto Junior Departamento de Estat´ıstica – UFF

Profa. Dra. Luciane Ferreira Alcoforado Departamento de Estat´ıstica – UFF

Prof. Dr. Mois´es Lima de Menezes Departamento de Estat´ıstica – UFF

(4)
(5)

Resumo

Devida a desorganiza¸c˜ao e a problem´atica de se obter dados atualizados das principais fontes de informa¸c˜oes no Brasil, faz-se necess´ario a cria¸c˜ao de ferramentas de unifica¸c˜ao e extra¸c˜ao de dados.

Esse trabalho apresenta a cria¸c˜ao, elabora¸c˜ao e aplica¸c˜ao do pacote estat´ıstico BETS (Brazilian Economic Time Series).

O BETS fornece de forma descomplicada, milhares de dados econˆomicos do Brasil de forma geral, al´em de ferramentas que auxiliam o pesquisador na modelagem e an´alise de dados temporais (s´erie temporal). O pacote foi desenvolvido em parceria com o n´ucleo de m´etodos estat´ısticos e computacionais do Instituto Brasileiro de Economia da Funda¸c˜ao Get´ulio Vargas (FGV).

Esse trabalho aborda, a elabora¸c˜ao, cria¸c˜ao, aplica¸c˜ao (em um estudo de caso) e os resultados que o pacote j´a obteve. No estudo de caso, a s´erie da Produ¸c˜ao F´ısica Industrial sem ajuste sazonal com ano base 2012 disponibilizada pelo IBGE ´e abordada para uma t´ıpica ilustra¸c˜ao de uso do pacote.

Os resultados, observados desde a primeira vers˜ao submetida ao pricipal e mundial-mente conceituado reposit´orio de pacotes estat´ısticos para a linguagem R, mostraram que o BETS foi bem aceito n˜ao somente ao usu´ario comum, como tamb´em no meio corpora-tivo.

(6)

Dedicat´

oria

Dedico este trabalho de conclus˜ao de curso aos meus pais que sempre deram o melhor por mim.

(7)

Agradecimentos

Agrade¸co a minha m˜ae, Jacqueline, por dar o seu melhor para que eu pudesse chegar aonde cheguei. Nada como ser criado por uma m˜ae forte. Agrade¸co ao meu Pai, Carlos Antˆonio, por mais que n˜ao tenha sido um pai presente, sempre me passou bons conselhos.

Reservo um espa¸co especial para Bianca Gon¸calves, por seu amor, inteligencia e su-porte ao longo do processo de cria¸c˜ao desse trabalho.

Agrade¸co a minha irm˜a, Ang´elica, por ser um exemplo fundamental ao meu desen-volvimento e pela ajuda na minha cria¸c˜ao. Agrade¸co ao meu cunhado, Robson, pelo companherismo e amizade.

Agrade¸co aos professores Luciane Alcoforado e Eduardo Ferioli pela oportunidade e pelas indica¸c˜oes a FGV. N˜ao poderia deixar de agradecer ao Pedro Guilherme, coorde-nador do N´ucleo de M´etodos Estat´ısticos e Computacionais (FGV—IBRE NMEC), por acreditar nas minhas capacidades.

Agrade¸co ao meu professor e orientador, Jony Arrais, pelas orienta¸c˜oes e ideias. Sem d´uvida, foi fundamental para que o desenvolvimento de um software estat´ıstico pudesse ser descrito na forma de um trabalho de conclus˜ao de curso.

Por ´ultimo, mas o mais importante, agrade¸co a Deus por me guiar at´e o final dessa etapa. N˜ao foi f´acil mas foi extremamente gratificante.

(8)

Sum´

ario

Lista de Figuras Lista de Tabelas 1 Introdu¸c˜ao p. 15 2 Objetivos p. 21 2.1 Objetivo pricipal . . . p. 21

2.2 Objetivos secund´arios . . . p. 21

3 Materiais e M´etodos p. 22

3.1 Cria¸c˜ao de um pacote para R . . . p. 22

3.1.1 Estrutura b´asica de um pacote . . . p. 22

3.1.2 Componentes de um pacote . . . p. 23

3.1.2.1 Exemplo de cria¸c˜ao de um pacote para o R . . . p. 27

3.1.3 Submiss˜ao do pacote ao CRAN . . . p. 30

3.2 BETS - Brazilian Economic Times Series . . . p. 31

3.2.1 Base de dados . . . p. 32

3.2.2 Data management (Manipula¸c˜ao de dados) . . . p. 34

3.2.3 Dynamic reports (relat´orois dinˆamicos) . . . p. 39

3.2.4 Dashboards . . . p. 39

3.2.5 Addtional Funcions (Fun¸c˜oes adicionais) . . . p. 40

(9)

3.3.1 Decomposi¸c˜ao . . . p. 42

3.3.2 Estacionariedade . . . p. 43

3.3.3 Tendˆencia . . . p. 43

3.3.4 Sazonalindade . . . p. 44

3.3.5 Fun¸c˜ao de autocovariˆancia . . . p. 45

3.3.6 Fun¸c˜ao de autocorrela¸c˜ao . . . p. 45

3.3.7 Fun¸c˜ao de autocorrela¸c˜ao parcial . . . p. 45

3.3.8 Correlograma . . . p. 45

3.3.9 Testes de estacionariedade . . . p. 46

3.3.10 Teste de Dickey-Fuller Aumentado . . . p. 47

3.4 Teste de Raiz unit´aria sazonal . . . p. 47

3.4.1 Teste de Osborn-Chui-Smith-Birchenall . . . p. 47

3.5 Modelos de Box & Jenkins . . . p. 48

3.5.1 Modelos Sazonais Autorregressivos, Integrados e de M´edias M´oveis p. 48

3.5.2 Identifica¸c˜ao do modelo . . . p. 49

3.5.2.1 Diagn´ostico do modelo . . . p. 50

4 Estudo de caso p. 52

4.1 Preliminares . . . p. 52

4.2 Identifica¸c˜ao . . . p. 55

4.2.1 Testes para Estacionariedade . . . p. 55

4.3 Estima¸c˜ao . . . p. 60

4.4 Testes de Diagn´ostico . . . p. 61

4.5 Previs˜oes . . . p. 66

4.5.1 O uso da BETS.report para a modelagem SARIMA . . . p. 67

(10)

Referˆencias p. 73

Anexo A -- BETS Addins: uma interface gr´afica para a busca e

identi-fica¸c˜ao de dados direto do RStudio p. 75

(11)

Lista de Figuras

1 Grupos de funcionalidades do BETS . . . p. 19

2 Cria¸c˜ao de pacote, menu r´apido - RStudio . . . p. 27

3 Aba de Build - RStudio . . . p. 30

4 Construindo a vers˜ao source - RStudio . . . p. 30

5 Conte´udo da base de dados do BETS . . . p. 32

6 IIEBR - Indicador de Incerteza da Economia do Brasil (obtido atrav´es

do BETS) . . . p. 33

7 Taxa Selic (obtido atrav´es do BETS) . . . p. 33

8 Tabela resultante do uso da BETSsearch para o termo IPCA. . . p. 36

9 Tabela resultante do uso da sidraSearch para o termo pib. . . p. 37

10 Exemplo de dashboard (obtido atrav´es do BETS) . . . p. 40

11 Tabela resultante do uso da BETSsearch para o termo Desemprego. . . p. 41

12 Exemplos de s´eries temporais: Taxa mensal (em %) de desemprego no Rio de Janeiro, S˜ao Paulo, Salvador e Refice (regi˜ao metropolitana na

semana) . . . p. 42

13 Exemplos de um gr´afico correlograma . . . p. 46

14 Produ¸c˜ao f´ısica da ind´ustria, IBGE . . . p. 54

15 Gr´afico mensal da s´erie em estudo . . . p. 55

16 FAC dos dados com 11 lags no teste ADF. . . p. 57

17 FAC dos res´ıduos com 13 lags no teste adf . . . p. 58

18 Correlograma parcial da diferen¸ca dos dados . . . p. 59

(12)

20 Gr´afico dos res´ıduos padronizados do modelo que apresenta a vari´avel

dummy . . . p. 64

21 Correlograma dos res´ıduos do modelo com a dummy . . . p. 65

22 Gr´afico das previs˜oes geradas pela fun¸c˜ao criada . . . p. 67

23 Relat´orio gerado pela report. . . p. 69

24 Quantidade de downloads ao longo dos meses. . . p. 71

25 BETS search Addin, aba Pesquisa. . . p. 75

26 BETS search Addin, aba Visualiza¸c˜ao. . . p. 76

27 BETS search Addin, aba Exporta¸c˜ao. . . p. 77

(13)

Lista de Tabelas

1 Tabela comparativa sobre algumas funcionalidades entre principais

pa-cotes de captura de dados no Brasil . . . p. 18

2 Tabela comparativa (continua¸c˜ao) sobre algumas funcionalidades entre

principais pacotes de captura de dados no Brasil . . . p. 19

3 Tabela resultante do teste ADF, com 11 lags no teste adf . . . p. 56

4 Tabela resultante do teste ADF . . . p. 57

5 Parˆametros da fun¸c˜ao report . . . p. 68

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

SARIMA . . . p. 68

(14)

Algoritmos

3.1 Exemplo de um arquivo DESCRIPTION . . . p. 23

3.2 Exemplos de componentes de Imports . . . p. 24

3.3 Exemplo de componente de uma dependˆencia . . . p. 24

3.4 Segundo exemplo de um arquivo de DESCRIPTION . . . p. 28

3.5 Exemplo de fun¸c˜ao . . . p. 28

3.6 Exemplo de cria¸c˜ao de fun¸c˜ao com documenta¸c˜ao embutida . . . p. 29

3.7 Fun¸c˜ao BETSsource (verifica¸c˜ao de fontes dispon´ıveis) . . . p. 33

3.8 Fun¸c˜ao BETSsearch . . . p. 34

3.9 Exemplos de uso da BETSsearch . . . p. 35

3.10 Fun¸c˜ao BETSget . . . p. 35

3.11 Exemplo de uso da BETSsearch . . . p. 35

3.12 Exemplo de uso da BETSget . . . p. 35

3.13 Fun¸c˜ao sidraSearch . . . p. 36

3.14 Exemplo de uso da sidraSearch . . . p. 37

3.15 Fun¸c˜ao sidraGet . . . p. 37

3.16 Exemplos sidraGet . . . p. 38

3.17 Fun¸c˜oes de exporta¸c˜ao . . . p. 38

3.18 Utilizando as fun¸c˜oes de exporta¸c˜ao . . . p. 38

3.19 Fun¸c˜ao Report . . . p. 39

3.20 Fun¸c˜ao Dashboards . . . p. 39

3.21 Exemplos da BETSsearch . . . p. 41

(15)

4.1 Obtendo informa¸c˜oes sobre a s´erie de Producao Fisica Industrial atrav´es

do BETS . . . p. 52

4.2 Obtendo a s´erie de Producao Fisica Industrial atrav´es do BETS . . . . p. 53

4.3 Separando dados para compara¸c˜ao . . . p. 53

4.4 Gr´afico da s´erie em estudo (Producao Fisica Industrial) . . . p. 54

4.5 Gr´afico mensal da Producao Fisica Industrial . . . p. 54

4.6 Utilizando a fun¸c˜ao urtest . . . p. 56

4.7 Correlograma da diferencia¸c˜ao dos dados originais. . . p. 59

(16)

15

1

Introdu¸

ao

O estat´ıstico ´e um profissional importante no processo de coleta, apresenta¸c˜ao (orga-niza¸c˜ao, resumo e descri¸c˜ao), an´alise e interpreta¸c˜ao de dados, al´em de criar, construir e elaborar modelos e ferramentas para solu¸c˜ao de problemas. Em determinadas situa¸c˜oes quando as t´ecnicas n˜ao apontam resultados concretos, ele precisa saber improvisar de forma segura para captar as varia¸c˜oes. Sua atua¸c˜ao ´e pr´opria de bastidores: ele auxilia outro profissional a desenvolver sua ´area de mercado.

Se o estat´ıstico ´e fundamental para a sociedade, o R[1] ´e uma ferramenta primor-dial para o estat´ıstico. A linguagem ´e um ambiente de desenvolvimento integrado para c´alculos estat´ısticos. Foi criado por Ross Ihaka e por Robert Gentleman no departamento de Estat´ıstica da Universidade de Auckland, Nova Zelˆandia. O R ´e tamb´em altamente expans´ıvel com o uso dos pacotes, que s˜ao bibliotecas para sub-rotinas espec´ıficas ou ´areas de estudo espec´ıficas. O RStudio[2] ´e o ambiente de desenvolvimento mais usado e mais otimizado para a liguagem.

O trabalho de um estat´ıstico envolve, essencialmente, dados! Entende-se por “dado” como sendo a caracteriza¸c˜ao de informa¸c˜ao, conhecimento e competˆencia, `a luz de uma nova abordagem que parte do que pode ser definido matematicamente. Pode-se dizer que ´e o principal compenente para dar in´ıcio `a tomada de decis˜ao e esse fato, muitas vezes, pode se tornar um problema mediante a forma descentralizada de captura das informa¸c˜oes e `a falta de ferramentas e maneiras mais simples e intuitivas de se obter os dados no Brasil.

Segundo a KDnuggets[3] (respeitado site l´ıder em An´alise de Neg´ocios, Big Data, Minera¸c˜ao de Dados, Ciˆencia de Dados e Aprendizado de M´aquina), em sua 18◦ pesquisa de comunidade de usu´arios, constatou-se que o R ainda ´e a linguagem de programa¸c˜ao mais usada para an´alise de dados.

In´umeras ´areas do conhecimento como medicina, agricultura, engenharia, economia, com´ercio, constru¸c˜ao e empresas como Google, Microsofit, Nasa e Ebay implementam o uso do R e suas aplica¸c˜oes. Com isso a comunidade de usu´arios e desenvolvedores

(17)

1 Introdu¸c˜ao 16

de pacotes aumenta consideravelmente, oferencendo um suporte at´e maior que muito software pago no mercado e no meio acadˆemico. Devido a facilidade de se programar e de implementar qualquer metodologia nova, ele cai como uma luva para os estat´ısticos. Considerando o fato de que o R ´e muito usado para an´alises de dado,s ´e de se esperar que exista uma integra¸c˜ao da linguagem com as fontes de informa¸c˜oes dispon´ıveis, como o Banco Central do Brasil (BCB). O pa´ıs n˜ao ´e referˆencia na disponibiliza¸c˜ao de dados e n˜ao possui uma forma unificada de distribui¸c˜ao e acesso a eles. Dessa forma, surge um problema cr´ıtico: como obter dados de diferentes fontes? Al´em disso, como obter esses dados sem ter a necessidade de vasculhar diferentes web-services 1 de diferentes institui¸c˜oes?

Para facilitar a ilustra¸c˜ao desse problema, imagina-se o seguinte contexo: um pro-fessor de economia tem como a proposta de aula implementar e comentar uma an´alise econˆomica do Brasil com seus alunos em uma aula pr´atica. Como proceder? Primeiro ser´a preciso uma ferramenta que possibilite a an´alise, mas n˜ao h´a dinheiro ou recurso suficiente para um software pago (seria necess´ario v´arias unidades). Al´em disso, tamb´em ser´a necess´ario obter dados atualizados e que seja poss´ıvel e fact´ıvel de an´alisar nessa mesma ferramenta. Temos uma situa¸c˜ao que pode ser parcialmente resolvida utilizando o R e o RStudio. Ambos de f´acil instala¸c˜ao e implementa¸c˜ao, n˜ao necessecitando de um ambiente robusto para serem executados. Agora, a segunda parte do problema: como obter dados atualizados de uma forma integrada e otimizada?

O Brasil ainda est´a em um processo de conscientiza¸c˜ao da importˆancia de construir meios e canais (web-services) para fornecer dados. Centros como Banco Central do Brasil, IBGE [4] (Instituto Brasileiro de Geografia e Estat´ıstica) e a FGV (Funda¸c˜ao Get´ulio Vargas) s˜ao exemplos de fontes de informa¸c˜oes que n˜ao possuem uma padroniza¸c˜ao de disponibiliza¸c˜ao de dados.

Existem pacotes para R como o rbcb [5], o ecoseries [6] e o sidrar [7] que fornecem dados de foma integrada. Cada um com suas caracter´ısticas e estrutura.

O pacote rbcb foi lan¸cado como uma tradu¸c˜ao mais direta e simples das API’s2

1web-services ´e uma solu¸ao utilizada na integra¸ao de sistemas e na comunica¸ao entre aplica¸oes

diferentes. Com esta tecnologia ´e poss´ıvel que novas aplica¸c˜oes possam interagir com aquelas que j´a existem e que sistemas desenvolvidos em plataformas diferentes sejam compat´ıveis. Os Web Services s˜ao componentes que permitem `as aplica¸c˜oes enviar e receber dados. Cada aplica¸c˜ao pode ter a sua pr´opria ”linguagem”, que ´e traduzida para uma linguagem universal, um formato intermedi´ario como CSV, por exemplo.

2API ´e um conjunto de rotinas e padr˜oes de programa¸ao para acesso a um aplicativo de software

ou plataforma baseado na Web. A sigla API refere-se ao termo em inglˆes ”Application Programming Interface”que significa em tradu¸c˜ao para o portuguˆes ”Interface de Programa¸c˜ao de Aplicativos”. APIs

(18)

1 Introdu¸c˜ao 17

fornecidas pelo setor de dados abertos do Banco Central. Com ele, ´e poss´ıvel capturar diferentes dados temporais como finan¸cas p´ublicas, economia regional, economia inter-nacional etc. O ecoseries tamb´em fornece uma tradu¸c˜ao de alguns endpoints 3, como

o do Banco Central e para o sistema do IPEA (Instituto de Pesquisa Econˆomica Apli-cada), por´em n˜ao oferece mais que isso. Ele ´e apenas um t´unel sem metainforma¸c˜oes que ajuda na hora de identificar os dados sem a necessidade de ir at´e o website. J´a o sidrar segue a mesma linha dos demais, tratando-se de um pacote mais espec´ıfico na tarefa de ligar o usu´ario aos dados, pois leva a recupera¸c˜ao dos dados do SIDRA (Sis-tema IBGE de Recupera¸c˜ao Autom´atica). No entando, apresenta uma funcionalidade para as metainforma¸c˜oes, da seguinte forma: dado uma fun¸c˜ao de pesquisa, passando o n´umero da tabela, ´e poss´ıvel saber informa¸c˜oes de suas vari´aveis e se¸c˜oes. Os resultados s˜ao disponibilizados no navegador dada uma aprova¸c˜ao do usu´ario via console.

Com os pacotes citados anteriormente, observa-se um padr˜ao em rela¸c˜ao ao trata-mento do acesso aos dados pelos softwares estat´ısticos e no fornecitrata-mento de endpoints para dados produzidos no Brasil. Com o intuito de modific´a-lo de uma forma positiva, surge o BETS [8].

O pacote BETS (sigla para Brazilian Economic Time Series) para o R fornece de ma-neira descomplicada, as mais relevantes s´eries temporais econˆomicas do Brasil e diversas ferramentas para analis´a-las. O pacote ajuda preencher a lacuna no processo de obten¸c˜ao de dados, na medida que unifica os pontos de acesso `as in´umeras s´eries e oferece uma interface bastantes simples, flex´ıvel e robusta.

Em sua concep¸c˜ao original, o BETS apenas deveria reunir em um s´o lugar o maior n´umero poss´ıvel de s´eries, dada a dificuldade com que o pesquisador poderia se defrontar para obtˆe-las. Este objetivo foi cumprido e hoje o pacote disponibiliza mais de 18 mil s´eries econˆomicas brasileiras e muitos outros dados. Por conta do vasto tamanho das bases de dados, o BETS foi expandido para prover mecanismos que auxiliam o analista na pesquisa, extra¸c˜ao e exporta¸c˜ao das s´eries. A partir da´ı, a formula¸c˜ao do pacote se transformou e ele caminhou para se tornar um ambiente integrado de an´alise e aprendizado. Foram incorporadas diversas funcionalidades ausentes do universo R, com a inten¸c˜ao de facilitar ainda mais a modelagem e a interpreta¸c˜ao das s´eries fornecidas.

Abaixo encontram-se duas tabelas comparativas (1 e 2) entre as funcionalidades b´asicas que um pacote nessa categoria deve fornecer ao usu´ario. Neles foram levados

podem existir sem endpoints.

3Um endpoint de um web service ´e a URL onde seu servi¸co pode ser acessado por uma aplica¸ao

(19)

1 Introdu¸c˜ao 18

em conta as seguintes funcionalidades:

• Fontes: os centros de dados que cada pacote consegue extrair informa¸c˜oes; • Metadados: o pacote fornece descri¸c˜oes e metainforma¸c˜oes de seus dados;

• Fun¸c˜ao An´alise: pacote fornece al´em de dados, ferramentas de aux´ılio a an´alises estat´ıstiscas. Refere-se a disponiblidade de fun¸c˜oes para an´alisar os dados que a aplica¸c˜ao j´a fornece, com isso, o usu´ario n˜ao precisa recorrer completamente a outras aplica¸c˜oes para tal tarefa;

• Fun¸c˜ao Exporta¸c˜ao: pacote possibilita a exporta¸c˜ao dos dados para outros softwa-res estat´ısticos;

• Fun¸c˜ao Adicionais: s˜ao fun¸c˜oes auxiliadoras que fogem um pouco do escopo do pacote, por´em, mostram um cuidado na complementa¸c˜ao e organiza¸c˜ao no uso da aplica¸c˜ao;

• Pesquisa de inf.: relacionado `a pesquisa de dados dentro da aplica¸c˜ao;

• Fun¸c˜ao Extra¸c˜ao: meios de extra¸c˜ao de dados de diferentes fontes de informa¸c˜oes; • Addins: funcionalidade presente no ambiente de desenvolvimento intregrado RS-tudio, trata-se de uma interface gr´afica para proporcionar uma comodidade para alguma fun¸c˜ao da aplica¸c˜ao.

Nome Fontes Metadados F. An´alise F. Exporta¸c˜ao

Rbcb BCB X × ×

ecoseries BCB, IBGE × × ×

ribge IBGE × × ×

BETS BCB, FGV, IBGE, SIDRA X X X

Tabela 1: Tabela comparativa sobre algumas funcionalidades entre principais pacotes de captura de dados no Brasil.

Ao se fazer uma compara¸c˜ao direta, o BETS se destaca pela sua estrutura com-pleta e robusta, de manipular os dados e de suas fun¸c˜oes que auxiliam na modelagem estat´ıstica. O pacote possui uma parte inteira de suas funcionalidades voltada `a pesquisa e identifica¸c˜ao de dados. Possui toda uma gama de fun¸c˜oes para comunica¸c˜ao do R com

(20)

1 Introdu¸c˜ao 19

Nome F. Adicionais Pesquisas de inf. F. Extra¸c˜ao Addins

Rbcb × X(en) X ×

ecoseries × X(en) X ×

ribge × × X ×

BETS X X(pt/en) X X

Tabela 2: Tabela comparativa (continua¸c˜ao) sobre algumas funcionalidades entre prin-cipais pacotes de captura de dados no Brasil

outros softwares estat´ısticos, al´em de disponibilizar ferramentas que ajudam na an´alise estat´ıstica, como os relat´orios dinˆamicos. Podemos dividir o pacote nos seguintes grupos de funcionalidades (Figura 1):

Figura 1: Grupos de funcionalidades do BETS

No grupo Data management, s˜ao disponibilizadas ferramentas para recuperar as s´eries e informa¸c˜oes sobre elas. Isso n˜ao cobre somente a API privada para extrair dados diretamente das fontes, mas tamb´em a API p´ublica para recuperar os dados do banco de dados no pacote. Em Dynamic reports, s˜ao gerados automaticamente documentos que fornecem detalhes da an´alise e previs˜oes para uma s´erie escolhida de acordo com algum m´etodo bem estabelecido. Basta o usu´ario fornecer o c´odigo para a s´erie nos bancos de dados BETS e alguns parˆametros adicionais. As an´alises atualmente dispon´ıveis baseiam-se em trˆes abordagens, por´em, nesse trabalho, apenas a metodologia de Box & Jenkins, usando modelos SARIM A, ser´a abordada. Em Dashboards, que tamb´em ´e uma funcionalidade para documentos dinˆamicos, por´em para documentos de an´alise de cen´ario, contendo uma sele¸c˜ao de gr´aficos estilizados das s´eries mais frequentemente usadas para monitorar a confian¸ca, a incerteza, o crescimento e os pre¸cos nos setores que comp˜oem a economia brasileira. E por fim, mas n˜ao menos importante, as Additional functions completam o escopo do pacote e incluem m´etodos que ajudam analistas e geralmente

(21)

1 Introdu¸c˜ao 20

facilitam o uso das informa¸c˜oes contidas nas s´eries.

Como dito, o BETS se sobressai por sua estrutura, podendo ser adicionado novos centros e fontes de informa¸c˜oes levando em conta a estrutura adaptativa. Ou seja, tem-se um pacote geral que entrega um mecanismo de coleta de dados unificado e padronizado para o R ao passo de um comando install.packages(‘BETS‘).

Este trabalho encontra-se estruturado da seguinte maneira: no Cap´ıtulo 2, a seguir, os objetivos s˜ao melhor explicados. No Cap´ıtulo 3 ´e feita uma descri¸c˜ao completa da cria¸c˜ao de um pacote para o R, dos principais conceitos de s´eries temporais e da metodologia de Box & Jenkins e por fim, uma explica¸c˜ao completa (com exemplos) da estrutura do pacote BETS. No Cap´ıtulo 4, ´e apresentado um estudo de caso com a finalidade de apresentar um t´ıpico uso da ferramenta em uma an´alise da s´erie temporal da produ¸c˜ao f´ısica industrial do Brasil. Por fim no cap´ıtulo 5, ´e apresentada a conclus˜ao, mostrando os resultados obtidos com a publica¸c˜ao do pacote e o alcance de suas funcionalidades.

(22)

21

2

Objetivos

2.1

Objetivo pricipal

O objetivo deste trabalho ´e apresentar o pacote BETS uma ferramenta poderosa e vers´atil na captura de dados econˆomicos bem como a integra¸c˜ao a an´alise de s´eries tempo-rais para o R (com foco nas funcionalidades de responsabilidade do autor), desenvolvido em parceria com o N´ucleo de M´etodos Estat´ısticos e Computacionais do Instituto Brasi-leiro de Economia, da FGV.

2.2

Objetivos secund´

arios

Este trabalho tem o objetivo de mostrar como criar um pacote para o R, desde as pol´ıticas a serem seguidas e cumpridas junto ao CRAN at´e a estrutura¸c˜ao, verifica¸c˜ao e compila¸c˜ao final do pacote. Em seguida, explicar o processo de cria¸c˜ao do pacote BETS. E, por fim, aplicar o BETS a um estudo de caso da Produ¸c˜ao F´ısica Industrial do Brasil.

(23)

22

3

Materiais e M´

etodos

Neste cap´ıtulo ser´a apresentado a defini¸c˜ao de um pacote (ou biblioteca) estat´ıstico para a linguagem R, explicando em detalhes e com exemplos a estrutura e seus compo-nenentes. Em seguida, ser´a introduzido e apresentado de forma resumida os principais conceitos de s´eries temporais e a metodogologia de Box & Jenkins.

3.1

Cria¸

ao de um pacote para R

A ideia (ou motiva¸c˜ao) de um pacote ´e a capacidade de automatizar e facilitar tarefas repetidas e carregar c´odigos e fun¸c˜oes rapidamente. Formalmente, entende-se pacote como bibliotecas contendo fun¸c˜oes e dados, que n˜ao tem uma utilidade geral, mas s˜ao importantes para alguma finalidade espec´ıfica. Nessa se¸c˜ao, tamb´em ser´a apresentado um exemplo pr´atico de como ´e o processo de cria¸c˜ao de um pacote simples, mapeando com explica¸c˜oes, cada parte. E, ao final, qual ´e o procedimento de submiss˜ao da aplica¸c˜ao ao CRAN 1, principal e mais prestigiado reposit´orio de pacotes para a linguagem R, por exemplo.

3.1.1

Estrutura b´

asica de um pacote

A estrutura b´asica de um pacote ´e composta de alguns diret´orios com nomes es-pec´ıficos e alguns arquivos com metainforma¸c˜oes. Para a cria¸c˜ao de um pacote no R, ´e necess´ario que vocˆe tenha instalado o pacote devtools[9], alpica¸c˜ao que concentra mui-tas ferramenmui-tas de desenvolvimento. No geral, a configura¸c˜ao de um pacote para o R ´e composta de:

Pacote/

vignettes/ data/ R/

1O CRAN ´e uma rede de servidores ftp e web em todo o mundo que armazena vers˜oes idˆenticas e

(24)

3.1 Cria¸c˜ao de um pacote para R 23 man/ tests/ inst/ src/ LICENSE DESCRIPTION NAMESPACE

3.1.2

Componentes de um pacote

A seguir, ser´a datalhado cada componente. Fato importante pois um bom pacote come¸ca com uma boa estrutura e arquivos preenchidos corretamente. Ao final, a im-portˆancia do arquivo de descri¸c˜ao (DESCRIPTION) e a nessecidade de documentar bem as suas fun¸c˜oes e c´odigos estar´a clara.

• C´odigo (R/) neste diret´orio encontram-se todos os scripts e fun¸c˜oes do pacote. ´E o local onde deve-se inserir c´odigos em R que se deseja disponibilizar para os usu´arios. Dentro dos scripts R ´e poss´ıvel introduzir a documenta¸c˜ao via roxygen2 1 [10].

• Metadados do pacote (DESCRIPTION) um dos arquivos mais importantes do pacote, ´e a descri¸c˜ao dele. Em DESCRIPTION, atribui-se todas as informa¸c˜oes necess´arias como: quais as dependˆencias; quais s˜ao os pacotes necess´arios para que o seu pacote possa executar corretamente; o que o pacote em desenvolvimento faz, quem o fez; qual a vers˜ao; onde se deve reportar eventuais erros; o tipo de licen¸ca que rege o uso do pacote e muitas outras informa¸c˜oes (veja um exemplo de um arquivo DESCRIPTION no Algoritmo 3.1).

Package : meupacote

T i t l e : O que o p a c o t e f a z ( r e s u m i d o em uma l i n h a )

V e r s i o n: 0 . 1

Authors@R : p e r s o n (” F i r s t ”, ” L a s t ”, e m a i l = ” example@ . com”, r o l e = c(” a ut ”, ” c r e ”) )

D e s c r i p t i o n : O que o p a c o t e f a z ( mais de uma l i n h a ) Depends : R (>= 3 . 1 . 0 )

L i c e n s e : q u a l l i c e n s a p r o t e g e o uso do p a c o t e ?

Algoritmo 3.1: Exemplo de um arquivo DESCRIPTION

O arquivo DESCRIPTION cont´em os seguintes campos:

1Pacote que gera documenta¸ao Rd, o arquivo ’NAMESPACE’. Escrever a documenta¸ao em linha

com o c´odigo facilita manter a documenta¸c˜ao atualizada `a medida que seus requisitos mudam. ’Roxygen2’ ´e inspirado no sistema ’Doxygen’ para C ++.

(25)

3.1 Cria¸c˜ao de um pacote para R 24

– Name: se refere ao nome do pacote;

– Title: ´e uma descri¸c˜ao de uma linha do pacote e ´e frequentemente mostrada na listagem de pacotes. Deve ser um texto sem formata¸c˜ao (sem marca¸c˜ao), capitalizado como um t´ıtulo. Sendo breve: respeitando o tamanho de 65 ca-racteres;

– Description: ´e mais detalhado que o t´ıtulo, mas est´a limitado a um par´agrafo. Se a sua descri¸c˜ao abrange v´arias linhas (e deve!), cada linha deve ter no m´aximo 80 caracteres de largura.

– Version: Formalmente, uma vers˜ao de pacote R ´e uma sequˆencia de pelo menos dois inteiros separados por um . ou −. Por exemplo, 1.0 e 0.9.1 − 10 s˜ao vers˜oes v´alidas, mas 1 ou 1.0 − patch 2 ao s˜ao;

– Imports: pacotes listados aqui devem estar presentes para o pacote em desen-volvimento funcionar. Na verdade, sempre que seu pacote for instalado, esses pacotes, se ainda n˜ao estiverem presentes, ser˜ao instalados em seu computador como mostra o Algoritmo 3.2.

I m p o r t s : d p l y r , g g v i s

Algoritmo 3.2: Exemplos de componentes de Imports

O c´odigo acima (Algoritmo 3.2) indica que o para que o pacote funcione, ´e necess´ario que tenha instalado os pacotes dplyr e ggvis, por exemplo;

– Suggests: o pacote em desenvolvimento pode usar outros pacotes, mas n˜ao os exige. Pode usar pacotes sugeridos, por exemplo, conjuntos de dados, executar testes, criar vignettes ou talvez exista apenas uma fun¸c˜ao que precise do pacote;

– Depends: lista o que ´e altamente necess´ario, mais usado para desginar qual vers˜ao do R ´e compat´ıvel com o pacote em desenvolvimento. Por exemplo:

Depends : R (>= 3 . 4 )

Algoritmo 3.3: Exemplo de componente de uma dependˆencia

– Email: email do repons´avel pelo pacote;

2Tem o objetivo de promover corre¸oes em programas e jogos. Essas altera¸oes s˜ao feitas por programas

(26)

3.1 Cria¸c˜ao de um pacote para R 25

– Published: data de publica¸c˜ao do pacote;

– Author: identifica o autor do pacote e seus colaboradores, utilize o formato:

Authors@R : p e r s o n (” Hadley ”, ”Wickham”, e m a i l = ” h a d l e y @ r s t u d i o . com”,

r o l e = c(” a u t ”, ” c r e ”) )

∗ cre: o criador ou mantenedor do pacote. A pessoa que vai resolver qual-quer problema;

∗ aut: autores, aqueles que fizeram contribui¸c˜oes significativas para o pa-cote;

∗ ctb: contribuintes, aqueles que fizeram contribui¸c˜oes menores, como pat-ches;

∗ cph: detentor dos direitos autorais. Isso ´e usado se os direitos autorais fo-rem mantidos por algu´em que n˜ao seja o autor, normalmente uma empresa (ou seja, o empregador do autor).

– Maintainer: quem mant´em o pacote. A pessoa respons´avel por resolver qual-quer problema em rela¸c˜ao as funcionalidades do pacote;

– BugReports: local indicado pelo maintainer para concentrar as discuss˜oes sobre problemas no pacote a serem resolvidos;

– License: a licensa que rege e protege os direitos dos criadores do pacote. As principais licensas s˜ao: MIT - A licen¸ca MIT, tamb´em chamada de licen¸ca X ou de licen¸ca X11, ´e uma licen¸ca criada pelo Instituto de Tecnologia de Mas-sachusetts (MIT). Ela ´e uma licen¸ca permissiva utilizada tanto em software livre quanto em software propriet´ario, GPL-2 ou GPL-3 - s˜ao utilizadas por projetos de software livre e de c´odigo aberto. Al´em dos programas de software produzidos pelo Projeto GNU 3 e CC0 - indica que o trabalho ´e intensionado

ao dom´ınio p´ublico, renunciando a todos os seus direitos sob as leis de direito de autor e/ou de direitos conexos referentes ao trabalho, em todo o mundo, na medida permitida por lei. O tipo de licen¸ca que rege o pacote ´e apenas des-crita no arquivo DESCRIPTION e n˜ao h´a a necessidade de anexar nenhum arquivo adicional para a mesma.

3GNU ´e um sistema operacional que ´e software livre – que ´e, o respeito a liberdade de seus usu´arios.

O desenvolvimento do GNU tornou poss´ıvel o uso de um computador sem um software que ameace sua liberdade. https://www.gnu.org/

(27)

3.1 Cria¸c˜ao de um pacote para R 26

• Documenta¸c˜ao dos objetos (man/): cada fun¸c˜ao em R/ deve ter um arquivo de documenta¸c˜ao equivalente. E de extrema importˆ´ ancia, pois ´e na documenta¸c˜ao que h´a informa¸c˜oes sobre o que a fun¸c˜ao faz exatamente, descreve os parˆametros, obseerva¸c˜oes e exemplos de uso;

• Vignettes (vignettes/): resumidamente, o vignettes ´e um tutorial, abrangente ou n˜ao, de uso do pacote. ´E um arquivo demonstrativo para as principais formas de uso do pacote, uma forma direta de introduzir o pacote ao usu´ario de uma forma mais pr´atica e controlada. Importante ressaltar que nem todos os pacotes possuem o vignettes, n˜ao ´e obrigat´oria ter, mas se trata de uma boa pr´atica;

• Testes (tests/): testar ´e uma parte vital do pacote. Temos que garantir que o pacote fa¸ca exatamente o que foi programado pra fazer. Nesse diret´orio podemos adicionar pequenos scripts que testam as fun¸c˜oes desenvolvidas e com isso podemos an´alisar se o pacote est´a funcionando como esperado. ´E um bom jeito de identificar erros e bugs;

• NAMESPACE (NAMESPACE ): ´e o arquivo mais confuso de toda a estrutura, ´e um t´opico avan¸cado. Mas n˜ao ´e necess´ario quando se est´a desenvolendo um pacote para uso pr´oprio. O NAMESPACE ´e um arquivo que atribui e gerencia nomes. Pense no caso de que dois pacotes (pacote A e pacote B) tenham fun¸c˜oes com mesmo nome, por exemplo predict. Se carregamos o pacote A em seguida o pacote B e formos usar a fun¸c˜ao predict, a vers˜ao do predict ser´a a do pacote A e vice-versa. Al´em disso, o NAMESPACE diz quais fun¸c˜oes o pacote exporta para o usu´ario ter acesso e quais pacotes s˜ao necess´arios para que o seu pacote funcione;

• Dados (data/ ): o diret´orio respons´avel por abrigar qualquer tipo de dados que seu pacote necessita. Um exemplo seria a imputa¸c˜ao de uma base de dados para demonstrar qualquer funcionalidade da aplica¸c˜ao. H´a trˆes formas de disponibili-zar dados com o pacote: Dados para o usu´ario, dados para as fun¸c˜oes ou dados complementares;

• C´odigos compilados (src/ ): se trata de um diret´orio com conte´udo avan¸cado e com uma finalidade: velocidade. Agrega scripts em C e C++ que podem ser um complemento poderoso para os c´odigos em R contidos no pacote;

• Arquivos instalados (inst/): basicamente, ´e poss´ıvel adicionar qualquer arquivo de interesse para o pacote, como imagens, arquivos textos ou mesmo dados em csv, por exemplo.

(28)

3.1 Cria¸c˜ao de um pacote para R 27

3.1.2.1 Exemplo de cria¸c˜ao de um pacote para o R

Nessa subse¸c˜ao ser´a demonstrada a cria¸c˜ao de um exemplo de um pacote simples. Sua finalidade: disponibilizar algumas fun¸c˜oes b´asicas e mostrar como funciona todo o ecosistema da estrutura.

Para esse pequeno tutorial, ser´a utilizado o RStudio [2] 2.

Primeiro, criamos a estrutura b´asica do pacote que se chamar´a statspkg:

statspkg/ vignettes/ data/ R/ man/ tests/ inst/ src/ LICENSE DESCRIPTION NAMESPACE

H´a a possbilidade de utilizar o menu do RStudio para criar o esqueleto de um pacote statspkg. Basta clicar em Create a project/ New Directory / R Package e por fim , basta inserir o nome e finalizar (como na Figura: 2).

Figura 2: Cria¸c˜ao de pacote, menu r´apido - RStudio

O pacote statspk, ser´a simples, logo n˜ao ter´a um diret´orio para testes (tests/), nem para arquivos instalados (inst/), sem vignnets e n˜ao ter´a c´odigos em C ou C + + (src/).

2Ambiente de desenvolvimento mais famoso para programar em R, consulte https://www.rstudio.

(29)

3.1 Cria¸c˜ao de um pacote para R 28

Ent˜ao, a estrutura fica da seguinte forma:

statspkg/ data/ R/ man/ DESCRIPTION NAMESPACE

O arquivo DESCRIPTION tem a seguinte configura¸c˜ao:

Package : s t a t s p k g Type : Package

T i t l e : s i m p l e s t a t i s t i c a l f u n c t i o n s

V e r s i o n: 0 . 1 . 0

Author : c( p e r s o n (” Jonatha ”, ” Costa ”, e m a i l = ” j o n a t h a . c o s t a @ f g v . br ”

, r o l e = c(” a u t ”, ” c r e ”) ) ) M a i n t a i n e r : Jonatha Costa <j o n a t h a . c o s t a @ f g v . br> D e s c r i p t i o n : Package t h a t p r o v i d e s some s t a t i s t i c a l f u n c t i o n s t o d e m o n s t r a t e t h e c r e a t i o n and s t r u c t u r e o f a p a c k a g e f o r t h e R. Depends : R (>= 3 . 4 ) I m p o r t s : base , s t a t s S u g g e s t s : g g p l o t 2 BugReports : h t t p s :/ /g i t h u b . com/j o n a t h a a z e v e d o RoxygenNote : 6 . 0 . 1 L i c e n s e : GPL−2

Algoritmo 3.4: Segundo exemplo de um arquivo de DESCRIPTION

Depois de informar as informa¸c˜oes gerais do pacote, pode-se escrever o c´odigo de fato e sua documenta¸c˜ao com o aux´ılio do pacote roxygem2. Como mencionado anteriormente, o statspkg ter´a duas fun¸c˜oes: uma que calcula a m´edia de um vetor e outra que fornece informa¸c˜oes estat´ısticas descritivas de um vetor num´erico passado como argumento. No Algoritmo 3.5 encontra-se a estrutura indicada.

# ’ Media # ’ @param x um v e t o r de numeros # ’ @return um v a l o r n u me ri c o # ’ @export # ’ # ’ @examples # ’ x = c ( 1 , 2 , 3 , 4 , 5 , 6 ) # ’ media ( x ) media <− f u n c t i o n( x ) {

(30)

3.1 Cria¸c˜ao de um pacote para R 29

i f(! i s.v e c t o r( x ) )s t o p(”O p a r a m e t r o p r e c i s a s e r um v e t o r ”)

r e t u r n(sum( x ,na.rm = T) / l e n g t h( x ) ) }

Algoritmo 3.5: Exemplo de fun¸c˜ao

Com o aux´ılio do pacote roxygem2 pode-se documentar a fun¸c˜ao direto no script, basta usar as tags (termos pr´e-definidos seguidos de @) antes do designador #’.

A segunda fun¸c˜ao do pacote statspkg, o Algoritmo 3.6, retorna um objeto do tipo lista. Nele, tem-se a mediana, o m´aximo e m´ınimo, a variˆancia e o desvio padr˜ao.

# ’ s t a t s # ’ # ’ @param x um v e t o r de numeros # ’ @param P r i n t V e r d a d e i r o ou f a l s o , s e v e r d a r e i r o , imprime o s v a l o r e s no c o n s o l e # ’ # ’ @return um v a l o r n u me ri c o # ’ @export # ’ # ’ @examples # ’ x = c ( 1 , 2 , 3 , 4 , 5 , 6 ) # ’ s t a t s ( x ) s t a t s <− f u n c t i o n( x , P r i n t = F) { i f(! i s.v e c t o r( x ) )s t o p(”O p a r a m e t r o p r e c i s a s e r um v e t o r ”) l i s t a = l i s t( ) l i s t a$minimo = min( x ) l i s t a$maximo = max( x ) l i s t a$v a r i a c i a = v a r( x ) l i s t a$d e s v i o = sd( x ) i f( P r i n t ) { message ( l i s t a ) }e l s e{ r e t u r n( l i s t a ) } }

(31)

3.1 Cria¸c˜ao de um pacote para R 30

Agora, ser´a necess´ario compilar3 gerar os documentos e instal´a-lo no R para verificar se tudo est´a correto. Utilize a aba Build no canto superior esquerdo do RStudio para verificar os resultados conforme a Figura 3.

Figura 3: Aba de Build - RStudio

Tamb´em ´e aconselh´avel utilizar o Check, comando que faz uma verifica¸c˜ao completa no pacote procurando por eventuais erros e informa¸c˜oes faltantes. Se seu pacote passa por essa rotina de checagem, ele est´a pronto e h´abil a ser instalado em qualquer ambiente.

Depois de realizar toda a verifica¸c˜ao e ter um pacote sem error, warnigns ou notes, podemos criar a vers˜ao source e utilizar o pacote. V´a na aba de build e em More selecione a op¸c˜ao Build Source Package. Como na Figura abaixo 4:

Figura 4: Construindo a vers˜ao source - RStudio

3.1.3

Submiss˜

ao do pacote ao CRAN

Depois de gerar a vers˜ao source do pacote, ´e hora de submeter ao CRAN, principal reposit´orio dispon´ıvel de pacotes para o R. O procedimento ´e bem simples, basta acessa a p´agina4 de submiss˜ao e informar o nome e e-mail do mainteiner e adicionar a vers˜ao source do pacote. Ap´os isso, uma p´agina com todas as informa¸c˜oes contidas no ar-quivo DESCRIPTION ser´a carregada, apenas para verifica¸c˜ao. Em um terceiro est´agio

3

Para compilar e checar um pacote, precisamos de algumas ferramentas: Rtools (https://cran. r-project.org/bin/windows/Rtools/)

4

(32)

3.2 BETS - Brazilian Economic Times Series 31

tem-se a confirma¸c˜ao de submiss˜ao e um e-mail ser´a enviado ao mainteiner com uma notifica¸c˜ao. Com isso, todo o processo de cria¸c˜ao, desenvolvimento e submiss˜ao de um pacote estat´ıstico foi demonstrado.

3.2

BETS - Brazilian Economic Times Series

A cria¸c˜ao do pacote BETS foi uma inciativa da FGV com intuito de introduzir a institui¸c˜ao na comunidade mundial de programadores e estat´ısticos (dado a visibilidade que um pacote para R proporciona, sendo a linguagem cient´ıfica mais adotada pelos estat´ısticos e economistas 5.). Na fase inicial, s´o a ideia do pacote era definida, por´em

a sua estrutura e funcionalidades, ou seja, a forma da aplica¸c˜ao e mesmo o seu nome n˜ao tinham sido pensadas. O autor desse trabalho entrou no projeto para come¸car o desenvolvimento do est´agio 0. Desenvolvendo o banco de dados, as fun¸c˜oes de pesquisa e de extra¸c˜ao dos dados e toda a estrutura do pacote descrita nesse trabalho. Com a contribui¸c˜ao fundamental da Talitha Speranza, junto ao autor o pacote BETS subiu a um novo est´agio criando ferramentas de an´alises e de visualiza¸c˜ao, al´em das fun¸c˜oes adicionais. Sendo o autor o respons´avel por qualquer problema, como foi descrito anteriormente na se¸c˜ao 3.1, o maintener do pacote BETS.

Dada a organiza¸c˜ao mencionada na introdu¸c˜ao, ser´a explicado cada parte de forma detalhada, come¸cando com o banco de dados do pacote. Parte fundamental e que j´a o difere dos outros pacotes que possuem funcionalidade semelhante. O BETS possui uma estrutura preparada pra fornecer uma experiˆencia de an´alise completa, desde a obten¸c˜ao da informa¸c˜ao do tipo de dado que se deseja, passando pela a obten¸c˜ao de fato do dado secund´ario, as fun¸c˜oes auxiliadoras para a an´alise estat´ıstica e gr´afica, at´e as fun¸c˜oes de exporta¸c˜ao de dados para diferentes softwares (Stata, SAS, Excel e SPSS). Com isso, a integra¸c˜ao com a linguagem de programa¸c˜ao R e a utiliza¸c˜ao do ambiente de desenvolvi-mento RStudio fica otimizada, pois com uma documenta¸c˜ao bem feita. O BETS se torna um atrativo para profissionais de muitas ´areas, principalmente estat´ısticos e economis-tas, a utilizarem o R. Isso corrobora com a influˆencia de recorrerem a softwares livres ao inv´es de pagarem altas taxas de assinaturas de softwares comerciais, que encapsulam seus mecanismos e afetam a credibilidade de resultados devido a falta de transperˆencia.

´

E poss´ıvel dividir o BETS em v´arias partes ou em grupos de uso. ´E poss´ıvel usar o pacote para obter somente dados, ou fazer uso das fun¸c˜oes de an´alise para auxiliar

5E´ poss´ıvel obter mais infoma¸oes sobre o uso do R em http://propus.science/ as-linguagens-mais-populares-em-ciencia-de-dados/

(33)

3.2 BETS - Brazilian Economic Times Series 32

uma modelagem estat´ıstica, ou implementar as fun¸c˜oes de exporta¸c˜ao de dados do BETS para criar uma comunica¸c˜ao com softwares estat´ısticos. Ou por fim, mas n˜ao menos importante, instalar o pacote BETS para carregar os mais utilizados pacotes estat´ısticos de uma ´unica vez, ao inv´es de instal´a-los um por um. Nesse trabalho, ´e introduida a divis˜ao que mais se encaixa na hora de explicar o pacote, mencionada na imagem 1.

3.2.1

Base de dados

Tradicionalmente, o usu´ario pode obter os dados do IBRE (Instituto Brasileiro de Economia da FGV) pelo sistema FGVDados, onde cont´em todas as estat´ısticas p´ublicas produzidas pela FGV e o mesmo v´alido para os outros centros de dados. Com o BETS esse procedimento n˜ao ´e mais necess´ario, dado que h´a um ambiente que armazena e provˆem acesso a esses dados de forma direta no R (Veja na Figura 5 o quantitavo dispon´ıvel de informa¸c˜oes na base de dados do pacote).

Figura 5: Conte´udo da base de dados do BETS

Como exemplo de dado, ´e poss´ıvel obter o indicador de incerteza da economia do Brasil (veja a Figura 6), indicador feito e divulgado pela Funda¸c˜ao Get´ulio Vargas ou obter o PIB brasileiro ou mesmo dados sobre pre¸cos de diferentes produtos comercializados no pa´ıs.

Na Figura 7, outro exemplo de dado econˆomico obtido atrav´es do BETS, a taxa Selic. No Brasil, a Selic, ´e a taxa de financiamento no mercado interbanc´ario, para opera¸c˜oes de um dia (ou overnight) que possuem lastro em t´ıtulos p´ublicos federais, t´ıtulos estes que s˜ao listados e negociados no Sistema Especial de Liquida¸c˜ao e de Cust´odia (Selic).

Essa divis˜ao n˜ao ´e vis´ıvel ao usu´ario onde o mesmo n˜ao necessita saber em qual base procurar e sempre ter´a acesso ao dado mais atualizado dispon´ıvel no momento. A estrutura foi organizada para facilitar a implementa¸c˜ao e o suporte ao banco de dados.

(34)

3.2 BETS - Brazilian Economic Times Series 33

Figura 6: IIEBR - Indicador de Incerteza da Economia do Brasil (obtido atrav´es do BETS)

Figura 7: Taxa Selic (obtido atrav´es do BETS)

O acesso r´apido e direto n˜ao teria sido poss´ıvel se n˜ao tivesse sido criada uma base de dados que com metainforma¸c˜oes como: periodicidade, descri¸c˜ao, fontes, unidades de medidas, data do ´ultimo dado dispon´ıvel, data do inic´ıcio do dado e o c´odigo da s´erie temporal. O c´odigo ´e de suma importˆancia, pois cada dado tem um c´odigo e ele ´e unico.

´

E poss´ıvel saber as fontes dispon´ıveis no pacote com a fun¸c˜ao BETSsource utilizando o c´odigo como no Algoritmo 3.7:

r e q u i r e(BETS) BETSsource ( )

The s o u r c e s a v a i l a b l e a t BETS, t o date, a r e : > Banco c e n t r a l , IBGE , S i d r a , FGV

(35)

3.2 BETS - Brazilian Economic Times Series 34

3.2.2

Data management (Manipula¸

ao de dados)

O principal atrativo do pacote ´e o seu banco de dados e nesse ponto o pacote precisava ser abrangente (e adicionalmente adaptativo, ou seja, ser f´acil a tarefa de adicionar novas fontes de dados), pois essa era a ideia principal da proposta. Nessa categoria, est˜ao concentradas ferramentas para recuperar as s´eries e informa¸c˜oes sobre elas. Isso n˜ao cobre somente a API privada para extrair dados diretamente das fontes, mas tamb´em a API p´ublica para recuperar os dados do banco de dados no pacote.

A interface para o usu´ario ´e bem intuitiva, o pacote possui uma fun¸c˜ao para pesquisa, uma para extra¸c˜ao e fun¸c˜oes para exporta¸c˜ao dos dados que possibilitam a comunica¸c˜ao com outros softwares estat´ısticos famosos, como SPSS, STATA e SAS. No total foram criadas 4 fun¸c˜oes:

BETSsearch - fun¸c˜ao que pesquisa por metainforma¸c˜oes dos dados. Permite bus-cas em portuguˆes e em inglˆes e por qualquer propriedade dispon´ıvel. O Algoritmo 3.8 apresenta o escopo geral da fun¸c˜ao BETSsearch.

BETSsearch (d e s c r i p t i o n , s r c , p e r i o d i c i t y , u n i t , code , view = TRUE, l a n g = ” en ”)

Algoritmo 3.8: Fun¸c˜ao BETSsearch

Os argumentos s˜ao:

• description - um caracter. Uma frase ou palavra que se encaixa da descri¸c˜ao da s´erie temporal;

• src - um caracter. A fonte do dado;

• periodicity - caracter. A frequˆencia com que o dado ´e observado ao longo do tempo;

• unit - um caracter. A unidade com que o dado ´e medido; • code - um intereiro ou um caracter. O c´odigo ´unico do dado;

• view - um booleano. Por padr˜ao, TRUE (verdadeiro). Se FALSE (falso) os resultados que se encaixam com a pesquisa ser˜ao imprimidos no console do R;

• lang - um caracter. A liguagem da pesquisa. Por padr˜ao, en, para inglˆes. A pesquisa tamb´em pode ser feita em portuguˆes, basta mudar o valor do argumento para pt.

(36)

3.2 BETS - Brazilian Economic Times Series 35

O parametro code ´e usado para uma r´apida busca. O c´odigo ´e obtido a partir do resultado da utiliza¸c˜ao da fun¸c˜ao BETSsearch.

O Algoritmo 3.9 apesenta alguns exemplos de uso da fun¸c˜ao variando alguns parˆametros.

BETSsearch (” Desemprego ”, l a n g = ’ pt ’) BETSsearch (d e s c r i p t i o n = ” s a l e s ˜ r e t a i l ”)

BETSsearch (d e s c r i p t i o n = ” ’ s a l e s volume i n d e x ’ ˜ v e h i c l e s ”)

BETSsearch (d e s c r i p t i o n = ” ’ d i s t r i t o f e d e r a l ’ ”, p e r i o d i c i t y = ’A ’, s r c = ’IBGE ’)

Algoritmo 3.9: Exemplos de uso da BETSsearch

BETSget - fun¸c˜ao para a extra¸c˜ao do dado. Ao fornecer o c´odigo da s´erie, obtem-se os dados em tempo real, direto da fonte, conforme o Algoritmo 3.10.

BETSget ( code ,d a t a.frame = FALSE)

Algoritmo 3.10: Fun¸c˜ao BETSget

O argumento c´odigo ´e obrigat´orio. O argumento opcional, data.frame, representa o tipo de objeto que ser´a retornado. Seu valor padr˜ao ´e FALSE, indicando que o objeto retornado por a fun¸c˜ao ser´a uma ts (s´erie temporal). Se data.frame = TRUE, a s´erie ser´a armazenada em um objeto do tipo data.frame. Segue alguns exemplos de uso da fun¸c˜ao de extra¸c˜ao de dados do pacote utilizando o termo IPCA (Algoritmo 3.11).

# obtendo o c o d i g o da s e r i e do i p c a

BETSsearch (d e s c r i p t i o n = ” i p c a ”, l a n g = pt, view = FALSE)

Algoritmo 3.11: Exemplo de uso da BETSsearch

Na Figura 8 tem-se, grifado de verde, uma poss´ıvel escolha do dado que se refere ao termo pesquisado.

i p c a <− BETSget ( c o d e = 4 4 3 )

Algoritmo 3.12: Exemplo de uso da BETSget

No BETS h´a um conjunto de fun¸c˜oes separadas para auxiliar a pesquisa e extra¸c˜ao de dados do SIDRA (Sistema IBGE de Recupera¸c˜ao Autom´atica), sidraSearch e sidraGet.

(37)

3.2 BETS - Brazilian Economic Times Series 36

Figura 8: Tabela resultante do uso da BETSsearch para o termo IPCA.

sidraSearch - A API fornecida pelo IBGE de acesso ao SIDRA ´e um tanto complexa e por vezes, confusa. Definimos uma fun¸c˜ao para que torne essa intera¸c˜ao um pouco melhor. A fun¸c˜ao sidraSearch como no 3.13 tem por objetivo, algo semelhante a BETSsearch, pesquisar nos bancos de dados da Sidra s´eries por sua descri¸c˜ao ou por uma determinada tabela.

s i d r a S e a r c h (d e s c r i p t i o n = NULL, code , view = TRUE, browse = FALSE)

Algoritmo 3.13: Fun¸c˜ao sidraSearch

Os parˆametros s˜ao:

• description - um caracter. Uma frase ou palavra que se encaixa da descri¸c˜ao de dados do Sidra;

• code - um intereiro ou um caracter. O c´odigo ´unico do dado;

• view - um booleano. Por padr˜ao, TRUE (verdadeiro). Se FALSE (falso) os resultados que se encaixam com a pesquisa ser˜ao imprimidos no console do R;

• browse - um booleano. Se estiver definido como TRUE, a tabela de descri¸c˜ao ser´a aberta em seu navegador para melhor visualiza¸c˜ao.

No Algoritmo 3.14 seguem um exemplo de uso da fun¸c˜ao. Logo em seguida, na Figura 9, apresenta-se o resultado da fun¸c˜ao.

(38)

3.2 BETS - Brazilian Economic Times Series 37

s i d r a S e a r c h (d e s c r i p t i o n = ” p i b ”)

Algoritmo 3.14: Exemplo de uso da sidraSearch

Figura 9: Tabela resultante do uso da sidraSearch para o termo pib.

sidraGet - Como a BETSget, a sidraGet (Algoritmo 3.15) tem por finalidade extrair dados das bases do Sidra.

s i d r a G e t ( x , from , to , t e r r i t o r y = c( n1 = ” b r a z i l ”, n2 = ” r e g i o n ”, n3 = ” s t a t e ”,

n6 = ” c i t y ”, n8 = ” m e s o r e g i o n ”, n9 = ” m i c r o r e g i o n ”, n129 = ” c i t i z e n s h i p ”, n132 = ” s e m i a r i d ”, n133 = ” semiaridUF ”) , v a r i a b l e , c l = NULL, s e c t i o n s

= NULL)

Algoritmo 3.15: Fun¸c˜ao sidraGet

Os parˆametros s˜ao:

• x - n´umero da s´erie temporal no Sidra;

• from - um caracter. Data que se deseja inicar os dados; • to - um caracter. Data que se deseja finalizar os dados;

• territory - um caracter. Especifica os n´ıveis territoriais desejados;

• variable - um inteiro descrevendo quais caracter´ısticas (vari´aveis) ser˜ao retornadas; • cl - um vetor contendo os c´odigos de classifica¸c˜ao;

(39)

3.2 BETS - Brazilian Economic Times Series 38

• sections - um vetor ou uma lista de vetores (se houver duas ou mais classifica¸c˜oes). No Algoritmo 3.16 seguem alguns exemplos de uso da fun¸c˜ao sidraGet.

s i d r a = s i d r a G e t ( x = c( 1 6 1 2 ) , from = 1 9 9 0 , t o = 2 0 1 5 , t e r r i t o r y = ” b r a z i l ”, v a r i a b l e =109) s i d r a = s i d r a G e t ( x = c( 3 6 5 3 ) , from = c(” 200201 ”) , t o = c(” 201703 ”) , t e r r i t o r y = ” b r a z i l ”, v a r i a b l e = 3 1 3 5 , s e c t i o n s = c( 1 2 9 3 1 6 , 1 2 9 3 3 0 ) , c l = 5 4 4 ) s i d r a = s i d r a G e t ( x = 1 6 2 0 , from = 1 9 9 0 0 1 , t o = 2 0 1 7 0 1 , t e r r i t o r y = ” b r a z i l ”, s e c t i o n s=l i s t(c( 9 0 6 8 7 ) ) , c l =c( 1 1 2 5 5 ) , v a r i a b l e = 5 8 3 )

Algoritmo 3.16: Exemplos sidraGet

Para permitir maior flexibilidade na forma como as s´eries BETS s˜ao armazenadas, foram criados as fun¸c˜oes saveSas, saveSpss e saveStata para exportar os dados para outros softwares estat´ısticos. Forne¸ca o objeto com o dado e nome do arquivo no qual deseja-se salvar, como no Algoritmo 3.17.

s a v e S a s ( code ,d a t a = NULL, f i l e . name = ” s e r i e s ”) s a v e S p s s ( code ,d a t a = NULL, f i l e . name = ” s e r i e s ”) s a v e S t a t a ( code ,d a t a = NULL, f i l e . name = ” s e r i e s ”)

Algoritmo 3.17: Fun¸c˜oes de exporta¸c˜ao

Novamente, repare no Algoritmo 3.18 que o parˆametro code recebe o c´odigo da s´erie. O usu´ario pode fornecer sua pr´opria s´erie com os dados no argumento data, que pode ser um data.frame ou um ts. N˜ao h´a necessidade de adicionar a extens˜ao ao nome do arquivo no parˆametro file.name.

s a v e S t a t a ( c o d e = 2 0 7 8 , f i l e . name = ” s e r i e s s t a t a ”)

# S a l v a n d o q u a l q u e r s e r i e em f o r m a t o SPSS

my . s e r i e s <− BETSget ( 4 4 4 7 )

s a v e S p s s (d a t a = my . s e r i e s , f i l e . name = ” s e r i e s s p s s ”)

Algoritmo 3.18: Utilizando as fun¸c˜oes de exporta¸c˜ao

Com as informa¸c˜oes fornecidas at´e agora, a promessa do BETS se torna muito mais aparente. Indo al´em do mero fornecimento de dados e fornecendo uma ampla gama

(40)

3.2 BETS - Brazilian Economic Times Series 39

de ferramentas para estudar s´eries temporais, este pacote pioneiro permite que um pro-gramador inexperiente em qualquer lugar do mundo possa analisar o cen´ario econˆomico brasileiro. Tudo o que ´e necess´ario para liberar o poder da BETS ´e um simples ins-tall.packages(‘BETS‘), o ´unico comando necess´ario para instalar o pacote.

3.2.3

Dynamic reports (relat´

orois dinˆ

amicos)

Documentos que fornecem detalhes da an´alise e previs˜oes para uma s´erie escolhida de acordo com algum m´etodo bem estabelecido. Estes s˜ao gerados automaticamente. Tudo o que o usu´ario tem fazer ´e fornecer o c´odigo para a s´erie nas bases do BETS e alguns parˆametros adicionais. A an´alise atualmente dispon´ıvel: Box & Jenkins, usando modelos SARIM A. Nesse trabalho, ser´a abordado e introduzida a metodologia de Box & Jenkins, uma das mais usadas para analisar s´eries temporais. Para usar a fun¸c˜ao report basta fornecer o c´odigo da s´erie econˆomica, j´a explicado como obter, e pass´a-lo como argumento, al´em de um conjunto de caracter´ısticas como lags e a quantidade de passos a frente para a previs˜ao, como descrito no Algoritmo 3.19.

p a r a m e t e r s = l i s t( c f . l a g s= 4 8 , n . ahead = 12 )

r e p o r t(t s = 2 1 8 6 4 , p a r a m e t e r s = p a r a m e t e r s )

Algoritmo 3.19: Fun¸c˜ao Report

3.2.4

Dashboards

Documentos de an´alise de cen´ario contendo uma sele¸c˜ao de gr´aficos estilizados da s´erie mais frequentemente utilizados para monitorar a confian¸ca, a incerteza, o crescimento e os pre¸cos nos setores que comp˜oem a economia brasileira. A fun¸c˜ao dashboard gera um arquivo .pdf e, se o tipo estiver definido como busines cycle, uma de suas cinco p´aginas ser´a semelhante `a da pr´oxima Figura 10. No exemplo, o usu´ario escolhe salvar o arquivo com o nome survey.pdf. Os gr´aficos apresentados tamb´em podem ser escolhidos pelo usu´ario com o parˆametro charts, que ´e all por padr˜ao. O manual (documenta¸c˜ao da fun¸c˜ao) de referˆencia cont´em uma lista completa dos gr´aficos dispon´ıveis. E poss´ıvel obter o´ dashboard utilizando o Algoritmo 3.20.

(41)

3.3 S´eries temporais 40

d a s h b o a r d ( t y p e = ” b u s i n e s s c y c l e ”, s a v e a s = ” s u r v e y . p d f ”)

Algoritmo 3.20: Fun¸c˜ao Dashboards

Figura 10: Exemplo de dashboard (obtido atrav´es do BETS)

3.2.5

Addtional Funcions (Fun¸

oes adicionais)

Estas fun¸c˜oes completam o escopo do pacote e incluem m´etodos que ajudam analistas e geralmente facilitam o uso das informa¸c˜oes contidas nos dados.

As fun¸c˜oes adicionais ser˜ao explicadas (e mostradas) com mais detalhes no estudo de caso que visa demonstrar uma aplica¸c˜ao real do pacote em uma an´alise de dados economicos. Ser´a poss´ıvel perceber a facilidade de pesquisar e obter os dados, tornando a necessidade de sair do ambiente de desenvolvimento quase desnecess´aria.

O BETS se torna uma ferramenta poderosa e ´util para os estat´ısticos e economistas na medida que unifica funcionalidades que antes eram espalhadas por diferentes softwares em um ´unico lugar. Al´em de ser uma aplica¸c˜ao disponibilzada de forma completamente gratuita e constantemente atualizada.

3.3

eries temporais

Uma s´erie temporal ´e um conjunto de observa¸c˜oes feitas sequenciamente ao longo do tempo. A caracter´ıstica mais importante deste tipo de dado ´e que as observa¸c˜oes vizi-nhas s˜ao dependentes e deseja-se analisar e modelar o comportamento dessa dependˆencia. Diferente de outras situa¸c˜oes, a ordem dos dados nesse contexto ´e fundamental.

(42)

3.3 S´eries temporais 41

Como a maior parte dos procedimentos estat´ısticos foi desenvolvido para analisar ob-serva¸c˜oes independentes, o estudo de s´eries temporais requer o uso de t´ecnicas espec´ıficas. Dados de s´eries temporais surgem em v´arios campos do conhecimento como Economia (campo abordado por essa monografia), Epidemiologia, Medicina, Meteorologia etc.

Podemos utilizar o R e o BETS para obter (Algoritmo 3.21) exemplos de s´eries temporais econˆomicas e ilustrar (Figura 11) o conceito apresentado.

BETSsearch (d e s c r i p t i o n = ” Desemprego ”, l a n g = ’ pt ’)

Algoritmo 3.21: Exemplos da BETSsearch

Figura 11: Tabela resultante do uso da BETSsearch para o termo Desemprego.

BETSget ( c o d e = ” 10781 ”) BETSget ( c o d e = ” 10782 ”) BETSget ( c o d e = ” 1623 ”) BETSget ( c o d e = ” 10778 ”)

Algoritmo 3.22: Exemplos da BETSget

O Algoritmo 3.22 mostra como utilizar a fun¸c˜ao BETget pra obter dados de desemprego no Brasil. Na Figura 12 tem-se a visualiza¸c˜ao dos dados referidos anteriormente.

H´a v´arias formas de abordar s´eries temporais, com t´ecnicas descritivas (gr´aficos e identifica¸c˜ao de padr˜oes), com modelos probabil´ısticos (sele¸c˜ao de modelos, estima¸c˜ao e previs˜ao), modelos n˜ao param´etricos e an´alise espectral.

Ao analisar s´eries temporais, a representa¸c˜ao gr´afica ao longo do tempo ´e fundamental e pode revelar padr˜oes de comportamento importantes. Tˆendencias de crescimento ou decrescimento, padr˜oes c´ıclicos, quebras estruturais e outilers s˜ao identificados com base na simples observa¸c˜ao visual de representa¸c˜oes gr´aficas. Sendo assim, a an´alise gr´afica acaba sendo o primeiro passo de qualquer modelagem de s´eries temporais.

(43)

3.3 S´eries temporais 42

Figura 12: Exemplos de s´eries temporais: Taxa mensal (em %) de desemprego no Rio de Janeiro, S˜ao Paulo, Salvador e Refice (regi˜ao metropolitana na semana)

3.3.1

Decomposi¸

ao

Algumas caracter´ısticas presentes em uma s´erie temporal Zt podem ser captadas

le-vando em conta a seguinte forma de decomposi¸c˜ao:

Zt= Tt+ Ct+ Rt, (3.1)

em que Tt´e um componente de tendˆencia, Ct´e um componente de ciclo ou de sazonalidade

e Rt´e um componente aleat´orio ou ru´ıdo branco (erro)1. A compontente de ciclo, se repete

a cada intervalo fixo e n˜ao aleat´orio s, isto ´e:

· · · = Ct−2s = Ct−s = Ct = Ct+s = Ct+2s=... (3.2)

Dessa forma, varia¸c˜oes c´ıclicas podem ser captadas por esta componente.

1Vari´avel aleat´oria i.i.d. com distribui¸ao normal, de m´edia 0 e variˆancia constante σ2 a.

(44)

3.3 S´eries temporais 43

3.3.2

Estacionariedade

Antes de se definir processo estacion´ario, deve-se entender o que ´e processo estoc´astico. Processo estoc´astico ´e uma cole¸c˜ao de vari´aveis aleat´orias que, em geral, s˜ao utilizadas para estudar a evolu¸c˜ao de fenˆomenos (ou sistemas) que s˜ao observados ao longo do tempo, por exemplo, s´eries temporais. Formalmente, ent˜ao, tem-se a seguinte defini¸c˜ao:

Defini¸c˜ao 3.3.1 Seja T um conjunto arbitr´ario. Um processo estoc´astico ´e uma fam´ılia Z = {Z(t), t ∈ T }, tal que, para cada t ∈ T, Z(t) ´e uma vari´avel aleat´oria.

Assim, ao inv´es de descrever o sistema atrav´es de equa¸c˜oes determin´ısticas (como, equa¸c˜oes diferenciais ordin´arias), que dado uma condi¸c˜ao inicial, ´e conhecida toda a evolu¸c˜ao do sistema, utiliza-se processos estoc´asticos, para o qual, dado uma condi¸c˜ao inicial, tem-se diversas trajet´orias poss´ıveis para a evolu¸c˜ao do sistema.

Em situa¸c˜oes em que se pretende utilizar modelos para representar s´eries temporais, ´e necess´ario introduzir suposi¸c˜oes que simplifiquem determinadas classes de processos estoc´asticos.

Um processo Z ´e est´acion´ario se ele se desenvolve no tempo de modo que a escolha de uma origem dos tempos n˜ao ´e importante. De uma forma direta, as caracter´ısticas de Z(t−τ ), para todo τ , s˜ao as mesmas de Zt. Universalmente, h´a duas formas de

estaciona-riedade: fraca e estrita (ou forte)[11].

Defini¸c˜ao 3.3.2 Um processo estoc´astico Z = {Zt, t ∈ T } diz-se fracamente estacion´ario

ou estacion´ario de segunda ordem se, e somente se,

(i) E{Z(t)} = µ(t) = µ constante, para todo t ∈ T ;

(ii) E{Z2(t)} para todot ∈ T ;

(iii) γ(t1, t2) = Cov{Z(t1, Z(t2))} ´e uma fun¸c˜ao de kt1− t2k.

3.3.3

Tendˆ

encia

Podemos pensar em tendˆencia como uma mudan¸ca de longo prazo no n´ıvel m´edio de uma s´erie temporal. Vamos supor que a componente sazonal St n˜ao esteja presente. O

modelo, diferente do modelo 3.1, ser´a

(45)

3.3 S´eries temporais 44

em que at ´e um ru´ıdo branco. H´a diversos m´etodos para estimar Tt. Segundo Morettin

[11], os mais utilizados consiste em:

a) ajustar uma fun¸c˜ao do tempo, como um polinˆomio, uma exponencial ou outra fun¸c˜ao suave de t;

b) suavizar (ou filtrar) os valores da s´erie ao redor de um ponto, para estimar a tendˆencia naquele ponto;

c) suavizar os valores da s´erie atrav´es de sucessivos ajustes de retas de m´ınimos qua-drados ponderados.

Estimando-se a tendencia por ˆTt, pode-se obter a s´erie ajustada para a tendˆencia ou

livre de tendˆencia,

Yt = Zt− ˆTt,

Um procedimento muito utilizado para eliminar a tendˆencia de uma s´erie temporal con-siste em tomar diferen¸cas entre observa¸c˜oes vizinhas. Normalmente, para s´eries temporais econˆomicas, a primeira diferen¸ca

∆Zt= Zt− Zt−1,

j´a ´e estacion´aria.

3.3.4

Sazonalindade

Como mencionado anteriormente, a sazonalidade est´a ligada a periodicidades ou cli-clos, geralmente em fun¸c˜ao de uma ´epoca, festividades, feriados ou esta¸c˜ao do ano. Os ciclos (C) s˜ao longas ondas, mais ou menos regulares, em torno de uma linha de tendˆencia.

Existem dois tipos de sazonalidade: a determin´ıstica e a estoc´astica. A sazonali-dade determin´ıstica: quando pressup˜oe-se um padr˜ao sazonal regular e est´avel no tempo, desta forma ´e poss´ıvel prever o comportamento c´ıclico completamente a partir de dados passados. Sazonalidade estoc´astica quando a componente sazonal da s´erie varia com o tempo.

(46)

3.3 S´eries temporais 45

3.3.5

Fun¸

ao de autocovariˆ

ancia

Seja X(t) = {X(t), t ∈ Z} um processo estacion´ario real discreto de m´edia zero. Sua fun¸c˜ao de autocovariˆancia (f.a.c.v.) ´e definida por

γτ = Cov[Xt, Xt+τ] = E[XtXt+τ].

3.3.6

Fun¸

ao de autocorrela¸

ao

A fun¸c˜ao de autocorrela¸c˜ao (FAC) de um processo estacion´ario ´e definida por

ρτ =

γτ

γ0

, τ ∈ Z.

3.3.7

Fun¸

ao de autocorrela¸

ao parcial

A fun¸c˜ao de autocorrela¸c˜ao parcial (FACP) de um processo estacion´ario corresponde `

a correla¸c˜ao entre Xte Xt−τ removendo o efeito das observa¸c˜oes Xt−1, Xt−2, . . . , Xt−τ +1 e

´e denotada por Φkk. Ou seja:

Φkk= Corr(Xt, Xt−1/Xt−1, Xt−2, . . . , Xt−τ +1).

3.3.8

Correlograma

O correlograma ´e o gr´afico utilizado em s´eries temporais para tra¸car as autocorrela¸c˜oes (tamb´em chamadas em inglˆes de ACF = autocorrelation function) em diversas defasagens. A an´alise desse gr´afico permite entender se a s´erie ´e aleat´oria ou possui alguma tendˆencia ou sazonalidade.

No Figura 13, o eixo vertical indica a autocorrela¸c˜ao e o horizontal a defasagem. A linha tracejada azul indica onde ´e significativamente diferente de zero. Como ´e poss´ıvel ver na imagem, praticamente todos os valores ACF est˜ao dentro do limite da linha tracejada azul. Ou seja, autocorrela¸c˜ao igual a zero, indicando que a s´erie ´e aleat´oria – conforme o esperado.

(47)

3.3 S´eries temporais 46

Figura 13: Exemplos de um gr´afico correlograma

3.3.9

Testes de estacionariedade

Grande parte dos recursos para s´eries temporais foram elaborados utilizando o con-ceitode estacionariedade nas s´eries. Uma forma geral para analisar este fato ´e fazendo um estudo da existˆencia de alguma raiz dos operadores de diferen¸ca dentro do c´ırculo unit´ario, denominada simplesmente por raiz unit´aria.

Portanto, utiliza-se testes de hip´oteses que, em geral, possuem as seguintes hip´oteses:

(

H0 : Existe pelo menos uma raiz no c´ırculo unit´ario,

H1 : N˜ao existem ra´ızes no c´ırculo unit´ario.

A seguir, ser´a apresentado o teste que ser´a utilizado no decorrer das an´alises deste estudo.

(48)

3.4 Teste de Raiz unit´aria sazonal 47

3.3.10

Teste de Dickey-Fuller Aumentado

O teste de Dickey-Fuller aumentado [12] ´e conhecido na literatura como teste ADF (Augmented Dickey-Fuller ) e requer o estudo sobre a seguinte regress˜ao:

∆yt= β1+ β2t + δyt−1+ m

X

i=1

αi∆yt−i+ t,

em que β1 ´e o intercepto, tamb´em denominado como drift da s´erie; β2 ´e o coeficiente de

tendˆencia; δ ´e o coeficiente de presen¸ca da raiz unit´aria e m ´e o n´umero de defasagens tomadas na s´erie.

Neste caso a hip´otese nula ´e dada por H0 : δ 6= 0.

Faz-se uma regress˜ao de ytem yt−1, ∆yt−1, . . . , ∆yt+p−1calculando a estat´ıstica T dada

por

T = ˆ δ se(ˆδ),

em que ˆδ ´e um estimador para δ, e se(ˆδ) ´e um estimador para o desvio padr˜ao do erro de δ.

Os valores cr´ıticos da estat´ıstica T foram tabelados por Dickey e Fuller [12] atrav´es de simula¸c˜ao de Monte Carlo e variam nos casos de presen¸ca somente de intercepto, presen¸ca somente de tendˆencia e presen¸ca de ambos.

3.4

Teste de Raiz unit´

aria sazonal

3.4.1

Teste de Osborn-Chui-Smith-Birchenall

O teste de Osborn-Chui-Smith-Birchenhall [13] ´e habitualmente designado teste de OCSB e ´e o teste mais comum para se obter o n´umero de diferencia¸c˜oes sazonais ne-cess´arias para tornar uma s´erie estacion´aria na parte sazonal.

A regress˜ao do teste tem a forma:

∆∆12Zt= βt−1+ 12 X k=1 δkDkt+ p X k=1 φk∆∆12Zt−1+ t, (3.4)

em que Dk uma vari´avel sazonal que toma o valor 1 no mˆes k e 0 no restante dos meses

Referências

Documentos relacionados

(2014) frisaram que a cidade sofre a ação da brisa fluvial e que, nestas condições, a umidade é transportada para o interior do continente, favorecendo a formação

Quantos quartos devem ser alugados para produzir a receita di´ aria m´ axima?. (g) Os gastos de combust´ıvel de um navio s˜ ao proporcionais ao cubo

Sendo assim, a automação residencial pode prover meios para controlar todos os sistemas da residência como sistema de ar condicionado e aquecimento, home- office, contemplando

VUOLO, J.H. Fundamentos da Teoria de Erros, Edgard Blucher Ltda, São Paulo, 1992 YIN, R.K. Estudo de caso: planejamento e métodos, Bookman, Porto Alegre, 2005.. Quando a

Chora Peito Chora Joao Bosco e Vinicius 000 / 001.. Chão De Giz Camila e

No sentido de reverter tal situação, a realização deste trabalho elaborado na disciplina de Prática enquanto Componente Curricular V (PeCC V), buscou proporcionar as

• Não há inflação de alimentos, há inflação, causada por choques cambiais, auxílio emergencial, problemas fiscais e má gestão de estoques públicos;. • O Brasil precisa

celebrar e testemunhar a Fé da Igreja. Este é também o Programa da Comunidade de Santa Maria dos Olivais. Enquanto Pároco de Santa Maria dos Olivais, no contexto da definição do