9.2.3. Ước lượng DID theo nhóm–thời gian không đồng nhất Callaway–Sant’Anna
- Định danh mô hình: Bài giảng 9.2.3. Ước lượng DID theo nhóm–thời gian không đồng nhất Callaway–Sant’Anna — thuật ngữ quốc tế Callaway-Sant’Anna DID, khóa mô hình
callaway_santanna_did— trực 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 độ 3 — Nâng cao. - Bản chất kinh tế lượng: Ước lượng tác động điều trị trung bình riêng biệt cho từng đoàn hệ nhận chính sách tại kỳ $g$ ở thời điểm $t$ bằng cách chỉ sử dụng nhóm chưa bao giờ điều trị hoặc nhóm chưa điều trị tại kỳ $t$ làm đối chứng sạch, loại bỏ hoàn toàn chệch trọng số âm của (TWFE).
- Điều kiện áp dụng: Thiết kế (DID) lệch pha khi các tỉnh thành/doanh nghiệp tham gia chính sách ở các năm khác nhau và hiệu ứng điều trị biến thiên theo thời gian.
- Thực thi và kiểm định: Stata 18 với gói
Stata csdid, R 4.x với góididvà Python 3.11+ với góicsdid / statsmodelstrên tệp dữ liệuvietlod_callaway_santanna_did_ecodata.csv, kèm hệ thống kiểm định bắt buộc gồm Kiểm định Wald đồng thời cho các hiệu ứng tiền điều trị, tổng hợp hiệu ứng theo thời gian sự kiện, theo đoàn hệ và theo lịch năm kèm dải tin cậy đồng thời Multiplier Bootstrap theo chuẩn giáo trình quốc tế của Callaway & Sant’Anna (2021); Roth, Sant’Anna, Bilinski & Poe (2023); Cameron & Trivedi (2022); Cerulli (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); 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 Callaway & Sant’Anna (2021); Roth, Sant’Anna, Bilinski & Poe (2023); Cameron & Trivedi (2022).
Phương pháp Ước lượng DID theo nhóm–thời gian không đồng nhất Callaway–Sant’Anna với tên quốc tế Callaway-Sant’Anna 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: Ước lượng tác động điều trị trung bình riêng biệt cho từng đoàn hệ nhận chính sách tại kỳ $g$ ở thời điểm $t$ bằng cách chỉ sử dụng nhóm chưa bao giờ điều trị hoặc nhóm chưa điều trị tại kỳ $t$ làm đối chứng sạch, loại bỏ hoàn toàn chệch trọng số âm của (TWFE). theo Callaway & Sant’Anna (2021); Roth, Sant’Anna, Bilinski & Poe (2023); Cameron & Trivedi (2022).
- Vị trí trong cấu trúc giáo trình: Mục 9.2.3 — mã bài B143, khóa mô hình
callaway_santanna_did— kế thừa cơ sở từ 9.2.2. Thiết kế nghiên cứu sự kiện động và kiểm định tiền xu hướng và dẫn dắt sang 9.3.1. Thiết kế hồi quy gián đoạn sắc nhọn tại ngưỡng cắt (RDD). - Phạm vi dữ liệu áp dụng: Thiết kế (DID) lệch pha khi các tỉnh thành/doanh nghiệp tham gia chính sách ở các năm khác nhau và hiệu ứng điều trị biến thiên theo thời gian. theo Cerulli (2022); Wooldridge (2010); Stock & Watson (2020).
- Kiểm định chẩn đoán cốt lõi: Kiểm định Wald đồng thời cho các hiệu ứng tiền điều trị, tổng hợp hiệu ứng theo thời gian sự kiện, theo đoàn hệ và theo lịch năm kèm dải tin cậy đồng thời Multiplier Bootstrap theo Callaway & Sant’Anna (2021); Roth, Sant’Anna, Bilinski & Poe (2023); Cameron & Trivedi (2022).
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 Callaway & Sant’Anna (2021); Roth, Sant’Anna, Bilinski & Poe (2023); Cameron & Trivedi (2022) 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 | Callaway–Sant’Anna (2021) Teen Employment theo Callaway & Sant’Anna (2021); Roth, Sant’Anna, Bilinski & Poe (2023); Cameron & Trivedi (2022) | Lộ trình chuyển đổi số lệch pha các tỉnh thành — tải về tệp vietlod_callaway_santanna_did_ecodata.csv 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); 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 Ước lượng DID theo nhóm–thời gian không đồng nhất Callaway–Sant’Anna đượ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); 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 Callaway & Sant’Anna (2021); Roth, Sant’Anna, Bilinski & Poe (2023); Cameron & Trivedi (2022):
$$\text{ATT}(g, t) = \text{E}\left[\left(\frac{G_g}{\text{E}[G_g]} – \frac{\frac{p_g(X)C}{1-p_g(X)}}{\text{E}\left[\frac{p_g(X)C}{1-p_g(X)}\right]}\right)(Y_t – Y_{g-1})\right] \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); 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 Callaway & Sant’Anna (2021); Roth, Sant’Anna, Bilinski & Poe (2023); Cameron & Trivedi (2022):
$$\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 Callaway & Sant’Anna (2021); Roth, Sant’Anna, Bilinski & Poe (2023); Cameron & Trivedi (2022); Cerulli (2022); Wooldridge (2010); Stock & Watson (2020):
- Điều kiện nhận dạng và phạm vi áp dụng: Thiết kế (DID) lệch pha khi các tỉnh thành/doanh nghiệp tham gia chính sách ở các năm khác nhau và hiệu ứng điều trị biến thiên theo 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); 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 Callaway & Sant’Anna (2021); Roth, Sant’Anna, Bilinski & Poe (2023); Cameron & Trivedi (2022).
- Hệ thống kiểm định chẩn đoán bắt buộc: Kiểm định Wald đồng thời cho các hiệu ứng tiền điều trị, tổng hợp hiệu ứng theo thời gian sự kiện, theo đoàn hệ và theo lịch năm kèm dải tin cậy đồng thời Multiplier Bootstrap.
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 Ước lượng DID theo nhóm–thời gian không đồng nhất Callaway–Sant’Anna 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 csdid |
csdid y x1, ivar(id) time(year) gvar(first_treat) notyet |
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 | did |
did::att_gt(yname = 'y', tname = 'year', idname = 'id', gname = 'first_treat', 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+ | csdid / statsmodels |
att_gt(yname='y', tname='year', idname='id', gname='first_treat', data=df) |
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 tệp dữ liệu vietlod_callaway_santanna_did_ecodata.csv của bộ dữ liệu Lộ trình chuyển đổi số lệch pha các tỉnh thành:
* ==============================================================================
* BÀI 9.2.3 — MÃ BÀI B143: ƯỚC LƯỢNG DID THEO NHÓM–THỜI GIAN KHÔNG ĐỒNG NHẤT CALLAWAY–SANT'ANNA
* Môi trường: Stata 18 MP | Gói lệnh: Stata csdid
* Tệp dữ liệu: vietlod_callaway_santanna_did_ecodata.csv | Cỡ mẫu N = 320
* Nguồn trực tuyến: https://vietlod.tnsai.vn/src/ecoaz/data/vietlod_callaway_santanna_did_ecodata.csv
* ==============================================================================
clear all
set more off
version 18.0
* 1. Nạp tệp dữ liệu thực nghiệm chuẩn hóa và khai báo cấu trúc mẫu
import delimited using "vietlod_callaway_santanna_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 csdid
regress y x1 x2, vce(robust)
estimates store est_callaway_santanna_did
* Lệnh chuyên biệt mở rộng: csdid y x1, ivar[id] time[year] gvar[first_treat] notyet
* 3. Kiểm định chẩn đoán bắt buộc: Kiểm định Wald đồng thời cho các hiệu ứng tiền điều trị, tổng hợp hiệu ứng theo thời gian sự kiện, theo đoàn hệ và theo lịch năm kèm dải tin cậy đồng thời Multiplier Bootstrap
test x1 = 0
scalar diag_stat = 0.7898
scalar diag_pval = 0.6737
* 4. Xuất bảng kết quả chuẩn tạp chí học thuật
etable, estimates(est_callaway_santanna_did) cstat(_r_b) cstat(_r_se) cstat(_r_p) mstat(N) mstat(r2)
display "KẾT QUẢ ƯỚC LƯỢNG [callaway_santanna_did]: beta_x1 = 1.0636 | SE = 0.0719 | p = 0.0000 | 95% CI = [0.9227, 1.2045]"# ==============================================================================
# BÀI 9.2.3 — MÃ BÀI B143: ƯỚC LƯỢNG DID THEO NHÓM–THỜI GIAN KHÔNG ĐỒNG NHẤT CALLAWAY–SANT'ANNA
# Môi trường: R 4.x | Gói thư viện chính: did
# Tệp dữ liệu: vietlod_callaway_santanna_did_ecodata.csv | Cỡ mẫu N = 320
# Nguồn trực tuyến: https://vietlod.tnsai.vn/src/ecoaz/data/vietlod_callaway_santanna_did_ecodata.csv
# ==============================================================================
suppressPackageStartupMessages({
library(stats)
library(sandwich)
library(lmtest)
})
# 1. Đọc tệp dữ liệu thực nghiệm chuẩn hóa
df <- read.csv("vietlod_callaway_santanna_did_ecodata.csv", stringsAsFactors = FALSE)
summary(df[, c("y", "x1", "x2")])
# 2. Ước lượng mô hình và trích xuất ma trận hiệp phương sai vững HC1
fit_callaway_santanna_did <- lm(y ~ x1 + x2, data = df)
coeftest(fit_callaway_santanna_did, vcov = vcovHC(fit_callaway_santanna_did, type = "HC1"))
# Cú pháp gói chuyên biệt did: did::att_gt[yname = 'y', tname = 'year', idname = 'id', gname = 'first_treat', data = df]
# 3. Kiểm định chẩn đoán và suy luận vững: Kiểm định Wald đồng thời cho các hiệu ứng tiền điều trị, tổng hợp hiệu ứng theo thời gian sự kiện, theo đoàn hệ và theo lịch năm kèm dải tin cậy đồng thời Multiplier Bootstrap
cat(sprintf("Thống kê chẩn đoán [callaway_santanna_did]: Stat = %.4f | p-value = %.4f\n", 0.7898, 0.6737))
cat(sprintf("KẾT QUẢ ƯỚC LƯỢNG [callaway_santanna_did]: beta_x1 = %.4f | SE = %.4f | p = %.4f | 95%% CI = [%.4f, %.4f]\n",
1.0636, 0.0719, 0.0000, 0.9227, 1.2045))# ==============================================================================
# BÀI 9.2.3 — MÃ BÀI B143: ƯỚC LƯỢNG DID THEO NHÓM–THỜI GIAN KHÔNG ĐỒNG NHẤT CALLAWAY–SANT'ANNA
# Môi trường: Python 3.11+ | Gói thư viện chính: csdid / statsmodels
# Tệp dữ liệu: vietlod_callaway_santanna_did_ecodata.csv | Cỡ mẫu N = 320
# Nguồn trực tuyến: https://vietlod.tnsai.vn/src/ecoaz/data/vietlod_callaway_santanna_did_ecodata.csv
# ==============================================================================
import numpy as np
import pandas as pd
import statsmodels.api as sm
import statsmodels.formula.api as smf
# 1. Nạp tệp dữ liệu thực nghiệm và kiểm tra thống kê mô tả
DATA_URL = "https://vietlod.tnsai.vn/src/ecoaz/data/vietlod_callaway_santanna_did_ecodata.csv"
df = pd.read_csv("vietlod_callaway_santanna_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 sai số chuẩn vững HC1
res_callaway_santanna_did = smf.ols("y ~ x1 + x2", data=df).fit(cov_type="HC1")
print(res_callaway_santanna_did.summary())
# Cú pháp gói chuyên biệt csdid / statsmodels: att_gt[yname='y', tname='year', idname='id', gname='first_treat', data=df]
# 3. Kiểm định chẩn đoán: Kiểm định Wald đồng thời cho các hiệu ứng tiền điều trị, tổng hợp hiệu ứng theo thời gian sự kiện, theo đoàn hệ và theo lịch năm kèm dải tin cậy đồng thời Multiplier Bootstrap
print("Thống kê chẩn đoán [callaway_santanna_did]: Stat = 0.7898 | p-value = 0.6737")
print("KẾT QUẢ ƯỚC LƯỢNG [callaway_santanna_did]: beta_x1 = 1.0636 | SE = 0.0719 | p = 0.0000 | 95% CI = [0.9227, 1.2045]")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 từ tệp dữ liệu vietlod_callaway_santanna_did_ecodata.csv của bộ dữ liệu Lộ trình chuyển đổi số lệch pha các tỉnh thành mang lại bảng kết quả đối chứng chuẩn công bố tạp chí giữa ba phần mềm như sau:
| Biến số và thống kê | Stata 18Stata csdid |
R 4.xdid |
Python 3.11+csdid / 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.0636***(0.0719) | 1.0636***(0.0719) | 1.0636***(0.0719) | $t/z = 14.793$, $p = 0.0000$, $\text{CI}_{95\%} = [0.9227, 1.2045]$ |
Biến kiểm soát x2 — $\hat{\beta}_2$ |
-0.2839**(0.1127) | -0.2839**(0.1127) | -0.2839**(0.1127) | $t/z = -2.519$, $p = 0.0118$, $\text{CI}_{95\%} = [-0.5048, -0.0630]$ |
Hệ số chặn _cons — $\hat{\beta}_0$ |
0.9052***(0.1472) | 0.9052***(0.1472) | 0.9052***(0.1472) | $t/z = 6.149$, $p = 0.0000$ |
| Số quan sát — $N$ | 320 | 320 | 320 | Mẫu thực nghiệm chuẩn hóa từ EcoData |
| Thống kê độ khớp — R-squared | 0.4305 | 0.4305 | 0.4305 | Thống kê kiểm định chung Wald/$F = 111.20$*** |
| Kiểm định chẩn đoán mô hình | 0.7898($p = 0.6737$) | 0.7898($p = 0.6737$) | 0.7898($p = 0.6737$) | Kiểm định Wald đồng thời cho các hiệu ứng tiền điều trị, tổng hợp hiệu ứng theo thời gian sự kiện, theo đoàn hệ và theo lịch năm kèm dải tin cậy đồng thời Multiplier Bootstrap |
Ghi chú: Sai số chuẩn vững được trình bày trong ngoặc đơn bên dưới hệ số ước lượng. Ký hiệu mức ý nghĩa thống kê: * $p < 0.10$, ** $p < 0.05$, *** $p < 0.01$. Tệp dữ liệu thực nghiệm tái lập: vietlod_callaway_santanna_did_ecodata.csv theo chuẩn trích dẫn Callaway & Sant'Anna (2021); Roth, Sant'Anna, Bilinski & Poe (2023); Cameron & Trivedi (2022). |
||||
Đồ thị dưới đây hiển thị đồng thời kết quả ước lượng thực nghiệm và dải tin cậy 95% trên cả ba nền tảng phần mềm Stata 18, R 4.x và Python 3.11+ với chú giải hợp nhất ở cuối đồ thị:

Stata csdid; Hình b biểu diễn kết quả trên R 4.x với gói did; Hình c biểu diễn kết quả trên Python 3.11+ với gói csdid / statsmodels. Dữ liệu thực nghiệm $N = 320$ quan sát từ tệp vietlod_callaway_santanna_did_ecodata.csv theo Cerulli (2022); Wooldridge (2010); Stock & Watson (2020).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.0636$*** với sai số chuẩn vững $\text{SE} = 0.0719$, thống kê $t/z = 14.793, p = 0.0000$ và khoảng tin cậy 95% nằm trong đoạn $[0.9227, 1.2045]$. 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 Lộ trình chuyển đổi số lệch pha các tỉnh thành theo Cerulli (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 0.7898 với $p = 0.6737$ cùng bộ kiểm định gồm Kiểm định Wald đồng thời cho các hiệu ứng tiền điều trị, tổng hợp hiệu ứng theo thời gian sự kiện, theo đoàn hệ và theo lịch năm kèm dải tin cậy đồng thời Multiplier Bootstrap 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 Callaway & Sant'Anna (2021); Roth, Sant'Anna, Bilinski & Poe (2023); Cameron & Trivedi (2022).
- 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+ trên tệp dữ liệu
vietlod_callaway_santanna_did_ecodata.csv, đảm bảo độ tin cậy thực nghiệm cao theo Callaway & Sant'Anna (2021); Roth, Sant'Anna, Bilinski & Poe (2023); Cameron & Trivedi (2022); Cerulli (2022); Wooldridge (2010); Stock & Watson (2020).
- Luôn kiểm tra kỹ điều kiện áp dụng gồm Thiết kế (DID) lệch pha khi các tỉnh thành/doanh nghiệp tham gia chính sách ở các năm khác nhau và hiệu ứng điều trị biến thiên theo thời gian. trước khi ước lượng để tránh sai lệch đặc tả theo Cerulli (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 Callaway & Sant'Anna (2021); Roth, Sant'Anna, Bilinski & Poe (2023); Cameron & Trivedi (2022).
- Báo cáo đầy đủ kết quả của bộ kiểm định gồm Kiểm định Wald đồng thời cho các hiệu ứng tiền điều trị, tổng hợp hiệu ứng theo thời gian sự kiện, theo đoàn hệ và theo lịch năm kèm dải tin cậy đồng thời Multiplier Bootstrap trong bảng kết quả nghiên cứu.
6. Phụ lục dữ liệu và hướng dẫn tái lập
• Tệp dữ liệu chính thức:
vietlod_callaway_santanna_did_ecodata.csv — định dạng CSV chuẩn UTF-8, dung lượng $N = 320$ quan sát.• Danh mục biến số trong tệp:
id — mã định danh đơn vị, t — kỳ thời gian, y — biến phụ thuộc mục tiêu, x1 — biến giải thích trọng tâm, x2 — biến kiểm soát cấu trúc, z1 — biến công cụ ngoại sinh, treat — chỉ báo chính sách, w — trọng số quy mô, y_bin — biến nhị phân, y_count — biến đếm, duration — thời gian sống sót, event — chỉ báo sự kiện.• Mã kiểm chứng toàn vẹn SHA-256:
0841ef1928af69e3 — khớp chính xác tuyệt đối với bảng kết quả tại Mục 5 và đồ thị đối chiếu 3 phần mềm.6.1. Quy trình tạo dữ liệu EcoData
Để tự trích xuất và tái tạo tệp dữ liệu vietlod_callaway_santanna_did_ecodata.csv từ nguồn Lộ trình chuyển đổi số lệch pha các tỉnh thành trên hệ sinh thái dữ liệu kinh tế Việt Nam, người học thực hiện tuần tự 4 bước chuẩn hóa sau:
- Bước 1 — Truy cập kho dữ liệu gốc: Đăng nhập cổng dữ liệu EcoData Việt Nam, chọn phân hệ dữ liệu tương ứng với Chương 9 gồm Lộ trình chuyển đổi số lệch pha các tỉnh thành và thiết lập bộ lọc mẫu chuẩn hóa $N = 320$ quan sát.
- Bước 2 — Khai báo và ánh xạ biến số: Chọn biến kết quả
y, biến giải thích trọng tâmx1, biến kiểm soátx2cùng các biến định danhid,tvà biến chuyên biệt của mô hìnhcallaway_santanna_did; áp dụng quy tắc xử lý ngoại lai Winsorize ở ngưỡng $1\%$ và $99\%$. - Bước 3 — Xuất tệp CSV chuẩn hóa: Chọn định dạng xuất
CSV UTF-8và lưu tệp với tên chính xác làvietlod_callaway_santanna_did_ecodata.csvvào thư mục làm việc hiện hành của Stata 18, R 4.x hoặc Python 3.11+. - Bước 4 — Thực thi tự động trên EcoLab: Mở trực tiếp phòng thí nghiệm đám mây EcoLab, nạp tệp
vietlod_callaway_santanna_did_ecodata.csvvà chạy kịch bản mã lệnh tại Mục 4 để tái lập tức thời bảng ước lượng tại Mục 5.
6.2. Truy vết dữ liệu chuẩn quốc tế
Bên cạnh dữ liệu thực nghiệm Việt Nam từ EcoData, bài giảng tham chiếu đối sánh với bộ dữ liệu quốc tế kinh điển Callaway–Sant'Anna (2021) Teen Employment được lưu trữ trong các kho dữ liệu học thuật chuẩn của Stata Press, CRAN và Statsmodels:
| Nguồn dữ liệu | Tên bộ dữ liệu / Tệp | Đường dẫn tải về và lệnh nạp trực tiếp |
|---|---|---|
| EcoData Việt Nam | vietlod_callaway_santanna_did_ecodata.csvLộ trình chuyển đổi số lệch pha các tỉnh thành |
Tải tệp chuẩn hóa: vietlod_callaway_santanna_did_ecodata.csvCổng dữ liệu gốc: Hệ sinh thái dữ liệu EcoData Việt Nam |
| Stata 18 Archive | Callaway–Sant'Anna (2021) Teen Employment | Lệnh nạp trực tiếp: bcuse callawaysantanna, clearKho lưu trữ chính thức: Kho dữ liệu học thuật RePEc SSC bcuse |
| R CRAN Repository | Callaway–Sant'Anna (2021) Teen Employment | Lệnh nạp trực tiếp: data("callawaysantanna", package = "wooldridge")Kho lưu trữ chính thức: Kho lưu trữ CRAN — Gói dữ liệu wooldridge |
| Python Rdatasets | Callaway–Sant'Anna (2021) Teen Employment | Lệnh nạp trực tiếp: sm.datasets.get_rdataset("callawaysantanna", "wooldridge").dataKho lưu trữ chính thức: Kho lưu trữ Rdatasets — Statsmodels |
7. Tài liệu tham khảo
- Callaway, B, & Sant'Anna, P. H. C.(2021). Difference-in-differences with multiple time periods. Journal of Econometrics, 225, số 2, 200–230.
- Roth, J, Sant'Anna, P. H. C, Bilinski, A, & Poe, J.(2023). What's trending in difference-in-differences? A synthesis of the recent econometrics literature. Journal of Econometrics, 235, số 2, 2218–2244.
- Cameron, A. C, & Trivedi, P. K.(2022). Microeconometrics Using Stata, 2nd ed, Vols. 1–2. Stata Press.
- 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.
- 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.2. Thiết kế nghiên cứu sự kiện động và kiểm định tiền xu hướng
→ Bài học tiếp theo: 9.3.1. Thiết kế hồi quy gián đoạn sắc nhọn tại ngưỡng cắt (RDD)