Busca fatores que explicam parte da variância total dos dados. Fatores são a soma das variâncias originais.
Leitura dos dados:
dados=read.csv2("Dados.csv")
Procura identificar fatores que não são diretamente observáveis, com base em um conjunto de variáveis observáveis.
Explicar a correlação ou covariância, entre um conjunto de variáveis, em termos de um número limitado de variáveis não-observáveis, chamadas de fatores ou variáveis latentes.
Em casos nos quais se tem um número grande de variáveis medidas e correlacionadas entre si, seria possível identificar-se um número menor de variáveis alternativas, não correlacionadas e que de algum modo sumarizassem as informações principais das variáveis originais.
A partir do momento em que os fatores são identificados, seus valores numéricos, chamados de escores, podem ser obtidos para cada elemento amostral. Conseqüentemente, estes escores podem ser utilizados em outras análises que envolvam outras técnicas estatísticas, como análise de regressão ou análise de variância, por exemplo.
Teste KMO (Kaiser-Meyer-Olkin) - avalia a adequação do tamanho amostra. Varia entre 0 e 1, onde: zero indica inadequado para análise fatorial, aceitável se for maior que 0.5, recomendado acima de 0.8.
Teste de Bartlett - a hipótese nula da matriz de correlação ser uma matriz identidade, isto é, avalia se os componentes fora da diagonal principal são zero. O resultado significativo indica que existem algumas relações entre as variáveis.
No R:
bartlett.test(dados)
##
## Bartlett test of homogeneity of variances
##
## data: dados
## Bartlett's K-squared = 29941, df = 10, p-value < 2.2e-16
n=nrow(dados)
p=ncol(dados)
R=det(cor(dados))
X2=-((n-1)-(2*p+5)/6)*log(R);
X2
## [1] 2590.281
v=p*(p-1)/2
teste=qchisq(0.05,v)
X2>teste #O modelo é apropriado para a análise fatorial pelo teste de Bartlett de esfericidade
## [1] TRUE
kmo = function(x)
{
x = subset(x, complete.cases(x))
r = cor(x)
r2 = r^2
i = solve(r)
d = diag(i)
p2 = (-i/sqrt(outer(d, d)))^2
diag(r2) <- diag(p2) <- 0
KMO = sum(r2)/(sum(r2)+sum(p2))
MSA = colSums(r2)/(colSums(r2)+colSums(p2))
return(list(KMO=KMO, MSA=MSA))
}
kmo(dados)
## $KMO
## [1] 0.5942236
##
## $MSA
## A B C D E F G
## 0.6789278 0.9151657 0.6897541 0.3385536 0.8699746 0.3632508 0.5172135
## H I J K
## 0.4878681 0.4901580 0.4895023 0.4686937
Nem sempre é possível utilizar a correlação de pearson, porém, existem diversas outras maneiras de se saber qual a correlação dos dados. Podemos utilizar correlações como de Spearman, Policórica, etc..
Determinado o número de fatores necessários para representar os dados
Também é determinado o método que será utilizado, o mais utilizado é a análise de componentes principais
Estimação do número de fatores m
Para a estimação de m, bastará extrair-se os autovalores da matriz de correlação amostral.
Observa-se quais autovalores são os mais importantes em termos de grandeza numérica.
os autovalores refletem a importância do fator se o número de fatores for igual ao número de variáveis então a soma dos autovetores é igual a soma das variâncias (pois cada variância será igual a 1).
Portanto a razão $ / 2 var $ indica proporção da variabilidade total explicada pelo fator
Critérios:
A análise da proporção da variância total relacionada com cada autovalor (\(\lambda_i\)). Permanecem aqueles autovalores que maiores proporções da variância total e, portanto, o valor de m será igual ao número de autovalores retidos;
A comparação do valor numérico de (\(\lambda_i\)) com o valor 1. O valor de m será igual ao número de autovalores maiores ou iguais a 1.
Observação do gráfico scree-plot, que dispõe os valores de (\(\lambda_i\)) ordenados em ordem decrescente. Por este critério, procura-se no gráfico um “ponto de salto”, que estaria representando um decréscimo de importância em relação à variância total. O valor de m seria então igual ao número de autovalores anteriores ao “ponto de salto”.
Fatores são obtidos atravéz da decomposição espectral da matriz de correlações, resultado em cargas fatoriais que indicam o quanto cada variável está associada a cada fator e os autovalores associados a cada um dos fatores envolvidos
São formadas combinações lineares das variáveis observadas.
O primeiro componente principal consiste na combinação que responde pela maior quantidade de variância na amostra.
O segundo componente responde pela segunda maior variância na amostra e não é correlacionado com o primeiro componente.
Sucessivos componentes explicam progressivamente menores porções de variância total da amostra e todos são não correlacionados uns aos outros.
#Componentes principais:
acpcor=prcomp(dados, scale = TRUE)
summary(acpcor)
## Importance of components%s:
## PC1 PC2 PC3 PC4 PC5 PC6 PC7
## Standard deviation 1.7205 1.5835 1.2745 1.2107 1.02156 0.72100 0.6634
## Proportion of Variance 0.2691 0.2280 0.1477 0.1333 0.09487 0.04726 0.0400
## Cumulative Proportion 0.2691 0.4971 0.6447 0.7780 0.87285 0.92011 0.9601
## PC8 PC9 PC10 PC11
## Standard deviation 0.4953 0.33061 0.25079 0.14588
## Proportion of Variance 0.0223 0.00994 0.00572 0.00193
## Cumulative Proportion 0.9824 0.99235 0.99807 1.00000
Observação do gráfico scree-plot:
plot(1:ncol(dados), acpcor$sdev^2, type = "b", xlab = "Componente",
ylab = "Variância", pch = 20, cex.axis = 1.3, cex.lab = 1.3)
Algumas variáveis são mais correlacionadas com alguns fatores do que outras.
Em alguns casos, a interpretação dos fatores originais pode não ser tarefa muito fácil devido à aparição de coeficientes de grandeza numérica similar, e não desprezível, em vários fatores diferentes.
O propósito da rotação é obter uma estrutura simples.
Em uma estrutura simples, cada fator tem carga alta somente para algumas variáveis, tornando mais fácil a sua identificação.
Tipos: Varimax, Quartimax, Equamax
Aplicando a Varimax:
k <- 6 #6 fatores selecionados
carfat = acpcor$rotation[, 1:k] %*% diag(acpcor$sdev[1:k])
carfatr = varimax(carfat)
Indices atribuídos a variável original que expressam em % o quanto da variabilidade de cada variável é explicada pelo modelo
Designa-se por comunalidade (\(h^{2}_i\))a proporção da variância de cada variável explicada pelos fatores comuns.
As comunalidades variam entre 0 e 1, sendo 0 quando os fatores comuns não explicam nenhuma variância da variável e 1 quando explicam toda a sua variância.
Quando o valor das comunalidades é menor que 0,6 deve-se pensar em: aumentar a amostra, eliminar as variáveis.
Feito pelas cargas fatoriais que são os parâmetros do modelo
Fatores expressam as covariâncias entre cada fator e as variáveis originais
Varimax ajuda a interpretar o modelo
Rotações ortogonais (para dependente) ; Rotações oblícuas (para independentes)