Tutorial de econometria espacial utilizando o STATA Dr. Daniel de Abreu Uhr Renan Porn Peres Ricardo Capra Schuch ---------------------------------------------------------------- -------------------------------------------------- 1. STATA: Análise espacial de dados a) Instalação de pacotes ........................................................ ................................ 2 b) Baixando e utilizando o Shapefile ...................................................... ................ 3 i) No Stata .......................................................... ............................................. 3 ii) No Geoda .......................................................... ......................................... 5 c) Gerando matriz de pesos .......................................................... .......................... 6 i) SPATWMAT ....................................................... ............................................ 6 ii) SPMAT .......................................................... ................................................ 7 iii) MATA …............................................................... ........................................ 7
14
Embed
Tutorial de econometria espacial utilizando o stata
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Tutorial de econometria espacial utilizando o STATA
a) Instalar os pacotes necessários no STATA:Definindo diretórios e processamento para lidarmos com matrizes espaciais
set more off
set matsize 1200
cd "C:\Users\User\Desktop\RS"
Para gerar um arquivo txt salvando o que foi feito
cap log using "spatialeconometrics", replace
Você deve instalar alguns pacotes que irão ser uteis para rodar os comandos de econometria espacial:
ssc install spmap
ssc install sppack
ssc install shp2dta
ssc install mif2dta
net install xsmle, all from(http://www.econometrics.it/stata)
findit sg162
Observação O pacote sg162 não esta disponível de modo isolado para o Brasil, por isso usamos o comando findit para acha-lo e assim, baixar os pacotes que ele esta contido.
Este comando atualiza os demais pacotes já existentes:
adoupdate
adoupdate, update
Baixando malhas geográficas
Para qualquer análise espacial é necessário um mapa da área de interesse, assim precisamos baixar estes arquivos shp. de sites como ibge, ipea, etc. que disponibilizam estes arquivos para download. O IBGE oferece uma base de dados completa contendo shapefile de diversos periodos em ftp://geoftp.ibge.gov.br/malhas_digitais/
Só conseguimos visualizar arquivos .dbf com o programa Openofice http://www.openoffice.org/download
i) No STATA:
Precisamos colocar o Shapefile (Arquivo .shp) para dentro do Stata (.dta):
shp2dta using “diretório do arquivo SHP”, database (exemplo1.dta) coordinates (exemplo2.dta) genid (_ID)
Com isso, colocamos uma base de DTA com as informações do Shape para dentro do sistema do STATA. Temos assim, dois arquivos DTA para esse Shape e um identificador que será útil na plotagem dos mapas.
Pareando com seus dados:Precisamos que o banco de dados esteja pareado com o banco gerado pelo arquivo Shape. Para isso:
Nos interessa colocar 4 variáveis no banco exemplo1.dta gerado pelo arquivo shape para o banco de variáveis (dbRS.dta). Estas são codigo id longitude e latitude.
Assim salvamos estas 4 váriaveis em uma arquivo para juntarmos como o banco de dados.use "C:\Users\User\Desktop\RS\banco.dta"
merge m:m codigo using "C:\Users\User\Desktop\RS\cord.dta"
Result # of obs.
-----------------------------------------
matched 496 (_merge==3)
drop _merge
save “"C:\Users\User\Desktop\RS\base.dta"
clear all
Assim temos as mesmas variáveis que serão úteis para a criação das matrizes de pesos e para geração de gráficos em ambos os bancos: coordRS.dta e base.dta
ii) Gerando a matriz de pesos espaciais através do GEODA:
Você deve ter o arquivo shape de interesse e o software Geoda para isso
Carregar Shapefile no Geoda-> Criar Pesos(Create Weights)-> Add Variable-> Código ou Nome da região-> Queen Contiguity -> Create
Salve o a matriz de pesos (arquivo.gal) no diretório de arquivos do STATA.
c) Criando Matriz de PesosPara fazermos inumeras análises espaciais, precisamos cria uma matriz de pesos espaciais. Esta matriz especifica o grau da conexão entre uma unidade espacial com outra. Especifica como unidades i e j se relacionam, um exemplo: são vizinhos?
i) SPMAT é um dos comandos para a criação de matrizes contiguas. Para criarmos matrizes por esse comando precisamos importar a shapefile e utilizar o banco de coordenadas gerado por este processo, como já vimos antes. Veja alguns exemplos: spmat cont WC using "C:\Users\User\Desktop\RS\coordRS.dta", id( _ID )
spmat import WG using "C:\Users\User\Desktop\RS\43mu500gc.gal", geoda
O comando SPMAT pode ser utilizado para a criação de matrizes distâncias. Veja:
spmat idistance WIr _X _Y, id( _ID ) normalize(row)
Para excluir a matriz gerada usamos o seguinte comando:
spmat drop W
Exportar a matriz de pesos em dta:
spmat save W using "filename.dta"
Para visualizar a matriz de pesos devemos salva-la em txt:
spmat export W using "filename.txt"
O código de ID na matriz corresponde ao do Geoda.
Descrição da matriz:
spmat summarize WC
spmat sum WC, links detail
spmat graph WG
Para observarmos os autovalores
spmat eigenvalues WC
ii) SPATWMAT é um dos comandos mais utilizados para a criação de matrizes. Utiliza as coordenadas do banco de dados para a criação da matriz e conecta todas as unidades, no nosso caso os vizinhos, via distância. Veja:
A matriz de pesos, W, é a inversa da distância da matriz padronizada, de modo que a soma é 1. Os itens xcoord e ycoord especifica quais variáveis contem a localização em coordenadas das localizações.
No item band especificamos a distancia máxima, no nosso exemplo usamos 10 milhas. Vamos dar uma olhada nesta matriz:
mat list W
Podemos também usar a matriz gerada pelo software Geoda, para isso devemos usar o comando
sort _ID
Com o objetivo de ordenar conforme a variável _ID do Geoda, que está no banco de dados, pois a matriz gerada a partir do Geoda utiliza a linha em que está o objeto analisado para identificação.spatwmat using "C:\Users\User\Desktop\RS\geod.dta" ,name(Wg) standardize
iii) Para alterarmos uma Matriz: Temos que usar o MATA
Passando a Matriz da memória do spmat para a memória do MATA:
spmat getmatrix WC A
mata: A
link útil de operações no mata: http://www.stata.com/support/faqs/data-management/element-by-element-operations-on-matrices/
d) Verificando a dependência espacial:Alguns Gráficos para verificar se os dados estão concentrados
Carregando o banco de variáveis:
use base, clear
Agora, vamos descrever as variáveis de interesse
describe _ID furto_veic
i) Gerando um mapa de corrupção para o Rio Grande do Sul:
spmap furto_veic using coordRS, id(_ID) legend(symy(*2) symx(*2) size(*2)) clnumber(5) fcolor(Greens) legstyle(2) title("Furto de veiculos no Rio Grande do Sul", size(*0.8)) note("Pelotas, Rio Grande do Sul 2014 neighorhood data")
O pacote spmap tem muitas opções, aproveite para checar:
help spmap
ii) Diagnóstico Espacial
A) Teste do Índice de Moran
Verificar se as variáveis tem dependência espacial:
spatgsa furto_veic, w(Wg) moran
B) Teste do Índice Local de Dependência Espacial (LISA):
Ao observar estas saídas percebemos que tanto o erro esta correlacionado com o erro dos vizinhos, bem como a variável dependente esta correlacionada com o furto de veículos dos vizinhos, assim precisamos considerar ambas no modelo.
ii) Modelos de regressão espacial
A) Modelos com defasagens espaciais nos erros e na variável dependente
Efeito Global do Erro - ex: novo sistema de produção
Efeito Local do Erro - ex: poluição local
1) Regressão GMM SAR – Quando não tem erro espacial, em dois estágios.
O modelo é Y = dlWy + XB + u, o comando é dado por:
spreg gs2sls Y Xs, id(_ID) dlmat(W) het
2) Regressão ML SARAR - Quando não tem erro espacial
spreg ml Y Xs, id(_ID) dlmat(W)
3) Regressão GMM SEM – Quando não existe lag espacial porem há erro espacial autoregressivo.
O modelo é u = elWu + v, o comando é dado por:
spreg gs2sls Y Xs, id(_ID) elmat(WC) het
4) Regressão ML SEM - Quando não existe lag espacial porem há erro espacial autoregressivo.
spreg ml Y Xs, id(_ID) elmat(W)
Neste modelo, os erros associados com qualquer observalção são uma média dos erros nas regiões vizinhas mais um componente de erro aleatório.
5) Regressão GMM SARAR (SAC)
Neste caso o modelo é dado por Y = dlWy + BX + u, u = elWu + v
spreg gs2sls Y Xs, id(_ID) dlmat(WC) elmat(WC) het
6) Regressão ML SARAR (SAC)
spreg ml Y Xs, id(_ID) dlmat(WC) elmat(WC)
Segundo o modelo um choque na região j afeta todas as outras regiões por intermédio do multiplicador espacial do processo SAR da defasagem espacial, amplificado pelo efeito multiplicador extra proporcionado pelo processo de erro espacial.
Convém lembrar que a consequência de não incorporamos os componentes Wy e Wu quando relevantes, gera estimativas viesadas e ineficientes em amostras pequenas e inconsistentes em grandes amostras.
B) Modelos com defasagem espacial também nas variáveis explicativas.
Para utilizarmos esses modelos precisamos gerar um lag espacial em uma variável explicativa:
spmat lag double Wcar W carros_passag
1) Modelo Durbin GMM(SDM) – Não tem erro espacial
Neste caso o modelo é dado por Y = WY XB + WX + u
spreg gs2sls corrupção gini Wgini, id(_ID) dlmat(WC) het
2) Modelo Durbin ML(SDM) No spatial error
spreg ml corrupção gini Wgini, id(_ID) dlmat(WC)
3) Regressão Durbin do erro(SDEM)GMM – Sem lag espacial na variável dependente.
Neste caso o modelo é dado por Y = XB + WX + u, u = elW2u + v
spreg gs2sls corrupção gini Wgini, id(_ID) elmat(WC) het
4) Regressão Durbin do erro(SDEM)ML– Sem lag espacial na variável dependente.
spreg ml corrupção gini Wgini, id(_ID) elmat(WC)
5) Regressão GMM GSM
spreg gs2sls corrupção gini Wgini, id(_ID) dlmat(WC) elmat(WC) het
6) Regressão ML GSM
spreg ml corrupção gini Wgini, id(_ID) dlmat(WC) elmat(WC)