ฉันมีชุดข้อมูลที่มีขนาดใหญ่มากและมีค่าสุ่มประมาณ 5% หายไป ตัวแปรเหล่านี้มีความสัมพันธ์ซึ่งกันและกัน ตัวอย่างชุดข้อมูล R ต่อไปนี้เป็นเพียงตัวอย่างของเล่นที่มีข้อมูลที่สัมพันธ์กันจำลอง
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
มีวิธี (ที่ดีที่สุด) ในการกำหนดค่าที่ขาดหายไปในสถานการณ์นี้หรือไม่? อัลกอริทึม Random Forest มีประโยชน์หรือไม่ วิธีการทำงานใด ๆ ใน R จะได้รับการชื่นชมมาก
การแก้ไข:
(1) ค่าที่ขาดหายไปจะถูกกระจายแบบสุ่มระหว่างตัวแปรและกลุ่มตัวอย่างเนื่องจากจำนวนตัวแปรมีขนาดใหญ่มาก (ในตัวอย่าง - 10,000) ในขณะที่จำนวนตัวอย่างมีขนาดเล็กในตัวอย่างตัวอย่างด้านบนมันคือประมาณ 200 ดังนั้นเมื่อ เราดูตัวอย่างจากตัวแปรทั้งหมด (10,000) มีโอกาสสูงที่จะมีค่าที่ขาดหายไปในตัวแปรบางตัว - เนื่องจากตัวแปรจำนวนมาก ดังนั้นการลบตัวอย่างไม่ใช่ตัวเลือก
(2) ตัวแปรสามารถถือว่าเป็นทั้งเชิงปริมาณหรือเชิงคุณภาพ (ไบนารี) ในกระบวนการของการใส่ความ การตัดสินเพียงอย่างเดียวคือวิธีที่ดีที่เราสามารถทำนายได้ (ความแม่นยำ) ดังนั้นการคาดการณ์เช่น 0.98 แทนที่จะเป็น 1 อาจยอมรับได้มากกว่า 0 กับ 1 หรือ -1 กับ 1 ฉันอาจต้องแลกเปลี่ยนระหว่างเวลาในการคำนวณและความแม่นยำ
(3) ปัญหาที่ฉันคิดว่าการมีน้ำหนักเกินสามารถส่งผลต่อผลลัพธ์ได้เนื่องจากจำนวนตัวแปรมีขนาดใหญ่เมื่อเทียบกับจำนวนตัวอย่าง
(4) เนื่องจากปริมาณรวมของค่าที่หายไปคือประมาณ 5% และเป็นแบบสุ่ม (ไม่รวมอยู่ในตัวแปรหรือตัวอย่างใด ๆ เนื่องจากมีการใช้ความระมัดระวังเพื่อลบตัวแปรหรือตัวอย่างที่มีค่าที่หายไปสูงมาก)
(5) การทำข้อมูลให้สมบูรณ์เพื่อการวิเคราะห์เป็นวัตถุประสงค์แรกและความแม่นยำเป็นรอง ดังนั้นไม่ไวเกินไปต่อความแม่นยำ