Ich habe einen sehr großen Datensatz und es fehlen ungefähr 5% zufällige Werte. Diese Variablen sind miteinander korreliert. Der folgende Beispiel-R-Datensatz ist nur ein Spielzeugbeispiel mit Dummy-korrelierten Daten.
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
Gibt es in dieser Situation eine (beste) Möglichkeit, fehlende Werte zu unterstellen? Ist der Random Forest-Algorithmus hilfreich? Jede funktionierende Lösung in R wäre sehr dankbar.
Bearbeitungen:
(1) Fehlende Werte werden zufällig auf die Variablen und Stichproben verteilt. Die Anzahl der Variablen ist sehr groß (hier im Beispiel - 10000), während die Anzahl der Stichproben hier im obigen Dummy-Beispiel etwa 200 beträgt Betrachtet man eine Stichprobe über alle Variablen (10000), besteht die hohe Wahrscheinlichkeit, dass bei einer Variablen ein Wert fehlt - aufgrund der großen Anzahl von Variablen. Das Löschen des Samples ist also keine Option.
(2) Die Variable kann sowohl quantitativ als auch qualitativ (binär) im Rahmen der Anrechnung behandelt werden. Das einzige Urteil ist, wie gut wir es vorhersagen können (Genauigkeit). Vorhersagen wie 0,98 anstelle von 1 könnten also akzeptabel sein, eher 0 gegen 1 oder -1 gegen 1. Ich muss möglicherweise einen Kompromiss zwischen Rechenzeit und Genauigkeit eingehen.
(3) Das Problem, über das ich nachgedacht habe, wie sich eine Überanpassung auf die Ergebnisse auswirken kann, da die Anzahl der Variablen im Vergleich zur Anzahl der Stichproben groß ist.
(4) Da die Gesamtmenge der fehlenden Werte ungefähr 5% beträgt und zufällig ist (nicht auf Variablen oder Proben konzentriert, da Vorsichtsmaßnahmen getroffen wurden, um Variablen oder Proben mit sehr hohen fehlenden Werten zu entfernen)
(5) Die Vervollständigung der Daten für die Analyse ist das erste Ziel und die Genauigkeit ist zweitrangig. Also nicht zu empfindlich auf Genauigkeit.