Lựa chọn mô hình, co Stein và trung bình hóa mô hình
Chào mừng các bạn sinh viên đến với chuỗi bài học chuyên sâu về một trong những kỹ năng quan trọng nhất của nhà kinh tế lượng thực hành: làm thế nào để lựa chọn một mô hình tốt nhất từ vô số các khả năng. Trong quá trình học tập và nghiên cứu, chắc hẳn các bạn đã từng băn khoăn khi phải quyết định nên đưa biến nào vào mô hình hồi quy, hay nên sử dụng dạng hàm nào là phù hợp. Chuỗi bài học này sẽ trang bị cho các bạn những công cụ lý thuyết vững chắc và kỹ năng thực hành cần thiết để trả lời những câu hỏi đó một cách khoa học và có hệ thống.
Chúng ta sẽ bắt đầu từ những khái niệm cơ bản nhất và đi dần đến các kỹ thuật nâng cao, luôn gắn liền lý thuyết với trực giác kinh tế. Thay vì chỉ chọn ra một mô hình duy nhất, chúng ta còn khám phá những phương pháp tinh tế hơn như “thu hẹp” các ước lượng hoặc “trung bình hóa” kết quả từ nhiều mô hình để có được kết quả cuối cùng vững chắc và đáng tin cậy hơn. Đây là những kỹ năng không chỉ giúp các bạn hoàn thành tốt các môn học, mà còn là nền tảng cho các dự án nghiên cứu và công việc sau này.
Để giúp các bạn dễ hình dung về hành trình sắp tới, chúng ta sẽ tìm hiểu ba chủ đề cốt lõi:
- Lựa chọn mô hình (Model Selection): Học cách sử dụng các tiêu chí như AIC, BIC, và Cross-Validation để so sánh và chọn ra mô hình phù hợp nhất từ một tập hợp các mô hình ứng viên.
- Thu hẹp James-Stein (James-Stein Shrinkage): Khám phá một kỹ thuật kinh điển giúp cải thiện độ chính xác của các ước lượng bằng cách “kéo” chúng về một giá trị hợp lý, qua đó giảm sai số tổng thể.
- Trung bình mô hình (Model Averaging): Tìm hiểu cách kết hợp thông tin từ nhiều mô hình khác nhau thay vì chỉ chọn một, tạo ra một ước lượng tổng hợp vững chắc hơn.
Mục tiêu của chuỗi bài viết này là giúp các bạn không chỉ hiểu “cái gì” và “làm thế nào”, mà quan trọng hơn là hiểu “tại sao” chúng ta lại sử dụng những phương pháp này. Hãy cùng nhau bắt đầu hành trình thú vị này!
Cấu trúc chuỗi bài học
- Lựa chọn mô hình và các tiêu chí thông tinChúng ta sẽ bắt đầu bằng việc tìm hiểu tại sao cần lựa chọn mô hình và làm quen với hai công cụ phổ biến nhất là BIC và AIC.
- Các tiêu chí lựa chọn dựa trên năng lực dự báoBài học này sẽ giới thiệu các phương pháp tập trung vào khả năng dự báo ngoài mẫu của mô hình, bao gồm tiêu chí Mallows và Cross-Validation (CV).
- So sánh các tiêu chí và các thuộc tính quan trọngChúng ta sẽ đặt các tiêu chí lên bàn cân, so sánh chúng và tìm hiểu các thuộc tính lý thuyết quan trọng như tính nhất quán và tính tối ưu.
- Các phương pháp lựa chọn mô hình nâng caoKhám phá hai kỹ thuật chuyên sâu hơn: Tiêu chí Thông tin Tập trung (FIC) cho tham số mục tiêu và phương pháp Hồi quy Từng bước (Stepwise Regression).
- Những cạm bẫy cần tránh khi lựa chọn mô hìnhMột bài học cực kỳ quan trọng về những rủi ro tiềm ẩn, bao gồm sai số của ước lượng sau lựa chọn và các vấn đề khi suy luận thống kê.
- Giới thiệu về phương pháp thu hẹp và ước lượng James-SteinChúng ta sẽ chuyển sang một hướng tiếp cận mới: thay vì chọn, tại sao không “thu hẹp”? Tìm hiểu ý tưởng đằng sau ước lượng James-Stein kinh điển.
- Áp dụng thu hẹp James-Stein trong thực tếHọc cách áp dụng kỹ thuật thu hẹp một cách linh hoạt hơn, chẳng hạn như thu hẹp theo từng nhóm tham số hoặc thu hẹp về một mô hình đơn giản hơn.
- Từ thu hẹp đến trung bình mô hìnhTổng quát hóa ý tưởng thu hẹp để kết hợp thông tin từ nhiều mô hình, giới thiệu các phương pháp SBIC, SAIC, Mallows và Jackknife Model Averaging.
- Hướng dẫn thực hành lựa chọn và trung bình mô hình với StataÁp dụng tất cả lý thuyết đã học vào một bài toán thực tế, thực hiện từng bước từ lựa chọn, thu hẹp đến trung bình mô hình hồi quy lương bằng Stata.
MỤC TIÊU HỌC TẬP
- Hiểu sâu lý thuyết: Nắm vững sự đánh đổi giữa độ chệch và phương sai, là nền tảng của tất cả các phương pháp lựa chọn và thu hẹp mô hình.
- Phân biệt và áp dụng: Biết khi nào nên sử dụng AIC, BIC, CV hay các phương pháp thu hẹp và trung bình mô hình dựa trên mục tiêu nghiên cứu cụ thể.
- Thực hành thành thạo: Sử dụng Stata để tính toán các tiêu chí lựa chọn, thực hiện các ước lượng thu hẹp và trung bình mô hình một cách tự tin.
- Tư duy phản biện: Nhận thức được những hạn chế và rủi ro của việc lựa chọn mô hình, đặc biệt là các tác động đến suy luận thống kê sau lựa chọn.
TÀI LIỆU THAM KHẢO
- Chính: Hansen, B. E. (2022). Econometrics. Princeton University Press. (Chương 28).
- Bổ sung (Lựa chọn mô hình): Burnham, K. P., & Anderson, D. R. (2002). Model selection and multimodel inference: a practical information-theoretic approach. Springer.
- Bổ sung (Lý thuyết): Claeskens, G., & Hjort, N. L. (2008). Model selection and model averaging. Cambridge University Press.
- Bổ sung (Nhập môn): Wooldridge, J. M. (2019). Introductory econometrics: A modern approach. Cengage learning.
PHỤ LỤC: Dữ liệu mô phỏng cho chuỗi bài viết
Để giúp việc học và thực hành trở nên trực quan, chúng ta sẽ sử dụng một bộ dữ liệu mô phỏng đơn giản trong suốt chuỗi bài viết. Bộ dữ liệu này mô phỏng thông tin về lương và các đặc điểm cá nhân của 500 sinh viên mới tốt nghiệp.
Các biến trong dữ liệu:
wage: Lương hàng tháng (đơn vị: triệu VND).educ: Số năm đi học.exper: Số năm kinh nghiệm làm việc.gpa: Điểm trung bình tích lũy (hệ 4).is_stem: Biến giả, =1 nếu tốt nghiệp ngành STEM (Khoa học, Công nghệ, Kỹ thuật, Toán học), =0 nếu ngược lại.
Các bạn có thể tạo bộ dữ liệu này bằng cách chạy đoạn code Stata dưới đây. Hãy lưu nó lại với tên student_wage_data.dta để sử dụng cho các bài thực hành sau này nhé!
* ==================================================
* TẠO DỮ LIỆU MÔ PHỎNG CHO CHUỖI BÀI HỌC
* Mục đích: Tạo một bộ dữ liệu đơn giản, dễ hiểu để thực hành
* Tác giả: Giáo sư Kinh tế lượng
* ==================================================
* Xóa dữ liệu cũ trong bộ nhớ
clear
* Đặt một seed để kết quả mô phỏng có thể lặp lại
set seed 12345
* Đặt số quan sát là 500 (500 sinh viên)
set obs 500
* --- TẠO CÁC BIẾN ĐỘC LẬP ---
* Tạo biến số năm đi học (educ), giả sử phân phối đều từ 12 đến 18
* 12=THPT, 16=Đại học, 18=Thạc sĩ
gen educ = 12 + floor(7 * runiform())
* Tạo biến kinh nghiệm (exper), từ 0 đến 5 năm
gen exper = floor(6 * runiform())
* Tạo biến điểm GPA, phân phối chuẩn với trung bình 3.0 và độ lệch chuẩn 0.4
gen gpa = rnormal(3.0, 0.4)
replace gpa = 2.0 if gpa < 2.0 // Đảm bảo GPA không quá thấp
replace gpa = 4.0 if gpa > 4.0 // Đảm bảo GPA không vượt quá 4.0
* Tạo biến ngành STEM, giả sử 40% sinh viên học ngành STEM
gen is_stem = (runiform() < 0.4)
* --- TẠO BIẾN PHỤ THUỘC (LƯƠNG) DỰA TRÊN MỘT MÔ HÌNH "THẬT" ---
* Giả sử mô hình "thật" trong tổng thể có dạng sau:
* Lương cơ bản là 5 triệu
* Mỗi năm đi học tăng 1.2 triệu lương
* Mỗi năm kinh nghiệm ban đầu tăng 2 triệu, nhưng hiệu ứng giảm dần (exper^2)
* Mỗi điểm GPA tăng 3 triệu lương
* Tốt nghiệp ngành STEM được cộng thêm 4 triệu lương
* Thêm một sai số ngẫu nhiên (nhiễu)
gen wage = 5 + 1.2*educ + 2*exper - 0.2*exper^2 + 3*gpa + 4*is_stem + rnormal(0, 3)
replace wage = 7 if wage < 7 // Giả sử mức lương tối thiểu là 7 triệu
* --- GÁN NHÃN CHO CÁC BIẾN ĐỂ DỄ HIỂU HƠN ---
label variable wage "Lương hàng tháng (triệu VND)"
label variable educ "Số năm đi học"
label variable exper "Số năm kinh nghiệm"
label variable gpa "Điểm trung bình tích lũy (hệ 4)"
label variable is_stem "Tốt nghiệp ngành STEM (1=Có)"
* --- LƯU DỮ LIỆU ---
* Lưu lại để sử dụng cho các bài học sau
save "student_wage_data.dta", replace
* Xem qua 10 dòng đầu tiên của dữ liệu
list in 1/10
📚 Bài tiếp theo: Lựa chọn mô hình và các tiêu chí thông tin
💡 Lưu ý: Hãy đảm bảo bạn đã chạy code Stata trên và lưu lại file dữ liệu. Chúng ta sẽ cần nó cho các bài học thực hành sắp tới!