Phương pháp thay thế lặp MI – Multiple Imputation
Điều này sẽ tạo ra các bảng tần suất cho các giá trị quan sát của biến race và các giá trị trong 5 lần thay thế.
mi xeq 0: kdensity wage; sleep 1000
mi xeq 1/5: kdensity wage if miss_wage; sleep 1000
Nhận xét:
- Các giá trị thay thế trung bình của wage là lớn hơn giá trị trung bình wage quan sát được
- Các giá trị thay thế trung bình của exp là lớn hơn giá trị trung bình exp quan sát được
- Chúng ta không tìm thấy bằng chứng cho thấy dữ liệu là MAR, chứ không phải là MCAR. Vì vậy, chúng ta kì vọng rằng giá trị trung bình được thay thế của các biến tập trung quanh các giá trị trung bình của giá trị trung bình quan sát của các biến. Tuy nhiên, nó có thể làm gia tăng nghi ngờ rằng các kết quả hoàn chỉnh với các dữ liệu được thay thế này sẽ khác với các kết quả trong trường hợp phân tích mẫu đầy đủ.
3.5. Ước lượng
Trong phần lớn các trường hợp, công việc khó khăn nhất của MI là quá trình thay thế. Khi các thủ tục thay thế được thiết lập và kiểm tra thì Stata thực hiện việc ước lượng còn lại là tương đối dễ dàng.
Để ước lượng các dữ liệu thay thế, Stata sử dụng câu lệnh mi estimate. Chúng ta có thể sử dụng thêm các tiền tố như svy hoặc by để lựa chọn đúng đối tượng mẫu cần ước lượng.
Đầu tiên mi estimate sẽ ước lượng các mô hình thay thế riêng rẻ, sau đó tổng hợp lại sử dụng nguyên tắc Rubin (1987) và báo cáo kết quả. Lưu ý, bởi vì các tùy chọn chỉ dành cho mi estimate chứ không phải là phương pháp ước lượng, do vậy, tùy chọn odd ratios (or) trên hồi quy logit được thể hiện ở tùy chọn của mi estimate, cụ thể như sau:
mi estimate, or: logit y x
chứ không phải:
mi estimate: logit y x, or
Ngoài ra, chúng ta có thể sử dụng lệnh điều kiện if để xác định đối tượng cần ước lượng. Xét câu lệnh sau:
mi estimate: reg wage edu exp if race==1
Ở đây, chúng ta muốn hồi quy wage theo các biến edu exp ở nhóm race == 1. Tuy nhiên, nếu race là biến dạng Imputed (được thay thế) thì không hẳn race chỉ có 2 nhóm giá trị. Trong trường hợp đó, chúng ta cần loại bỏ các giá trị được thay thế của race. Thực hiện điều đó, chúng ta làm như sau:
misstable sum, gen(miss_)
mi estimate: reg wage edu exp if race==1 & !miss_race
Kiểm định sau ước lượng (Postestimation)
Nguyên tắc Rubin đòi hỏi kết quả ước lượng phải thỏa mãn các giả định cho trước, trong đó đáng chú ý là giả định phân phối chuẩn. Các phương pháp định lượng không thỏa mãn giả định này thì theo nguyên tắc Rubin không thể cho ra các kết quả phù hợp. May mắn là các hệ số ước lượng hồi quy thỏa mãn giả định này. Một số phương pháp định lượng khác có thể biến đổi để có phân phối xấp xỉ phân phối chuẩn.
Không giống các câu lệnh ước lượng thông thường, mi estimate không thể lưu các thông tin ước lượng cho mục đích kiểm định sau nay trong vector e(). Nếu bạn có ý định thực hiện các kiểm định sau ước lượng thì thông báo cho mi estimate biết để ghi lại thông tin cần thiết trong tùy chọn saving()
mi estimate, saving(myestimates, replace): reg wage edu exp if race==1 & !miss_race
Điều này sẽ tạo ra một file myestimates.ster trong thư mục làm việc.