library(tidyverse)Bài tập 3
PCCV
Thanh Thùy (14%) + Quỳnh Như (14%): ghép dữ liệu
Khánh Huyền (14%): xác định biến phụ thuộc, biến giải thích
Diễm Chi (14%) + Ngọc Thịnh (14%): chạy mô hình
Ngọc Trân (16%) + Tố Nga (14%): phân tích kết quả
Đặt vấn đề
Phân tích các yếu tố ảnh hưởng đến việc lựa chọn nơi khám chữa bệnh ở Việt Nam
Tải dữ liệu
Sau khi ghép 7 file HO1, HO2, HO3, HO4, MUC3A, MUC3B và MUC3C trên stata, được 1 file stata mới “Data1”
library(nnet)Data1 <- haven::read_dta("C:/Users/DELL/Downloads/Data1.dta")Data1 %>% variable.names()Thiết lập mô hình
Dựa trên bài nghiên cứu của WINNIE C YIP, HONG WANG và YUANLI LIU về việc lựa chọn nơi khám chữa bệnh tại khu vực nông thôn Trung Quốc (File “13-3-311”) và bài nghiên cứu của Mai P. Nguyen cùng cộng sự về việc lựa chọn dịch vụ y tế tư nhân hơn dịch vụ y tế công lập ở Việt Nam (File “Contribution of Private Health Services to Universal Health Coverage in Low- and Middle-Income Countries”).
- Biến phụ thuộc: Mã cơ sở y tế (M3C3B)
Phân nhóm biến phụ thuộc theo 2 cách:
- Theo khu vực:
Self treatment: Lang y (11), Dịch vụ y tế cá thể (12)
Village health post: YT thôn bản (1), Trạm YT X/P (2)
Township health centre: PK đa khoa KV (3), BV huyện/quận (4)
Country hospital & Others: BV tỉnh TP (5), BV TW (6), BV nhà nước khác (7), BV tư nhân (8), BV khác (9), Phòng khám YT tư nhân (10), CSYT khác (13)
- Theo hình thức sở hữu:
Public: YT thôn bản (1), Trạm YT X/P (2), PK đa khoa KV (3), BV huyện/quận (4), BV tỉnh TP (5), BV TW (6), BV nhà nước khác (7), BV khác (9)
Private: BV tư nhân (8), Phòng khám YT tư nhân (10), Dịch vụ y tế cá thể (12)
Non-Governmental: Lang y (11), CSYT khác (13)
- Biến giải thích: Thu nhập (thunhap), Có thẻ BHYT (M3C7), Số lần bị bệnh (M3C1B), Số lần bị bệnh nặng đi khám điều trị (M3C1C), Có khám chữa bệnh (M3C1D)
Lọc dữ liệu
Data1 <- Data1[complete.cases(Data1[, c("m3c3b", "m3c7", "thunhap", "m3c1d", "m3c1b", "m3c1c")]), ]Phân nhóm biến phụ thuộc
Theo khu vực
Từ biến phụ thuộc m3c3b gồm 13 class, phân nhóm thành 4 class => Biến phụ thuộc mới: “Mã CSYT”
Data1$`Mã CSYT` <- case_when(
Data1$m3c3b %in% c(11, 12) ~ 1,
Data1$m3c3b %in% c(1, 2) ~ 2,
Data1$m3c3b %in% c(3, 4) ~ 3,
TRUE ~ 4
)Đổi tên các biến giải thích
Data1 <- Data1 %>% rename(`health insurance` = m3c7,
`health check` = m3c1d,
`number of times sick` = m3c1b,
`severe illness visits`= m3c1c)Xem cấu trúc dữ liệu
str(Data1)library(haven)
Data1$`Mã CSYT` <- labelled(Data1$`Mã CSYT`, label = "Lựa chọn nơi khám chữa bệnh")attr(Data1$`Mã CSYT`, "label")[1] "Lựa chọn nơi khám chữa bệnh"
Data1$`Mã CSYT` <- labelled(Data1$`Mã CSYT`,
labels = c("Self treatment" = 1,
"VIllage health post" = 2,
"Township health centre" = 3,
"Country hospital & others" = 4))attr(Data1$`Mã CSYT`, "labels") Self treatment VIllage health post Township health centre
1 2 3
Country hospital & others
4
Mô hình
Data1 %>%
mutate(`Mã CSYT` = as.factor(`Mã CSYT`),
`health insurance` = as.factor(`health insurance`),
`health check`= as.factor(`health check`))mlogit <- multinom(`Mã CSYT`~ `thunhap` + `health insurance` + `health check` + `number of times sick`+ `severe illness visits`, data = Data1)Theo hình thức sở hữu
Data1$"Mã_CSYT" <- case_when(
Data1$m3c3b %in% c(1,2,3,4,5,6,7,9) ~ 1,
Data1$m3c3b %in% c(8,10,12) ~ 2,
Data1$m3c3b %in% c(11,13) ~ 3)Xem cấu trúc dữ liệu
library(haven)
Data1$"Mã_CSYT" <- labelled(Data1$"Mã_CSYT", label = "Lựa chọn nơi khám chữa bệnh")attr(Data1$"Mã_CSYT", "label")[1] "Lựa chọn nơi khám chữa bệnh"
Data1$"Mã_CSYT" <- labelled(Data1$"Mã_CSYT",
labels = c("Public" = 1,
"Private" = 2,
"Non-Governmental" = 3))attr(Data1$"Mã_CSYT", "labels") Public Private Non-Governmental
1 2 3
Mô hình
mlogit1 <- multinom(Mã_CSYT~ `thunhap` + `health insurance` + `health check` + `number of times sick`+ `severe illness visits`, data = Data1)So sánh 2 mô hình theo 2 cách phân loại
models <- list(mlogit, mlogit1)
modelsummary::modelsummary(models,
shape = term + response ~ statistic,
statistic = c({"std.error"}),
stars = c('*' = .1,"**"=0.05, '***' = .01))| (1) | (2) | ||||
|---|---|---|---|---|---|
| response | Est. | S.E. | Est. | S.E. | |
| * p < 0.1, ** p < 0.05, *** p < 0.01 | |||||
| (Intercept) | 2 | 1.178*** | 0.000 | -0.892*** | 0.000 |
| 3 | 1.828*** | 0.000 | -3.993*** | 0.000 | |
| 4 | 1.849*** | 0.000 | |||
| thunhap | 2 | 0.000 | 0.000 | 0.000*** | 0.000 |
| 3 | 0.000*** | 0.000 | 0.000** | 0.000 | |
| 4 | 0.000*** | 0.000 | |||
| health insurance | 2 | -0.202*** | 0.000 | 0.136*** | 0.000 |
| 3 | -0.363*** | 0.000 | 0.125*** | 0.000 | |
| 4 | -0.235*** | 0.000 | |||
| health check | 2 | 0.080*** | 0.000 | -0.371*** | 0.000 |
| 3 | 0.103*** | 0.000 | -0.286*** | 0.000 | |
| 4 | 0.096*** | 0.000 | |||
| number of times sick | 2 | 0.006*** | 0.000 | -0.089*** | 0.000 |
| 3 | 0.311*** | 0.000 | -0.788*** | 0.000 | |
| 4 | 0.312*** | 0.000 | |||
| severe illness visits | 2 | 0.062*** | 0.000 | 0.082*** | 0.000 |
| 3 | -0.203*** | 0.000 | 0.630*** | 0.000 | |
| 4 | -0.207*** | 0.000 | |||
| Num.Obs. | 8027 | 8027 | |||
| R2 | 0.008 | 0.005 | |||
| R2 Adj. | 0.008 | 0.005 | |||
| AIC | 18324.6 | 9674.2 | |||
| BIC | 18450.4 | 9758.1 | |||
| RMSE | 0.40 | 0.35 | |||
Ta có mô hình với cách phân loại thứ 2 (theo hình thức sở hữu) có AIC, BIC và RMSE nhỏ hơn => chọn mô hình mlogit1
Ước lượng mô hình
summary(mlogit1)Call:
multinom(formula = Mã_CSYT ~ thunhap + `health insurance` +
`health check` + `number of times sick` + `severe illness visits`,
data = Data1)
Coefficients:
(Intercept) thunhap `health insurance` `health check`
2 -0.8921727 3.858824e-07 0.1364617 -0.3707590
3 -3.9932700 1.121154e-06 0.1249909 -0.2860017
`number of times sick` `severe illness visits`
2 -0.08892102 0.08174664
3 -0.78776597 0.62981384
Std. Errors:
(Intercept) thunhap `health insurance` `health check`
2 4.183659e-13 1.161890e-07 4.535807e-13 4.907898e-13
3 1.344226e-12 4.427273e-07 1.462242e-12 1.567166e-12
`number of times sick` `severe illness visits`
2 8.407495e-13 7.551876e-13
3 2.038410e-12 1.963893e-12
Residual Deviance: 9650.193
AIC: 9674.193
- Thu nhập
Class 2: 3.858824e-07, class 3: 1.121154e-06
Cả hai hệ số đều dương, cho thấy khi thu nhập tăng, người ta có xu hướng chọn bệnh viện tư nhân hoặc không chính quy hơn là bệnh viện công lập, trong điều kiện các yếu tố khác không đổi.
- Health insurance
Class 2: 0.1364617, Class 3: 0.1249909
Hệ số dương cho thấy việc không có bảo hiểm y tế làm tăng khả năng chọn bệnh viện tư nhân hoặc không chính quy hơn so với bệnh viện công, trong điều kiện các yếu tố khác không đổi.
- Health check
Class 2: -0.3707590, class 3: -0.2860017
Hệ số âm cho thấy việc không khám sức khỏe thường xuyên làm giảm khả năng chọn y tế tư nhân hoặc không chính quy hơn so với y tế công, trong điều kiện các yếu tố khác không đổi.
- Number of times sick
Class 2: -0.08892102, class 3: -0.78776597
Hệ số âm cho thấy khi số lần một người bị ốm tăng lên, họ ít có khả năng chọn y tế tư nhân hoặc không chính quy hơn so với y tế công, trong điều kiện các yếu tố khác không đổi.
- Severe illness visits
Class 2: 0.08174664 Class 3: 0.62981384
Hệ số dương cho thấy khi số lần một người bị bệnh nặng đi khám điều trị tăng lên, họ có khả năng chọn y tế tư nhân hoặc không chính quy hơn so với y tế công, trong điều kiện các yếu tố khác không đổi.
Chỉ số OR
coef(mlogit1) %>%
exp() (Intercept) thunhap `health insurance` `health check` `number of times sick`
2 0.40976450 1.000000 1.146211 0.6902103 0.9149178
3 0.01843932 1.000001 1.133138 0.7512614 0.4548598
`severe illness visits`
2 1.085181
3 1.877261
Ta có:
- Thu nhập:
Với cả class2 và class3, OR ≈ 1 (chính xác là 1.000000 và 1.000001) cho thấy rằng thu nhập không có ảnh hưởng đáng kể đến việc lựa chọn loại bệnh viện, khi các yếu tố khác không đổi.
- Health insurance:
Class 2: OR = 1.146, Không có bảo hiểm y tế làm tăng 14.6% khả năng chọn bệnh viện tư so với bệnh viện công, khi các yếu tố khác không đổi.
Class 3: OR = 1.133, Không có bảo hiểm y tế làm tăng 13.3% khả năng chọn bệnh viện không chính quy so với bệnh viện công, khi giữ các yếu tố khác không đổi.
Điều này có thể phản ánh rằng những người có bảo hiểm y tế thường chọn khám chữa bệnh tại các bệnh viện công hơn, có thể do chính sách bảo hiểm hoặc chi phí thấp hơn.
- Health check:
Class 2: OR = 0.69, Không kiểm tra sức khỏe làm giảm 31% khả năng chọn bệnh viện tư so với bệnh viện công, khi giữ các yếu tố khác không đổi.
Class 3: OR = 0.751, Không kiểm tra sức khỏe làm giảm 24.9% khả năng chọn dịch vụ y tế không chính quy so với bệnh viện công, khi giữ các yếu tố khác không đổi.
Điều này có thể phản ánh rằng những người thường xuyên kiểm tra sức khỏe có ý thức cao hơn về chăm sóc sức khỏe và có thể sẵn sàng chi trả cho dịch vụ y tế tư nhân hoặc các dịch vụ y tế không chính quy thay thế.
- Number of times sick:
Class 2: OR = 0.915, số lần bị bệnh tăng thêm 1 lần sẽ giảm nhẹ khả năng chọn bệnh viện tư nhân khoảng 8.5% so với bệnh viện công, khi giữ các yếu tố khác không đổi.
Class 3: OR = 0.455, số lần bị bệnh tăng thêm 1 lần sẽ làm giảm khả năng chọn bệnh viện không chính quy khoảng 54.5% so với bệnh viện công, khi giữ các yếu tố khác không đổi.
Điều này cho thấy rằng những người bị bệnh thường xuyên hơn có xu hướng gắn bó với hệ thống y tế công lập hơn, có thể vì tính chất ổn định, an toàn, hoặc chi phí thấp hơn trong dài hạn của các dịch vụ y tế công.
- Severe illness visits
Class 2: OR = 1.085, số lần bị bệnh nặng đi khám điều trị tăng thêm 1 lần sẽ làm tăng 8.5% khả năng chọn bệnh viện tư so với bệnh viện công, khi giữ nguyên các yếu tố khác.
Class 3: OR=1.877, số lần bị bệnh nặng đi khám điều trị tăng thêm 1 lần sẽ làm tăng 87.7% khả năng chọn bệnh viện không chính quy so với bệnh viện công, khi giữ nguyên các yếu tố khác.
Điều này có thể là do vấn đề tiếp cận dịch vụ y tế. Bệnh viện công có thể có thời gian chờ đợi dài hơn, khiến cho những người bệnh nặng tìm đến các lựa chọn khác.
=> Thông qua đó, ta nhận thấy việc Yếu tố bảo hiểm y tế, kiểm tra sức khỏe, số lần bị bệnh và số lần bị bệnh nặng đi khám điều trị có tác động đáng kể đến sự lựa chọn nơi khám chữa bệnh. Thu nhập có ảnh hưởng rất nhỏ hoặc không đáng kể.