J'ai un très grand ensemble de données et il manque environ 5% de valeurs aléatoires. Ces variables sont corrélées entre elles. L'exemple de jeu de données R suivant n'est qu'un exemple de jouet avec des données corrélées factices.
set.seed(123)
# matrix of X variable
xmat <- matrix(sample(-1:1, 2000000, replace = TRUE), ncol = 10000)
colnames(xmat) <- paste ("M", 1:10000, sep ="")
rownames(xmat) <- paste("sample", 1:200, sep = "")
#M variables are correlated
N <- 2000000*0.05 # 5% random missing values
inds <- round ( runif(N, 1, length(xmat)) )
xmat[inds] <- NA
> xmat[1:10,1:10]
M1 M2 M3 M4 M5 M6 M7 M8 M9 M10
sample1 -1 -1 1 NA 0 -1 1 -1 0 -1
sample2 1 1 -1 1 0 0 1 -1 -1 1
sample3 0 0 1 -1 -1 -1 0 -1 -1 -1
sample4 1 0 0 -1 -1 1 1 0 1 1
sample5 NA 0 0 -1 -1 1 0 NA 1 NA
sample6 -1 1 0 1 1 0 1 1 -1 -1
sample7 NA 0 1 -1 0 1 -1 0 1 NA
sample8 1 -1 -1 1 0 -1 -1 1 -1 0
sample9 0 -1 0 -1 1 -1 1 NA 0 1
sample10 0 -1 1 0 1 0 0 1 NA 0
Existe-t-il un (meilleur) moyen d'imputer les valeurs manquantes dans cette situation? L'algorithme Random Forest est-il utile? Toute solution de travail en R serait très appréciée.
Modifications:
(1) Les valeurs manquantes sont distribuées de manière aléatoire entre les variables et les échantillons. Comme le nombre de variables est très grand (ici dans l'exemple - 10000), alors que le nombre d'échantillons est petit ici dans l'exemple factice ci-dessus, il est d'environ 200. Donc, lorsque nous examinons tout échantillon sur toutes les variables (10000), il y a de fortes chances qu'il manque une valeur à une variable - en raison du grand nombre de variables. La suppression de l'échantillon n'est donc pas une option.
(2) La variable peut être traitée à la fois comme quantitative ou qualitative (binaire) en cours d'imputation. Le seul jugement est de savoir dans quelle mesure nous pouvons le prédire (précision). Ainsi, des prédictions comme 0,98 au lieu de 1 pourraient être acceptables plutôt que 0 contre 1 ou -1 contre 1. Je pourrais avoir besoin de faire un compromis entre le temps de calcul et la précision.
(3) Le problème que je me pose est de savoir comment le sur-ajustement peut affecter les résultats car le nombre de variables est important par rapport au nombre d'échantillons.
(4) La quantité totale de valeurs manquantes étant d'environ 5% et aléatoire (non concentrée dans des variables ou des échantillons, car des précautions ont été prises pour supprimer les variables ou les échantillons qui ont des valeurs manquantes très élevées)
(5) Rendre les données complètes pour l'analyse est le premier objectif et la précision est secondaire. Donc pas trop sensible à la précision.