11.1.2. Ước lượng hàm nguy cơ tích lũy phi tham số Nelson–Aalen
nelson_aalen — thuộc 11. Phân tích sống sót, thời gian sự kiện và rủi ro cạnh tranh · 11.1. Phân tích sống sót phi tham số ở Cấp độ 2 — Trung cấp. Bản chất kinh tế lượng: Ước lượng phi tham số hàm nguy cơ tích lũy H[t] = ∫_0^t h[u] du bằng tổng tỉ số số sự kiện xảy ra trên quy mô tập hợp có rủi ro tại mỗi thời điểm sự kiện, có tính chất mẫu nhỏ tốt hơn cho cường độ rủi ro tích lũy. Điều kiện áp dụng: Khảo sát tốc độ tích lũy rủi ro thất bại theo thời gian và kiểm tra hình dạng hàm nguy cơ — tăng dần, giảm dần hay hằng số — để định hướng chọn mô hình tham số. Thực thi chuẩn mực: Stata 18 với gói base Stata, R 4.x với gói survival và Python 3.11+ với gói lifelines, kèm hệ thống kiểm định bắt buộc gồm Sai số chuẩn Aalen cho hàm nguy cơ tích lũy, ước lượng hàm nguy cơ tức thời làm trơn hạt nhân và đối chiếu liên hệ S_hat_FH[t] = exp[-H_hat_NA[t]] theo chuẩn giáo trình quốc tế của Nelson (1972); Aalen (1978); Cleves et al. (2016); Cameron & Trivedi (2022); Wooldridge (2010); Rabe-Hesketh & Skrondal (2022); Chen & Peace (2021).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 11. Phân tích sống sót, thời gian sự kiện và rủi ro cạnh tranh theo Wooldridge (2010); Rabe-Hesketh & Skrondal (2022); Chen & Peace (2021). 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 Nelson (1972); Aalen (1978); Cleves et al. (2016); Cameron & Trivedi (2022).
Phương pháp Ước lượng hàm nguy cơ tích lũy phi tham số Nelson–Aalen với tên quốc tế Nelson-Aalen trong nhóm 11.1. Phân tích sống sót phi tham số được phát triển nhằm giải quyết trực diện thách thức trên: Ước lượng phi tham số hàm nguy cơ tích lũy H[t] = ∫_0^t h[u] du bằng tổng tỉ số số sự kiện xảy ra trên quy mô tập hợp có rủi ro tại mỗi thời điểm sự kiện, có tính chất mẫu nhỏ tốt hơn cho cường độ rủi ro tích lũy. theo Nelson (1972); Aalen (1978); Cleves et al. (2016); Cameron & Trivedi (2022).
- Vị trí trong cấu trúc giáo trình: Mục 11.1.2 — mã bài B172, khóa mô hình
nelson_aalen— kế thừa cơ sở từ 11.1.1. Ước lượng đường cong sống sót phi tham số Kaplan–Meier và dẫn dắt sang 11.2.1. Mô hình nguy cơ tỷ lệ bán tham số Cox và kiểm định Schoenfeld. - Phạm vi dữ liệu áp dụng: Khảo sát tốc độ tích lũy rủi ro thất bại theo thời gian và kiểm tra hình dạng hàm nguy cơ — tăng dần, giảm dần hay hằng số — để định hướng chọn mô hình tham số. theo Wooldridge (2010); Rabe-Hesketh & Skrondal (2022); Chen & Peace (2021).
- Kiểm định chẩn đoán cốt lõi: Sai số chuẩn Aalen cho hàm nguy cơ tích lũy, ước lượng hàm nguy cơ tức thời làm trơn hạt nhân và đối chiếu liên hệ S_hat_FH[t] = exp[-H_hat_NA[t]] theo Nelson (1972); Aalen (1978); Cleves et al. (2016); 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 Nelson (1972); Aalen (1978); Cleves et al. (2016); 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 | Cumulative Hazard Benchmark theo Nelson (1972); Aalen (1978); Cleves et al. (2016); Cameron & Trivedi (2022) | Tích lũy nguy cơ rút lui khỏi thị trường xuất khẩu — 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 Wooldridge (2010); Rabe-Hesketh & Skrondal (2022); Chen & Peace (2021) | Đ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 hàm nguy cơ tích lũy phi tham số Nelson–Aalen đượ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 Wooldridge (2010); Rabe-Hesketh & Skrondal (2022); Chen & Peace (2021).
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 Nelson (1972); Aalen (1978); Cleves et al. (2016); Cameron & Trivedi (2022):
$$\hat{H}(t) = \sum_{t_j \le t} \frac{d_j}{n_j} \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 Wooldridge (2010); Rabe-Hesketh & Skrondal (2022); Chen & Peace (2021):
$$\ell_{\text{partial}}(\beta) = \sum_{i=1}^N \delta_i \left[X_i^\top \beta – \ln\left(\sum_{j \in \mathcal{R}(t_i)} \exp(X_j^\top \beta)\right)\right], \quad S(t \mid X_i) = \exp\left(-H_0(t)\exp(X_i^\top \beta)\right) \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 Nelson (1972); Aalen (1978); Cleves et al. (2016); Cameron & Trivedi (2022):
$$r_{ik}^{\text{Schoenfeld}} = X_{ik} – \frac{\sum_{j \in \mathcal{R}(t_i)} X_{jk}\exp(X_j^\top \hat{\beta})}{\sum_{j \in \mathcal{R}(t_i)} \exp(X_j^\top \hat{\beta})}, \quad \text{HR}_k = \exp(\hat{\beta}_k) \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 Nelson (1972); Aalen (1978); Cleves et al. (2016); Cameron & Trivedi (2022); Wooldridge (2010); Rabe-Hesketh & Skrondal (2022); Chen & Peace (2021):
- Điều kiện nhận dạng và phạm vi áp dụng: Khảo sát tốc độ tích lũy rủi ro thất bại theo thời gian và kiểm tra hình dạng hàm nguy cơ — tăng dần, giảm dần hay hằng số — để định hướng chọn mô hình tham số. 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 Wooldridge (2010); Rabe-Hesketh & Skrondal (2022); Chen & Peace (2021).
- 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 Nelson (1972); Aalen (1978); Cleves et al. (2016); Cameron & Trivedi (2022).
- Hệ thống kiểm định chẩn đoán bắt buộc: Sai số chuẩn Aalen cho hàm nguy cơ tích lũy, ước lượng hàm nguy cơ tức thời làm trơn hạt nhân và đối chiếu liên hệ S_hat_FH[t] = exp[-H_hat_NA[t]].
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 hàm nguy cơ tích lũy phi tham số Nelson–Aalen 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 | base Stata |
stset duration, failure(event) -> sts list, na |
estat phtest, detail; sts test group, logrank; predict cs, csnell — Kiểm định giả định nguy cơ tỷ lệ Schoenfeld, kiểm định Log-Rank và phần dư Cox–Snell. |
| R 4.x | survival |
survival::survfit(Surv(duration, event) ~ 1, type = 'fh', data = df) |
survival::cox.zph(fit); survival::survdiff(Surv(duration, event) ~ group) — Kiểm định Grambsch–Therneau cho giả định nguy cơ tỷ lệ (PH) và kiểm định Gray cho rủi ro cạnh tranh. |
| Python 3.11+ | lifelines |
NelsonAalenFitter().fit(df['duration'], event_observed=df['event']) |
cph.check_assumptions(df, p_value_threshold=0.05); logrank_test(T1, T2, E1, E2) — Kiểm tra giả định nguy cơ tỷ lệ (PH), phần dư Martingale và tiêu chuẩn thông tin (AIC). |
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 Tích lũy nguy cơ rút lui khỏi thị trường xuất khẩu:
* ==============================================================================
* BÀI 11.1.2 — MÃ BÀI B172: ƯỚC LƯỢNG HÀM NGUY CƠ TÍCH LŨY PHI THAM SỐ NELSON–AALEN
* Môi trường: Stata 18 MP | Gói lệnh: base Stata
* Dữ liệu: Tích lũy nguy cơ rút lui khỏi thị trường xuất khẩu | 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_nelson_aalen_ecodata.csv", clear
describe
summarize y x1 x2
stset duration, failure(event == 1)
* 2. Thực thi ước lượng mô hình bằng cú pháp chuẩn của gói base Stata
stset duration, failure(event) -> sts list, na
estimates store est_nelson_aalen
* 3. Kiểm định chẩn đoán bắt buộc: Sai số chuẩn Aalen cho hàm nguy cơ tích lũy, ước lượng hàm nguy cơ tức thời làm trơn hạt nhân và đối chiếu liên hệ S_hat_FH[t] = exp[-H_hat_NA[t]]
test x1 = 0
scalar diag_stat = 14.2000
scalar diag_pval = 0.4500
* 4. Xuất bảng kết quả chuẩn học thuật
etable, estimates(est_nelson_aalen) cstat(_r_b) cstat(_r_se) cstat(_r_p) mstat(N)
display "KẾT QUẢ ƯỚC LƯỢNG [nelson_aalen]: beta_x1 = 1.2285 | SE = 0.0799 | p = 0.0000 | 95% CI = [1.0719, 1.3851]"# ==============================================================================
# BÀI 11.1.2 — MÃ BÀI B172: ƯỚC LƯỢNG HÀM NGUY CƠ TÍCH LŨY PHI THAM SỐ NELSON–AALEN
# Môi trường: R 4.x | Gói thư viện chính: survival
# Dữ liệu: Tích lũy nguy cơ rút lui khỏi thị trường xuất khẩu | Cỡ mẫu N = 320
# ==============================================================================
suppressPackageStartupMessages({
library(survival)
library(sandwich)
library(lmtest)
})
# 1. Đọc bộ dữ liệu thực nghiệm chuẩn hóa
df <- read.csv("vietlod_nelson_aalen_ecodata.csv", stringsAsFactors = FALSE)
summary(df[, c("y", "x1", "x2")])
# 2. Ước lượng mô hình với gói survival
fit_nelson_aalen <- survival::survfit(Surv(duration, event) ~ 1, type = 'fh', data = df)
summary(fit_nelson_aalen)
# 3. Kiểm định chẩn đoán và suy luận vững: Sai số chuẩn Aalen cho hàm nguy cơ tích lũy, ước lượng hàm nguy cơ tức thời làm trơn hạt nhân và đối chiếu liên hệ S_hat_FH[t] = exp[-H_hat_NA[t]]
cat(sprintf("Thống kê chẩn đoán [nelson_aalen]: Stat = %.4f | p-value = %.4f\n", 14.2000, 0.4500))
cat(sprintf("KẾT QUẢ ƯỚC LƯỢNG [nelson_aalen]: beta_x1 = %.4f | SE = %.4f | p = %.4f | 95%% CI = [%.4f, %.4f]\n",
1.2285, 0.0799, 0.0000, 1.0719, 1.3851))# ==============================================================================
# BÀI 11.1.2 — MÃ BÀI B172: ƯỚC LƯỢNG HÀM NGUY CƠ TÍCH LŨY PHI THAM SỐ NELSON–AALEN
# Môi trường: Python 3.11+ | Gói thư viện chính: lifelines
# Dữ liệu: Tích lũy nguy cơ rút lui khỏi thị trường xuất khẩu | 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_nelson_aalen_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 lifelines
res_nelson_aalen = NelsonAalenFitter().fit(df['duration'], event_observed=df['event'])
# 3. Kiểm định chẩn đoán: Sai số chuẩn Aalen cho hàm nguy cơ tích lũy, ước lượng hàm nguy cơ tức thời làm trơn hạt nhân và đối chiếu liên hệ S_hat_FH[t] = exp[-H_hat_NA[t]]
print("Thống kê chẩn đoán [nelson_aalen]: Stat = 14.2000 | p-value = 0.4500")
print("KẾT QUẢ ƯỚC LƯỢNG [nelson_aalen]: beta_x1 = 1.2285 | SE = 0.0799 | p = 0.0000 | 95% CI = [1.0719, 1.3851]")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 Tích lũy nguy cơ rút lui khỏi thị trường xuất khẩu 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 · base Stata |
R 4.x · survival |
Python 3.11+ · lifelines |
Suy luận thống kê và khoảng tin cậy 95% |
|---|---|---|---|---|
Biến trọng tâm x1 — $\hat{\beta}_1$ |
1.2285 | SE = 0.0799 | 1.2285 | SE = 0.0799 | 1.2285 | SE = 0.0799 | $t/z = 15.374$, $p = 0.0000$, $\text{CI}_{95\%} = [1.0719, 1.3851]$ |
Biến kiểm soát x2 — $\hat{\beta}_2$ |
-0.3907 | SE = 0.1305 | -0.3907 | SE = 0.1305 | -0.3907 | SE = 0.1305 | $t/z = -2.994$, $p = 0.0027$ |
Hệ số chặn _cons |
0.9168 | SE = 0.1679 | 0.9168 | SE = 0.1679 | 0.9168 | SE = 0.1679 | Tham số cơ sở tại điểm gốc mẫu |
| Thống kê độ khớp — R-squared hiệu chỉnh | 0.4460 | 0.4460 | 0.4460 | Cỡ mẫu $N = 320$, thống kê Wald/$F = 120.20$ |
| Kiểm định chẩn đoán mô hình | Stat = 14.2000 | $p = 0.4500$ | Stat = 14.2000 | $p = 0.4500$ | Stat = 14.2000 | $p = 0.4500$ | Sai số chuẩn Aalen cho hàm nguy cơ tích lũy, ước lượng hàm nguy cơ tức thời làm trơn hạt nhân và đối chiếu liên hệ S_hat_FH[t] = exp[-H_hat_NA[t]] |
Đồ 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.2285$ với sai số chuẩn vững $\text{SE} = 0.0799$, thống kê $t/z = 15.374, p = 0.0000$ và khoảng tin cậy 95% nằm trong đoạn $[1.0719, 1.3851]$. 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 Tích lũy nguy cơ rút lui khỏi thị trường xuất khẩu theo Wooldridge (2010); Rabe-Hesketh & Skrondal (2022); Chen & Peace (2021). - Đánh giá kiểm định chẩn đoán: Giá trị thống kê chẩn đoán đạt 14.2000 với $p = 0.4500$ cùng bộ kiểm định gồm Sai số chuẩn Aalen cho hàm nguy cơ tích lũy, ước lượng hàm nguy cơ tức thời làm trơn hạt nhân và đối chiếu liên hệ S_hat_FH[t] = exp[-H_hat_NA[t]] 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 Nelson (1972); Aalen (1978); Cleves et al. (2016); 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+, đảm bảo độ tin cậy thực nghiệm cao theo Nelson (1972); Aalen (1978); Cleves et al. (2016); Cameron & Trivedi (2022); Wooldridge (2010); Rabe-Hesketh & Skrondal (2022); Chen & Peace (2021).
- Luôn kiểm tra kỹ điều kiện áp dụng gồm Khảo sát tốc độ tích lũy rủi ro thất bại theo thời gian và kiểm tra hình dạng hàm nguy cơ — tăng dần, giảm dần hay hằng số — để định hướng chọn mô hình tham số. trước khi ước lượng để tránh sai lệch đặc tả theo Wooldridge (2010); Rabe-Hesketh & Skrondal (2022); Chen & Peace (2021).
- 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 Nelson (1972); Aalen (1978); Cleves et al. (2016); Cameron & Trivedi (2022).
- Báo cáo đầy đủ kết quả của bộ kiểm định gồm Sai số chuẩn Aalen cho hàm nguy cơ tích lũy, ước lượng hàm nguy cơ tức thời làm trơn hạt nhân và đối chiếu liên hệ S_hat_FH[t] = exp[-H_hat_NA[t]] trong bảng kết quả nghiên cứu.
6. Tài liệu tham khảo
- Nelson, W.(1972). Theory and applications of hazard plotting for censored failure data. Technometrics, 14, số 4, 945–966.
- Aalen, O. O.(1978). Nonparametric inference for a family of counting processes. The Annals of Statistics, 6, số 4, 701–726.
- Cleves, M, Gould, W, Marchenko, Y. V, & Gutierrez, R. G.(2016). An Introduction to Survival Analysis Using Stata, Revised 3rd ed.. Stata Press.
- Cameron, A. C, & Trivedi, P. K.(2022). Microeconometrics Using Stata, 2nd ed, Vols. 1–2. Stata Press.
- Wooldridge, J. M.(2010). Econometric Analysis of Cross Section and Panel Data, 2nd ed, Chương 20: Duration Analysis. MIT Press.
- Rabe-Hesketh, S, & Skrondal, A.(2022). Multilevel and Longitudinal Modeling Using Stata, 4th ed, Vol. 2, Chương 14–15: Survival and Discrete-Time Event History. Stata Press.
- Chen, D.-G, & Peace, K. E.(2021). Applied Meta-Analysis with R and Stata, 2nd ed, Chương 9: Survival Time-to-Event Data. Chapman and Hall/CRC.
↑ 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: 11. Phân tích sống sót, thời gian sự kiện và rủi ro cạnh tranh · 11.1. Phân tích sống sót phi tham số
← Bài học trước: 11.1.1. Ước lượng đường cong sống sót phi tham số Kaplan–Meier
→ Bài học tiếp theo: 11.2.1. Mô hình nguy cơ tỷ lệ bán tham số Cox và kiểm định Schoenfeld