O IPCA do Arthur (presente de aniversário)

Aluna do Nepom mira em Arthur: “-O IPCA ou a vida!”

Arthur, que hoje aniversaria – embora ele acuse o professor de não saber disto, mesmo sem checar seu perfil no Facebook – perguntou-me na prévia do Nepom acerca do IPCA. Da forma como me lembro, a pergunta foi: o IPCA dessazonalizado cai em Janeiro todo ano? A pergunta, então, denota uma desconfiança de que, mesmo se eu tirar o ciclo sazonal (por algum método), ainda assim observaria um segundo ciclo?

Como sabemos, uma série de tempo pode apresentar vários ciclos. Também sabemos que métodos para dessazonalizar as séries são uma dádiva infernal, i.e., são tantos que nem sei por onde começar. Ou seja, vamos partir do mais simples então.

Supondo a decomposição clássica de uma série de tempo, podemos usar o comando decompose do R para obter seus componentes. Ainda que eu não vá entrar em detalhes sobre métodos de dessazonalização, cito a documentação do R:

The additive model used is:

Y[t] = T[t] + S[t] + e[t]

The multiplicative model used is:

Y[t] = T[t] * S[t] * e[t]

The function first determines the trend component using a moving average (if filter is NULL, a symmetric window with equal weights is used), and removes it from the time series. Then, the seasonal figure is computed by averaging, for each time unit, over all periods. The seasonal figure is then centered. Finally, the error component is determined by removing trend and seasonal figure (recycled as needed) from the original time series.

This only works well if x covers an integer number of complete periods.

Bom, se você já parou para pensar no assunto, sabe que modelos aditivos e multiplicativos são diferentes (embora uma log-linearização seja sempre um bom atalho). Basicamente, no modelo aditivo, imaginamos que a sazonalidade se comporte de maneira, digamos, estável. Em um modelo multiplicativo, a sazonalidade apresentaria variações nas amplitudes. É, eu sei, você prefere que eu faça um desenho.

Pronto, taí o desenho. No caso das variações do IPCA eu arrisco dizer – sem uma análise estatística mais sólida – que a tendência não existe. Dito isto, passemos ao IPCA. Uso a amostra no período 1999.01 – 2014.01 por questões de conveniência, embora você possa justificar dizendo que estou olhando para o período do Sistema de Metas de Inflação. Não importa. É só uma amostra.

Então, para responder a pergunta do Arthur, eu vou fazer um exercício meio simplório, mas razoavelmente eficaz. Começo com o gráfico das variações do IPCA seguido de sua decomposição.

ipca11

Ok, agora vamos ver o gráfico do IPCA com suas médias mensais:

ipca12

Como você pode ver, sim, as médias mensais mudam. A decomposição na primeira figura mostra que o algoritmo identificou um padrão sazonal. Então, o que eu fiz, foi gerar o gráfico das médias mensais do IPCA descontado do fator sazonal.

ipca13

Veja, após subtrair o padrão sazonal, as médias mensais ficam muito próximas.  O próximo passo para responder a pergunta do Arthur é calcular um teste de médias (alguém lá no IME deixou um belo conjunto de aulas online). Já que estamos usando o R, talvez valha a pena olhar algum tutorial no R. Aliás, parece-me que é bem fácil fazer o teste. Por exemplo, para ver a média da série em comparação com a média da série dessazonalizada, uso o seguinte comando:

t.test(ipca_limpinho, ipca, “g”, 0, FALSE, TRUE, 0.95)

Cujo resultado é:

Two Sample t-test

data: ipca_limpinho and ipca
t = -0.0284, df = 360, p-value = 0.5113
alternative hypothesis: true difference in means is greater than 0
95 percent confidence interval:
-0.06703939 Inf
sample estimates:
mean of x mean of y
0.5354944 0.5366298

Eu sei que o p-valor é algo controverso (ver o debate citado lá no meu blog), mas, a 5%, parece que ficamos com uma rejeição ou não-rejeição de 50% (ok, é 51.13%, mas vamos pensar sem muitas complicações).

Entretanto, isso não é o que o Arthur perguntou. O que fiz acima foi o teste para a série como um todo comparada com ela mesma descontada da sazonalidade (o que chamei de ipca_limpinho). A pergunta do Arthur exige que eu use uma amostra menor, que só inclua os meses de janeiro de ambas as séries. Para fazer isto é necessário rearrumar a base e refazer as contas apenas para a amostra com os meses de Janeiro.

A base está salva e eu a coloquei aqui, para o Arthur terminar o trabalho (veja no final do script como eu a gerei). E agora, Arthur?

Ah sim, a dica do R (eis o meu script). Disponibilizo minha base original aqui (esta citada aí na segunda linha do script).

setwd(“c:/Users/cdshi_000/Documents/Meus Documentos/Meus Documentos”)
base<-read.table(“c:/Users/cdshi_000/Documents/Meus Documentos/Meus Documentos/ipca99_teacher.csv”,header=TRUE, sep=”,”, na.strings=”NA”, dec=”.”, strip.white=TRUE)

summary(base)
base$IPCA <- ts(base$IPCA,start=c(1999,1),freq=12)

ipca<-base$IPCA

monthplot(ipca) # para verificar o padrao sazonal

ipcadec<-decompose(ipca)
plot(ipcadec)
monthplot(ipca-ipcadec$seasonal)
ipca_limpinho<-ipca-ipcadec$seasonal
t.test(ipca_limpinho, ipca, “g”, 0, FALSE, TRUE, 0.95)
x=data.frame(ipca, ipca_limpinho)
write.csv(x, file=”arthur.csv”)

4 respostas em “O IPCA do Arthur (presente de aniversário)

  1. Pingback: Ainda o Numerário (continuação | De Gustibus Non Est Disputandum

  2. Pingback: IPCA goes to …. Arthur | Nepom - Núcleo de Estudos de Política Monetária

  3. Pingback: R para curiosos (alguns posts didáticos sobre R aqui e no Nepom) | De Gustibus Non Est Disputandum

  4. Pingback: Dicas de R (2.0 para quem chegou atrasado do Carnaval) | De Gustibus Non Est Disputandum

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s