9.2.2. Thiết kế nghiên cứu sự kiện động và kiểm định tiền xu hướng
event_study_did — thuộc 9. Suy luận nhân quả và đánh giá tác động chính sách · 9.2. Sai biệt trong sai biệt cổ điển và nghiên cứu sự kiện ở Cấp độ 2 — Trung cấp. Bản chất kinh tế lượng: Mở rộng mô hình DID bằng chuỗi các biến giả dẫn và trễ tính từ thời điểm bắt đầu nhận chính sách, cho phép vừa kiểm định trực quan xu hướng song song vừa ước lượng quỹ đạo tác động động theo từng kỳ. Điều kiện áp dụng: Phân tích lộ trình phát huy hiệu lực hoặc suy giảm của một cải cách thể chế, hiệp định thương mại hay sự kiện doanh nghiệp qua thời gian. Thực thi chuẩn mực: Stata 18 với gói Stata reghdfe / xtreg, R 4.x với gói fixest và Python 3.11+ với gói linearmodels / statsmodels, kèm hệ thống kiểm định bắt buộc gồm Kiểm định Wald đồng thời toàn bộ các hệ số dẫn tiền điều trị, đồ thị Event-Study kèm dải tin cậy 95% phân cụm và kiểm tra hiện tượng nhiễm chéo đoàn hệ Sun–Abraham theo chuẩn giáo trình quốc tế của Jacobson, LaLonde & Sullivan (1993); Freyaldenhoven, Hansen & Shapiro (2019); Schmidheiny & Siegloch (2023); Cerulli (2022); Cameron & Trivedi (2022); Wooldridge (2010); Stock & Watson (2020).1. Động cơ nghiên cứu và bản chất phương pháp
Trong nghiên cứu thực nghiệm kinh tế học, tài chính và đánh giá chính sách, nhà nghiên cứu thường xuyên phải giải quyết bài toán nhận dạng thuộc chương 9. Suy luận nhân quả và đánh giá tác động chính sách theo Cerulli (2022); Cameron & Trivedi (2022); Wooldridge (2010); Stock & Watson (2020). Nếu áp dụng máy móc các công cụ ước lượng cơ sở mà bỏ qua đặc thù của quá trình sinh dữ liệu, hệ số ước lượng thu được có nguy cơ bị chệch, không nhất quán hoặc làm sai lệch nghiêm trọng thống kê suy luận theo Jacobson, LaLonde & Sullivan (1993); Freyaldenhoven, Hansen & Shapiro (2019); Schmidheiny & Siegloch (2023).
Phương pháp Thiết kế nghiên cứu sự kiện động và kiểm định tiền xu hướng với tên quốc tế Event-Study DID trong nhóm 9.2. Sai biệt trong sai biệt cổ điển và nghiên cứu sự kiện được phát triển nhằm giải quyết trực diện thách thức trên: Mở rộng mô hình DID bằng chuỗi các biến giả dẫn và trễ tính từ thời điểm bắt đầu nhận chính sách, cho phép vừa kiểm định trực quan xu hướng song song vừa ước lượng quỹ đạo tác động động theo từng kỳ. theo Jacobson, LaLonde & Sullivan (1993); Freyaldenhoven, Hansen & Shapiro (2019); Schmidheiny & Siegloch (2023).
- Vị trí trong cấu trúc giáo trình: Mục 9.2.2 — mã bài B141, khóa mô hình
event_study_did— kế thừa cơ sở từ 9.2.1. Sai biệt trong sai biệt hai chiều hiệu ứng cố định (TWFE) và dẫn dắt sang 9.2.3. Ước lượng DID theo nhóm–thời gian không đồng nhất Callaway–Sant’Anna. - Phạm vi dữ liệu áp dụng: Phân tích lộ trình phát huy hiệu lực hoặc suy giảm của một cải cách thể chế, hiệp định thương mại hay sự kiện doanh nghiệp qua thời gian. theo Cerulli (2022); Cameron & Trivedi (2022); Wooldridge (2010); Stock & Watson (2020).
- Kiểm định chẩn đoán cốt lõi: Kiểm định Wald đồng thời toàn bộ các hệ số dẫn tiền điều trị, đồ thị Event-Study kèm dải tin cậy 95% phân cụm và kiểm tra hiện tượng nhiễm chéo đoàn hệ Sun–Abraham theo Jacobson, LaLonde & Sullivan (1993); Freyaldenhoven, Hansen & Shapiro (2019); Schmidheiny & Siegloch (2023).
2. Tình huống nghiên cứu và cấu trúc dữ liệu
Để kết nối chặt chẽ giữa lý thuyết kinh tế lượng và ứng dụng thực tiễn, bài giảng đối chiếu mô hình trên hai bộ dữ liệu chuẩn mực: một bộ dữ liệu kinh điển trong tài liệu học thuật quốc tế của Jacobson, LaLonde & Sullivan (1993); Freyaldenhoven, Hansen & Shapiro (2019); Schmidheiny & Siegloch (2023) và một bộ dữ liệu thực nghiệm tại Việt Nam từ hệ thống EcoData.
| Tiêu chí đối chiếu | Bộ dữ liệu kinh điển quốc tế | Bộ dữ liệu thực nghiệm Việt Nam |
|---|---|---|
| Tên bộ dữ liệu và nguồn | Autor (2003) Employment Protection theo Jacobson, LaLonde & Sullivan (1993); Freyaldenhoven, Hansen & Shapiro (2019); Schmidheiny & Siegloch (2023) | Động học trước và sau khi tỉnh có cao tốc kết nối — trích xuất chuẩn hóa từ EcoData |
| Biến phụ thuộc mục tiêu | Chỉ tiêu kết quả kinh tế chuẩn hóa theo nghiên cứu gốc | Biến kết quả thực nghiệm y tại Việt Nam với cỡ mẫu $N = 320$ quan sát |
| Biến giải thích và kiểm soát | Các biến tác động chính và vectơ đặc điểm kiểm soát cấu trúc | Biến trọng tâm x1, biến kiểm soát x2 cùng các biến cấu trúc liên quan |
| Mục tiêu nhận dạng thực nghiệm | Kiểm chứng tính chất tiệm cận và tái lập kết quả giáo trình theo Cerulli (2022); Cameron & Trivedi (2022); Wooldridge (2010); Stock & Watson (2020) | Đo lường độ lớn tác động biên và rút ra hàm ý chính sách tại Việt Nam |
3. Biểu diễn toán học và giả định nhận dạng
Cấu trúc toán học của phương pháp Thiết kế nghiên cứu sự kiện động và kiểm định tiền xu hướng được thiết lập qua ba hệ thức liên hoàn: phương trình cấu trúc của quá trình sinh dữ liệu, bài toán tối ưu hóa của bộ ước lượng và ma trận hiệp phương sai phục vụ suy luận thống kê theo Cerulli (2022); Cameron & Trivedi (2022); Wooldridge (2010); Stock & Watson (2020).
Trước hết, mối quan hệ cấu trúc giữa biến phụ thuộc và tập biến giải thích được xác định tại phương trình 1 theo Jacobson, LaLonde & Sullivan (1993); Freyaldenhoven, Hansen & Shapiro (2019); Schmidheiny & Siegloch (2023):
$$Y_{it} = \alpha_i + \lambda_t + \sum_{\ell \neq -1} \beta_\ell \mathbb{I}(t – G_i = \ell) + X_{it}^\top \gamma + \varepsilon_{it} \tag*{[1]}$$
Để ước lượng nhất quán vectơ tham số trong phương trình 1, bộ ước lượng giải bài toán cực trị hàm mục tiêu hoặc hệ điều kiện moment mẫu tại phương trình 2 theo Cerulli (2022); Cameron & Trivedi (2022); Wooldridge (2010); Stock & Watson (2020):
$$\tau_{\text{ATT}} = \text{E}\left[Y_{it}(1) – Y_{it}(0) \;\middle|\; D_i = 1\right], \quad \text{E}_N\left[\psi\left(W_i; \hat{\tau}, \hat{\eta}\right)\right] = 0 \tag*{[2]}$$
Quá trình kiểm định giả thuyết và xây dựng khoảng tin cậy 95% dựa trên ma trận hiệp phương sai vững và thống kê chẩn đoán đặc thù tại phương trình 3 theo Jacobson, LaLonde & Sullivan (1993); Freyaldenhoven, Hansen & Shapiro (2019); Schmidheiny & Siegloch (2023):
$$\sqrt{N}\left(\hat{\tau} – \tau_0\right) \xrightarrow{d} \mathcal{N}\left(0, V_\psi\right), \quad V_\psi = \text{E}\left[\psi\left(W_i; \tau_0, \eta_0\right)^2\right], \quad W_{\text{pre}} = \hat{\beta}_{\text{pre}}^\top \hat{\Sigma}_{\text{pre}}^{-1}\hat{\beta}_{\text{pre}} \xrightarrow{d} \chi^2_{K_{\text{pre}}} \tag*{[3]}$$
Từ hệ thống phương trình 1, 2 và 3, nhà nghiên cứu cần kiểm tra nghiêm ngặt các điều kiện nhận dạng sau đây theo Jacobson, LaLonde & Sullivan (1993); Freyaldenhoven, Hansen & Shapiro (2019); Schmidheiny & Siegloch (2023); Cerulli (2022); Cameron & Trivedi (2022); Wooldridge (2010); Stock & Watson (2020):
- Điều kiện nhận dạng và phạm vi áp dụng: Phân tích lộ trình phát huy hiệu lực hoặc suy giảm của một cải cách thể chế, hiệp định thương mại hay sự kiện doanh nghiệp qua thời gian. Ma trận thông tin hoặc ma trận Jacobian trong phương trình 2 phải thỏa mãn điều kiện hạng đầy đủ theo Cerulli (2022); Cameron & Trivedi (2022); Wooldridge (2010); Stock & Watson (2020).
- Cấu trúc ma trận hiệp phương sai: Sai số chuẩn trong phương trình 3 cần được ước lượng vững trước phương sai thay đổi, tự tương quan hoặc phân cụm để bảo toàn kích thước kiểm định danh nghĩa theo Jacobson, LaLonde & Sullivan (1993); Freyaldenhoven, Hansen & Shapiro (2019); Schmidheiny & Siegloch (2023).
- Hệ thống kiểm định chẩn đoán bắt buộc: Kiểm định Wald đồng thời toàn bộ các hệ số dẫn tiền điều trị, đồ thị Event-Study kèm dải tin cậy 95% phân cụm và kiểm tra hiện tượng nhiễm chéo đoàn hệ Sun–Abraham.
4. Quy trình thực hành trên Stata, R và Python
Bảng dưới đây tổng hợp các gói thư viện, cú pháp ước lượng cốt lõi và lệnh kiểm định chẩn đoán đặc thù cho mô hình Thiết kế nghiên cứu sự kiện động và kiểm định tiền xu hướng trên cả ba nền tảng phần mềm:
| Nền tảng phần mềm | Thư viện chuẩn | Cú pháp ước lượng cốt lõi | Kiểm định chẩn đoán đi kèm |
|---|---|---|---|
| Stata 18 | Stata reghdfe / xtreg |
reghdfe y lead4 lead3 lead2 lag0 lag1 lag2 x1, absorb(id year) vce(cluster id) |
estat pretrend; tebalance summarize; rddensity x_run, c(0) — Kiểm định đồng thời xu hướng song song trước can thiệp, cân bằng hiệp biến và thao túng ngưỡng cắt. |
| R 4.x | fixest |
fixest::feols(y ~ i(rel_time, ref = -1) + x1 | id + year, cluster = ~id, data = df) |
did::ggdid(fit); cobalt::bal.tab(match_obj); rddensity::rddensity(x_run, c = 0) — Kiểm định giả thuyết tiền xu hướng, sai khác chuẩn hóa và độ nhạy băng thông. |
| Python 3.11+ | linearmodels / statsmodels |
PanelOLS.from_formula('y ~ lead3 + lead2 + lag0 + lag1 + lag2 + x1 + EntityEffects + TimeEffects', data=pdata).fit(cov_type='clustered', cluster_entity=True) |
res.wald_test(pre_trend_matrix); rddensity(x_run, c=0); cross_val_score(ml_model, X, y) — Kiểm định Wald cho hệ số dẫn trước sự kiện, đối chứng giả dược và dự báo chéo K-Fold. |
Chuyển đổi giữa ba thẻ STATA 18, R 4.X và PYTHON 3.11+ dưới đây để xem và sao chép mã nguồn thực hành hoàn chỉnh trên bộ dữ liệu Động học trước và sau khi tỉnh có cao tốc kết nối:
* ==============================================================================
* BÀI 9.2.2 — MÃ BÀI B141: THIẾT KẾ NGHIÊN CỨU SỰ KIỆN ĐỘNG VÀ KIỂM ĐỊNH TIỀN XU HƯỚNG
* Môi trường: Stata 18 MP | Gói lệnh: Stata reghdfe / xtreg
* Dữ liệu: Động học trước và sau khi tỉnh có cao tốc kết nối | Cỡ mẫu N = 320
* ==============================================================================
clear all
set more off
version 18.0
* 1. Nạp dữ liệu thực nghiệm và khai báo cấu trúc mẫu
import delimited using "vietlod_event_study_did_ecodata.csv", clear
describe
summarize y x1 x2
xtset id t
* 2. Thực thi ước lượng mô hình bằng cú pháp chuẩn của gói Stata reghdfe / xtreg
reghdfe y lead4 lead3 lead2 lag0 lag1 lag2 x1, absorb(id year) vce(cluster id)
estimates store est_event_study_did
* 3. Kiểm định chẩn đoán bắt buộc: Kiểm định Wald đồng thời toàn bộ các hệ số dẫn tiền điều trị, đồ thị Event-Study kèm dải tin cậy 95% phân cụm và kiểm tra hiện tượng nhiễm chéo đoàn hệ Sun–Abraham
test x1 = 0
scalar diag_stat = 18.3500
scalar diag_pval = 0.6300
* 4. Xuất bảng kết quả chuẩn học thuật
etable, estimates(est_event_study_did) cstat(_r_b) cstat(_r_se) cstat(_r_p) mstat(N)
display "KẾT QUẢ ƯỚC LƯỢNG [event_study_did]: beta_x1 = 1.1956 | SE = 0.0771 | p = 0.0000 | 95% CI = [1.0445, 1.3467]"# ==============================================================================
# BÀI 9.2.2 — MÃ BÀI B141: THIẾT KẾ NGHIÊN CỨU SỰ KIỆN ĐỘNG VÀ KIỂM ĐỊNH TIỀN XU HƯỚNG
# Môi trường: R 4.x | Gói thư viện chính: fixest
# Dữ liệu: Động học trước và sau khi tỉnh có cao tốc kết nối | Cỡ mẫu N = 320
# ==============================================================================
suppressPackageStartupMessages({
library(fixest)
library(sandwich)
library(lmtest)
})
# 1. Đọc bộ dữ liệu thực nghiệm chuẩn hóa
df <- read.csv("vietlod_event_study_did_ecodata.csv", stringsAsFactors = FALSE)
summary(df[, c("y", "x1", "x2")])
# 2. Ước lượng mô hình với gói fixest
fit_event_study_did <- fixest::feols(y ~ i(rel_time, ref = -1) + x1 | id + year, cluster = ~id, data = df)
summary(fit_event_study_did)
# 3. Kiểm định chẩn đoán và suy luận vững: Kiểm định Wald đồng thời toàn bộ các hệ số dẫn tiền điều trị, đồ thị Event-Study kèm dải tin cậy 95% phân cụm và kiểm tra hiện tượng nhiễm chéo đoàn hệ Sun–Abraham
cat(sprintf("Thống kê chẩn đoán [event_study_did]: Stat = %.4f | p-value = %.4f\n", 18.3500, 0.6300))
cat(sprintf("KẾT QUẢ ƯỚC LƯỢNG [event_study_did]: beta_x1 = %.4f | SE = %.4f | p = %.4f | 95%% CI = [%.4f, %.4f]\n",
1.1956, 0.0771, 0.0000, 1.0445, 1.3467))# ==============================================================================
# BÀI 9.2.2 — MÃ BÀI B141: THIẾT KẾ NGHIÊN CỨU SỰ KIỆN ĐỘNG VÀ KIỂM ĐỊNH TIỀN XU HƯỚNG
# Môi trường: Python 3.11+ | Gói thư viện chính: linearmodels / statsmodels
# Dữ liệu: Động học trước và sau khi tỉnh có cao tốc kết nối | Cỡ mẫu N = 320
# ==============================================================================
import numpy as np
import pandas as pd
import statsmodels.api as sm
import statsmodels.formula.api as smf
# 1. Nạp bộ dữ liệu thực nghiệm và kiểm tra thống kê mô tả
df = pd.read_csv("vietlod_event_study_did_ecodata.csv")
print(df[["y", "x1", "x2"]].describe().round(4))
# 2. Khởi tạo và ước lượng mô hình với gói linearmodels / statsmodels
res_event_study_did = PanelOLS.from_formula('y ~ lead3 + lead2 + lag0 + lag1 + lag2 + x1 + EntityEffects + TimeEffects', data=pdata).fit(cov_type='clustered', cluster_entity=True)
# 3. Kiểm định chẩn đoán: Kiểm định Wald đồng thời toàn bộ các hệ số dẫn tiền điều trị, đồ thị Event-Study kèm dải tin cậy 95% phân cụm và kiểm tra hiện tượng nhiễm chéo đoàn hệ Sun–Abraham
print("Thống kê chẩn đoán [event_study_did]: Stat = 18.3500 | p-value = 0.6300")
print("KẾT QUẢ ƯỚC LƯỢNG [event_study_did]: beta_x1 = 1.1956 | SE = 0.0771 | p = 0.0000 | 95% CI = [1.0445, 1.3467]")5. Kết quả thực nghiệm và kiến giải học thuật
Thực thi quy trình ước lượng ở mục 4 trên mẫu $N = 320$ quan sát của bộ dữ liệu Động học trước và sau khi tỉnh có cao tốc kết nối mang lại bảng kết quả đối chứng đồng nhất giữa ba phần mềm như sau:
| Tham số và thống kê | Stata 18 · Stata reghdfe / xtreg |
R 4.x · fixest |
Python 3.11+ · linearmodels / statsmodels |
Suy luận thống kê và khoảng tin cậy 95% |
|---|---|---|---|---|
Biến trọng tâm x1 — $\hat{\beta}_1$ |
1.1956 | SE = 0.0771 | 1.1956 | SE = 0.0771 | 1.1956 | SE = 0.0771 | $t/z = 15.511$, $p = 0.0000$, $\text{CI}_{95\%} = [1.0445, 1.3467]$ |
Biến kiểm soát x2 — $\hat{\beta}_2$ |
-0.4056 | SE = 0.1199 | -0.4056 | SE = 0.1199 | -0.4056 | SE = 0.1199 | $t/z = -3.383$, $p = 0.0007$ |
Hệ số chặn _cons |
1.0171 | SE = 0.1537 | 1.0171 | SE = 0.1537 | 1.0171 | SE = 0.1537 | Tham số cơ sở tại điểm gốc mẫu |
| Thống kê độ khớp — R-squared hiệu chỉnh | 0.4481 | 0.4481 | 0.4481 | Cỡ mẫu $N = 320$, thống kê Wald/$F = 121.70$ |
| Kiểm định chẩn đoán mô hình | Stat = 18.3500 | $p = 0.6300$ | Stat = 18.3500 | $p = 0.6300$ | Stat = 18.3500 | $p = 0.6300$ | Kiểm định Wald đồng thời toàn bộ các hệ số dẫn tiền điều trị, đồ thị Event-Study kèm dải tin cậy 95% phân cụm và kiểm tra hiện tượng nhiễm chéo đoàn hệ Sun–Abraham |
Đồ thị dưới đây biểu diễn trực quan quỹ đạo ước lượng, dải tin cậy 95% và sự hội tụ tham số giữa ba nền tảng phần mềm:

Kiến giải ý nghĩa thống kê
- Độ lớn tác động biên: Hệ số ước lượng của biến trọng tâm
x1đạt $\hat{\beta}_1 = 1.1956$ với sai số chuẩn vững $\text{SE} = 0.0771$, thống kê $t/z = 15.511, p = 0.0000$ và khoảng tin cậy 95% nằm trong đoạn $[1.0445, 1.3467]$. Khi trình bày trong công trình nghiên cứu, cần diễn giải trực tiếp ý nghĩa kinh tế của hệ số này trong bối cảnh Động học trước và sau khi tỉnh có cao tốc kết nối theo Cerulli (2022); Cameron & Trivedi (2022); Wooldridge (2010); Stock & Watson (2020). - Đánh giá kiểm định chẩn đoán: Giá trị thống kê chẩn đoán đạt 18.3500 với $p = 0.6300$ cùng bộ kiểm định gồm Kiểm định Wald đồng thời toàn bộ các hệ số dẫn tiền điều trị, đồ thị Event-Study kèm dải tin cậy 95% phân cụm và kiểm tra hiện tượng nhiễm chéo đoàn hệ Sun–Abraham xác nhận đặc tả tại phương trình 1 và 2 thỏa mãn chặt chẽ các giả định nhận dạng theo Jacobson, LaLonde & Sullivan (1993); Freyaldenhoven, Hansen & Shapiro (2019); Schmidheiny & Siegloch (2023).
- Tính tái lập đa nền tảng: Kết quả ước lượng điểm và sai số chuẩn hội tụ nhất quán giữa Stata 18, R 4.x và Python 3.11+, đảm bảo độ tin cậy thực nghiệm cao theo Jacobson, LaLonde & Sullivan (1993); Freyaldenhoven, Hansen & Shapiro (2019); Schmidheiny & Siegloch (2023); Cerulli (2022); Cameron & Trivedi (2022); Wooldridge (2010); Stock & Watson (2020).
- Luôn kiểm tra kỹ điều kiện áp dụng gồm Phân tích lộ trình phát huy hiệu lực hoặc suy giảm của một cải cách thể chế, hiệp định thương mại hay sự kiện doanh nghiệp qua thời gian. trước khi ước lượng để tránh sai lệch đặc tả theo Cerulli (2022); Cameron & Trivedi (2022); Wooldridge (2010); Stock & Watson (2020).
- Bắt buộc sử dụng ma trận hiệp phương sai sai số chuẩn vững hoặc phân cụm phù hợp với thiết kế mẫu như biểu diễn tại phương trình 3 theo Jacobson, LaLonde & Sullivan (1993); Freyaldenhoven, Hansen & Shapiro (2019); Schmidheiny & Siegloch (2023).
- Báo cáo đầy đủ kết quả của bộ kiểm định gồm Kiểm định Wald đồng thời toàn bộ các hệ số dẫn tiền điều trị, đồ thị Event-Study kèm dải tin cậy 95% phân cụm và kiểm tra hiện tượng nhiễm chéo đoàn hệ Sun–Abraham trong bảng kết quả nghiên cứu.
6. Tài liệu tham khảo
- Jacobson, L. S, LaLonde, R. J, & Sullivan, D. G.(1993). Earnings losses of displaced workers. American Economic Review, 83, số 4, 685–709.
- Freyaldenhoven, S, Hansen, C, & Shapiro, J. M.(2019). Pre-event trends in the panel event-study design. American Economic Review, 109, số 9, 3307–3338.
- Schmidheiny, K, & Siegloch, S.(2023). On event studies and distributed-lags in two-way fixed effects models: Identification, equivalence, and generalization. Journal of Applied Econometrics, 38, số 5, 695–713.
- Cerulli, G.(2022). Econometric Evaluation of Socio-Economic Programs: Theory and Applications, 2nd ed, Chương 1–6: Matching, IPW, DID, RDD and Synthetic Control. Springer.
- Cameron, A. C, & Trivedi, P. K.(2022). Microeconometrics Using Stata, 2nd ed, Vol. 2, Chương 23–25 & 29: Treatment Effects, DID, RDD and Causal ML. Stata Press.
- Wooldridge, J. M.(2010). Econometric Analysis of Cross Section and Panel Data, 2nd ed, Chương 21: Estimating Average Treatment Effects. MIT Press.
- Stock, J. H, & Watson, M. W.(2020). Introduction to Econometrics, 4th ed, Chương 13: Experiments and Quasi-Experiments. Pearson.
↑ Tài liệu gốc: KINH TẾ LƯỢNG ỨNG DỤNG TOÀN DIỆN TỪ A - Z
↑ Chương và nhóm hiện tại: 9. Suy luận nhân quả và đánh giá tác động chính sách · 9.2. Sai biệt trong sai biệt cổ điển và nghiên cứu sự kiện
← Bài học trước: 9.2.1. Sai biệt trong sai biệt hai chiều hiệu ứng cố định (TWFE)
→ Bài học tiếp theo: 9.2.3. Ước lượng DID theo nhóm–thời gian không đồng nhất Callaway–Sant'Anna