Uncategorized

Passeios Aleatórios em Salvador

Alá-lá-ô-ô-ô!

Carnaval é época de se fazer passeios em Salvador, segundo alguns foliões. Bem, por que não um passeio aleatório? Antes que você imagine que estou bêbado, talvez seja legal dar uma olhada nesta video-aula que fiz ano passado (é a primeira desta pequena série). Façamos uma pausa para você se inteirar do tema.

Pronto. Agora que você já sabe o básico, vamos falar do livro de Richard Graham (Graham, R. (2013). Alimentar a Cidade – das vendedoras de rua à reforma liberal (Salvador, 1780-1860), Companhia das Letras). O autor explorar a Salvador do final do século XVIII sob a ótica do funcionamento do mercado de alimentos. Bem, a leitura do livro está em andamento, então não posso falar muito. Mas posso dizer que o autor construiu um interessante índice de custo de vida para a cidade.

Segundo ele, os principais elementos da cesta de consumo do cidadão (escravo, livre, rico, pobre, etc) consistiam de eram: farinha de mandioca e carne (quase posso visualizar uma tradicional carne de sol com mandioca no meu prato…mas são apenas 8:57 da manhã). Além disso, diz o autor, havia outros itens, importados, mas estes eram mais comuns aos mais ricos.

Seu índice do custo de vida, no Apêndice A do livro, inclui os preços de farinha de mandioca, carne fresca, escravos (custo) e a taxa de câmbio (em relação à libra esterlina). Arbitrariamente, ele deu o mesmo peso aos quatro fatores (se você não gostou…construa seu índice antes de criticar o trabalho do autor).

A partir daí, temos o belo gráfico que se segue (base: 1824 = 100).

salvador1

 

Dados anuais, como se vê. É uma série relativamente curta, eu sei. Mas serve para ajudar o leitor a praticar no R, não é? Pois bem. Visualizar esta série é quase a mesma coisa de dizer: há uma tendência de alta no custo de vida durante a amostra. Há lá uma ou outra interrupção, notadamente no início dos 40 (1845, para ser exato), mas nada que tenha interrompido a trajetória ascendente.

Podemos pensar na “inflação”, verificando a taxa de variação deste índice.

inflacao_salvador

 

Os dados mostram uma inflação mais ou menos estacionária em torno da média? Eu diria que sim, mas a queda em 1845 ainda é um efeito marcante. Como a série é curta, esta queda bem pode ser pensada como uma variação aleatória – mas eu sei que muitos gostariam de ver uma quebra estrutural e, claro, teríamos que ter um teste robusto a pequenos tamanhos de amostra – e assim seguirei.

Agora sim, passeios aleatórios! E em R!!!

O leitor que já assistiu a video-aula acima e/ou que já estudou um pouco de econometria de séries de tempo, tem aqui uma oportunidade de fazer um exercício simples: aplicar testes de raiz unitária sobre a série. Especificamente, vamos aplicar o teste ADF. Utilizaremos o pacote urca, que é um paraíso para os que gostam de testes de raiz unitária.

Inicialmente, copiei e colei a série no R. Pedi para ver as primeiras observações para conferir se estava tudo ok.

historia<-read.table(file=”clipboard”,sep=”\t”,header=TRUE)
head(historia)

Nomear a variável e dizer que é uma série de tempo é algo que o leitor deste blog já sabe fazer. Mas aí vai. De quebra, os comandos que geraram os dois gráficos acima.

custo_de_vida_Salvador<-ts(historia$custo_de_vida_Salvador, start=c(1791),freq=1)
plot(custo_de_vida_Salvador)
plot(diff(log(custo_de_vida_Salvador)))

Vou trabalhar em escala logaritmica e, assim, é mais fácil renomear a variável, embora isso não seja necessário.

lcv<-log(custo_de_vida_Salvador)
plot(lcv)

Chamando o pacote urca (lembre-se que se você não o instalou, precisa fazê-lo antes).

library(urca)

Caso você seja novo nisto, e se está em dúvida, veja a sintaxe do comando que vou usar, “ur.df”, digitando (e executando) a linha de comando abaixo.

?ur.df

O teste ADF (Augmented Dickey-Fuller) pode ser feito sob três especificações. Há dois protocolos básicose para tal. Você pode seguir um fluxograma (como nos ensina o livro-texto básico do Walter Enders) ou escapar de inconsistências do mesmo usando uma abordagem mais pragmática como a exposta no livro-texto do Gujarati (mais simples de todos do mercado, acho).

Para fins didáticos, faço as três especificações, mas adianto que o eyeballmetrics diz-nos que o modelo a ser testado deveria incluir tendência e intercepto, vale dizer, deveríamos olhar para a especificação mais geral:

Fonte: Wikipedia

Muito bem. A idéia do teste é melhor entendida se pensarmos no mesmo sem a parte extendida (que lá está apenas para evitar problemas de auto-correlação na equação do teste). Para detalhes, dê uma rápida olhada aqui (ou vai estudar, né, meu filho!). Repare que usei o critério AIC para selecionar o número de termos defasados da parte “aumentada”. Você pode mudar este critério se quiser.

Os comandos:

adf_lcv<-ur.df(lcv,type=c(“trend”), selectlags=c(“AIC”))
summary(adf_lcv)
adf_lcvd<-ur.df(lcv,type=c(“drift”), selectlags=c(“AIC”))
summary(adf_lcvd)
adf_lcvn<-ur.df(lcv,type=c(“none”), selectlags=c(“AIC”))
summary(adf_lcvn)

Vou olhar para os resultados. Primeiro deles, com constante e tendência.

> summary(adf_lcv)

###############################################
# Augmented Dickey-Fuller Test Unit Root Test #
###############################################

Test regression trend
Call:
lm(formula = z.diff ~ z.lag.1 + 1 + tt + z.diff.lag)

Residuals:
Min 1Q Median 3Q Max
-0.308055 -0.033710 0.004324 0.032329 0.266900

Coefficients:
Estimate     Std. Error   t value   Pr(>|t|)
(Intercept)       0.431004   0.207669   2.075   0.0420 *
z.lag.1            -0.112944   0.056872   -1.986  0.0513 .
tt                      0.003504   0.001703   2.057   0.0437 *
z.diff.lag           0.072480   0.125376   0.578   0.5652

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.0704 on 64 degrees of freedom
Multiple R-squared: 0.06238, Adjusted R-squared: 0.01843
F-statistic: 1.419 on 3 and 64 DF, p-value: 0.2453
Value of test-statistic is: -1.9859 4.5111 2.1167

Critical values for test statistics:
1pct 5pct 10pct
tau3 -4.04 -3.45 -3.15
phi2 6.50 4.88 4.16
phi3 8.73 6.49 5.47

Antes de qualquer coisa, repare que o AIC nos retornou uma equação para o teste ADF com apenas uma defasagem da variável dependente ΔLcvt. A tendência determinista é denominada “tt” e seu coeficiente é próximo de zero, embora estatisticamente significativo a 5%. O coeficiente de Lcvt-1, central para nosso teste de hipóteses, é fracamente diferente de zero, no sentido de ser estatisticamente significativo a 10%.

Caso você queira dar uma olhada na tabela, repare que -1.9859 diz respeito ao tau3 estimado, 4.5111 ao phi2 estimado e, finalmente, 2.1167 é análogo para phi3. Em outras palavras, a 1%, você olharia -1.9859 comparativamente a -4.04, para tau3 (qual é a hipótese nula?). Para phi2, você compara o phi2 calculado, 4.5111 com 6.50, a 1% (qual é a hipótese nula?). Não preciso dizer como fazer com phi3, certo?

Mas, que hipótese nula você está analisando? Em cada caso você testa uma variante de processos com raiz unitária. A análise é sempre com o módulo dos valores (calculados e tabelados). Então, voltando ao parágrafo anterior, se 1.9859 < 4.04, não rejeitamos a hipótese nula do teste tau3. Esta é a hipótese de que existe raiz unitária.

No caso de phi3, testa-se se há raiz unitária e se a tendência determinista (“tt”, na saída do teste) tem coeficiente nulo. Finalmente, phi2 testa se há raiz unitária, se o coeficiente da tendência determinista é nulo e se o intercepto também é nulo.

A 1%, em qualquer um dos testes, temos como resultado a existência de raiz unitária (lembre-se de olhar os valores em módulo!). Os testes phi2 e phi3 parecem indicar a ausência de intercepto e tendência no teste conjunto com a existência de raiz unitária. Assim, a especificação do processo estocástico do índice de custo de vida seria algo assim:

Lcvt – Lcvt-1 = -0.112944Lcvt-1 + erro aleatório         ou seja,

Lcvt = (1 – 0.112944)Lcvt-1 + erro aleatório -> aproximadamente ->

Lcvt = 0.99Lcvt-1 + erro aleatório

Claro, você pode fazer os outros testes. Vou apenas resumir agora. Com a especificação que exclui a tendência determinista, o teste de raiz unitária (tau2) continua nos confirmando a raiz unitária e o teste de que há raiz unitária e não há constante, phi1, também (4.4297 < 6.70 a 1%).

Coefficients:
Estimate     Std. Error    t value Pr(>|t|)
(Intercept)       0.0275203   0.0700130   0.393  0.696
z.lag.1             0.0001639   0.0149285   0.011  0.991
z.diff.lag          0.0187893   0.1256437   0.150  0.882

Residual standard error: 0.07212 on 65 degrees of freedom
Multiple R-squared: 0.0003596, Adjusted R-squared: -0.0304
F-statistic: 0.01169 on 2 and 65 DF, p-value: 0.9884

Value of test-statistic is: 0.011 4.4297

Critical values for test statistics:
1pct 5pct 10pct
tau2 -3.51 -2.89 -2.58
phi1  6.70 4.71 3.86

Para a última especificação, rejeita-se a existência de raiz unitária, mas o resultado da equação de teste nos dá um resultado que não faz sentido, pois o coeficiente Lcvt-1 é positivo, o que significaria que o processo seria explosivo! Reproduzo parcialmente a saída:

                   Estimate Std. Error t value Pr(>|t|) 

z.lag.1        0.005978 0.002013 2.969 0.00416 **
z.diff.lag     0.014636 0.124394 0.118 0.90669

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.07166 on 66 degrees of freedom
Multiple R-squared: 0.1416, Adjusted R-squared: 0.1156
F-statistic: 5.443 on 2 and 66 DF, p-value: 0.006484

Value of test-statistic is: 2.9695

Critical values for test statistics:
1pct 5pct 10pct
tau1 -2.6 -1.95 -1.61

Conclusão: segundo o ADF, teríamos que o logaritmo do índice do custo de vida em Salvador seria um passeio aleatório puro. Claro, você pode ler e estudar sobre as limitações deste teste, mas vamos explorar um pouco o tema. Ou seja, suponha que este resultado está ok. O que isto significa?

O custo de vida é um passeio aleatório!

O exercício acima nos deu como resultado que o custo de vida levantado por Graham (2013) seria um passeio aleatório. Isto significa que as variações no custo de vida – que poderíamos chamar de “inflação” seriam aleatórias (ou um ruído branco, para os que apreciam um pouco mais de exatidão).

Isto significa que choques no custo de vida de Salvador seriam persistentes. Digamos, um choque no preço dos escravos, na época (um aumento de custos, digamos, por conta de bloqueios britâncios aos navios negreiros brasileiros) seria incorporado ao custo de vida de Salvador. Não é a mesma coisa de um choque que se dissipa rapidamente – que poderíamos chamar de temporário – mas sim um que incorpora permanentemente no custo de vida. Isto significa que até a tendência do custo de vida muda (no choque temporário, o desvio seria…temporário e, portanto, logo você voltaria à tendência original).

O autor do interessante livro relata um debate sobre a adoção de um livre mercado para a farinha de trigo e o uso de estoques reguladores por parte do governo municipal e seu “celeiro público”. Com uma breve discussão sobre um breve surto de liberalismo em Salvador, o autor parece tomar partido dos adversários do livre mercado. O problema é que ele não faz qualquer análise de custo-benefício e, quando se refere a um liberal, chama-o de “empedernido”, o que não é exatamente um adjetivo positivo e nem nos ajuda muito a entender o impacto do liberalismo em Salvador, o que empobrece um pouco a análise do livro, creio eu.

A persistência no custo de vida em Salvador, detectada pelos dados, pode nos ajudar a entender o que ocorreu na história? Não sei. Mas o exercício em R é este e, goste-se ou não do livro, você tem que lê-lo para tirar suas próprias conclusões.

Anúncios

2 comentários em “Passeios Aleatórios em Salvador

Deixe um comentário

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 )

Foto do Google

Você está comentando utilizando sua conta Google. 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 )

Conectando a %s