Alunos:
Ana Vitória
Ester Rosa
Francieli Almeida
Mateus Elias
Dados:
As porcentagens da força de trabalho em oito setores (IBGE Setor) para 26 estados do Brasil e Distrito Federal.
1 - Extrativa mineral(Exm);
2 - Indústria de transformação(IndT);
3 - Servicos industriais de utilidade pública(ServUp);
4 - Construção Civil(Cons);
5 - Comércio(Com);
6 - Serviços(Serv);
7 - Administração Pública(AdmP);
8 - Agropecuária, extração vegetal, caça e pesca(Agro).
Técnicas Utilizadas
Análise descritiva;
Análise fatorial;
Análise de componentes principais.
A análise fatorial clássica exige que alguns pressupostos sejam satisfeitos, quais sejam (MALHOTRA, 2001):
Normalidade dos dados: apesar deste pressuposto não ser crÃtico quando a estimação é realizada por mÃnimos quadrados ordinários, a exigência de normalidade auxilia na análise, evitando possÃveis assimetrias e a presença de outliers.
Variáveis quantitativas medidas em escala Intervalar ou de Razão. Esse pressuposto é crÃtico, pois a análise deve ser realizada com variáveis quantitatias e, frequentemente, alguns estudos são realizados utilizando variáveis ordinais (as quaiss são qualitativas) na análise fatorial clássica (o que é errado de muitas maneiras).
Como diretriz inicial deve haver ao menos quatro a cinco vezes mais observações do que variáveis.
| Em geral, as estatÃsticas utilizadas no processo de análise fatorial são (AAKER-KUMARDAY, 2001): |
Teste de esfericidade de Bartlett: estatÃstica de teste usada para examinar a hipótese de que as variáveis não sejam correlacionadas na população, ou seja, a matriz de correlação da população é uma matriz identidade onde cada variável se correlaciona perfeitamente com ela própria (r=1), mas não apresenta correlação com as outras variáveis (r=0).
Matriz de correlação: o triângulo inferior da matriz exibe as correlações simples, r, entre todos os pares possÃveis de variáveis incluÃdas na análise, enquanto os elementos da diagonal, que são todos iguais a 1, em geral são omitidos.
Comunalidade: porção da variância que uma variável compartilha com todas as outras variáveis consideradas, sendo também a proporção de variância explicada pelos fatores comuns.
Autovalor: representa a variância total explicada por cada fator.
Cargas fatoriais: correlação simples entre as variáveis e os fatores.
Gráfico das cargas dos fatores: gráfico das variáveis originais utilizando as cargas fatoriais como ordenadas.
Matriz de fatores ou matriz principal: contém as cargas fatoriais de todos as variáveis em todos os fatores extraÃdos.
Escores fatoriais: escores compostos estimados para cada entrevistado nos fatores derivados.
Medida de adequacidade da amostra de Kaiser-Meyer-Olkin (KMO): é o Ãndice usado para avaliar a adequacidade da análise fatorial. Valores altos (entre 0,5 e 1,0) indicam que a análise fatorial é apropriada. Valores abaixo de 0,5 indicam que a análise fatorial pode ser inadequada.
Percentagem de variância: percentagem da variância total atribuÃda a cada fator.
ResÃduos: diferenças entre as correlações observadas, dadas na matriz de correlação de entrada (input) e as correlações reproduzidas, conforme estimadas pela matriz de fatores.
Scree plot: gráfico dos autovalores versus número de fatores por ordem de extração.
| Descrição dos dados |
## vars n mean sd median trimmed mad min max range skew
## Exm 1 27 0.51 0.52 0.32 0.44 0.31 0.02 2.23 2.21 1.63
## IndT 2 27 11.97 6.48 11.27 11.59 6.92 2.25 29.31 27.06 0.55
## ServUp 3 27 1.06 0.25 1.02 1.04 0.25 0.64 1.71 1.07 0.59
## Cons 4 27 4.13 0.81 4.10 4.11 0.87 2.45 5.92 3.47 0.27
## Com 5 27 19.41 2.22 19.46 19.41 1.54 12.90 24.18 11.28 -0.40
## Serv 6 27 31.90 6.25 32.33 31.66 5.77 20.78 45.54 24.76 0.29
## AdmP 7 27 27.43 10.67 26.44 26.94 12.29 11.75 48.83 37.08 0.34
## Agro 8 27 3.60 3.17 2.66 3.10 1.62 0.48 14.44 13.96 1.87
## kurtosis se
## Exm 2.28 0.10
## IndT -0.01 1.25
## ServUp 0.06 0.05
## Cons -0.22 0.16
## Com 1.53 0.43
## Serv -0.49 1.20
## AdmP -0.96 2.05
## Agro 3.29 0.61
## Exm IndT ServUp Cons Com
## Exm 1.00000000 -0.06228244 0.075802347 0.537368398 0.18496109
## IndT -0.06228244 1.00000000 -0.113467713 -0.137475168 0.12411647
## ServUp 0.07580235 -0.11346771 1.000000000 -0.223070736 0.14059275
## Cons 0.53736840 -0.13747517 -0.223070736 1.000000000 -0.04841506
## Com 0.18496109 0.12411647 0.140592755 -0.048415061 1.00000000
## Serv 0.08177291 0.29788931 -0.069330464 0.068577204 -0.30723653
## AdmP -0.19266977 -0.81413913 0.072424115 -0.008136171 -0.24385485
## Agro 0.17816931 0.07480970 -0.006911745 -0.118823565 0.44512269
## Serv AdmP Agro
## Exm 0.08177291 -0.192669769 0.178169310
## IndT 0.29788931 -0.814139132 0.074809697
## ServUp -0.06933046 0.072424115 -0.006911745
## Cons 0.06857720 -0.008136171 -0.118823565
## Com -0.30723653 -0.243854849 0.445122686
## Serv 1.00000000 -0.626157739 -0.285236800
## AdmP -0.62615774 1.000000000 -0.267172490
## Agro -0.28523680 -0.267172490 1.000000000
## $chisq
## [1] 355.8572
##
## $p.value
## [1] 1.652884e-58
##
## $df
## [1] 28
## Kaiser-Meyer-Olkin factor adequacy
## Call: KMO(r = rais_3)
## Overall MSA = 0.07
## MSA for each item =
## Exm IndT ServUp Cons Com Serv AdmP Agro
## 0.06 0.10 0.01 0.05 0.06 0.09 0.15 0.05
fa.parallel(rais_3,fm="pa", fa="fa", main = "Scree Plots da Análise Paralela", n.iter=50,show.legend = TRUE)
## Parallel analysis suggests that the number of factors = 3 and the number of components = NA
fit <- fa(rais_3, nfactors = 4, n.obs = 27 , rotate = "oblimin", residuals = TRUE, fm = "pa")
## maximum iteration exceeded
## Loading required namespace: GPArotation
print(fit, sort = TRUE)
## Factor Analysis using method = pa
## Call: fa(r = rais_3, nfactors = 4, n.obs = 27, rotate = "oblimin",
## residuals = TRUE, fm = "pa")
## Standardized loadings (pattern matrix) based upon correlation matrix
## item PA1 PA2 PA3 PA4 h2 u2 com
## AdmP 7 -1.27 -0.04 0.09 -0.03 1.61 -0.614 1.0
## IndT 2 0.63 -0.08 -0.20 -0.09 0.45 0.549 1.3
## Serv 6 0.51 -0.48 0.12 0.32 0.61 0.393 2.8
## Com 5 0.17 0.63 -0.10 -0.20 0.47 0.525 1.4
## Agro 8 0.18 0.56 -0.09 -0.32 0.46 0.541 1.9
## Exm 1 0.20 0.43 0.72 0.22 0.79 0.208 2.1
## Cons 4 0.03 0.02 0.71 0.05 0.51 0.490 1.0
## ServUp 3 -0.12 0.44 -0.37 0.80 0.99 0.013 2.1
##
## PA1 PA2 PA3 PA4
## SS loadings 2.38 1.33 1.24 0.94
## Proportion Var 0.30 0.17 0.16 0.12
## Cumulative Var 0.30 0.46 0.62 0.74
## Proportion Explained 0.40 0.23 0.21 0.16
## Cumulative Proportion 0.40 0.63 0.84 1.00
##
## Mean item complexity = 1.7
## Test of the hypothesis that 4 factors are sufficient.
##
## The degrees of freedom for the null model are 28 and the objective function was 15.82 with Chi Square of 355.86
## The degrees of freedom for the model are 2 and the objective function was 11.14
##
## The root mean square of the residuals (RMSR) is 0.02
## The df corrected root mean square of the residuals is 0.08
##
## The harmonic number of observations is 27 with the empirical chi square 0.65 with prob < 0.72
## The total number of observations was 27 with Likelihood Chi Square = 220.9 with prob < 1.1e-48
##
## Tucker Lewis Index of factoring reliability = -9.727
## RMSEA index = 2.013 and the 90 % confidence intervals are 1.828 2.285
## BIC = 214.31
## Fit based upon off diagonal values = 0.99
# PCA com a matriz de covariâncias
rais_3 <- read.csv2('rais.csv', row.names = 1)
pca_cov <- prcomp(rais_3)
summary(pca_cov)
## Importance of components:
## PC1 PC2 PC3 PC4 PC5 PC6 PC7
## Standard deviation 12.6487 5.6426 3.76675 1.88879 0.9633 0.39890 0.23479
## Proportion of Variance 0.7592 0.1511 0.06733 0.01693 0.0044 0.00076 0.00026
## Cumulative Proportion 0.7592 0.9103 0.97765 0.99458 0.9990 0.99974 1.00000
## PC8
## Standard deviation 0.002542
## Proportion of Variance 0.000000
## Cumulative Proportion 1.000000
# PCA com a matriz de correlação (variáveis padronizadas)
pca_corr <- prcomp(rais_3, center = TRUE, scale = TRUE)
summary(pca_corr)
## Importance of components:
## PC1 PC2 PC3 PC4 PC5 PC6 PC7
## Standard deviation 1.4975 1.3306 1.2595 1.0204 0.77350 0.6670 0.56234
## Proportion of Variance 0.2803 0.2213 0.1983 0.1301 0.07479 0.0556 0.03953
## Cumulative Proportion 0.2803 0.5016 0.6999 0.8301 0.90487 0.9605 1.00000
## PC8
## Standard deviation 0.0004951
## Proportion of Variance 0.0000000
## Cumulative Proportion 1.0000000
fviz_eig(pca_corr, addlabels=TRUE, ylim = c(0,35))
# Gráfico de indivÃduos
fviz_pca_ind(pca_corr,
col.ind = "cos2", #Cor pela qualidade de representação
gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"),
repel = TRUE, # Texto não sobreposto
legend.title = "Representação"
)
# Gráfico das variáveis
fviz_pca_var(pca_corr,
col.var = "contrib", # Cor por contribuições para o PC
gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"),
repel = TRUE,
legend.title = "Contribuição"
)
library(corrplot)
## corrplot 0.92 loaded
res.pca <- PCA(rais_3, graph = FALSE)
var <- get_pca_var(res.pca)
corrplot(var$cos2, is.corr = FALSE)
fviz_pca_ind(res.pca, pointsize = "cos2",
pointshape = 21, fill = "#E7B800",
repel = TRUE)
fviz_pca_ind(res.pca, col.ind = "cos2", pointsize = "cos2",
gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"),
repel = TRUE)
library(ggthemes)
# Gráfico das variáveis e indivÃduos
fviz_pca_biplot(pca_corr, repel = TRUE,
col.var = "black", # cor das variáveis
geom.ind = "point",
pointshape = 21,
pointsize = 2.5,
fill.ind =rais_4$`Região`,
addEllipses = TRUE, ellipse.level = 0.95,legend.title = "Região",
ellipse.type ="confidence", palette = "jco") + theme_classic() # cor dos automoveis
library(ggthemes)
# Gráfico das variáveis e indivÃduos
fviz_pca_biplot(pca_corr, repel = TRUE,
col.var = "black", # cor das variáveis
col.ind = "gray",
fill.ind =rais_4$`Região`,
addEllipses = TRUE, ellipse.level = 0.95,legend.title = "Região",
ellipse.type ="confidence", palette = "jco") + theme_classic() # cor dos automoveis
library(ggthemes)
# Gráfico das variáveis e indivÃduos
fviz_pca_biplot(pca_corr, repel = TRUE,
col.var = "black", # cor das variáveis
col.ind = "brown",
fill.ind =rais_4$`Região`,
addEllipses = TRUE, ellipse.level = 0.95,legend.title = "Região",
ellipse.type ="confidence", palette = "jco") + theme_classic() # cor dos automoveis
# Gráfico das variáveis e indivÃduos
fviz_pca_biplot(res.pca, # Individuals
geom.ind = "point",
fill.ind = rais_4$`Região`, col.ind = "black",
pointshape = 21, pointsize = 2,
palette = "jco",
addEllipses = TRUE,
# Variables
alpha.var ="contrib", col.var = factor(c("Grupo 1", "Grupo 1", "Grupo 1", "Grupo 2","Grupo 2","Grupo 3","Grupo 3","Grupo 4")),
gradient.cols = "Accent",
legend.title = list(fill = "Região",color="contrib",
alpha = "Contrib"))
## Too few points to calculate an ellipse
## Too few points to calculate an ellipse
# Gráfico das variáveis e indivÃduos
fviz_pca_biplot(res.pca, # Individuals
geom.ind = "point",
fill.ind = rais_4$`Região`, col.ind = "black",
pointshape = 21, pointsize = 2,
palette = "jco",
addEllipses = TRUE,
# Variables
alpha.var ="contrib", col.var = "contrib",
gradient.cols = "Accent",
legend.title = list(fill = "Região",color="contrib",
alpha = "Contrib"))
## Too few points to calculate an ellipse
## Too few points to calculate an ellipse
# Contributions of variables to PC1
fviz_contrib(res.pca, choice = "var", axes = 1)
# Contributions of variables to PC2
fviz_contrib(res.pca, choice = "var", axes = 2)
corrplot(var$contrib, is.corr=FALSE)
pca <- prcomp( x = rais_3, center = TRUE, scale. = TRUE)
pca
## Standard deviations (1, .., p=8):
## [1] 1.4975235587 1.3305837872 1.2595331093 1.0203900645 0.7734974628
## [6] 0.6669503445 0.5623425175 0.0004950862
##
## Rotation (n x k) = (8 x 8):
## PC1 PC2 PC3 PC4 PC5 PC6
## Exm 0.15344270 0.20670761 -0.64027527 0.25579769 -0.14704353 0.13750608
## IndT 0.55610879 -0.03433924 0.22889366 -0.10239542 0.37318292 0.52845930
## ServUp -0.09179423 0.19146967 0.15068139 0.89326662 0.03724720 0.22685873
## Cons 0.02756503 -0.07322526 -0.71298534 -0.10448638 0.26386402 0.13183840
## Com 0.15139933 0.60697565 0.01534502 0.01315743 0.48146392 -0.59421953
## Serv 0.41160165 -0.45664599 -0.06304619 0.25189951 -0.31906932 -0.50685147
## AdmP -0.66434456 -0.01886322 -0.03399442 -0.04747994 0.04184011 0.03350899
## Agro 0.15595182 0.58031836 0.03516219 -0.22216940 -0.65782809 0.14784618
## PC7 PC8
## Exm -0.645389416 0.03584975
## IndT -0.094079833 0.44643137
## ServUp 0.284850996 0.01705079
## Cons 0.620087218 0.05566853
## Com -0.007430584 0.15261276
## Serv 0.102612961 0.43057784
## AdmP -0.110667878 0.73468340
## Agro 0.293498255 0.21812036
plot(pca, type = "l", pch = 16, main = "Scree plot")
biplot(pca)