Giới thiệu dự án
Bệnh tim mạch (Cardiovascular Diseases - CVDs) hiện là nguyên nhân gây tử vong hàng đầu trên toàn cầu. Theo số liệu từ Tổ chức Y tế Thế giới (WHO), ước tính có khoảng 17,9 triệu người tử vong do bệnh tim mạch vào năm 2019, chiếm tới 32% tổng số ca tử vong trên toàn thế giới, trong đó hơn 75% tập trung tại các quốc gia có thu nhập thấp và trung bình. Tại Việt Nam, thống kê của Bộ Y tế chỉ ra mỗi năm có khoảng 200.000 người tử vong vì các bệnh lý tim mạch, chiếm khoảng 33% tổng số ca tử vong—con số này cao gấp 20 lần số ca tử vong do bệnh ung thư và gấp 10 lần so với tai nạn giao thông. Dự báo tài chính y tế tại Hoa Kỳ của S. Whitsel cũng ước tính đến năm 2035, chi phí xã hội phục vụ điều trị tim mạch sẽ chạm mốc 368 tỷ USD với hơn 132 triệu người mắc bệnh.
Thách thức cốt lõi nằm ở đặc tính tiến triển âm thầm của bệnh lý tim mạch trong giai đoạn khởi phát. Đa số bệnh nhân chỉ đi khám khi xuất hiện các triệu chứng cơ năng nghiêm trọng như khó thở mạn tính, đau thắt ngực kéo dài hoặc phù ngoại vi do suy tim (theo phân độ chức năng NYHA). Quy trình chẩn đoán cận lâm sàng truyền thống dựa vào điện tâm đồ (ECG), xét nghiệm sinh hóa nồng độ Cholesterol máu (>120 mg/dL), siêu âm tim và chụp mạch vành đòi hỏi trang thiết bị đắt đỏ, mất nhiều thời gian phân tích và phụ thuộc hoàn toàn vào chuyên môn của bác sĩ tuyến trên, dẫn đến tình trạng quá tải cục bộ tại các bệnh viện chuyên khoa.
Đề tài "Ứng dụng phương pháp Học máy vào dự báo khả năng mắc bệnh tim" do sinh viên Nguyễn Thị Hương Giang (Khoa Toán Kinh tế, Trường Đại học Kinh tế Quốc dân) thực hiện dưới sự hướng dẫn của ThS. Nguyễn Thị Liên nhằm giải quyết bài toán sàng lọc sớm bằng công nghệ tính toán.
+----------------------------------------------+
| CDC 2020 Annual Health Survey (BRFSS) |
| (Dữ liệu lớn, biến định danh & định lượng) |
+----------------------+-----------------------+
|
v
+----------------------------------------------+
| Tiền xử lý & Cân bằng nhãn (Undersampling) |
+----------------------+-----------------------+
|
v
+----------------------------------------------+
| Phân tích Khám phá Dữ liệu (EDA) |
| (Nhân khẩu học, Lối sống, Bệnh nền) |
+----------------------+-----------------------+
|
+-------------------------------+-------------------------------+
| | |
v v v
+------------------+ +-------------------+ +------------------+
| Logistic Regr. | | Random Forest | | Support Vector |
| (Mô hình Logit) | | (Bagging Trees) | | Machine (SVM) |
+--------+---------+ +---------+---------+ +--------+---------+
| | |
+-------------------------------+------------------------------+
|
v
+----------------------------------------------+
| Đánh giá & So sánh (Accuracy, AUC, Recall) |
+----------------------------------------------+
Mục tiêu cụ thể của đề tài bao gồm:
- Xác định các nhóm đối tượng có nguy cơ mắc bệnh tim mạch cao thông qua phân tích nhân khẩu học và thói quen sinh hoạt.
- Định lượng và xếp hạng các dấu hiệu lâm sàng, tiền sử bệnh nền đóng vai trò quyết định trong phân loại bệnh tim.
- Xây dựng, tinh chỉnh và kiểm thử 4 thuật toán Machine Learning: Hồi quy Logistic (Logistic Regression), Rừng ngẫu nhiên (Random Forest), Phân loại Naïve Bayes và Máy vector hỗ trợ (Support Vector Machine - SVM).
- So sánh hiệu năng mô hình trên tập dữ liệu kiểm định độc lập để đề xuất giải pháp tối ưu phục vụ công tác dự báo hỗ trợ y tế.
Phạm vi nghiên cứu tập trung khai thác bộ dữ liệu khảo sát sức khỏe thường niên năm 2020 của Trung tâm Kiểm soát và Phòng ngừa Dịch bệnh Hoa Kỳ (CDC - Centers for Disease Control and Prevention), áp dụng kỹ thuật cân bằng dữ liệu Random Undersampling và xử lý bằng ngôn ngữ lập trình R.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Các phương pháp tiếp cận chẩn đoán tim mạch hiện nay bộc lộ nhiều điểm khác biệt rõ rệt giữa phương pháp cận lâm sàng truyền thống và ứng dụng Trí tuệ nhân tạo (AI)/Machine Learning (ML):
| Tiêu chí |
Chẩn đoán Cận lâm sàng Truyền thống |
Ứng dụng Machine Learning / Khai phá Dữ liệu |
| Thời gian trả kết quả |
1 - 3 ngày (xét nghiệm máu, ECG, siêu âm) |
Vài giây sau khi nhập các chỉ số khảo sát |
| Chi phí thực hiện |
Cao (tốn kém chi phí máy móc, hóa chất xét nghiệm) |
Rất thấp (chỉ yêu cầu hạ tầng tính toán cơ bản) |
| Khả năng tiếp cận |
Hạn chế ở bệnh viện tuyến huyện/tỉnh trở lên |
Dễ dàng triển khai diện rộng qua Web/App tới trạm y tế xã |
| Xử lý dữ liệu lớn |
Thủ công, dễ quá tải khi lượng bệnh nhân tăng đột biến |
Xử lý song song hàng trăm nghìn hồ sơ bệnh án |
| Độ phụ thuộc nhân lực |
Phụ thuộc 100% vào kinh nghiệm bác sĩ chuyên khoa |
Cung cấp khuyến nghị khách quan, giảm thiểu sai sót chủ quan |
Tổng quan các nghiên cứu thực nghiệm tiền nhiệm cho thấy:
- S. Bashir et al. (2014, 2019): Thử nghiệm SVM, Decision Tree, Naïve Bayes trên tập UCI Cleveland (303 mẫu, 14 thuộc tính) đạt độ chính xác 81,82%; khi mở rộng lên 920 quan sát kết hợp Logistic Regression + SVM đạt 84,85%. Hạn chế là tập dữ liệu nhỏ và chỉ tập trung vào bệnh nhân đơn bệnh.
- G. Reddy et al. (2019): Sử dụng lý thuyết Logic mờ (Fuzzy Logic) trên 3 tập dữ liệu UCI (Cleveland, Hungarian, Switzerland) đạt độ chính xác 89% - 91%.
- A. Darmawahyuni et al. (2019): Áp dụng Deep Neural Network (DNN) với 4 lớp ẩn (hidden layers) và 300 epoch đạt 93% độ chính xác nhưng thiếu tính diễn giải (Black-box).
- Chintan M. Bhatt et al. (2023): Thử nghiệm RF, DT, MLP, XGBoost trên 70.000 quan sát đạt AUC từ 0,94 - 0,95, trong đó MLP đạt độ chính xác 87,28% nhưng chưa đánh giá sâu tác động của các biến lối sống và yếu tố bất cân bằng mẫu.
Khoảng trống nghiên cứu chính là sự thiếu hụt các nghiên cứu xử lý tập dữ liệu khảo sát cộng đồng quy mô lớn kết hợp giải quyết triệt để vấn đề mất cân bằng dữ liệu (Imbalanced Data) và so sánh song song giữa mô hình hộp trắng (White-box) có tính diễn giải cao với mô hình hộp đen (Black-box).
Hệ thống yêu cầu được phân cấp theo tiêu chí MoSCoW:
- Must-have: Tiền xử lý dữ liệu khuyết thiếu, cân bằng dữ liệu nhị phân bằng Random Undersampling, huấn luyện 4 mô hình (Logistic Regression, Random Forest, Naïve Bayes, SVM), trích xuất Ma trận nhầm lẫn (Confusion Matrix) và đường cong ROC/AUC.
- Should-have: Trích xuất tỷ số chênh (Odds Ratio) từ hồi quy Logistic, tính toán mức độ quan trọng của biến (Feature Importance/Gini Impurity) trong Random Forest.
- Could-have: Xây dựng giao diện web tương tác để nhập liệu và trả kết quả xác suất mắc bệnh theo thời gian thực.
- Won't-have: Thay thế hoàn toàn quy trình xét nghiệm xâm lấn trong điều trị can thiệp chuyên sâu.
Thiết kế hệ thống
Kiến trúc xử lý dữ liệu và mô hình hóa gồm 4 phân tầng chính:
[Tầng 1: Thu thập Dữ liệu]
[Tầng 2: Tiền xử lý & Kỹ thuật Dữ liệu]
[Tầng 3: Huấn luyện Mô hình Đa thuật toán]
[Tầng 4: Đánh giá & Trực quan hóa]
Mô tả các biến đầu vào của hệ thống:
- Biến phân loại (Categorical variables):
HeartDisease (Biến phụ thuộc: 0 - Không, 1 - Có), Sex (Giới tính), Smoking (Hút >100 điếu thuốc trong đời), AlcoholDrinking (Uống rượu bia mức độ cao), Stroke (Tiền sử đột quỵ), DiffWalking (Khó khăn khi leo cầu thang/đi bộ), Diabetic (Tiểu đường), PhysicalActivity (Tập thể dục trong 30 ngày qua), GenHealth (Tự đánh giá sức khỏe), Asthma (Hen suyễn), KidneyDisease (Bệnh thận mạn), SkinCancer (Ung thư da).
- Biến định lượng (Numerical variables):
BMI (Chỉ số khối cơ thể), PhysicalHealth (Số ngày sức khỏe thể chất không tốt trong tháng), MentalHealth (Số ngày sức khỏe tinh thần không tốt), SleepTime (Thời gian ngủ trung bình/ngày), AgeCategory (Nhóm tuổi phân cấp).
Technology Stack:
- Ngôn ngữ cốt lõi: R (v4.2.2).
- Thư viện chuyên dụng:
tidyverse, ggplot2 (EDA và trực quan hóa dữ liệu), caret (Phân chia dữ liệu và chuẩn hóa quy trình đánh giá), randomForest (Xây dựng rừng cây quyết định), e1071 (Triển khai SVM và Naïve Bayes), ROCR / pROC (Vẽ đường cong ROC và tính toán diện tích AUC).
Methodology
Nghiên cứu ứng dụng quy trình khai phá dữ liệu chuẩn CRISP-DM kết hợp phương pháp luận Kinh tế lượng định lượng:
- Thu thập và làm sạch: Loại bỏ dữ liệu nhiễu, kiểm tra tính đầy đủ của các biến định danh và định lượng.
- Kỹ thuật Random Undersampling: Do tỷ lệ người không mắc bệnh tim (nhãn 0) áp đảo hoàn toàn so với người mắc bệnh (nhãn 1), việc huấn luyện trực tiếp sẽ khiến mô hình bị lệch (Bias) về nhóm đa số. Phương pháp Random Undersampling tiến hành rút ngẫu nhiên nhóm nhãn 0 để đạt tỷ lệ cân bằng 1:1 với nhóm nhãn 1, đảm bảo mô hình học được đặc trưng phân loại của cả hai nhóm.
- Chiến lược phân chia: Tách ngẫu nhiên 70% tập dữ liệu làm Training Set và 30% làm Testing Set độc lập.
Implementation và kết quả
Development process
1. Mô hình Hồi quy Logistic (Logistic Regression)
Sử dụng hàm liên kết logit để ánh xạ tổ hợp tuyến tính của các biến độc lập sang xác suất $P(Y=1)$:
$$P(Y=1|X) = \sigma(Z) = \frac{1}{1 + e^{-(\beta_0 + \beta_1 X_1 + \beta_2 X_2 + \dots + \beta_n X_n)}}$$
Tỷ số chênh Log(odds) được biểu diễn tuyến tính:
$$\ln\left(\frac{P(Y=1)}{1 - P(Y=1)}\right) = \beta_0 + \beta_1 X_1 + \beta_2 X_2 + \dots + \beta_n X_n$$
Hệ số $\beta_i > 0$ chỉ ra rằng khi biến $X_i$ tăng, xác suất mắc bệnh tim tăng theo tỷ lệ $e^{\beta_i}$.
2. Mô hình Rừng ngẫu nhiên (Random Forest)
Thuật toán xây dựng $T$ cây quyết định độc lập thông qua kỹ thuật Bootstrap Aggregation (Bagging). Tại mỗi nút phân chia (node), thuật toán chọn ngẫu nhiên $m = \lfloor\sqrt{p}\rfloor$ biến trong tổng số $p$ biến để tìm điểm cắt tối ưu theo chỉ số Gini Impurity:
$$\text{Gini}(D) = 1 - \sum_{i=1}^{C} p_i^2$$
Dự báo cuối cùng dựa trên cơ chế bỏ phiếu đa số (Majority Voting):
$$\hat{Y} = \text{argmax}{c} \sum{t=1}^{T} I(\hat{y}_t = c)$$
3. Mô hình Phân loại Naïve Bayes
Dựa trên Định lý Bayes với giả định các thuộc tính độc lập có điều kiện:
$$P(Y=c|X_1, X_2, \dots, X_n) = \frac{P(Y=c) \prod_{i=1}^n P(X_i|Y=c)}{P(X_1, X_2, \dots, X_n)}$$
4. Mô hình Support Vector Machine (SVM)
SVM tìm kiếm một siêu phẳng (Hyperplane) tối ưu trong không gian đa chiều nhằm tối đa hóa khoảng cách lề (Margin) giữa hai lớp dữ liệu:
$$\min_{w, b, \xi} \frac{1}{2} |w|^2 + C \sum_{i=1}^N \xi_i \quad \text{thỏa mãn} \quad y_i(w^T x_i + b) \ge 1 - \xi_i, \quad \xi_i \ge 0$$
# Đoạn mã nguồn triển khai mô hình hóa trên ngôn ngữ R
library(caret)
library(randomForest)
library(e1071)
library(ROCR)
# 1. Cân bằng dữ liệu bằng Random Undersampling
set.seed(11191443) # Sử dụng mã sinh viên làm seed tái lập kết quả
minority_size <- sum(heart_data$HeartDisease == "Yes")
majority_indices <- which(heart_data$HeartDisease == "No")
undersampled_majority <- sample(majority_indices, minority_size)
balanced_data <- rbind(heart_data[heart_data$HeartDisease == "Yes", ],
heart_data[undersampled_majority, ])
# 2. Phân chia Train/Test (70/30)
trainIndex <- createDataPartition(balanced_data$HeartDisease, p = 0.7, list = FALSE)
train_set <- balanced_data[trainIndex, ]
test_set <- balanced_data[-trainIndex, ]
# 3. Huấn luyện Logistic Regression
model_logit <- glm(HeartDisease ~ ., data = train_set, family = binomial(link = "logit"))
# 4. Huấn luyện Random Forest
model_rf <- randomForest(HeartDisease ~ ., data = train_set, ntree = 500, mtry = 4, importance = TRUE)
# 5. Huấn luyện Naive Bayes & SVM
model_nb <- naiveBayes(HeartDisease ~ ., data = train_set)
model_svm <- svm(HeartDisease ~ ., data = train_set, probability = TRUE, kernel = "radial")
Testing và validation
Hiệu năng của các mô hình được kiểm định độc lập trên tập Testing Set thông qua Ma trận nhầm lẫn (Confusion Matrix) với các chỉ số đo lường:
- Accuracy (Độ chính xác tổng quát): $\frac{TP + TN}{TP + TN + FP + FN}$
- Sensitivity / Recall (Độ nhạy - Tỷ lệ phát hiện đúng người có bệnh): $\frac{TP}{TP + FN}$
- Specificity (Độ đặc hiệu - Tỷ lệ nhận diện đúng người không mắc bệnh): $\frac{TN}{TN + FP}$
- Precision (Độ chuẩn xác): $\frac{TP}{TP + FP}$
- F1-Score: $2 \times \frac{\text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}}$
Ma trận Nhầm lẫn (Confusion Matrix)
+-----------------------------+
| Thực tế (Actual) |
| Pos (Có) | Neg (Không)|
+------------------------+--------------+--------------+
| Dự đoán Pos (Có) | TP (75%) | FP (23%) |
| (Pred) Neg (Không) | FN (25%) | TN (77%) |
+------------------------+--------------+--------------+
Kết quả đạt được
Bảng tổng hợp so sánh hiệu suất giữa 4 mô hình trên tập thử nghiệm (Testing Set):
| Mô hình Thuật toán |
Accuracy (%) |
Sensitivity / Recall (%) |
Specificity (%) |
AUC-ROC |
Khả năng diễn giải |
| Logistic Regression |
76.45% |
77.12% |
75.78% |
0.838 |
Rất cao (Odds Ratio) |
| Random Forest |
75.82% |
74.65% |
76.99% |
0.831 |
Trung bình (Gini Feature Importance) |
| Support Vector Machine (SVM) |
76.10% |
75.40% |
76.80% |
0.834 |
Thấp (Black-box) |
| Naïve Bayes |
73.20% |
79.85% |
66.55% |
0.805 |
Cao (Conditional Probability) |
So sánh chỉ số AUC-ROC giữa 4 mô hình:
Logistic Regr : [#################################] 0.838
SVM : [################################] 0.834
Random Forest : [################################] 0.831
Naïve Bayes : [############################### ] 0.805
Phân tích mức độ quan trọng của thuộc tính (Feature Importance):
- Nhóm tuổi (
AgeCategory): Biến có trọng số lớn nhất. Tỷ lệ mắc bệnh tim tăng vọt ở nhóm đối tượng trên 55 tuổi đối với nam và trên 65 tuổi đối với nữ.
- Tiền sử đột quỵ (
Stroke): Bệnh nhân từng bị đột quỵ có tỷ số chênh mắc bệnh tim cao gấp hơn 3,2 lần ($OR > 3.2$).
- Khó khăn vận động (
DiffWalking): Biểu hiện suy giảm tuần hoàn thể lực phản ánh tương quan trực tiếp đến nguy cơ suy tim tiềm ẩn.
- Tiểu đường (
Diabetic) và Hút thuốc lá (Smoking): Các yếu tố nguy cơ có thể kiểm soát làm tăng nồng độ mảng bám xơ vữa động mạch và tăng nguy cơ nhồi máu cơ tim.
Đổi mới và đóng góp
- Khắc phục triệt để hiện tượng thiên lệch nhãn (Class Imbalance): Không giống như các nghiên cứu truyền thống áp dụng trực tiếp dữ liệu gốc dẫn đến "nghịch lý độ chính xác" (Accuracy cao nhưng Sensitivity cực thấp do mô hình luôn đoán nhãn 0), đề tài đã áp dụng Random Undersampling để tối ưu hóa chỉ số Recall đạt trên 77%, đảm bảo phát hiện tối đa các ca bệnh thực tế.
- So sánh đa diện giữa Kinh tế lượng và Khoa học Dữ liệu: Đề tài không chỉ dừng lại ở các thuật toán ML hiện đại (Random Forest, SVM) mà còn đặt trọng tâm vào mô hình Hồi quy Logistic nhị thức. Điều này chứng minh rằng trong bài toán phân loại dữ liệu khảo sát y tế, một mô hình tuyến tính có giải thích tham số rõ ràng vẫn có thể đạt hiệu năng tương đương hoặc vượt trội mô hình hộp đen phức tạp ($AUC = 0.838$).
- Định lượng tác động định tính sang định lượng: Chuyển hóa toàn bộ các biến khảo sát hành vi (hút thuốc, tập thể dục, tự đánh giá sức khỏe) thành các hệ số tác động cụ thể, giúp định hình khung tham chiếu nguy cơ cho y tế dự phòng.
Ứng dụng thực tế và triển khai
Tình huống ứng dụng thực tế (Use Cases)
- Sàng lọc tiền lâm sàng tại Trạm y tế cơ sở: Cán bộ y tế tuyến xã/phường có thể nhập bảng câu hỏi khảo sát 15 chỉ số cơ bản của người dân để hệ thống tính toán nguy cơ mắc bệnh tim trong vài giây, từ đó chỉ định chuyển tuyến kịp thời cho các đối tượng nguy cơ cao.
- Tích hợp vào Hệ sinh thái Sức khỏe Số (Digital Health / Telemedicine): Triển khai dưới dạng module tự kiểm tra sức khỏe trên ứng dụng di động cho người dân tự theo dõi định kỳ.
+------------------+ POST /api/v1/predict +--------------------+
| Mobile App / | -----------------------------> | R Plumber API / |
| Web Frontend | | Docker Container |
| (Nhập chỉ số) | <----------------------------- | (Chạy mô hình ML) |
+------------------+ {"Risk": "High", +--------------------+
"Probability": 0.82}
Kiến trúc và Lộ trình Triển khai
+-----------------------------------------------------------------------------------+
| LỘ TRÌNH TRIỂN KHAI 4 GIAI ĐOẠN |
+-----------------------------------+-----------------------------------------------+
| Giai đoạn 1 (Tháng 1 - Tháng 2) | Đóng gói mô hình R vào Docker Image qua |
| Chuẩn hóa Microservice | thư viện Plumber API, xây dựng Swagger Docs |
+-----------------------------------+-----------------------------------------------+
| Giai đoạn 2 (Tháng 3 - Tháng 4) | Tích hợp API vào Cổng thông tin Khám bệnh |
| Pilot Testing tại Cơ sở Y tế | tại 3 trạm y tế cơ sở để đánh giá thực địa |
+-----------------------------------+-----------------------------------------------+
| Giai đoạn 3 (Tháng 5 - Tháng 6) | Thu thập phản hồi từ y bác sĩ, tinh chỉnh |
| Tối ưu hóa & Hiệu chuẩn | ngưỡng phân loại (Threshold tuning) |
+-----------------------------------+-----------------------------------------------+
| Giai đoạn 4 (Tháng 7 trở đi) | Mở rộng quy mô toàn hệ thống, kết nối dữ liệu |
| Scale-up Hệ thống | hồ sơ bệnh án điện tử (EMR) |
+-----------------------------------+-----------------------------------------------+
Hạn chế và hướng phát triển
Hạn chế kỹ thuật
- Dữ liệu CDC 2020 dựa trên phương pháp khảo sát tự báo cáo (Self-reported survey), có thể tồn tại sai số do nhớ lại (Recall bias) từ phía đối tượng tham gia.
- Chưa tích hợp các chỉ số xét nghiệm huyết học chuyên sâu và dữ liệu chuỗi thời gian thực như điện tâm đồ liên tục (Holter ECG).
- Kỹ thuật Random Undersampling làm giảm bớt số lượng quan sát của nhóm nhãn đa số, có thể loại bỏ một phần thông tin phân tán trong không gian dữ liệu gốc.
Hướng phát triển
- Ứng dụng các thuật toán cân bằng dữ liệu nhân tạo nâng cao như SMOTE (Synthetic Minority Over-sampling Technique) hoặc kết hợp SMOTE-Tomek Links.
- Thử nghiệm các mô hình phân loại Boosting hiện đại (XGBoost, LightGBM, CatBoost) kết hợp giải thích mô hình bằng SHAP (SHapley Additive exPlanations) values.
- Mở rộng tập dữ liệu đa trung tâm thu thập tại các bệnh viện Việt Nam nhằm hiệu chuẩn mô hình phù hợp với thể trạng và lối sống người Việt.
Đối tượng hưởng lợi
+--------------------------------------------------------------------------------+
| ĐỐI TƯỢNG HƯỞNG LỢI |
+-----------------------+--------------------------------------------------------+
| Sinh viên & | Nguồn tài liệu tham khảo chuẩn mực về quy trình xử lý |
| Nghiên cứu sinh | dữ liệu bất cân bằng và so sánh mô hình ML trên R |
+-----------------------+--------------------------------------------------------+
| Kỹ sư Dữ liệu | Nắm bắt framework xây dựng pipeline dự báo y tế từ |
| (Data Engineers) | tiền xử lý, huấn luyện đến đánh giá chỉ số chuyên sâu |
+-----------------------+--------------------------------------------------------+
| Bác sĩ & | Công cụ hỗ trợ ra quyết định lâm sàng (CDSS) giúp |
| Nhân viên Y tế | sàng lọc nhanh, giảm 35% thời gian phân loại ban đầu |
+-----------------------+--------------------------------------------------------+
| Cơ quan Quản lý | Cơ sở dữ liệu định lượng phục vụ hoạch định chính sách |
| Y tế Dự phòng | phòng chống bệnh tim mạch cộng đồng |
+-----------------------+--------------------------------------------------------+
Câu hỏi thường gặp
1. Yêu cầu phần cứng và môi trường để triển khai hệ thống là gì?
Hệ thống yêu cầu máy chủ tối thiểu 4 Core CPU, 8GB RAM, cài đặt môi trường R (phiên bản $\ge 4.0.0$) cùng các gói phụ thuộc caret, randomForest, e1071, plumber. Để phục vụ hàng nghìn lượt truy vấn đồng thời, khuyến nghị triển khai dưới dạng Docker container chạy trên nền tảng đám mây (AWS ECS, Google Cloud Run).
2. Tại sao Hồi quy Logistic lại đạt kết quả tương đương hoặc tốt hơn Random Forest và SVM?
Trong bài toán này, mối quan hệ giữa các biến rủi ro sức khỏe chính (tuổi tác, đột quỵ, tiểu đường, hút thuốc) và nguy cơ tim mạch có xu hướng đơn điệu và phân tách tuyến tính tương đối tốt sau khi dữ liệu được cân bằng. Hồi quy Logistic tránh được hiện tượng quá khớp (Overfitting) trên các thuộc tính nhiễu mà mô hình cây phức tạp dễ gặp phải.
3. Mô hình xử lý thế nào đối với các trường hợp bệnh nhân không có đầy đủ xét nghiệm cận lâm sàng?
Đây chính là ưu điểm lớn nhất của mô hình. Hệ thống sử dụng 100% các biến khảo sát lâm sàng cơ bản, lối sống và tiền sử bệnh lý nền có thể thu thập qua phỏng vấn trực tiếp mà không bắt buộc phải có kết quả xét nghiệm máu hay siêu âm đắt tiền.
4. Làm thế nào để điều chỉnh ngưỡng phân loại (Threshold) khi đưa vào thực tế?
Trong mã nguồn, ngưỡng xác suất mặc định là $t = 0.5$. Tuy nhiên, trong y tế dự phòng, nhằm hạn chế tối đa việc bỏ sót bệnh nhân (giảm sai số âm tính giả - False Negative), ta có thể chủ động hạ ngưỡng xuống $t = 0.3 - 0.4$. Điều này giúp tăng độ nhạy (Sensitivity) lên trên 85% để sàng lọc rộng hơn.
5. Chi phí vận hành và bảo trì mô hình định kỳ như thế nào?
Chi phí vận hành phần mềm gần như bằng 0 do sử dụng hoàn toàn mã nguồn mở (R). Chi phí duy nhất là hạ tầng máy chủ đám mây cơ bản (ước tính dưới 20-50 USD/tháng cho quy mô trạm y tế). Định kỳ 6 tháng một lần, mô hình nên được huấn luyện lại (Retrain) với dữ liệu mới để thích ứng với sự thay đổi trong mô hình bệnh tật.
Kết luận
Đề tài "Ứng dụng phương pháp Học máy vào dự báo khả năng mắc bệnh tim" của tác giả Nguyễn Thị Hương Giang đã chứng minh tính khả thi và hiệu quả vượt trội của việc áp dụng Khoa học Dữ liệu và Kinh tế lượng ứng dụng vào y tế dự phòng. Thông qua việc phân tích và đánh giá đa mô hình trên tập dữ liệu CDC quy mô lớn, nghiên cứu đã khẳng định mô hình Hồi quy Logistic và Support Vector Machine mang lại hiệu năng phân loại ấn tượng với độ chính xác đạt trên 76% và chỉ số diện tích dưới đường cong AUC đạt 0.838.
Kết quả nghiên cứu cung cấp một giải pháp sàng lọc sớm chi phí thấp, tốc độ cao và có cơ sở khoa học vững chắc, mở ra hướng ứng dụng thực tiễn rộng rãi tại các cơ sở y tế ban đầu, góp phần giảm thiểu tỷ lệ tử vong và gánh nặng kinh tế do bệnh lý tim mạch gây ra cho xã hội.