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 comando fviz_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ção axes=1 para a primeira dimensão e assim sucessivamente usando a função fviz_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