1 Introdução

Identificado pela primeira vez em dezembro de 2019 na cidade de Wuhan, na China, a SARS-CoV-2 (covid-19) se mostrou não se tratar de um problema isolado. Pelo contrário, ela se disseminou rapidamente por todos os continentes do planeta em velocidade inesperada para a maioria dos países. O Brasil registra um total de 6.388.526 casos confirmados e 176.628 mortos1. No município de São Paulo, foram 360.539 casos e 14.693 mortes2, destacando-se como o município com maior número de casos e mortes no país.

Sem uma vacina ou tratamento específico, as primeiras experiências mostraram que a melhor forma de conter sua rápida disseminação é através do isolamento físico, conjuntamente, com a adoção de medidas básicas de higiene. Ainda que uma pandemia seja um acontecimento que afeta as pessoas numa escala coletiva, pode-se considerar que os indicadores socioeconômicos do território podem influenciar na contenção da disseminação do vírus no território?.

1.1 Hipótese de Pesquisa

A manifestação da desigualdade no território tem diversas formas, a saber, distribuição de renda desigual, desigualdade racial, desigualdade de acesso à serviços básicos. De acordo com o Mapa da Desigualdade de 2019, a diferença na taxa de emprego formal entre o distrito melhor colocado (o da Barra Funda, com 59,20) e o pior colocado (Cidade Tiradentes, com 0,2) chega a 247 vezes. Outro exemplo: em Moema a idade média ao morrer é de 80,6 anos, enquanto em Cidade Tiradentes é de apenas 57,3 anos.

Considerando esse pontos, é razoável questionar se a população residente nos distritos com os menores indicadores socioeconômicos, isto é, os mais vulneráveis, serão os mais afetados pela pandemia da COVID-19, possuindo um maior números de infectados e mortos na pandemia. Sendo assim, o presente trabalho parte da seguinte pergunta de pesquisa: pandemia de COVID-19 tem afetado mais os distritos mais vulneráveis em São Paulo?

Para responder à pergunta, o trabalho investiga como indicadores de qualidade de vida e vulnerabilidade social se relacionam com os óbitos e infecção por COVID-19 nos distritos de São Paulo.

1.2 Metodologia

Explicar as etapas do trabalho: análise exploratória (gráficos, mapas, correlações entre variáveis); Análise de regressão global (clássica e espacial) e local (GWR).

2 Base de Dados

A base de dados analisada nos ajudará a entender como os diferentes indicadores socioeconômicos afetam as variáveis de interesse, a saber, a taxa de mortalidade por 100 mil habitantes por COVID-19 e a taxa de mortalidade por 100 habitantes por doença aguda grave (SRAG) por distrito da cidade de São Paulo. Incluímos na base de dados os casos de morte por SRAG porque há “é o principal quadro grave causado por COVID-19. Sua notificação depende apenas de diagnóstico clínico, enquanto que a notificação de casos de COVID-19 depende de testes laboratoriais, que podem demorar e têm uma taxa de erro. Por isso, acompanhar também os casos de SRAG é importante para ter um quadro mais completo da pandemia de COVID-19. Mas é importante lembrar que SRAG é um síndrome que pode também ter outras causas” OBSERVATÓRIO COVID BR.

Assim, com os resultados com uso da correlação, da regressão simples, múltipla e espacial, iremos avaliar se a taxa de mortalidade por COVID-19 e por SRAG é afetada por indicadores socioeconômicos, e se esse efeito depende da renda e/ou da população. Os dados sobre o número de mortos por COVID-19 e por SRAG abrangem os meses de março até setembro de 2020, a base de dados foi disponibilizado pela Prefeitura de São Paulo, já os dados sobre a população e a renda foram extraídos do censo demográfico de 2010 e do Portal Infocidade daPrefeitura de São Paulo

3 Carregamento dos pacotes

Podemos consultar todos pacotes utilizados para a presente análise.

library(dplyr)                                
library(car)                                
library(rstatix)                                
library(emmeans)
library(ggplot2)
library(knitr)
library(kableExtra)
library(htmltools)
library(prettydoc)
library(rmdformats)
library(hrbrthemes)
library(tufte)
library(tint)
library(tidyverse)
library(corrplot)
library(Hmisc)
library(performance)
library(broom)
library(ggplot2)
library(dplyr)                                
library(car)                                
library(rstatix)                                
library(emmeans)
library(ggplot2)
library(knitr)
library(kableExtra)
library(htmltools)
library(prettydoc)
library(rmdformats)
library(hrbrthemes)
library(tufte)
library(tint)
library(DT)

4 Leitura e visualização do banco de dados

Segue o banco de dados utilizado para realizarmos as análises de correlação e regressões (simples, múltipla e espacial) e a autocorrelação espacial.

Segue a tabela com todas as variáveis que serão utilizadas nas primeira análises.

kable(head(dados, 5), col.names = c("Código", "Distrito", "População", "SRAG", "Taxa de mortalidade por 100 mil de SRAG", "Covid", "Taxa de mortalidade por 100 mil de Covid-19")) %>%
  kable_styling(full_width = FALSE, bootstrap_options = c("striped", "hover", "condensed", "responsive"))
Código Distrito População SRAG Taxa de mortalidade por 100 mil de SRAG Covid Taxa de mortalidade por 100 mil de Covid-19
355030801 Água Rasa 84963 452 532 167 197
355030802 Alto de Pinheiros 43117 172 399 64 148
355030803 Anhanguera 65859 225 342 66 100
355030804 Aricanduva 89622 447 499 183 204
355030805 Artur Alvim 105269 529 503 232 220

5 Análise Exploratório

6 Correlação

6.1 Diagrama

O Diagrama de dispersão nos mostra se há correlação entre as variáveis analisadas, ou seja, é uma medida do relacionamento linear entre duas variáveis. Abaixo segue, o diagrama das variáveis taxa de mortalidade por 100 mil habitantes por SRAG versus população por distrito.

ggplot(dados, aes(x = populacao, y = taxa_por_100_mil_srag)) +
  geom_point() +
  theme_bw() + 
  labs(title= " ", x = "População", y = "Taxa de mortalidade por 100 mil de SRAG")

Podemos notar que há correlação negativa entre as duas variáveis, ou seja, as variáveis são negativamente relacionais quando maior a população, menor a taxa de mortalidade por Síndrome Aguda Grave.
Em seguida, apresentamos outro gráfico de dispersão, mostrando se há correlação entre as variáveis, a saber, taxa de mortalidade por 100 mil de Covid e a população por distrito.

ggplot(dados, aes(x = populacao , y = taxa_por_100_mil_covid)) +
  geom_point() +
  theme_bw() +
  labs(title= " ", x = "População", y = "Taxa mortalidade por 100 mil de Covid")

Podemos identicar uma correlação negativa entre as duas variáveis.

Entretanto, nos dois casos analisados será necessário utilizar a correlação de Pearson para determinamos o grau da correlação entre as variáveis.

6.2 Correlação de Pearson

É uma media padronizada da correlação entre variáveis. Para isso, utilizamos o coeficiente de correlação, que é uma medida padronizada do relacionamento entre duas variáveis, e o teste de significância, que confirmar se a correlação não se deve a um erro amostral, ou seja, ao acaso.

6.2.1 Taxa de mortalidade por 100 mil por SRAG versus População por distrito

cor.test(x = dados$populacao, 
         y = dados$taxa_por_100_mil_srag,
         method = "pearson",
         alternative = "two.sided",
         conf.level = 0.95)
## 
##  Pearson's product-moment correlation
## 
## data:  dados$populacao and dados$taxa_por_100_mil_srag
## t = -3.9191, df = 94, p-value = 0.0001686
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  -0.5350488 -0.1884358
## sample estimates:
##        cor 
## -0.3747636

O coeficiente de correlaçao nos mostra uma correlação negativa, a saber, -0.3754829 e o teste de significância nos permite rejeitar a hipótese nula (H0).

6.2.2 Taxa de mortalidade por 100 mil por covid versus População por distrito

cor.test(x = dados$populacao, 
         y = dados$taxa_por_100_mil_covid,
         method = "pearson",
         alternative = "two.sided",
         conf.level = 0.95)
## 
##  Pearson's product-moment correlation
## 
## data:  dados$populacao and dados$taxa_por_100_mil_covid
## t = -2.5222, df = 94, p-value = 0.01334
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  -0.4305221 -0.0540072
## sample estimates:
##        cor 
## -0.2517671

O coeficiente de correlaçao nos mostra uma correlação negativa, a saber, -0.2520574 e o teste de significância nos permite rejeitar a hipótese nula (H0).

6.3 Matriz de correlação

A matriz de correlação permite a análise e visualização simultânea da relação entre duas ou mais variáveis.

Como a matriz de correlção não computa o teste de significância em conjunto com a correlação será necessário utilizar a função cor.test() para calcula-la.

6.3.1 Matriz

dados %>%
  select(taxa_por_100_mil_covid, taxa_por_100_mil_srag, populacao, domilicios, Pessoas_por_domilicio) %>%
  rename(taxa_covid = taxa_por_100_mil_covid, taxa_srag = taxa_por_100_mil_srag, Domicilios = domilicios, pessoas_dom = Pessoas_por_domilicio) %>%
  cor(method = "pearson",
    use = "complete.obs") %>%
  corrplot(method = "number")


Legenda:
taxa_covid = taxa de mortalidade por 100 mil habitante por covid
taxa_srag = taxa de mortalidade por 100 mil habitante por SRAG
pessoas_dom = Pessoas por domicilios.


6.3.2 Teste Significância

dados %>%
  select(taxa_por_100_mil_covid, taxa_por_100_mil_srag, populacao, domilicios, Pessoas_por_domilicio) %>%
  rename(taxa_covid = taxa_por_100_mil_covid, taxa_srag = taxa_por_100_mil_srag, Domicilios = domilicios, pessoas_dom = Pessoas_por_domilicio) %>%
  as.matrix() %>%
  rcorr(type = "pearson")
##             taxa_covid taxa_srag populacao Domicilios pessoas_dom
## taxa_covid        1.00      0.46     -0.25      -0.26       -0.02
## taxa_srag         0.46      1.00     -0.38      -0.35       -0.38
## populacao        -0.25     -0.38      1.00       0.98        0.46
## Domicilios       -0.26     -0.35      0.98       1.00        0.31
## pessoas_dom      -0.02     -0.38      0.46       0.31        1.00
## 
## n= 96 
## 
## 
## P
##             taxa_covid taxa_srag populacao Domicilios pessoas_dom
## taxa_covid             0.0000    0.0132    0.0102     0.8563     
## taxa_srag   0.0000               0.0002    0.0005     0.0001     
## populacao   0.0132     0.0002              0.0000     0.0000     
## Domicilios  0.0102     0.0005    0.0000               0.0022     
## pessoas_dom 0.8563     0.0001    0.0000    0.0022

7 Regressão Simples

A regressão linear é uma ferramenta estatística que permite explorar e inferir a relação de uma variável dependente com uma variável independente.

7.1 Taxa mortalidade de 100 mil por SRAG versus População

A utilização da regressão simples nos ajudará a obter uma equação matemática que descreve a relação entre duas ou mais variáveis.

modelo1 <- lm(formula = dados$taxa_por_100_mil_srag ~ dados$populacao, data = dados, na.action = na.exclude)
summary(modelo1)
## 
## Call:
## lm(formula = dados$taxa_por_100_mil_srag ~ dados$populacao, data = dados, 
##     na.action = na.exclude)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -365.82  -41.49    6.08   33.09  249.51 
## 
## Coefficients:
##                   Estimate Std. Error t value Pr(>|t|)    
## (Intercept)      5.149e+02  1.584e+01  32.497  < 2e-16 ***
## dados$populacao -4.571e-04  1.164e-04  -3.928 0.000163 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 78.98 on 94 degrees of freedom
## Multiple R-squared:  0.141,  Adjusted R-squared:  0.1318 
## F-statistic: 15.43 on 1 and 94 DF,  p-value: 0.0001635

7.1.1 Análise da Regressão Simples

b0 é o intercepto de y (onde a linha corta o eixo y) –> b0 = 0,05149 é o valor que Y assume quando X = 0).

b1 é a inclinação da reta de regressão –> indica a mudança da variável de saída (Y) para cada alteração de uma unidade no previsor (X).

b1 = -0,00045718 –> Em média, um aumento de 1 habitante, está relacionado a uma diminuição de -0,00045718 na taxa de mortos por 100 mil por Síndrome Aguda Grave.

Esta variável preditora (população) faz diferença na representação da variação da taxa de mortos por 100 mil porque o parâmetro b1 é diferente de zero, mais especificamente, o teste t nos ajudar a rejeitar a hipótese nula de que b1 = zero

Calcula-se o valor t dividindo o b1 pelo seu erro padrão (Std. Error) = -0,00045718/0,0001164 = -3.928

A probabilidade de se obter um valor igual ou maior do que esse valor t, dado que a hipótese nula é verdadeira é muito pequena (pr(>|t|)) –> p-valor < 0,0001 (para ser mais preciso, menor do que 0,000163). Ou seja, rejeita-se a hipótese nula!

Concluímos que a população tem uma contribuição significativa (p < 0,000163) na explicação da variação da taxa de mortalidade por 100 mil por Síndrome Aguda Grave.

O mesmo teste é aplicado para analisar a significância do b0.

H0 : b0 = zero

Neste caso o p-valor < 0.0001635.

7.1.2 Coeficiente de Determinação (R^2): 0.1318

O nosso modelo consegue explicar 13,18% da variação da taxa de mortalidade por 100 mil por SRAG. No entanto, 86,72% da variação da taxa de mortalidade não pode ser explicado pela variação da população.

O teste F é uma medida do quanto o modelo melhorou na previsão de valores comparado como o nível de não precisão do modelo.

A Estatística F = 15.43 é significativa até mesmo para o nível de significância x > 0,01.

Esse resultado nos informa que existe uma probabilidade menor do que 0,0001% de que valor F seja tão alto tenha ocorrido apenas por acaso. Ou seja, pode-se concluir que nosso modelo de regressão representa melhor a taxa de mortalidade se tivéssemos usados apenas o valor médio das mortes por covid por distrito. Lembrando que o critério de Fisher é de 0.05 (nível de significância). Ou seja, o resultado reflete um efeito genuíno, não é fruto do acaso.

7.1.3 Análise dos Resíduos

O modelo de regressão linear assume algumas hipotéses sobre os dados de entrada para que seu resultado seja significativo.

  1. O modelo é linear nos parâmetros.
  2. A amostragem é aleatória.
  3. Variação amostral da variável independente.
  4. Média condicional do erro igual a zero.
  5. O erro tem a mesma variância para qualquer valor da variável explicativa.

Se o modelo for adequado, os resíduos devem refletir as propriedades impostas pelo termo de erro do modelo. Portanto, a análise dos resíduos se faz necessária para avaliar a adequação do modelo

par(mfrow = c(2,2))
plot(modelo1)

O primeiro gráfico (resíduos x valores ajustados) permite verificar a linearidade do modelo. Um bom exemplo possui valores distribuidos em torno da linha de resíduos igual a zero (linha pontilhada). O modelo aplicado (linha vermelha) desvia um pouco do zero, principalmente nos extremos dos valores ajustados.

O segundo gráfico (QQ-plot) exibe os resíduos normalizados e os quantis teóricos da curva normal, ou seja, verifica a hipótese de normalidade dos resíduos. O ideal é que as observações sigam a linha pontilhada. Entretanto, identificamos que nos extremos as observações mais afastadas da linha.

O terceiro gráfico é útil para verificar a hipótese de homocedasticidade dos resíduos. No modelo ideal, os pontos estão distribuídos uniformemente ao redor da linha vermelha. No modelo utilizado, identica-se que eles não estão distribuídos uniformemente.

O quarto gráfico exibe a influência pelos resíduos padronizados. Neste gráfico, as observações mais distantes possuem influência. A distância de Cook permite identificar pontos influentes, mas em termos da alavancagem, ou seja, detectar obervações extremas, que possuem alta influência no modelo. As obervações mais influentes possuem valor de distância de Cook maior.

7.1.4 Gráfico de Dispersão com o ajuste da linha

Após a aplicação do modelo, é possível criar um diagrama de dispersão com a linha de tendência (ajuste).

plot(x = dados$populacao, 
     y = dados$taxa_por_100_mil_srag,
     xlab = "População",
     ylab = "Taxa mortalidade por 100 mil de SRAG")
abline(modelo1, col = "red") 

7.2 Taxa mortalidade de 100 mil por Covid versus População

A utilização da regressão simples nos ajudará a obter uma equação matemática que descreve a relação entre duas ou mais variáveis.

modelo2 <- lm(formula = dados$taxa_por_100_mil_covid ~ dados$populacao, data = dados, na.action = na.exclude)
summary(modelo2)
## 
## Call:
## lm(formula = dados$taxa_por_100_mil_covid ~ dados$populacao, 
##     data = dados, na.action = na.exclude)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -75.292 -16.977  -0.636  21.933  66.347 
## 
## Coefficients:
##                   Estimate Std. Error t value Pr(>|t|)    
## (Intercept)      1.828e+02  5.939e+00  30.773   <2e-16 ***
## dados$populacao -1.101e-04  4.362e-05  -2.525   0.0132 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 29.6 on 94 degrees of freedom
## Multiple R-squared:  0.06353,    Adjusted R-squared:  0.05357 
## F-statistic: 6.377 on 1 and 94 DF,  p-value: 0.01323

7.2.1 Análise da Regressão Simples

b0 é o intercepto de y (onde a linha corta o eixo y) –> b0 = 0,01828 é o valor que Y assume quando X = 0).

b1 é a inclinação da reta de regressão –> indica a magnitude da mudança da variável de saída (Y) para cada alteração de uma unidade no previsor (X).

b1 = -0,0001101 –> Em média, um aumento de 1 habitante, está relacionado a uma diminuição de -0,0001101 na taxa de mortos por 100 mil por Covid.

Esta variável preditora (população) faz diferença na representação da variação da taxa de mortos por 100 mil porque o parâmetro b1 é diferente de zero, mais especificamente, o teste t nos ajudar a rejeitar a hipótese nula de que b1 = zero

Calcula-se o valor t dividindo o b1 pelo seu erro padrão (Std. Error) = -0,0001101/0,00004362 = -2.525

A probabilidade de se obter um valor igual ou maior do que esse valor t, dado que a hipótese nula é verdadeira é muito pequena (pr(>|t|)) –> p-valor < 0,01 (para ser mais preciso, menor do que 0,0132). Ou seja, rejeita-se a hipótese nula!

Concluímos que a população tem uma contribuição significativa (p < 0,0132) na explicação da variação da taxa de mortalidade por 100 mil por Covid.

O mesmo teste é aplicado para analisar a significância do b0.

H0 : b0 = zero

Neste caso, o p-valor < 0.0132.

7.2.2 Coeficiente de Determinação (R^2): 0.05357

O nosso modelo consegue explicar 5,3% da variação da taxa de mortalidade por 100 mil por Covid. No entanto, 84,7% da variação da taxa de mortalidade não pode ser explicado pela variação da população.

O teste F é uma medida do quanto o modelo melhorou na previsão de valores comparado como o nível de não precisão do modelo.

A Estatística F = 6.37 é significativa até mesmo para o nível de significância x > 0,01.

Esse resultado nos informa que existe uma probabilidade menor do que 0,01% de que valor F seja tão alto tenha ocorrido apenas por acaso. Ou seja, pode-se concluir que nosso modelo de regressão representa melhor a taxa de mortalidade se tivéssemos usados apenas o valor médio das mortes por covid por distrito. Lembrando que o critério de Fisher é de 0.05 (nível de significância). Ou seja, o resultado reflete um efeito genuíno, não é fruto do acaso.

7.2.3 Análise dos Resíduos

O modelo de regressão linear assume algumas hipotéses sobre os dados de entrada para que seu resultado seja significativo.

Se o modelo for adequado, os resíduos devem refletir as propriedades impostas pelo termo de erro do modelo. Portanto, a análise dos resíduos se faz necessária para avaliar a adequação do modelo

par(mfrow = c(2,2))
plot(modelo1)

O primeiro gráfico (resíduos x valores ajustados) permite verificar a linearidade do modelo. Um bom exemplo possui valores distribuidos em torno da linha de resíduos igual a zero (linha pontilhada). O modelo aplicado (linha vermelha) desvia um pouco do zero, principalmente nos extremos dos valores ajustados.

O segundo gráfico (QQ-plot) exibe os resíduos normalizados e os quantis teóricos da curva normal, ou seja, verifica a hipótese de normalidade dos resíduos. O ideal é que as observações sigam a linha pontilhada. Entretanto, identificamos que nos extremos as observações mais afastadas da linha.

O terceiro gráfico é útil para verificar a hipótese de homocedasticidade dos resíduos. No modelo ideal, os pontos estão distribuídos uniformemente ao redor da linha vermelha. No modelo utilizado, identica-se que eles não estão distribuídos uniformemente.

O quarto gráfico exibe a influência pelos resíduos padronizados. Neste gráfico, as observações mais distantes possuem influência. A distância de Cook permite identificar pontos influentes, mas em termos da alavancagem, ou seja, detectar obervações extremas, que possuem alta influência no modelo. As obervações mais influentes possuem valor de distância de Cook maior.

7.2.4 Gráfico de Dispersão com o ajuste da linha

Após a aplicação do modelo, é possível criar um diagrama de dispersão com a linha de tendência (ajuste).

plot(x = dados$populacao, 
     y = dados$taxa_por_100_mil_covid,
     xlab = "População",
     ylab = "Taxa mortalidade por 100 mil de Covid")
abline(modelo2, col = "red")

8 Regressão Linear Múltipla

Um modelo com mais de uma variável independente (X) é denominado modelo de regressão múltiplo.

8.1 Leitura e visualização do banco de dados

Segue o banco de dados utilizado para realizarmos as análises de regressão múltipla e espacial.

Segue a tabela com as variáveis que serão utilizadas, a partir de agora, nas análises.

datatable(head(dados_2, 96, 5), callback = JS('table.page("next").draw(false);'))

8.2 Matriz de correlação

8.2.1 Matriz

dados_2 %>%
  select(taxa_por_100_mil_covid, taxa_por_100_mil_srag, populacao, dmd_ate_2, dmd_2_a_4, dmd_acima_4) %>%
  rename(taxa_covid = taxa_por_100_mil_covid, taxa_srag = taxa_por_100_mil_srag) %>%
  cor(method = "pearson",
    use = "complete.obs") %>%
  corrplot(method = "number")


Legenda: . <br

8.2.2 Matriz

dados_2 %>%
  select(taxa_por_100_mil_covid, taxa_por_100_mil_srag, anos_0_19, anos_20_44, anos_45_64, anos_65_mais, sem_renda, sm_ate_2, sm_2_a_5, sm_5_a_10, sm_mais_10) %>%
  rename(taxa_covid = taxa_por_100_mil_covid, taxa_srag = taxa_por_100_mil_srag) %>%
  cor(method = "pearson",
    use = "complete.obs") %>%
  corrplot(method = "number")


Legenda: .

8.2.3 Teste Significância

dados_2 %>%
  select(taxa_por_100_mil_covid, taxa_por_100_mil_srag, populacao, dmd_ate_2, dmd_2_a_4, dmd_acima_4) %>%
  rename(taxa_covid = taxa_por_100_mil_covid, taxa_srag = taxa_por_100_mil_srag) %>%
  as.matrix() %>%
  rcorr(type = "pearson")
##             taxa_covid taxa_srag populacao dmd_ate_2 dmd_2_a_4 dmd_acima_4
## taxa_covid        1.00      0.46     -0.25      0.12     -0.11       -0.20
## taxa_srag         0.46      1.00     -0.38      0.35     -0.34       -0.38
## populacao        -0.25     -0.38      1.00     -0.50      0.50        0.47
## dmd_ate_2         0.12      0.35     -0.50      1.00     -1.00       -0.95
## dmd_2_a_4        -0.11     -0.34      0.50     -1.00      1.00        0.93
## dmd_acima_4      -0.20     -0.38      0.47     -0.95      0.93        1.00
## 
## n= 96 
## 
## 
## P
##             taxa_covid taxa_srag populacao dmd_ate_2 dmd_2_a_4 dmd_acima_4
## taxa_covid             0.0000    0.0132    0.2396    0.3051    0.0539     
## taxa_srag   0.0000               0.0002    0.0004    0.0006    0.0001     
## populacao   0.0132     0.0002              0.0000    0.0000    0.0000     
## dmd_ate_2   0.2396     0.0004    0.0000              0.0000    0.0000     
## dmd_2_a_4   0.3051     0.0006    0.0000    0.0000              0.0000     
## dmd_acima_4 0.0539     0.0001    0.0000    0.0000    0.0000

8.2.4 Teste Significância

dados_2 %>%
  select(taxa_por_100_mil_covid, taxa_por_100_mil_srag, anos_0_19, anos_20_44, anos_45_64, anos_65_mais, sem_renda, sm_ate_2, sm_2_a_5, sm_5_a_10, sm_mais_10) %>%
  rename(taxa_covid = taxa_por_100_mil_covid, taxa_srag = taxa_por_100_mil_srag) %>%
  as.matrix() %>%
  rcorr(type = "pearson")
##              taxa_covid taxa_srag anos_0_19 anos_20_44 anos_45_64 anos_65_mais
## taxa_covid         1.00      0.46     -0.21      -0.39       0.31         0.32
## taxa_srag          0.46      1.00     -0.42       0.18       0.25         0.35
## anos_0_19         -0.21     -0.42      1.00       0.10      -0.90        -0.94
## anos_20_44        -0.39      0.18      0.10       1.00      -0.48        -0.41
## anos_45_64         0.31      0.25     -0.90      -0.48       1.00         0.94
## anos_65_mais       0.32      0.35     -0.94      -0.41       0.94         1.00
## sem_renda         -0.31     -0.47      0.85       0.15      -0.80        -0.81
## sm_ate_2          -0.03     -0.40      0.92      -0.01      -0.79        -0.83
## sm_2_a_5          -0.02     -0.23      0.88       0.22      -0.85        -0.86
## sm_5_a_10          0.54      0.41     -0.29       0.03       0.24         0.25
## sm_mais_10        -0.03      0.27     -0.88      -0.14       0.82         0.84
##              sem_renda sm_ate_2 sm_2_a_5 sm_5_a_10 sm_mais_10
## taxa_covid       -0.31    -0.03    -0.02      0.54      -0.03
## taxa_srag        -0.47    -0.40    -0.23      0.41       0.27
## anos_0_19         0.85     0.92     0.88     -0.29      -0.88
## anos_20_44        0.15    -0.01     0.22      0.03      -0.14
## anos_45_64       -0.80    -0.79    -0.85      0.24       0.82
## anos_65_mais     -0.81    -0.83    -0.86      0.25       0.84
## sem_renda         1.00     0.77     0.66     -0.45      -0.72
## sm_ate_2          0.77     1.00     0.88     -0.16      -0.92
## sm_2_a_5          0.66     0.88     1.00      0.13      -0.98
## sm_5_a_10        -0.45    -0.16     0.13      1.00      -0.13
## sm_mais_10       -0.72    -0.92    -0.98     -0.13       1.00
## 
## n= 96 
## 
## 
## P
##              taxa_covid taxa_srag anos_0_19 anos_20_44 anos_45_64 anos_65_mais
## taxa_covid              0.0000    0.0415    0.0001     0.0019     0.0013      
## taxa_srag    0.0000               0.0000    0.0820     0.0130     0.0004      
## anos_0_19    0.0415     0.0000              0.3114     0.0000     0.0000      
## anos_20_44   0.0001     0.0820    0.3114               0.0000     0.0000      
## anos_45_64   0.0019     0.0130    0.0000    0.0000                0.0000      
## anos_65_mais 0.0013     0.0004    0.0000    0.0000     0.0000                 
## sem_renda    0.0022     0.0000    0.0000    0.1479     0.0000     0.0000      
## sm_ate_2     0.7507     0.0000    0.0000    0.9365     0.0000     0.0000      
## sm_2_a_5     0.8695     0.0272    0.0000    0.0330     0.0000     0.0000      
## sm_5_a_10    0.0000     0.0000    0.0043    0.7903     0.0179     0.0158      
## sm_mais_10   0.7379     0.0082    0.0000    0.1688     0.0000     0.0000      
##              sem_renda sm_ate_2 sm_2_a_5 sm_5_a_10 sm_mais_10
## taxa_covid   0.0022    0.7507   0.8695   0.0000    0.7379    
## taxa_srag    0.0000    0.0000   0.0272   0.0000    0.0082    
## anos_0_19    0.0000    0.0000   0.0000   0.0043    0.0000    
## anos_20_44   0.1479    0.9365   0.0330   0.7903    0.1688    
## anos_45_64   0.0000    0.0000   0.0000   0.0179    0.0000    
## anos_65_mais 0.0000    0.0000   0.0000   0.0158    0.0000    
## sem_renda              0.0000   0.0000   0.0000    0.0000    
## sm_ate_2     0.0000             0.0000   0.1222    0.0000    
## sm_2_a_5     0.0000    0.0000            0.2107    0.0000    
## sm_5_a_10    0.0000    0.1222   0.2107             0.1967    
## sm_mais_10   0.0000    0.0000   0.0000   0.1967

8.3 Modelo de regressão múltipla

8.3.1 modelo COVID

modelo3 <- lm(formula = taxa_por_100_mil_covid ~ anos_65_mais + sm_mais_10, data = dados_2, na.action = na.exclude)
summary(modelo3)
## 
## Call:
## lm(formula = taxa_por_100_mil_covid ~ anos_65_mais + sm_mais_10, 
##     data = dados_2, na.action = na.exclude)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -64.043 -15.215  -0.262  11.955  94.670 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   120.615      7.126  16.926  < 2e-16 ***
## anos_65_mais  968.795    115.138   8.414 4.59e-13 ***
## sm_mais_10   -162.168     22.085  -7.343 7.81e-11 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 23.16 on 93 degrees of freedom
## Multiple R-squared:  0.4329, Adjusted R-squared:  0.4207 
## F-statistic:  35.5 on 2 and 93 DF,  p-value: 3.506e-12

8.3.2 modelo SRAG

modelo4 <- lm(formula = taxa_por_100_mil_srag ~ anos_65_mais + sm_mais_10, data = dados_2, na.action = na.exclude)
summary(modelo4)
## 
## Call:
## lm(formula = taxa_por_100_mil_srag ~ anos_65_mais + sm_mais_10, 
##     data = dados_2, na.action = na.exclude)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -295.112  -46.257   -2.556   27.776  261.205 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)    381.83      24.62  15.510   <2e-16 ***
## anos_65_mais   970.59     397.77   2.440   0.0166 *  
## sm_mais_10     -44.02      76.30  -0.577   0.5654    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 80.01 on 93 degrees of freedom
## Multiple R-squared:  0.1278, Adjusted R-squared:  0.109 
## F-statistic: 6.814 on 2 and 93 DF,  p-value: 0.001732

8.4 Comparando modelos

tabela_modelos <- compare_performance(modelo2, modelo3, rank = TRUE)
## Warning: When comparing models, please note that probably not all models were
## fit from same data.
tabela_modelos
## # Comparison of Model Performance Indices
## 
## Model   | Type |    AIC |    BIC |   R2 | R2_adjusted |  RMSE | Sigma |        BF | Performance_Score
## -----------------------------------------------------------------------------------------------------
## modelo3 |   lm | 880.74 | 891.00 | 0.43 |        0.42 | 22.80 | 23.16 | BF > 1000 |           100.00%
## modelo2 |   lm | 926.89 | 934.59 | 0.06 |        0.05 | 29.29 | 29.60 | BF = 1.00 |             0.00%
## 
## Model modelo3 (of class lm) performed best with an overall performance score of 100.00%.

O modelo 3 (regressão linear múltipla) possui um R² e R² ajustado maior que o modelo 1 (regressão linear simples). Além das métricas apresentadas, também é importante avaliar as hipóteses e redíduos do segundo modelo.

8.5 Exportando os resultados do modelo

dados_2_modelo3 <- augment(x = modelo3, dados_2)
head(dados_2_modelo3)
## # A tibble: 6 x 27
##   ds_codigo codigo distrito domilicios populacao  SRAG taxa_por_100_mi~ COVID
##       <int>  <int> <chr>         <int>     <int> <int>            <dbl> <int>
## 1         1 3.55e8 Água Ra~      28652     84963   452             532    167
## 2         2 3.55e8 Alto de~      15408     43117   172             399.    64
## 3         3 3.55e8 Anhangu~      19437     65859   225             342.    66
## 4         4 3.55e8 Aricand~      27661     89622   447             499.   183
## 5         5 3.55e8 Artur A~      33712    105269   529             503.   232
## 6         6 3.55e8 Barra F~       5623     14383   109             758.    28
## # ... with 19 more variables: taxa_por_100_mil_covid <dbl>, dmd_ate_2 <dbl>,
## #   dmd_2_a_4 <dbl>, dmd_acima_4 <dbl>, anos_0_19 <dbl>, anos_20_44 <dbl>,
## #   anos_45_64 <dbl>, anos_65_mais <dbl>, sem_renda <dbl>, sm_ate_2 <dbl>,
## #   sm_2_a_5 <dbl>, sm_5_a_10 <dbl>, sm_mais_10 <dbl>, .fitted <dbl>,
## #   .resid <dbl>, .std.resid <dbl>, .hat <dbl>, .sigma <dbl>, .cooksd <dbl>

Foram adicionados à base de dados original seis novas variáveis:

fitted = Valor ajustado ou previsto
resid = A diferença entre os valores observados e ajustados
std.resid = Resíduos padronizados
hat = Diagonal da matriz de influência
sigma = Desvio padrão residual estimado a observação correspondente é excluída do modelo
cooksd = Distância de Cook

9 Autocorrelação espacial

9.1 Análise Exporatória

Quantil - taxa mortalidade por 100 habitantesQuantil - taxa mortalidade por 100 habitantes

Quantil - taxa mortalidade por 100 habitantes

histogramahistograma

histograma

9.2 Diagrama de dispersão

Taxa de mortalidade por 100 mil de covid x População

Taxa de mortalidade por 100 mil de covid x População

9.3 Vizinhança: Pesos Espaciais

9.3.1 Queen Contiguity

Análise Exploratória

Análise Exploratória

9.3.2 Índice Global de Moran

índice de moraníndice de moran

índice de moran

Alto-AltoAlto-Alto

Alto-Alto

Baixo-BaixoBaixo-Baixo

Baixo-Baixo

9.3.3 Índice Local de Moran

Índice localÍndice local

Índice local

Mapa de ClustersMapa de Clusters

Mapa de Clusters

Mapa de SignificânciaMapa de Significância

Mapa de Significância

10 Regressão Espacial

11 Material de Apoio

12 Créditos

Material criado por Grupo Covid-19.


  1. Coronavírus Brasil (Brasil). Dados atualizados em 05/12/2020.↩︎

  2. Fundação Sistema Estadual de Análise de Dados (Seade). Dados atualizados em 05/12/2020.↩︎