Phương pháp thay thế lặp MI – Multiple Imputation
3.4 Thay thế (Imputing)
Cú pháp cơ bản của lệnh mi impute chained là:
mi impute chained (method1) varlist1 (method2) varlist2… = regvars
Mỗi phương pháp xác định phương pháp nào được sử dụng để thực hiện thay thế cho danh sách biến đi kèm. Các phương pháp có thể được sử dụng gồm regress, pmm, truncreg, intreg, logit, ologit, mlogit, poisson, và nbreg. regvars là danh sách các biến dạng Regular được sử dụng như là biến giải thích (covariates) trong các mô hình thay thế (nhưng không được thay thế).
Và các tùy chọn cơ bản của lệnh là: add(N) rseed(R) savetrace(tracefile, replace)
Với
- N là số lần thay thế được đưa vào dữ liệu
- R là giá trị khởi đầu (seed) được sử dụng để tạo các số ngẫu nhiên. Nếu chúng ta không thiết lập nó thì chúng ta sẽ thấy kết quả thay đổi đôi chút ở mỗi lần chạy thay thế.
- tracefile là tập dữ liệu mà ở đó lệnh mi impute chained sẽ lưu thông tin quá trình thay thế. Chúng ta sử dụng file này để kiểm tra tính hội tụ của phương pháp.
Trong ví dụ của chúng ta câu lệnh thay thế sẽ là:
mi impute chained (logit) urban (mlogit) race (ologit) edu (pmm) exp wage, add(5) rseed(4409) by(female)
KINH NGHIỆM CHỌN SỐ LẦN THAY THẾ Câu hỏi đặt ra là bao nhiêu lần thay thế là hiệu quả. Trong nhiều trường hợp, người ta sử dụng 3 – 10 lần, tài liệu của Stata đề nghị số lần thay thế tối thiểu là 20, trong khi White, Royston, và Wood giả định rằng số lần thay thế tương đương với tỉ lệ % các quan sát bị missing. Gia tăng số lần thay thế sẽ làm tăng thời gian xử lí. Sau đây là vài kinh nghiệm để chọn số lần thay thế: Để kiểm tra sự hội tụ của việc thay thế chúng ta kiểm tra file lưu lại thông tin của quá trình thay thế. File này bao gồm giá trị trung bình, độ lệch chuẩn của mỗi biến được thay thế trong mỗi lần lặp. Các dữ liệu này (mean, standard deviation) thay đổi ngẫu nhiên nhưng không hình thành bất kì 1 xu thế nào. Cách kiểm tra đơn giản nhất là sử dụng tsline nhưng đòi hỏi dữ liệu phải reshape. Mô hình lựa chọn của chúng ta sử dụng tùy chọn by(), vì thế không thể tạo sử dụng tùy chọn tracefile để ghi lại thông tin xử lý. Vì vậy, chúng ta tạm thời không sử dụng tùy chọn by() để minh họa tính hội tụ của dữ liệu được thay thế. Chúng ta cũng gia tăng số lần số lần lặp trong tùy chọn burnin() là 100 để xem xu hướng ổn định như thế nào. Sau đó sử dụng reshape và tsline để kiểm tra tính hội tụ của dữ liệu thay thế. Đoạn lệnh sau sẽ thực hiện điều này: preserve
mi impute chained (logit) urban (mlogit) race (ologit) edu (pmm) exp wage = female, add(5) rseed(88) savetrace(extrace, replace) burnin(100)
use extrace, replace
reshape wide *mean *sd, i(iter) j(m)
tsset iter
tsline exp_mean*, title(“Mean of Imputed Values of Experience”) note(“Each line is for one imputation”) legend(off)
graph export conv1.png, replace
tsline exp_sd*, title(“Standard Deviation of Imputed Values of Experience”) note(“Each line is for one imputation”) legend(off)
graph export conv2.png, replace
restore