Sigo a reprodução do artigo baseado em minha dissertação de mestrado. Acredito que, além deste, irei publicar só mais um texto e encerro esta série. Adianto um ensinamento desta experiência que é já deixar o material em um formato de fácil reprodução, pois tem sido trabalhoso todo esse esforço.

Recapitulando o que já foi discutido, segue uma série de links:

  • Dissertação que originou o artigo, aqui;

  • Artigo publicado, aqui;

  • Resumo do que trata o artigo, aqui;

  • Reprodução das análises de convergência absoluta e condicionada,aqui.

  • Neste texto é apresentado e aplicado o teste para identificar a dependência espacial no modelo.

Este texto pretende demonstrar diferentes formas de tratar a dependência espacial identificada.

Modelos de tratamento espacial

Pois bem, uma vez que detectamos a presença de dependência espacial no modelo de crescimento, isso significa que há uma variável omitida, que assumimos ser uma variável importante. Logo, ao omitir uma variável importante, o modelo estaria heterocedástico. Desse modo, precisamos “tratar” esta dependência espacial de forma a melhorar a capacidade explicativa do modelo. O pacote spdedp tem a função lm.LMtests que realiza o diagnóstico de qual modelo seria mais adequado para esse tratamento. Estes tratamentos podem ser pela “espacialização” do erro, LMerr, da defasagem espacial, LMlag, ou, ainda, com a utilização das duas defasagens.

Modelo teórico

Vou expor as equações do modelo, para ficar mais fácil de entender. O blog está com um problema nas configurações que estou tentando solucionar. Caso as equações apareção codificadas, é sinal de que ainda não resolvi isso [:-).

Considere como modelo estimado:

$$ \delta Y_i = \alpha + X_i \beta + \epsilon $$

Em que \(\delta Y_i\) é o ganho de produtividade Y, do município i, \(\alpha\) é o termo constante, X são as variáveis de controle para o município i, \(\beta\) é o seu coeficiente e \(\epsilon\) é o termo de erro. A dependência espacial identificada afeta o termo de erro, logo, será necessário inserir a variável “espacial” no modelo. Isso é feito com a inserção de uma matriz de vizinhança W, explicada no texto anterior.

Ela pode ser inserida:

  • Termo de erro (LMerr):

$$ Y_i = \alpha + X_i \beta + \epsilon $$

$$ \epsilon = W\epsilon + \mu $$

$$ Y_i = \alpha + X_i \beta + W\epsilon + \mu $$

  • Defasagem da produtividade dos vizinhos(LMlag):

$$ Y_i = \alpha + Wy_j+ X_i \beta + \epsilon $$

Em que \(y_j\) representa a produtividade inicial dos municípios vizinhos.

  • A defasagem tanto da produtividade dos vizinhos, quanto do termo de erro (SARMA):

$$ Y_i = \alpha + Wy_j+ X_i \beta + W\epsilon + \mu $$

Teste

Como já foi comentado, o teste utiliza a função lm.LMtests, que é o diagnóstico pelo multiplicador de Lagrange. E, para fazer o teste, precisamos aplicá-lo no modelo estimado no texto sobre convergência absoluta e condicionada.

Então vamos seguir o mesmo procedimento:

# Importação da base de dados

BASE <- read.csv("http://raw.githubusercontent.com/RodrigoAnderle/Artigos-Reproduz-veis/master/Fatores%20Espaciais%20Comuns%20(RBERU)/NE1991.csv"
                 , header = T)

# Estimação do modelo, ainda como regressão linear.

CC9110 <- lm(lng9110~lnProd1991+EMedio1991+Analf1991
    +Urb1991+LnPop1991+Indus1991+Serv1991+Gini1991, data=BASE)

Mais uma vez, a regressão vai ser testada utilizando a matriz de vizinhança. Pelos resultados do último texto, identificamos que a matriz mais adequada seria a rook de grau 1 1. Então, vamos baixar esta matriz e rodar os testes utilizando ela.

# Para lidar com dados espaciais é necessário carregar o pacote "spdep"
library(spdep) 
#caso não tenha, é necessário instlá-lo antes com "install.packages("spded")"

#Leitura da matriz de vizinhança
R1<-read.gal("https://raw.githubusercontent.com/RodrigoAnderle/Artigos-Reproduz-veis/master/Fatores%20Espaciais%20Comuns%20(RBERU)/R1.gal"
             ,BASE$MUN) 
WR1<-nb2listw(R1) # ajuste necessário para utilização

A função lm.LMtests tem uma série de inputs, mas só vamos utilizar três: o modelo, CC9110; a matriz de vizinhança, WR1; e que modelo queremos testar, no caso todos (all).

#Teste LM

teste <- lm.LMtests(CC9110,WR1,test="all")
print(teste)
## 
##  Lagrange multiplier diagnostics for spatial dependence
## 
## data:  
## model: lm(formula = lng9110 ~ lnProd1991 + EMedio1991 + Analf1991
## + Urb1991 + LnPop1991 + Indus1991 + Serv1991 + Gini1991, data =
## BASE)
## weights: WR1
## 
## LMerr = 52.076, df = 1, p-value = 5.338e-13
## 
## 
##  Lagrange multiplier diagnostics for spatial dependence
## 
## data:  
## model: lm(formula = lng9110 ~ lnProd1991 + EMedio1991 + Analf1991
## + Urb1991 + LnPop1991 + Indus1991 + Serv1991 + Gini1991, data =
## BASE)
## weights: WR1
## 
## LMlag = 7.6247, df = 1, p-value = 0.005758
## 
## 
##  Lagrange multiplier diagnostics for spatial dependence
## 
## data:  
## model: lm(formula = lng9110 ~ lnProd1991 + EMedio1991 + Analf1991
## + Urb1991 + LnPop1991 + Indus1991 + Serv1991 + Gini1991, data =
## BASE)
## weights: WR1
## 
## RLMerr = 51.407, df = 1, p-value = 7.507e-13
## 
## 
##  Lagrange multiplier diagnostics for spatial dependence
## 
## data:  
## model: lm(formula = lng9110 ~ lnProd1991 + EMedio1991 + Analf1991
## + Urb1991 + LnPop1991 + Indus1991 + Serv1991 + Gini1991, data =
## BASE)
## weights: WR1
## 
## RLMlag = 6.9552, df = 1, p-value = 0.008358
## 
## 
##  Lagrange multiplier diagnostics for spatial dependence
## 
## data:  
## model: lm(formula = lng9110 ~ lnProd1991 + EMedio1991 + Analf1991
## + Urb1991 + LnPop1991 + Indus1991 + Serv1991 + Gini1991, data =
## BASE)
## weights: WR1
## 
## SARMA = 59.032, df = 2, p-value = 1.519e-13

São apresentados cinco resultados: dois para LMerr e dois para LMlag, e um SARMA. Os dois primeiros modelos tem uma variação para modelos robustos na presença de outras dependências.

Olhando os resultados, todo os testes foram estatisticamente significantes, como fica demonstrado no p-value de cada um. A escolha do modelo mais adequado para o tratamento da dependência espacial, segundo Anselin (2003), deve ser feita pelo modelo que apresentar maior valor no diagnóstico. Isso acontece com o modelo SARMA:

#Caregando pacote stargazer para geração de tabelas
library(stargazer)

#Construindo tabela, com resumo dos resultados
stargazer(c(teste$LMerr$statistic,
        teste$LMlag$statistic,
        teste$SARMA$statistic), 
          type = "html",
          title = " Resultados: diagnóstico do multiplicador de Lagrange")
Resultados: diagnóstico do multiplicador de Lagrange
LMerrLMlagSARMA
52.0767.62559.032

Assim, verificamos que o modelo que deve ser utilizado para o tratamento desta dependência espacial, nesta regressão, é o SARMA. No próximo texto, este modelo será utilizado para a regressão dos resultados e faremos uma extensão para a hipótese dos fatores comuns. Espero ter conseguido dar uma ideia geral da aplicação. Maiores detalhes podem ser encontrados no artigo e na dissertação.



  1. O que fica evidenciado pelo maior valor do teste de Moran entre as matrizes testadas. [return]