Tópico Especial – INTRODUÇÃO À ESTATÍSTICA PARA ESTUDOS URBANOS

Aula 4

Prof. Responsável: Prof. Dr. Júlio Celso Borello Vargas

August 22, 2023

Para acompanhar a aula, instalar o R e o Rstudio aqui ou usar o R na nuvem aqui.

Serão utilizados os pacotes FactoMineR, factoextra, psych, GPArotation, ggcorrplot e dendextend.

Use os comandos:

#install.packages('FactoMineR')
#install.packages('factoextra')
#install.packages('psych')
#install.packages('GPArotation')
#install.packages('ggcorrplot')
#install.packages('dendextend')

library(FactoMineR)
library(factoextra)
library(psych)
library(GPArotation)
library(ggcorrplot)
library(dendextend)

Serão usados os bancos de dados “PIETROBELLI_2020.csv” e “Fatorial.csv”. Para usá-los, coloque o arquivo na mesma pasta do projeto, ou, caso use o Posit.cloud, clique em “upload” e selecione o arquivo.

pietrobelli = read.csv2('PIETROBELLI_2020.csv', fileEncoding = "latin1")
fatorial = read.csv2('Fatorial.csv', fileEncoding = "latin1")
Caption for the picture.
Caption for the picture.

ANÁLISES MULTIVARIADAS

2. Técnicas de INTERDEPENDÊNCIA:

1.Análise de Agrupamentos/aglomerados (“cluster”):

Tem como objetivo dividir objetos (variáveis ou itens) em grupos de forma que os elementos guardem algumas similidaridades entre si conforme estão mais próximos uns dos outros.

cluster <- pietrobelli[, 7:18]
rownames(cluster) <- pietrobelli$id_name
dist <- dist(cluster[,1:12], method = "euclidean")
hc <- hclust(dist, method="ward.D")
fviz_dend(hc, h = max(hc$height)*0.6, cex = 0.5, color_labels_by_k = TRUE, ggtheme = theme_bw(), lwd = 0.6)

2.Análise de Componentes Principais (PCA):

Esse método é válido na tentativa de diminuir a dimensionalidade dos dados, dividindo sua variabilidade em componentes.

Primeiro observamos a correlação entre as variáveis. Caso haja variáveis muito correlacionadas, podemos retirá-las, pois não vão acrescentar muito em explicação para o PCA. Neste caso, não parece haver correlações tão importantes.

ggcorrplot(cor(pietrobelli[, 7:18]), type = "full", legend.title = "Índice de Correlação", lab_size = 3, outline.color = "black",  ggtheme = theme_get()) + ggtitle("Matriz de Correlações") + theme(plot.title = element_text(hjust = 0.5),
axis.text.x = element_text(face = "bold"),  axis.text.y = element_text(face = "bold"))

Como os dados têm escalas diferentes, utilizamos a matriz de correlações ao invés de covariâncias, e dessa forma impedimos que variáveis de escala maior acabem enviesando o PCA (por isso o argumento scale = TRUE). O gráfico mostra o quanto cada componente explica da variabilidade dos dados.

pca <- prcomp(pietrobelli[, 7:18], scale = TRUE, center = TRUE) 

fviz_eig(pca, geom = "bar", bar_width = 0.7, title = "Variância explicada por Componente", xlab = "Componentes", ylab = "Proporção da Variância (%)", barfill = "#1F3552", barcolor = "black") +theme(plot.title = element_text(size = 18, hjust = 0.5, margin = margin(b = 15)), axis.title = element_text(size = 14), axis.text = element_text(size = 12), legend.position = "none") + scale_y_continuous(breaks = c(0, 10, 20, 30, 40, 50))

Apesar de estar um pouco poluído, podemos reparar em como os grupos se comportam em relação as demais variáveis. As cidades europeias estão agrupadas no autovetor da “média de idade” e “expectativa de vida”. Já as cidades da América Latina estão mais agrupadas em torno da “taxa de mortalidade”, “taxa de natalidade” e “crescimento populacional urbano”.

fviz_pca_biplot(pca, label="var", habillage = pietrobelli$id_cont, addEllipses=TRUE, ellipse.level=0.95)

3.Análise Fatorial (FA):

A análise fatorial é um método que procura definir, em um estudo com muitas variáveis, conjuntos de variáveis de alta correlação, chamados de fatores. Assim como o PCA, tem como objetivo diminuir a dimensionalidade dos dados e ainda conseguir explicar a variabilidade deles.

Primeiro definimos a quantidade de fatores. Nesse caso, temos que os 4 primeiros fatores explicam 83,6% da variabilidade, e, além disso, apenas os 4 primeiros autovalores são maiores que 1.

R = cor(fatorial)
eigen(R)$values
##  [1] 6.38764380 1.48846472 1.10447808 1.05164512 0.63250779 0.36695649
##  [7] 0.30158363 0.21291441 0.15571561 0.13792457 0.08512934 0.07503646
cumsum(eigen(R)$values)/sum(eigen(R)$values)
##  [1] 0.5323036 0.6563424 0.7483822 0.8360193 0.8887283 0.9193080 0.9444400
##  [8] 0.9621828 0.9751591 0.9866529 0.9937470 1.0000000
grafico_autovalor=data.frame(autovalor = seq(1:length(eigen(R)$values)), var_explicada = eigen(R)$values)

ggplot(grafico_autovalor)+
  geom_col(aes(x = autovalor, y = var_explicada))

b = principal(fatorial, nfactors = 4, rotate = "none",
                residuals = TRUE)
b
## Principal Components Analysis
## Call: principal(r = fatorial, nfactors = 4, residuals = TRUE, rotate = "none")
## Standardized loadings (pattern matrix) based upon correlation matrix
##                        PC1   PC2   PC3   PC4   h2    u2 com
## Histórico.Escolar     0.73  0.34 -0.33 -0.10 0.76 0.243 1.9
## Aparência             0.72 -0.27 -0.16  0.40 0.78 0.223 2.0
## Comunicação           0.71 -0.45  0.25 -0.23 0.82 0.177 2.2
## Adaptação.à.Empresa   0.80 -0.06  0.05 -0.43 0.83 0.169 1.5
## Experiência           0.64  0.60 -0.18  0.04 0.81 0.186 2.2
## Adaptação.ao.Trabalho 0.81  0.08 -0.03 -0.37 0.80 0.198 1.4
## Carta                 0.63  0.33  0.65  0.13 0.94 0.056 2.6
## Simpatia              0.74 -0.30 -0.12  0.35 0.77 0.234 1.8
## Organização           0.71 -0.54  0.14 -0.25 0.87 0.129 2.2
## Potencial             0.81  0.29 -0.33 -0.17 0.88 0.120 1.7
## Currículo             0.71  0.30  0.47  0.34 0.93 0.074 2.7
## Autoconfiança         0.72 -0.26 -0.29  0.41 0.84 0.161 2.3
## 
##                        PC1  PC2  PC3  PC4
## SS loadings           6.39 1.49 1.10 1.05
## Proportion Var        0.53 0.12 0.09 0.09
## Cumulative Var        0.53 0.66 0.75 0.84
## Proportion Explained  0.64 0.15 0.11 0.10
## Cumulative Proportion 0.64 0.79 0.90 1.00
## 
## Mean item complexity =  2
## Test of the hypothesis that 4 components are sufficient.
## 
## The root mean square of the residuals (RMSR) is  0.05 
##  with the empirical chi square  18.26  with prob <  0.79 
## 
## Fit based upon off diagonal values = 0.99

No exemplo anterior, vemos pela coluna do h2 o quanto os fatores explicam estas variáveis. Neste caso, explicam bastante, considerando que o menor valor é 75%.