group_by()
summarise()
group_by()
summarize()
group_by()
summarize()
install.packages(c("sf", "tidyverse", "tmap", "spdep"), dependencies = TRUE)
install.packages(c("sf", "tidyverse", "tmap", "spdep"), dependencies = TRUE)
# Para instalar o cepesp-r - dados das eleicoesif (!require("devtools")) install.packages("devtools")devtools::install_github("Cepesp-Fgv/cepesp-r")
Os dados aglomerados ou dados de área (os famosos dados poligonais) possuem informações a respeito de uma determinada área do espaço geográfico.
Os limites desses poligonos podem ser definidos tanto pelo investigador (levando em consideranção o objeto de estudo), como um limite arbitrário ou, até mesmo, um limite administrativo criado com diferentes objetivos. Neles as informações associadas são frequentemente agregadas como, por exemplo, contagem populacional.
Nesses casos, não se pode saber exatamente como se dá a distribuição espacial do fenómeno estudado dentro do limite que o agrega.
A coleta de dados deve considerar a área de análise. Dessa forma, a inlfuencia do da escala será reduzida.
E quando se trata de análise temporal temos que tomar cuidado com o fato de que as áreas poderão ter sido alteradas com o passar do tempo. Para solucionar isso, se usa as áreas mínimas comparáveis (AMCs).
Por exemplo:
A coleta de dados deve considerar a área de análise. Dessa forma, a inlfuencia do da escala será reduzida.
E quando se trata de análise temporal temos que tomar cuidado com o fato de que as áreas poderão ter sido alteradas com o passar do tempo. Para solucionar isso, se usa as áreas mínimas comparáveis (AMCs).
Por exemplo:
A coleta de dados deve considerar a área de análise. Dessa forma, a inlfuencia do da escala será reduzida.
E quando se trata de análise temporal temos que tomar cuidado com o fato de que as áreas poderão ter sido alteradas com o passar do tempo. Para solucionar isso, se usa as áreas mínimas comparáveis (AMCs).
Por exemplo:
O IPEA está trabalhando na elaboração desses dados para o Brasil e em breve estará disponível pelo geobr.
A forma mais usual de explorar este tipo de dado é representando os mesmos em forma de mapas coropléticos (a.k.a "fazendo mapas bonitinhos"): Mapas coloridos representando a variação de determinado valor ou categoría em uma área de estudo que contém várias áreas amostrais (polígonos).
E é comum usarmos este tipo de mapa para tentar tirar conclusões sobre o padrão espacial do fenômeno.
Trata-se, como alerta Câmara et al., de uma abordagem meramente intuitivas/subjetiva. E que, para alguns casos, precisamos ir além.
Discernir visualmente o padrão de distribuição de determinado fenômeno não é uma tarefa óbvia, além de ter uma carga subjetiva elevada.
O teste de autocorrelação espacial se apresenta como uma abordagem estatística (quantitativa e objetiva) para identificar qual o padrão de distribuição espacial das informações relacionadas aos polígonos.
Vamos usar o Indice de Moran I (Moran's I test).
Para saber mais sobre os padrões de distribuição espaciais: (re)vejam a live #7.
O indice de Moran I é um coeficiente que informa se o valor de uma variável (como quantidade de votos para um candidato, riqueza de espécies, quantidade de pessoas afetadas por um virus, etc) em uma feição é correlacionada com os valores das feições vizinhas.
Com o indice global de Moran I, se tem a magnitude da autocorrelação espacial da variável estudada entre as áreas amostradas.
O indice de Moran I é um coeficiente que informa se o valor de uma variável (como quantidade de votos para um candidato, riqueza de espécies, quantidade de pessoas afetadas por um virus, etc) em uma feição é correlacionada com os valores das feições vizinhas.
Com o indice global de Moran I, se tem a magnitude da autocorrelação espacial da variável estudada entre as áreas amostradas.
Mas antes de realizar o tete, temos que pensar e discutir alguns conceitos fundamentais, como:
A definição de vizinhança é fundamental nesse tipo de análise, e deve ser considerado a natureza do fenômeno de estudo na definição do mesmo, já que há várias formas de definir os polígonos vizinhos:
A definição de vizinhança é fundamental nesse tipo de análise, e deve ser considerado a natureza do fenômeno de estudo na definição do mesmo, já que há várias formas de definir os polígonos vizinhos:
A definição de vizinhança é fundamental nesse tipo de análise, e deve ser considerado a natureza do fenômeno de estudo na definição do mesmo, já que há várias formas de definir os polígonos vizinhos:
A definição de vizinhança é fundamental nesse tipo de análise, e deve ser considerado a natureza do fenômeno de estudo na definição do mesmo, já que há várias formas de definir os polígonos vizinhos:
Os métodos de vizinhança baseados em distância, em geral, usam o centroide do polígono para a estimação dos polígonos vizinhos e não o seu perímetro/vértices.
Fonte: Applied Spatial Data Analysis with R
Fonte: Applied Spatial Data Analysis with R
Fonte: Applied Spatial Data Analysis with R
Uma vez definido o conceito de vizinhança a ser utilizado, pode-se construir a matriz de vizinhança, também chamada matriz de proximidade espacial ( wij ). Que estão será usada na análise de correlação espacial.
Fonte: Adaptado de Câmara et al.
Há a possibilidade de considerar vizinhança de segunda ou maiores ordens.
Um ponto a considerar é com relação aos polígonos que estejam no limite da área de estudo que, em geral terão menos polígonos vizinhos e com isso induzir a um viés de super ou sub estimação da correlação espacial.
Antes de seguir com a análise, precisamos definir o peso espacial ao qual podemos adotar algumas estratégias:
?nb2listw
zero.policy = TRUE
: peso igual a zero é inserido para regiões sem vizinhos.
Feita a identificação dos polígonos vizinhos e a definição do peso espacial, calcula-se um resumo dos valores dos polígonos vizinhos aglomerados (calculando, por exemplo seus valores médios), chamado de lagging value ou média móvel:
^μi=n∑j=1wijzi
No nosso trabalho, vamos adotar a estimativa de vizinhança por contiguidade e o peso ponderado pela quantidade de vizinhos ("W"), usando o percentual de votos para o PT como variável de análise.
I=n∑i=1n∑j=1wij(zi−¯z)(zj−¯z)n∑i=1(zi−¯z)2
O indice de Moran I é um coeficiente que varia entre valores negativos e positivos (entre -1 e +1) indicando desde correlação inversa até correlação direta, sendo os valores zero a ausencia de correlação espacial.
Contudo, independente do resultado, precisamos identificar o nível de significância do mesmo.
O indice de Moran I, por si só, nos informa o valor obervado de correlação espacial. Para confirmar que este valor é significativo, devemos compará-lo com valores simulados segundo a hipótese nula (distribuição aleatória).
Para isso, vamos usar a simulação de Monte Carlo que usa os mesmos polígonos, ams atribui a eles valores aleatórios clculando o indice Moran I a cada simulação. Com isso, temos a distribuição dos valores de Moran I segundo a hipótese nula.
Essa dsitribuição é então comparada com o valor observado do teste Moran I.
Antes de meter a mão na massa, uma pequena explicação sobre algumas operações (tidyverse)
Faremos o download dos dados das eleições pelo pacote cepespR
. Nele teremos a cada municipio do Rio de Janeiro, dois valores: Total de votos para o candidato do PT (Fernando Haddad) e o total de votos ao candidato do PSL ().
Vamos filtrar para termos os dados do segundo turno, apenas. Além disso, precisaremos fazer alguns processamentos para poder trabalhar com o percentual de votos. Para isso usaremos duas funções muito importantes e úteis: group_by()
e summarise()
:
group_by()
summarise()
Essas funoes serão usadas para calcular o total de votos válidos de cada município e, em seguida, calcular o percentuald e votos a cada candidato.
pt <- municipios %>% group_by(code_muni) %>% filter(NUMERO_CANDIDATO == 13)nb <- poly2nb(pt, queen=TRUE, row.names = pt$name_muni) lw <- nb2listw(nb, style="W", zero.policy=TRUE) pt$lag <- lag.listw(lw, pt$perc_vote)
plot(pt$lag, pt$perc_vote)
regressao <- lm(pt$lag ~pt$perc_vote)#summary(regressao)coef( regressao )
## (Intercept) pt$perc_vote ## 21.8277936 0.3203159
moran.test(pt$perc_vote, lw)
## ## Moran I test under randomisation## ## data: pt$perc_vote ## weights: lw ## ## Moran I statistic standard deviate = 4.7248, p-value = 1.151e-06## alternative hypothesis: greater## sample estimates:## Moran I statistic Expectation Variance ## 0.320315942 -0.010989011 0.004916791
https://gitlab.com/geocastbrasil/liver/-/blob/master/static/werlive13/werlive13.R
mauricio.vancine@gmail.com
@mauriciovancine
@mauriciovancine
mauriciovancine.netlify.com
felipe.b4rros@gmail.com
@FelipeSMBarros
@felipe.b4rros
Geo Independência
Slides criados via pacote xaringan e tema Metropolis
Keyboard shortcuts
↑, ←, Pg Up, k | Go to previous slide |
↓, →, Pg Dn, Space, j | Go to next slide |
Home | Go to first slide |
End | Go to last slide |
Number + Return | Go to specific slide |
b / m / f | Toggle blackout / mirrored / fullscreen mode |
c | Clone slideshow |
p | Toggle presenter mode |
t | Restart the presentation timer |
?, h | Toggle this help |
Esc | Back to slideshow |