Chuyển đến nội dung chính

Visitors (statistics)

Xử lý giá trị trống (missing)

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


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ị

Đầu tiên các anh chị khởi động R (hoặc Rstudio) chạy các gói packages: (mô tả kèm dưới).
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)

Note: msleep = mice(df1, seed=1234, printFlag=F) Error in solve.default(xtx + diag(pen)) : system is computationally singular: reciprocal condition number = 2.13394e-17


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")


Cheers



Nhận xét

Bài đăng phổ biến từ blog này

Phần mềm dinh dưỡng tính khẩu phần ăn - Hướng dẫn phần mềm Vietnam Eiyokun

bạn muốn biết bạn đã ăn bao nhiêu kcal protit, lipip, gluxit, bao nhiêu g vitamin và vô số chất dinh dưỡng khác trong bữa ăn hằng ngày? làm thế nào để tính được 1 người nặng 100 kg cao 1m80 mỗi ngày cần bao nhiêu protit, lipip, gluxit? 1 công việc quá đơn giản đối với 1 nhà dinh dưỡng chuyên nghiệp. vấn đề là chúng ta thường là các nhà dinh dưỡng không chuyên. nhưng với phần mềm Vietnam Eiyokun tất cả chúng ta đều trở thành những nhà bán chuyên nghiệp. các bạn download hướng dẫn tại đây Bản cài đặt tại đây . pass mở file là itcchue code là A020400312

Các phép tính đơn giản ứng dụng trong SPSS - Lệnh Compute

Xin nhắc lại đây là những bài viết ở mức độ hướng dẫn cơ bản và mang tính chất cá nhân nên không thể tránh sai sót. Chỉ là mang tính chất xây dựng nguồn tài liệu của YTCC Huế Chủ đề hôm nay là thực hiện các phép tính cơ bản: Đơn giản muốn tính BMI trong SPSS. Bạn làm thế nào, trong khi đã có dữ kiện là Cân nặng, chiều cao (cm). BMI = (Cân nặng/(Chiều cao* chiều cao)*10000) Mô tả bằng hình ảnh trong SPSS. H1:  H2 Bạn trở lại cửa sổ Variable View sẽ thấy 1 biến mới "BMI" xuất hiện. Nó là kết quả của việc thực hiện thuât toán trên. Xin lỗi là công thức trên thiếu 1 dấu ")" cuối cùng trong hình 2. Thks đã đọc TBT Ytcchue.blogspot.com

Recode – mã hoá lại biến trong Stata

Lệnh recode giúp ta mã hoá lại các giá trị của biến theo những điều kiện được đưa ra. Giá trị nào không phù hợp với biểu thức điều kiện sẽ không bị thay đổi, ngoại trừ phù hợp với những điều kiện kèm theo. Câu lệnh như sau: recode danh sách biến (biểu thức điều kiện) [biểu thức điều kiện] [if] [in] [, tuỳ chọn]