Analyse Factorielle de Données Mixtes AFMD en langage R
L'essentiel de cette page
Selon les situations, lorsque l'on a beaucoup de variables, l'on va faire l'Analyse en Composantes Principales (ACP) lorsque les données sont continues pour réduire les dimensions ou de l’Analyse des Correspodances Multiples (ACM) lorsque les données sont catégorielles ou enfin de l’Analyse Factorielle de Données Mixtes (AFDM) lorsque les données sont continues et catégorielles.
Voici comment faire :
1- Mettons en place une AFMD
Prenons des valeurs simple à maîtriser, le jeu de donnée wine de {FactoMineR} qui décrit différents vins.
# Installer et charger le package FactoMineR
# install.packages("FactoMineR")
library(FactoMineR)
# Charger les données
data("wine")
res.afmd<- FAMD(wine)
# Afficher les résultats
print(res.afdm)
# Visualiser les résultats
# install.packages("factoextra")
library(factoextra)
fviz_mfa_ind(res.afdm)
2- Interprétons les résultats
Projection des variables quantitatives sur les composantes
Projection des variables qualitatives sur les composantes
Poids des différentes variablesdans les composantes
Représentation des individus sur les composantes (résultat principaux)
Représentation combinée des individus et des catégories.
3- Imputation des données manquantes sur AFMD
#install.packages("VIM")
library(VIM) ; data(iris)
# Simulons des trous NA dans iris
row_ind <- sample(1:nrow(iris),15,replace=T)
col_ind <- sample(1:ncol(iris),15,replace=T)
for (i in 1:15) {
iris[row_ind[i], col_ind[i]] <- NA
}
matrixplot(iris)
library(FactoMineR) ; library(missMDA)
# Convertir les facteurs en character (contre-intuitif)
iris$Species <- as.character(iris$Species)
imputed_data <- imputeFAMD(iris, group = c(4, 1), type = c(rep("s",4), "n"))
Cette fonction imputeFAMD() marche mal, il peut être pertinent d'utiliser la technique des forêts aléatoires pour une imputation efficace :
library(missForest)
# Imputer les valeurs manquantes sans la colonne Banks
dfimp <- missForest(iris)
# Extraire les données imputées
imputed_data <- dfimp$ximp
Une source externe : https://mate-shs.cnrs.fr/actions/tutomate/tuto32-les-analyses-factorielles-multiples-afm-amand/analyse-factorielle-multiple-avec-r/