Tôi có một bộ dữ liệu rất lớn và thiếu khoảng 5% giá trị ngẫu nhiên. Các biến này có mối tương quan với nhau. Ví dụ R tập dữ liệu sau đây chỉ là một ví dụ đồ chơi với dữ liệu tương quan giả.
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
Có cách nào (tốt nhất) để áp đặt các giá trị còn thiếu trong tình huống này không? Thuật toán Random Forest có hữu ích không? Bất kỳ giải pháp làm việc trong R sẽ được nhiều đánh giá cao.
Chỉnh sửa:
(1) giá trị Thiếu được phân phối ngẫu nhiên giữa các biến và samples.As số biến là rất lớn (ở đây trong ví dụ - 10000), trong khi số lượng mẫu là nhỏ ở đây trong ví dụ giả ở trên nó là khoảng 200. Vì vậy, khi chúng tôi xem xét bất kỳ mẫu nào trên tất cả các biến (10000), có nhiều khả năng sẽ thiếu giá trị ở một số biến - do số lượng biến lớn. Vì vậy, chỉ cần xóa mẫu không phải là tùy chọn.
(2) Biến có thể được coi là cả định lượng hoặc định tính (nhị phân) trong quá trình xử lý. Phán quyết duy nhất là chúng ta có thể dự đoán nó tốt như thế nào (độ chính xác). Vì vậy, các dự đoán như 0,98 thay vì 1 có thể được chấp nhận thay vì 0 so với 1 hoặc -1 so với 1. Tôi có thể cần phải đánh đổi giữa thời gian tính toán và độ chính xác.
(3) Vấn đề tôi nghĩ là làm thế nào quá mức có thể ảnh hưởng đến kết quả vì số lượng biến lớn so với số lượng mẫu.
(4) Vì tổng số lượng giá trị thiếu là khoảng 5% và là ngẫu nhiên (không tập trung ở bất kỳ biến hoặc mẫu nào vì đã đề phòng để loại bỏ các biến hoặc mẫu có giá trị thiếu rất cao)
(5) Làm cho dữ liệu hoàn chỉnh để phân tích là mục tiêu đầu tiên và độ chính xác là thứ yếu. Vì vậy, không quá nhạy cảm với độ chính xác.