Hồi quy chuỗi
Chào mừng các bạn sinh viên đến với chuỗi bài học mới về một công cụ cực kỳ mạnh mẽ trong kinh tế lượng: Hồi quy chuỗi (series regression). Trong các môn học nhập môn, chúng ta thường bắt đầu với mô hình hồi quy tuyến tính OLS. Tuy nhiên, thực tế kinh tế hiếm khi tuân theo một đường thẳng hoàn hảo. Mối quan hệ giữa giáo dục và thu nhập, hay giữa kinh nghiệm và năng suất, thường có dạng cong hoặc phức tạp hơn nhiều. Vậy làm thế nào để mô hình hóa những mối quan hệ phi tuyến tính này một cách linh hoạt mà không cần phải “đoán” trước hình dạng của chúng? Hồi quy chuỗi chính là câu trả lời.
Ý tưởng cốt lõi của hồi quy chuỗi rất trực quan: chúng ta xấp xỉ một hàm cong chưa biết bằng cách cộng nhiều hàm đơn giản lại với nhau, giống như một họa sĩ phác họa một bức tranh phức tạp từ nhiều nét vẽ cơ bản. Hai “nét vẽ” phổ biến nhất mà chúng ta sẽ học là đa thức (polynomials) và splines. Bằng cách tăng số lượng các hàm cơ bản này, chúng ta có thể mô hình hóa những mối quan hệ phức tạp với độ chính xác ngày càng cao. Chuỗi bài học này sẽ dẫn dắt các bạn đi từ những khái niệm đầu tiên, xây dựng nền tảng lý thuyết vững chắc, và cuối cùng là trang bị kỹ năng để tự tin áp dụng các kỹ thuật này vào phân tích dữ liệu thực tế bằng Stata.
Trong chuỗi bài này, chúng ta sẽ tập trung vào ba khái niệm cốt lõi: Hồi quy Đa thức (sử dụng các hàm lũy thừa như x, x², x³,… để tạo sự linh hoạt), Hồi quy Spline (chia dữ liệu thành các đoạn và dùng đa thức trên từng đoạn để khớp tốt hơn cục bộ), và Lựa chọn Mô hình (sử dụng các kỹ thuật như kiểm định chéo để tìm ra mức độ phức tạp phù hợp cho mô hình, tránh việc mô hình quá đơn giản hoặc quá phức tạp). Hãy cùng nhau bắt đầu hành trình khám phá thế giới phi tuyến tính đầy thú vị này!
Cấu trúc chuỗi bài học
- Nền tảng về hồi quy đa thứcChúng ta sẽ bắt đầu bằng cách tìm hiểu ý tưởng cơ bản của hồi quy chuỗi và khám phá phương pháp phổ biến nhất là hồi quy đa thức.
- Khám phá hồi quy SplineBài học này giới thiệu một phương pháp thay thế linh hoạt hơn là splines, giúp mô hình hóa các mối quan hệ thay đổi đột ngột một cách hiệu quả.
- Lý thuyết xấp xỉ cho hồi quy chuỗiChúng ta sẽ tìm hiểu nền tảng toán học đằng sau hồi quy chuỗi, giúp bạn hiểu tại sao và khi nào phương pháp này hoạt động tốt.
- Tính chất tiệm cận của ước lượng chuỗiBài học này đi sâu vào các tính chất thống kê của ước lượng chuỗi khi cỡ mẫu lớn, bao gồm tính nhất quán và tốc độ hội tụ.
- Suy luận thống kê trong hồi quy chuỗiChúng ta sẽ học cách thực hiện các kiểm định giả thuyết và xây dựng các suy luận có ý nghĩa từ kết quả của mô hình hồi quy chuỗi.
- Lựa chọn mô hình và suy luận thực hànhLàm thế nào để chọn độ phức tạp phù hợp cho mô hình? Bài học này sẽ hướng dẫn kỹ thuật kiểm định chéo và cách xây dựng khoảng tin cậy.
- Các mô hình hồi quy chuỗi mở rộngKhám phá cách áp dụng hồi quy chuỗi vào các bối cảnh phức tạp hơn như mô hình tuyến tính bán phần và dữ liệu bảng (panel data).
- Giới thiệu hồi quy biến công cụ phi tham số (NPIV)Chúng ta sẽ tìm hiểu một chủ đề nâng cao: kết hợp hồi quy chuỗi với biến công cụ để giải quyết vấn đề nội sinh trong mô hình phi tuyến.
- Hướng dẫn thực hành hồi quy chuỗi với StataBài học cuối cùng sẽ tổng hợp tất cả kiến thức đã học qua một ví dụ phân tích dữ liệu hoàn chỉnh từ A đến Z bằng phần mềm Stata.
MỤC TIÊU HỌC TẬP
- Hiểu sâu lý thuyết: Nắm vững khái niệm, ưu và nhược điểm của hồi quy đa thức và hồi quy spline.
- Thực hành thành thạo: Sử dụng Stata một cách tự tin để ước lượng, kiểm định và lựa chọn mô hình hồi quy chuỗi phù hợp.
- Phân tích thực tế: Có khả năng diễn giải kết quả hồi quy phi tuyến và trình bày chúng một cách trực quan thông qua đồ thị.
- Tư duy phản biện: Nhận biết được tầm quan trọng của việc lựa chọn độ phức tạp của mô hình và các vấn đề tiềm ẩn như overfitting.
TÀI LIỆU THAM KHẢO
- Chính: Hansen, B. E. (2022). Econometrics. Princeton University Press.
- Bổ sung: Wooldridge, J. M. (2019). Introductory Econometrics: A Modern Approach. Cengage Learning.
- Thực hành Stata: Cameron, A. C., & Trivedi, P. K. (2010). Microeconometrics Using Stata. Stata Press.
- Nâng cao: Li, Q., & Racine, J. S. (2007). Nonparametric Econometrics: Theory and Practice. Princeton University Press.
PHỤ LỤC: Dữ liệu mô phỏng cho chuỗi bài viết
Để giúp việc học 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ô tả mối quan hệ phi tuyến giữa số giờ ôn tập và điểm thi của sinh viên. Mối quan hệ này tuân theo quy luật “lợi ích cận biên giảm dần”: những giờ ôn tập đầu tiên mang lại hiệu quả rất lớn, nhưng hiệu quả sẽ giảm dần khi số giờ ôn tập tăng lên.
Hãy mở Stata và chạy đoạn code dưới đây để tạo và lưu bộ dữ liệu student_scores.dta. Chúng ta sẽ sử dụng tệp dữ liệu này trong các bài học tiếp theo.
* ==================================================
* TẠO DỮ LIỆU MÔ PHỎNG CHO CHUỖI BÀI HỌC HỒI QUY CHUỖI
* Mục đích: Tạo dữ liệu về điểm thi và giờ ôn tập
* Tác giả: Giáo sư Kinh tế lượng
* ==================================================
* Xóa bộ nhớ và thiết lập số quan sát
clear
set obs 1000
* Đặt seed để kết quả có thể tái lập
set seed 12345
* BƯỚC 1: TẠO BIẾN ĐỘC LẬP "study_hours" (Giờ ôn tập)
* Giả sử sinh viên ôn tập từ 0 đến 20 giờ.
* runiform() tạo ra số ngẫu nhiên phân phối đều trong khoảng [0, 1].
gen study_hours = runiform() * 20
* BƯỚC 2: TẠO MỐI QUAN HỆ PHI TUYẾN THỰC SỰ
* Chúng ta muốn điểm thi tăng theo giờ học nhưng với tốc độ chậm dần.
* Hàm logarit tự nhiên ln() là một lựa chọn tuyệt vời cho việc này.
* 10*ln(study_hours + 1) đảm bảo điểm tăng nhưng tốc độ tăng giảm dần.
* Thêm 50 làm điểm cơ bản.
gen true_score = 50 + 10 * ln(study_hours + 1)
* BƯỚC 3: TẠO SAI SỐ NGẪU NHIÊN
* Điểm thi thực tế luôn có yếu tố ngẫu nhiên (may mắn, độ khó đề thi,...).
* rnormal(0, 5) tạo ra sai số ngẫu nhiên từ phân phối chuẩn với trung bình 0, độ lệch chuẩn 5.
gen error = rnormal(0, 5)
* BƯỚC 4: TẠO BIẾN PHỤ THUỘC "exam_score" (Điểm thi)
* Điểm thi cuối cùng = Điểm thực sự + Sai số ngẫu nhiên
gen exam_score = true_score + error
* Đảm bảo điểm thi không vượt quá 100 hoặc dưới 0
replace exam_score = 100 if exam_score > 100
replace exam_score = 0 if exam_score < 0
* BƯỚC 5: GÁN NHÃN CHO CÁC BIẾN ĐỂ DỄ HIỂU
label variable study_hours "Số giờ ôn tập của sinh viên"
label variable exam_score "Điểm thi cuối kỳ"
* BƯỚC 6: LƯU BỘ DỮ LIỆU
* Lưu lại để sử dụng cho các bài học sau.
* Hãy chắc chắn rằng bạn đã thay "D:/your_folder/" bằng đường dẫn thư mục của bạn.
save "student_scores.dta", replace
* BƯỚC 7: XEM QUA DỮ LIỆU (TÙY CHỌN)
* Lệnh summarize để xem thống kê mô tả
summarize exam_score study_hours
* Lệnh scatter để xem mối quan hệ trực quan
scatter exam_score study_hours, title("Mối quan hệ giữa Giờ ôn tập và Điểm thi")
📚 Bài tiếp theo: Nền tảng về hồi quy đa thức
💡 Lưu ý: Hãy đảm bảo bạn đã chạy code Stata ở trên và tạo thành công tệp dữ liệu student_scores.dta. Việc chuẩn bị sẵn sàng dữ liệu sẽ giúp bạn theo dõi bài học tiếp theo một cách dễ dàng nhất.