Análise Fatorial de Dados Mistos ou Factor Analysis of Mixed Data ‐ FAMD - lmigueel/Bioinformatica GitHub Wiki
1. Introdução
A análise fatorial de dados mistos (FAMD) é um método de componentes principais dedicado à análise de um conjunto de dados contendo variáveis quantitativas e qualitativas. Permite analisar a semelhança entre os indivíduos levando em consideração um conjunto misto de variáveis. Além disso, pode-se explorar a associação entre todas as variáveis, tanto quantitativas quanto qualitativas.
O algoritmo FAMD pode ser visto como uma mistura entre análise de componentes principais (PCA) e análise de correspondência múltipla (MCA). Ou seja, atua como variáveis quantitativas da PCA e como MCA para variáveis qualitativas.
2. Exemplos no R
Primeiro você deve instalar o pacote FactomineR: install.packages("FactoMineR")
Aqui vou deixar cinco links com alguns exemplos para vocês. São exemplos bem legais onde há a descrição dos resultados. Vou aqui deixar a ideia de cada um dos plots observados nos exemplos.
-
Função principal:
result <- FAMD(df, graph = FALSE)
. Aqui o seu dataframe chamado df deve estar com as variaveis continuas e categóricas. -
Extrai as variâncias para cada dimensão (eixo):
get_eigenvalue(result)
. Neste caso você verá o valor das dimensões, que possuem número máximo igual ao seu total de variáveis. Use as duas primeiras e observe a variância acumulada. Caso queira ver o plot, use o comandofviz_screeplot(result)
, do pacote factoextra. -
Extrai os resultados das variaveis qualitativas e quantitativas:
var <- get_famd_var(result)
. Neste caso você vai observar as coordenadas variaveis (var$coord
) ou a contribuição pra cada dimensão (var$contrib
). Para visualizar, veja o próximo comando. -
Visualiza as variáveis:
fviz_famd_var(result, repel=TRUE)
. O repel é para os nomes não ficarem sobrepostos. Com este plot você já observa as variáveis que mais contribuem para cada dimensão, e assim são as mais importantes para a separação dentre os eixos. Caso queira ver de um eixo especifico use a opçãoaxes=1
para a primeira dimensão e assim sucessivamente usando a funçãofviz_contrib(result, "var", axes = 1)
. -
Variáveis quantitativas: Para visualizar apenas as quantitativas use o comando
quanti.var <- get_famd_var(result, "quanti.var")
. E da mesma forma use o$coord
e$contrib
para visualizar as coordenadas e contribuições, respectivamente. Voce ainda consegue visualizar com o comando
fviz_famd_var(result, "quanti.var", col.var = "contrib", gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"), repel = TRUE)
que mostra as variáveis quantitativas apenas (usamos o quanti.var), colore pela contribuição (col.var) e possui um gradiente de cor de tons azuis a vermelho.
- Variáveis qualitativas: Para visualizar apenas as qualitativas use o comando
quali.var <- get_famd_var(res.famd, "quali.var")
e use os mesmos comando acima com o devido objeto.
Exemplos
- STHDA - FAMD
- RPubs - FAMD - code 1. Entre no
Source Code
no canto direito superior para ver o código. - RPubs - FAMD - code 2
- DataNovia
- Exemplo em artigo