Lợi suất giáo dục lên tiền lương (hàm Mincer, OLS)
Minh họa quy trình 5 bước của EcoLab với mô hình kinh điển nhất trong kinh tế lao động: hàm tiền lương Mincer ước lượng bằng OLS. Số liệu kết quả là minh họa định dạng.
Tóm tắt: hồi quy log tiền lương theo số năm học và kinh nghiệm cho ước lượng "lợi suất giáo dục" (suất sinh lợi của mỗi năm học tăng thêm).
Bước 1 — Ý tưởng
- Câu hỏi: thêm một năm học làm tăng tiền lương bao nhiêu phần trăm?
Bước 2 — Tổng quan tài liệu
Khung lý thuyết vốn con người (Becker, Mincer); chuẩn hóa trích dẫn; làm rõ biến và dạng log-lin.
Bước 3 — Thu thập dữ liệu
| Biến | Ký hiệu | Đo lường | Nguồn |
|---|---|---|---|
| Log tiền lương | lnwage | log(lương giờ/tháng) | VHLSS; khảo sát lao động |
| Số năm học | educ | số năm | VHLSS |
| Kinh nghiệm | exper, exper2 | năm và bình phương | tính từ tuổi − học − 6 |
| Kiểm soát | gioi_tinh, khu_vuc | nhị phân | VHLSS |
Bước 4 — Mô hình hóa
Dạng Mincer (log-lin, có kinh nghiệm bậc 2 để bắt dạng lõm):
Chọn họ Hồi quy tuyến tính cổ điển → OLS, dùng sai số chuẩn robust (heteroskedasticity thường gặp ở dữ liệu vi mô).
Kết quả minh họa (định dạng — không phải kết quả thực):
| Biến | Hệ số | SE (robust) | p-value |
|---|---|---|---|
| educ | 0.082 | 0.005 | 0.000 |
| exper | 0.031 | 0.004 | 0.000 |
| exper2 | −0.0005 | 0.0001 | 0.000 |
| 0.38 |
Diễn giải mẫu: ⇒ mỗi năm học tăng thêm gắn với lương cao hơn ~8.2% (xấp xỉ, do log-lin); kinh nghiệm có quan hệ lõm (tăng rồi chậm lại).
Mã tái lập:
- Stata
- R
- Python
* === Hàm Mincer — OLS robust ===
use wage_data, clear
* Tạo biến kinh nghiệm bậc 2
gen exper2 = exper^2
* Hồi quy OLS với sai số chuẩn robust
regress lnwage educ exper exper2 gioi_tinh khu_vuc, vce(robust)
# === Hàm Mincer — OLS robust ===
library(lmtest)
library(sandwich)
model <- lm(lnwage ~ educ + exper + I(exper^2) + gioi_tinh + khu_vuc,
data = df)
# Sai số chuẩn robust (HC1)
coeftest(model, vcov = vcovHC(model, type = "HC1"))
import statsmodels.api as sm
# === Hàm Mincer — OLS robust ===
df['exper2'] = df['exper'] ** 2
X = df[['educ', 'exper', 'exper2', 'gioi_tinh', 'khu_vuc']]
X = sm.add_constant(X)
model = sm.OLS(df['lnwage'], X).fit(cov_type='HC1')
print(model.summary())
Bước 5 — Báo cáo
Xuất báo cáo APA/Harvard… kèm mã tái lập Stata/R/Python.
educ có thể nội sinh (năng lực bẩm sinh không quan sát ảnh hưởng cả học vấn lẫn lương) ⇒ OLS có thể chệch. Xem cách xử lý bằng biến công cụ tại Ví dụ IV: Lợi suất giáo dục.