Vậy cũng chí ít có tới 15 anh chị tham gia khảo sát ngắn về cách khắc phục giá trị missing từ Facebook nhóm thống kê
Tất nhiên dưới đây là một số ý kiến tham khảo và một số anh chị đã biết rõ nhưng là kỷ thuật riêng của họ nên chưa có cơ hội trao đổi thêm. Nhưng xin chia sẻ đây để cùng nhau thảo luận cũng như lưu làm tài liệu sau này. Trích dẫn từ bài giảng GS Nguyễn Văn Tuấn .
Trước khi đọc tiếp, nếu anh chị nào muốn bắt đầu với R có thể học R qua trang này: http://www.statmethods.net/advgraphs/parameters.html
Trước khi đọc tiếp, nếu anh chị nào muốn bắt đầu với R có thể học R qua trang này: http://www.statmethods.net/advgraphs/parameters.html
1. Phương pháp 1:Kiểm tra lại dữ liệu gốc (thu thập thêm, đo lường lại)
Mặc dù nó là đúng nhưng khó mà thực hiện được khi số liệu đã thu thập và bạn đang giai đoạn phân tích số liệu. Trong một vài trường hợp nó có thể sai. Do bổ sung mẫu thay thế là không hợp lý và vi phạm đạo đức nghiên cứu.
2. Phương pháp 2: Loại bỏ các giá trị trống
Chỉ cần 1 giá trị của 1 biến bị loại bỏ là mất một dòng
(một đối tượng)
Loại bỏ nhiều dòng dữ liệu (có khi lên đến 50%)
Trong các nghiên cứu theo thời gian, dẫn đến bias
trong kết quả phân tích
3. Phương pháp 3: Vấn đề thay thế bằng trung bình
• Số trung bình thường là một ước số rất yếu
• Làm giảm phương sai (à bias)
• Giảm mức độ ảnh hưởng
• Tăng mức độ ảnh hưởng (đối với biến ít có giá trị trống)
• Giảm R2
4. Phương pháp 4. Vấn đề thay thế bằng hàm số: Có lẽ đây là phương pháp ít ai dám ngồi vào làm bởi nó quá phực tạp và mất thời gian
• Thường dùng mô hình hồi qui tuyến qnh
• Giá trị thay thế ()ên lượng) không cung cấp thêm
thông )n, vì đã có trong mô hình
• Không nói lên về ‘nh trạng bất định của )ên lượng
– Nếu R2 = 0.90, giá trị )ên lượng tốt
– Nếu R2 = 0.10, giá trị )ên lượng có nhiều nhiễu
Dưới đây là một số ý kiến từ lớp học GS NV Tuấn đề xuất
Gọi chung là Phương pháp hiện đại: IMPUTATION
• Mul)ple imputa)on (MI), giả định MAR
• Imputa)on 5-20 lần
• Dùng mô hình, và tham số của mô hình được ước
qnh 5-20 lần
• Trung bình các tham số
• Xem xét đến phương sai, phản ảnh quá trình bất
định
Nghe phức tạp nhưng nếu các anh chị thực hiện trong R thì nó khá dễ dàng cho anh chị
cụ thể
Chuẩn bị
Cách cài: Anh chị cài R xong.
Nếu anh chị nào muốn bổ sung thêm R thì có thể cài thêm Rstudio (tất cả link đến phần mềm đều đính kèm trên)
Nếu R chưa có các packages này thì các anh chị chạy theo hình sau
Hình 0
VIM và mice (hinh 0)
library(VIM)
library(mice)
Khi chạy thư viên của 2 gói này các bạn đã có luôn bộ data
data(sleep)
(Còn nếu các anh chị đọc data của mình từ folder thì cần dẫn nguồn như sau. Trong trường hợp này file data của tôi là femaleControlsPopulation.csv
Sleep=read.csv("C:/Users/Dropbox/R - Learning/Mo ta/femaleControlsPopulation.csv")
Sleep: tên dataset tôi đặt cho nó)
head(sleep)
(Đính kèm hinh 1)
Bước 1: xem xét dữ liệu và biểu đồ (hình 2 - 3)
md.pattern(sleep)
aggr(sleep, prop=T, numbers=T)
matrixplot(sleep, interactive=F, sortby="Sleep")
Bước 2: Impute giá trị trống
msleep = mice(sleep, seed=1234, printFlag=F)
Bước 3: Kiểm tra giá trị imputed
msleep$imp$Dream
Bước 4: Tạo ra dataset mới (imputed data)
isleep = complete(msleep, action=3)
Và xem kết quả (hình 5): Các giá trị missing được thay thế bằng các giá trị mới)
mice(data1, m=1, maxit=500, method='cart', seed=500)
Tới bước này, nếu anh chị quen dùng các phần mềm khác phân tích thì cũng không sao (VD stata, SPSS, SAS).
Packages hỗ trợ xuất file qua lại phần mềm mình sử dụng (ở đây HD excel)
Câu lệnh:
install.packages("xlsx")
library("xlsx")
write.xlsx(mdata, "C:/Users/BINH THANG/Dropbox/R - Learning/drbinh/new Dec 1/drbinh.xlsx")
library("xlsx")
write.xlsx(mdata, "C:/Users/BINH THANG/Dropbox/R - Learning/drbinh/new Dec 1/drbinh.xlsx")
Cheers
Nhận xét