Lời cam đoan

Chúng tôi cam đoan rằng đề tài “Phân tích các yếu tố ảnh hưởng đến tình trạng sức khỏe” là công trình nghiên cứu được thực hiện độc lập và dựa trên dữ liệu được lấy từ các nguồn đáng tin cậy dưới sự hướng dẫn của thầy Trần Mạnh Tường.

Các thông tin và kết quả trong bài tiểu luận là trung thực và không có sự can thiệp hay sửa đổi từ bất kỳ phía nào. Bài tiểu luận này là sản phẩm của quá trình nghiên cứu chính thức và không vi phạm bản quyền hoặc các quy định đạo đức nghiêm chỉnh trong nghiên cứu học thuật.

Lời cám ơn

Chúng em xin bày tỏ lòng biết ơn sâu sắc đến tất cả những người đã đóng góp và hỗ trợ cho việc hoàn thành bài báo cáo này.

Trước tiên, chúng em xin gửi lời cảm ơn chân thành nhất đến giảng viên - ThS. Trần Mạnh Tường người đã tận tình hướng dẫn và hỗ trợ chúng trong suốt quá trình thực hiện tiểu luận này. Sự chỉ bảo và động viên từ thầy đã giúp chúng hoàn thiện tốt hơn từng phần của tiểu luận.

Vì kiến thức bản thân còn hạn chế trong quá trình học tập, hoàn thiện báo cáo này, chúng em không tránh khỏi những sai sót, kính mong nhận được những ý kiến đóng góp từ thầy. Xin kính chúc thầy dồi dào sức khỏe, tràn ngập năng lượng, hạnh phúc trong cuộc sống và thành công trong sự nghiệp của mình.

Em xin chân thành cám ơn!

Kết cấu bài nghiên cứu

Chương 1: Tổng quan nghiên cứu: Chương này chúng tôi giới thiệu và bộ dữ liệu, thống kê mô tả các biến cũng như chọn ra biến phụ thuộc và biến độc lập cho bài nghiên cứu.

Chương 2: Phương pháp và kết quả nghiên cứu: Chương này chúng tôi trình bày phương pháp nghiên cứu và kết quả nghiên cứu. Từ đó phân tích để làm rõ các yếu tố có ảnh hưởng đến sức khỏe.

Chương 3: Kết luận: Chương này chúng tôi kết luận lại các kết quả nghiên cứu.

Chương 1: Tổng quan nghiên cứu

1.1 Giới thiệu dữ liệu

     Tập dữ liệu HealthInsurance trong gói AER là một tập dữ liệu chứa thông tin về chi phí y tế của các hộ gia đình tại Hoa Kỳ. Tập dữ liệu bao gồm 11 biến với 8802 quan sát. Các biến bao gồm:

  • health: thể hiện tình trạng sức khỏe của người tham gia khảo sát có sức khỏe tốt hoặc không tốt(yes: tình trạng sức khỏe tốt, no: tình trạng sức khỏe không tốt)

  • age: độ tuổi của người tham gia khảo sát

  • limit: có giới hạn hay rào cản nào liên quan đến BHYT hay không (yes: có, no: không)

  • gender: giới tính (male: nam, female: nữ)

  • insurance: cá nhân có bảo hiểm y tế hay không (yes: có BHYT, no: không có BHYT)

  • married: tình trạng hôn nhân (yes: đã kết hôn, no: chưa kết hôn)

  • selfemp: người tham gia khảo sát có phải chủ hộ kinh doanh hay không (yes: có, no: không)

  • family: số thành viên trong gia đình của người được khảo sát

  • region: khu vực sinh sống của người tham gia khảo sát (northeas: người được khảo sát sống ở vùng Đông Bắc Hoa Kỳ, south: người được khảo sát sống ở vùng Nam Hoa Kỳ, midwest: người được khảo sát sống ở vùng Trung Tây Hoa Kỳ, West: người được khảo sát sống ở vùng Tây Hoa Kỳ.)

  • ethnicity: chủng tộc của người tham gia khảo sát (afam: người Mỹ gốc Phi, cauc: người da trắng, other: khác)

  • education: trình độ học vấn (none: không có bằng cấp, ged: tương đương THPT, highschool: THPT, banchelor: cử nhân, master: thạc sĩ, phd: tiến sĩ, other: khác)

library("tidyverse")
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.1     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.1
## ✔ purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library("ggplot2")
library("AER")
## Loading required package: car
## Loading required package: carData
## 
## Attaching package: 'car'
## 
## The following object is masked from 'package:dplyr':
## 
##     recode
## 
## The following object is masked from 'package:purrr':
## 
##     some
## 
## Loading required package: lmtest
## Loading required package: zoo
## 
## Attaching package: 'zoo'
## 
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
## 
## Loading required package: sandwich
## Loading required package: survival
data("HealthInsurance")
d <- HealthInsurance
data.table::data.table(d)

1.1.1. Thống kê mô tả các biến

1.1.1.1. Biến heath

summary(d$health)
##   no  yes 
##  629 8173
 ggplot(HealthInsurance ,aes(x = factor(health), y = after_stat(count))) + 
   geom_bar(fill = 'lightgreen') + 
   geom_text(aes(label = scales::percent(after_stat(count/sum(count)))), stat = 'count', 
   color = 'red', vjust = - .5)+ 
   theme_classic() + labs(x = 'Tình trạng sức khỏe', y = 'Tỷ trọng')

Phần lớn người được khảo sát có trạng thái sức khỏe là khỏe mạnh. Cụ thể, có 8,173 người (chiếm 92.85% tổng số người khảo sát) có trạng thái sức khỏe “yes” (khỏe mạnh). Trong khi đó, chỉ có 629 người (chiếm 7.15% tổng số người khảo sát) có trạng thái sức khỏe “no” (không khỏe mạnh).Như vậy, kết quả cho thấy rằng đa số dân số trong dữ liệu này có sức khỏe tốt, với tỷ lệ người khỏe mạnh vượt trội so với tỷ lệ người không khỏe mạnh. Điều này có thể phản ánh một tình trạng sức khỏe chung tích cực trong cộng đồng hoặc nhóm được khảo sát.

1.1.1.2. Biến age

summary(d$age)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    18.0    30.0    39.0    38.9    48.0    62.0
ggplot(d, aes(x = age)) + 
  geom_histogram(binwidth = 5, fill = 'lightgreen', color = 'black') + 
  theme_classic() + 
  labs(x = 'Age', y = 'Count', title = 'Biểu đồ biến Age')

Phân bố tuổi trong dữ liệu khá đồng đều, với một số khoảng tuổi chiếm tỷ lệ cao hơn, đặc biệt là từ 30 đến 50 tuổi. Trung bình tuổi là khoảng 39 tuổi, và có một số đỉnh rõ rệt trong phân bố ở các khoảng tuổi 40 và 50.

1.1.1.3. Biến limit

summary(d$limit)
##   no  yes 
## 7571 1231
 ggplot(HealthInsurance ,aes(x = factor(limit), y = after_stat(count))) + 
   geom_bar(fill = 'lightgreen') + 
   geom_text(aes(label = scales::percent(after_stat(count/sum(count)))), stat = 'count', 
   color = 'red', vjust = - .5)+ 
   theme_classic() + labs(x = 'Giới hạn', y = 'Tỷ trọng')

Phần lớn các cá nhân trong dữ liệu không có giới hạn hay rào cản liên quan đến BHYT, thể hiện qua tỷ lệ 86.01% là “no”. Chỉ một phần nhỏ các cá nhân, khoảng 13.99%, có giới hạn hoặc rào cản liên quan đến BHYT.

Điều này cho thấy tình trạng bị giới hạn hoặc rào cản liên quan đến BHYT là không phổ biến trong nhóm đối tượng được khảo sát.

1.1.1.4. Biến gender

table(d$gender)
## 
## female   male 
##   4169   4633
HealthInsurance |> 
  ggplot(aes(x = gender, y = after_stat(count))) + 
  geom_bar(fill = 'lightcoral') + 
  geom_text(aes(label = scales::percent(after_stat(count/sum(count)))), 
            stat = 'count', color = 'red', vjust = -0.5) + 
  theme_classic() + 
  labs(x = 'Giới tính', y = 'Tỷ trọng')

Tỷ lệ nam giới và nữ giới trong dữ liệu khá cân bằng, với nam giới chiếm 52.64% và nữ giới chiếm 47.36%.

1.1.1.5. Biến insurance

table(d$insurance)
## 
##   no  yes 
## 1750 7052
HealthInsurance |> 
  ggplot(aes(x = insurance, y = after_stat(count))) + 
  geom_bar(fill = 'purple') + 
  geom_text(aes(label = scales::percent(after_stat(count/sum(count)))), 
            stat = 'count', color = 'red', vjust = -0.5) + 
  theme_classic() + 
  labs(x = 'Trạng thái bảo hiểm', y = 'Tỷ trọng')

Phần lớn các cá nhân trong dữ liệu có bảo hiểm y tế, chiếm 80.12%.

Chỉ một phần nhỏ các cá nhân không có bảo hiểm y tế, chiếm 19.88%.

Điều này cho thấy rằng hầu hết các cá nhân trong nhóm khảo sát đã có bảo hiểm y tế, và chỉ có một số ít chưa có bảo hiểm.

1.1.1.6. Biến married

table(d$married)
## 
##   no  yes 
## 3369 5433
table(d$married)/sum(table(d$married))
## 
##     no    yes 
## 0.3828 0.6172
ggplot(d, aes(x = married,)) +
  geom_bar(fill = "blue", color = "black")

Trong số 8802 người được khảo sát, có tới 5433 người (chiếm 61,72%) đã kết hôn. Số người chưa kết hôn là 3369 người, chiếm 38,28%.

1.1.1.7. Biến selfemp

table(d$selfemp)
## 
##   no  yes 
## 7731 1071
table(d$selfemp)/sum(table(d$selfemp))
## 
##     no    yes 
## 0.8783 0.1217
ggplot(d, aes(x = selfemp)) +
  geom_bar(fill = "pink", color = "white")

Thông qua 8802 người đã tham gia cuộc khảo sát cho thấy bức tranh nghề nghiệp khá rõ ràng: Nhóm không phải chủ hộ kinh doanh chiếm đa số với 7731 người, tương đương tỷ lệ 87,83%. Nhóm còn lại, chỉ chiếm 12,17% với 1071 người, là những cá nhân đang điều hành hoạt động kinh doanh riêng.

1.1.1.8. Biến family

total <- data.frame(d$family)
summary(total)
##     d.family    
##  Min.   : 1.00  
##  1st Qu.: 2.00  
##  Median : 3.00  
##  Mean   : 3.09  
##  3rd Qu.: 4.00  
##  Max.   :14.00
ggplot(d, aes(x = family)) +
  geom_bar(fill = "green", color = "black")

Biến family có số thành viên trong gia đình trung bình là 3.09, số thành viên trong gia đình dao động từ nhỏ nhất là 1 thành viên đến lớn nhất là 14 thành viên.

1.1.1.9. Biến region

table(d$region)
## 
## northeast   midwest     south      west 
##      1682      2023      3075      2022
table(d$region)/sum(table(d$region))
## 
## northeast   midwest     south      west 
##    0.1911    0.2298    0.3494    0.2297
ggplot(d, aes(x = region)) +
  geom_bar(fill = "#6EC2F7", color = "black")

Với 8802 người tham gia khảo sát có 1682 người sinh sống ở vùng Đông Bắc Hoa Kỳ (chiếm 19,11%), có 2023 người sinh sống ở vùng Trung Tây Hoa Kỳ (chiếm 22,98%), 3075 người sinh sống ở vùng Nam Hoa Kỳ (chiếm 34,94%) và 2022 người sinh sống ở vùng Tây Hoa Kỳ (chiếm 22,97%). Điều này cũng cho thấy được rằng những người tham gia khảo sát đến từ khắp mọi miền của Hoa Kỳ.

1.1.1.10. Biến ethnicity

table(d$ethnicity)
## 
## other  afam  cauc 
##   365  1083  7354
table(d$ethnicity)/sum(table(d$ethnicity))
## 
##   other    afam    cauc 
## 0.04147 0.12304 0.83549
ggplot(d, aes(x = ethnicity)) +
  geom_bar(fill = "orange", color = "white")

Với 8802 người tham gia khảo sát có 1083 người Mỹ gốc Phi chiếm 12,304%, người da trắng chiếm 83,549% với 7354 người còn lại là chủng tộc khác với 365 người chiếm 4,147%. Thông qua đó cũng thể hiện được sự đa dạng chủng tộc ở Hoa Kỳ.

1.1.1.11. Biến education

table(d$education)
## 
##       none        ged highschool   bachelor     master        phd      other 
##       1119        374       4434       1549        524        135        667
table(d$education)/sum(table(d$education))
## 
##       none        ged highschool   bachelor     master        phd      other 
##    0.12713    0.04249    0.50375    0.17598    0.05953    0.01534    0.07578
ggplot(d, aes(x = education)) +
  geom_bar(fill = "#ADEFD1FF", color = "black")

Thông qua khảo sát có 374 người có trình độ học vấn tương đương THPT chiếm 4,249%, 4434 người có trình độ học vấn THPT chiếm 50,375%, cùng với đó người có trình độ cử nhân, thạc sĩ, tiến sĩ lần lượt là 524 người (chiếm 5,953%), 135 người (chiếm 1,534%), 667 người (chiếm 7,578%) cuối cùng là khác với 1119 người chiếm 12,713%. Qua điều này thể hiện được mức độ phân hóa về trình độ học vấn của người dân ở Hoa Kỳ.

1.1.2. Biến phụ thuộc và biến độc lập

  • Chúng tôi chọn biến phụ thuộc là biến health vì chúng tôi muốn đánh giá rõ mức độ ảnh hưởng của các yếu tố khác đến tình trạng sức khỏe của những người tham gia khảo sát.

  • Biến độc lập: gender, insurance, married, region, ethnicity, education

1.1.3 Thống kê mô tả 2 biến

1.1.3.1. Thống kê mô tả biến health và gender

table(d$health,d$gender)
##      
##       female male
##   no     323  306
##   yes   3846 4327
ggplot(d, aes(x = health, fill = gender)) + 
  geom_bar(position = 'dodge') +
  labs(title = 'Biểu đồ biến Health và gender', x = 'Health', y = 'Count') +
  theme_classic()

Biểu đồ cho thấy sự khác biệt về tình trạng sức khỏe giữa nam và nữ trong dữ liệu.

_ Có thể thấy rằng nam giới có xu hướng khỏe mạnh hơn so với nữ giới trong tập dữ liệu này.

_ Đối với những người không khỏe mạnh, tỷ lệ nữ giới và nam giới khá cân bằng, với nữ giới nhỉnh hơn một chút.

1.1.3.2. Thống kê mô tả biến health và insurance

table(d$health,d$insurance)
##      
##         no  yes
##   no   171  458
##   yes 1579 6594
ggplot(d, aes(x = health, fill = insurance)) + 
  geom_bar(position = 'dodge') +
  labs(title = 'Biểu đồ biến Health và Insurance', x = 'Health', y = 'Count') +
  theme_classic()

_ Số lượng người có bảo hiểm (yes) trong nhóm khỏe mạnh (yes) cao hơn rất nhiều so với số lượng người không có bảo hiểm (no).

_ Trong nhóm không khỏe mạnh (no), số lượng người có bảo hiểm vẫn nhiều hơn người không có bảo hiểm, nhưng sự chênh lệch không lớn như nhóm khỏe mạnh.

1.1.3.3. Thống kê mô tả biến health và married

table(d$health,d$married)
##      
##         no  yes
##   no   231  398
##   yes 3138 5035
ggplot(d, aes(x = health, fill = married)) + 
  geom_bar(position = 'dodge') +
  labs(title = 'Biểu đồ biến Health và Married', x = 'Health', y = 'Count') +
  theme_classic()

_ Số lượng người đã kết hôn (yes) trong nhóm khỏe mạnh (yes) cao hơn nhiều so với số lượng người chưa kết hôn (no).

_ Trong nhóm không khỏe mạnh (no), số lượng người đã kết hôn cũng nhiều hơn người chưa kết hôn.

1.1.3.4. Thống kê mô tả biến health và region

Tôi tiến hành mã hóa biến region thành 2 vùng chung được gọi là Miền 1 và Miền 2, Miền 1 gồm northeast (Đông Bắc Hoa Kỳ) và midwest (Trung tây Hoa Kỳ); Miền 2 gồm south (Nam Hoa Kỳ) và west (Tây Hoa Kỳ).

region <- factor(d$region, levels = c("northeast", "midwest", "south","west"), labels = c("Mien1", "Mien1", "Mien2", "Mien2"))
                                                                                          
table(d$health,region )
##      region
##       Mien1 Mien2
##   no    226   403
##   yes  3479  4694
ggplot(data.frame(d$health, region), aes(x = d$health, fill = region)) +
  geom_bar(position = "dodge") +
  labs(title = "Biểu đồ biến health và region",
       x = "health",
       y = "Count",
       fill = "region")

     Tỷ lệ người có tình trạng sức khỏe tốt cao hơn rất nhiều so với tỷ lệ người có tình trạng sức khỏe không tốt ở tất cả các khu vực:

Ở khu vực Mien1, có 3479 người có tình trạng sức khỏe tốt so với 226 người có tình trạng sức khỏe không tốt.

Ở khu vực Mien2, có 4694 người có tình trạng sức khỏe tốt so với 403 người có tình trạng sức khỏe không tốt.

Khu vực Mien2 có số lượng người có tình trạng sức khỏe tốt là cao nhất với 4694 người, trong khi khu vực Mien1 có số lượng thấp hơn với 3479 người.

Số lượng người có tình trạng sức khỏe không tốt cũng cao nhất ở khu vực Mien2 với 403 người, trong khi khu vực Mien1 có số lượng thấp hơn với 226 người.

1.1.3.5. Thống kê mô tả biến health và ethnicity

Mã hóa biến ethnicity từ 3 nhóm là other, afam, cauc thành 2 nhóm chính là other (gồm other và afam) và cauc

ethnicity <- factor(d$ethnicity, levels = c("other", "afam", "cauc"), labels = c("other", "other", "cauc"))
table(d$health, ethnicity)
##      ethnicity
##       other cauc
##   no    134  495
##   yes  1314 6859
ggplot(data.frame(d$health, ethnicity), aes(x = d$married, fill = ethnicity)) +
  geom_bar(position = "dodge") +
  labs(title = "Biểu đồ biến health và ethnicity",
       x = "health",
       y = "Count",
       fill = "ethnicity")

Ở nhóm chủng tộc khác (other), có 134 người có tình trạng sức khỏe không tốt (no) và 1314 người có tình trạng sức khỏe tốt (yes).

Ở nhóm người da trắng (cauc), có 495 người có tình trạng sức khỏe tốt (no) và 6859 người có tình trạng sức khỏe tốt (yes).

Tỷ lệ người có tình trạng sức khỏe tốt (yes) cao hơn so với tỷ lệ người có tình trạng sức khỏe không tốt (no) ở tất cả 2 nhóm chủng tộc. Cụ thể nhóm người da trắng (cauc) có số lượng người có tình trạng sức khỏe tốt là 6859 người chiếm 77,92% trên tổng số người tham gia khảo sát. Thông qua thống kê mô tả ta cũng nhận thấy rằng những người thuộc chủng tộc da trắng tham gia khảo sát nhiều hơn so với các chủng tộc còn lại.

1.1.3.6. Thống kê mô tả biến Health và education

educated <- factor(d$education, levels = c("none", "ged", "highschool", "bachelor", "master", "phd", "other"), labels = c("loweducattion", "loweducattion", "loweducattion", "higheducation", "higheducation", "higheducation","higheducation"))
table(d$health, educated)
##      educated
##       loweducattion higheducation
##   no            506           123
##   yes          5421          2752
ggplot(data.frame(d$health,educated), aes(x = d$health, fill = educated)) +
  geom_bar(position = "dodge") +
  labs(title = "Biểu đồ biến health và education",
       x = "health",
       y = "Count",
       fill = "education")

Tỷ lệ người có sức khỏe tốt tăng lên khi trình độ học vấn tăng lên. Điều này có thể được giải thích bởi việc giáo dục có thể liên quan đến các yếu tố như hiểu biết về sức khỏe, khả năng tiếp cận các dịch vụ y tế, và lối sống lành mạnh hơn.

Với trình độ học vấn thấp, có 5421 người có sức khỏe tốt so với 506 người có sức khỏe không tốt (tỷ lệ 91.47%).

Với trình độ học vấn cao, có 2752 người có sức khỏe tốt so với 123 người có sức khỏe không tốt (tỷ lệ 95.71%).

Đặc biệt, số lượng người có sức khỏe tốt ở mức trình độ trung học và đại học là cao nhất. Điều này cho thấy rằng đây có thể là giai đoạn mà người ta nhận được nhiều thông tin và dịch vụ liên quan đến sức khỏe nhất. Người có trình độ học vấn là tiến sĩ có tỷ lệ có tình trạng sức khỏe tốt cao hơn những người ở trình độ học vấn khác (97.04%).

Dựa vào điều này có thể thấy rằng tỷ lệ người có sức khỏe tốt tăng dần khi trình độ học vấn tăng. Điều này có thể là do người có trình độ học vấn cao hơn thường có kiến thức và nhận thức tốt hơn về các vấn đề sức khỏe, có khả năng tiếp cận các dịch vụ y tế tốt hơn và có lối sống lành mạnh hơn.

Chương 2: Phương pháp và kết quả nghiên cứu

2.1. Relative risk

2.1.1. Relative Risk biến Health với biến gender

library(epitools)
## 
## Attaching package: 'epitools'
## The following object is masked from 'package:survival':
## 
##     ratetable
epitab(table(d$health,d$gender),method='riskratio', rev='c')
## $tab
##      
##       male     p0 female     p1 riskratio  lower  upper p.value
##   no   306 0.4865    323 0.5135    1.0000     NA     NA      NA
##   yes 4327 0.5294   3846 0.4706    0.9164 0.8464 0.9922 0.03833
## 
## $measure
## [1] "wald"
## 
## $conf.level
## [1] 0.95
## 
## $pvalue
## [1] "fisher.exact"
  • Kết quả phân tích tỷ số rủi ro cho thấy rằng nam giới có khả năng gặp vấn đề sức khỏe thấp hơn khoảng 8.36% so với nữ giới. Tỷ số rủi ro (Risk Ratio) được tính toán là 0.9164, nghĩa là tỷ lệ vấn đề sức khỏe ở nam giới chỉ bằng 91.64% so với nữ giới. Điều này chỉ ra rằng nam giới ít có khả năng gặp vấn đề sức khỏe hơn nữ giới.

  • Khoảng tin cậy 95% cho tỷ số rủi ro nằm trong khoảng từ 0.8464 đến 0.9922. Vì khoảng tin cậy này không chứa giá trị 1, chúng ta có thể kết luận rằng sự khác biệt về tỷ lệ vấn đề sức khỏe giữa nam giới và nữ giới là có ý nghĩa thống kê. Khoảng tin cậy không chứa giá trị 1 cho thấy rằng sự khác biệt này không phải do ngẫu nhiên, mà có một sự khác biệt thực sự giữa hai nhóm.

  • Giá trị p từ kiểm định Fisher’s exact test là 0.03833, nhỏ hơn ngưỡng 0.05. Điều này có nghĩa là khả năng để kết quả này xảy ra do ngẫu nhiên là rất thấp (dưới 5%). Do đó, chúng ta có thể kết luận rằng sự khác biệt về tỷ lệ vấn đề sức khỏe giữa nam giới và nữ giới là có ý nghĩa thống kê, tức là có sự khác biệt thực sự về tỷ lệ gặp vấn đề sức khỏe giữa hai nhóm này.

2.1.2. Relative Risk biến Health với biến married

epitab(table(d$health,d$married),method='riskratio', rev='c')
## $tab
##      
##        yes     p0   no     p1 riskratio  lower upper p.value
##   no   398 0.6328  231 0.3672     1.000     NA    NA      NA
##   yes 5035 0.6161 3138 0.3839     1.045 0.9401 1.163  0.4189
## 
## $measure
## [1] "wald"
## 
## $conf.level
## [1] 0.95
## 
## $pvalue
## [1] "fisher.exact"
  • Kết quả phân tích tỷ số rủi ro cho thấy rằng những người đã kết hôn có khả năng gặp vấn đề sức khỏe cao hơn khoảng 4.5% so với những người chưa kết hôn. Tỷ số rủi ro (Risk Ratio) được tính toán là 1.045, nghĩa là tỷ lệ vấn đề sức khỏe ở những người đã kết hôn cao hơn 4.5% so với những người chưa kết hôn.

  • Khoảng tin cậy 95% cho tỷ số rủi ro nằm trong khoảng từ 0.9401 đến 1.163. Vì khoảng tin cậy này bao gồm giá trị 1, chúng ta không thể kết luận rằng sự khác biệt về tỷ lệ vấn đề sức khỏe giữa những người đã kết hôn và chưa kết hôn là có ý nghĩa thống kê. Khoảng tin cậy chứa giá trị 1 cho thấy rằng sự khác biệt này có thể chỉ là do ngẫu nhiên và không có sự khác biệt thực sự giữa hai nhóm.

  • Giá trị p từ kiểm định Fisher’s exact test là 0.4189, lớn hơn ngưỡng 0.05. Điều này có nghĩa là khả năng để kết quả này xảy ra do ngẫu nhiên là cao (trên 5%). Do đó, chúng ta không thể kết luận rằng sự khác biệt về tỷ lệ vấn đề sức khỏe giữa những người đã kết hôn và chưa kết hôn là có ý nghĩa thống kê, tức là không có sự khác biệt thực sự về tỷ lệ gặp vấn đề sức khỏe giữa hai nhóm này.

2.1.3. Relative Risk biến Health với biến insurance

epitab(table(d$health,d$insurance),method='riskratio', rev='c')
## $tab
##      
##        yes     p0   no     p1 riskratio  lower  upper   p.value
##   no   458 0.7281  171 0.2719    1.0000     NA     NA        NA
##   yes 6594 0.8068 1579 0.1932    0.7106 0.6207 0.8137 4.672e-06
## 
## $measure
## [1] "wald"
## 
## $conf.level
## [1] 0.95
## 
## $pvalue
## [1] "fisher.exact"
  • Kết quả phân tích tỷ số rủi ro cho thấy rằng những người có bảo hiểm có khả năng gặp vấn đề sức khỏe thấp hơn khoảng 28.94% so với những người không có bảo hiểm. Tỷ số rủi ro (Risk Ratio) được tính toán là 0.7106, nghĩa là tỷ lệ vấn đề sức khỏe ở những người có bảo hiểm chỉ bằng 71.06% so với những người không có bảo hiểm.

  • Khoảng tin cậy 95% cho tỷ số rủi ro nằm trong khoảng từ 0.6207 đến 0.8137. Vì khoảng tin cậy này không chứa giá trị 1, chúng ta có thể kết luận rằng sự khác biệt về tỷ lệ vấn đề sức khỏe giữa những người có bảo hiểm và không có bảo hiểm là có ý nghĩa thống kê. Khoảng tin cậy không chứa giá trị 1 cho thấy rằng sự khác biệt này không phải do ngẫu nhiên, mà có một sự khác biệt thực sự giữa hai nhóm.

  • Giá trị p từ kiểm định Fisher’s exact test là 4.672e-06, nhỏ hơn ngưỡng 0.05. Điều này có nghĩa là khả năng để kết quả này xảy ra do ngẫu nhiên là rất thấp (dưới 5%). Do đó, chúng ta có thể kết luận rằng sự khác biệt về tỷ lệ vấn đề sức khỏe giữa những người có bảo hiểm và không có bảo hiểm là có ý nghĩa thống kê, tức là có sự khác biệt thực sự về tỷ lệ gặp vấn đề sức khỏe giữa hai nhóm này

2.1.4. Relative Risk biến Health với biến region

epitab(table(d$health,region),method='riskratio', rev='c')
## $tab
##      region
##       Mien2     p0 Mien1     p1 riskratio lower upper  p.value
##   no    403 0.6407   226 0.3593     1.000    NA    NA       NA
##   yes  4694 0.5743  3479 0.4257     1.185 1.064 1.319 0.001237
## 
## $measure
## [1] "wald"
## 
## $conf.level
## [1] 0.95
## 
## $pvalue
## [1] "fisher.exact"

Tỷ số rủi ro (Risk Ratio) của việc có tình trạng sức khỏe tốt giữa khu vực Mien2 so với khu vực Mien1 là 1.185. Điều này có nghĩa là tỷ lệ người có tình trạng sức khỏe tốt ở khu vực Mien2 cao hơn 18.5% so với khu vực Mien1.

Khoảng tin cậy 95% cho tỷ số rủi ro nằm trong khoảng từ 1.064 đến 1.319. Vì khoảng tin cậy này không chứa giá trị 1, chúng ta có thể kết luận rằng sự khác biệt về tỷ lệ sức khỏe tốt giữa khu vực Mien2 và Mien1 là có ý nghĩa thống kê. Khoảng tin cậy không chứa giá trị 1 cho thấy rằng sự khác biệt này không phải do ngẫu nhiên, mà có một sự khác biệt thực sự giữa hai khu vực.

Giá trị p từ kiểm định Fisher’s exact test là 0.001237, nhỏ hơn ngưỡng 0.05. Điều này có nghĩa là khả năng để kết quả này xảy ra do ngẫu nhiên là rất thấp (dưới 5%). Do đó, chúng ta có thể kết luận rằng sự khác biệt về tỷ lệ sức khỏe tốt giữa khu vực Mien2 và Mien1 là có ý nghĩa thống kê.

2.1.5. Relative Risk biến Health với biến ethnicity

epitab(table(d$health,ethnicity),method='riskratio', rev='c')
## $tab
##      ethnicity
##       cauc     p0 other     p1 riskratio  lower upper   p.value
##   no   495 0.7870   134 0.2130    1.0000     NA    NA        NA
##   yes 6859 0.8392  1314 0.1608    0.7547 0.6443 0.884 0.0009689
## 
## $measure
## [1] "wald"
## 
## $conf.level
## [1] 0.95
## 
## $pvalue
## [1] "fisher.exact"

Tỷ số rủi ro (Risk Ratio) của việc có tình trạng sức khỏe tốt giữa nhóm “có tình trạng sức khỏe tốt” (yes) so với nhóm “không có tình trạng sức khỏe tốt” (no) là 0.7547. Điều này có nghĩa là tỷ lệ người có tình trạng sức khỏe tốt trong nhóm “yes” thấp hơn 24.53% so với nhóm “no”.

Khoảng tin cậy 95% cho tỷ số rủi ro nằm trong khoảng từ 0.6443 đến 0.884. Vì khoảng tin cậy này không chứa giá trị 1, chúng ta có thể kết luận rằng sự khác biệt về tỷ lệ sức khỏe tốt giữa hai nhóm là có ý nghĩa thống kê. Khoảng tin cậy không chứa giá trị 1 cho thấy rằng sự khác biệt này không phải do ngẫu nhiên, mà có một sự khác biệt thực sự giữa hai nhóm.

Giá trị p từ kiểm định Fisher’s exact test là 0.0009689, nhỏ hơn ngưỡng 0.05. Điều này có nghĩa là khả năng để kết quả này xảy ra do ngẫu nhiên là rất thấp (dưới 5%). Do đó, chúng ta có thể kết luận rằng sự khác biệt về tỷ lệ sức khỏe tốt giữa hai nhóm là có ý nghĩa thống kê.

2.1.6. Relative risk biến Health và biến education

epitab(table(d$health,educated),method='riskratio', rev='c')
## $tab
##      educated
##       higheducation     p0 loweducattion     p1 riskratio lower  upper  p.value
##   no            123 0.1955           506 0.8045    1.0000    NA     NA       NA
##   yes          2752 0.3367          5421 0.6633    0.8245 0.791 0.8595 4.28e-14
## 
## $measure
## [1] "wald"
## 
## $conf.level
## [1] 0.95
## 
## $pvalue
## [1] "fisher.exact"

Kết quả phân tích tỷ số rủi ro cho thấy rằng những người có trình độ học vấn cao có khả năng gặp vấn đề sức khỏe thấp hơn khoảng 17.55% so với những người có trình độ học vấn thấp. Tỷ số rủi ro (Risk Ratio) được tính toán là 0.8245, nghĩa là tỷ lệ vấn đề sức khỏe ở những người có trình độ học vấn cao chỉ bằng 82.45% so với những người có trình độ học vấn thấp.

Khoảng tin cậy 95% cho tỷ số rủi ro:

Khoảng tin cậy 95% cho tỷ số rủi ro nằm trong khoảng từ 0.791 đến 0.8595. Vì khoảng tin cậy này không chứa giá trị 1, chúng ta có thể kết luận rằng sự khác biệt về tỷ lệ vấn đề sức khỏe giữa những người có trình độ học vấn cao và người có trình độ học vấn thấp là có ý nghĩa thống kê. Khoảng tin cậy không chứa giá trị 1 cho thấy rằng sự khác biệt này không phải do ngẫu nhiên, mà có một sự khác biệt thực sự giữa hai nhóm. Giá trị P từ kiểm định Fisher’s exact test:

Giá trị p từ kiểm định Fisher’s exact test là 4.28e-14, nhỏ hơn ngưỡng 0.05. Điều này có nghĩa là khả năng để kết quả này xảy ra do ngẫu nhiên là rất thấp (dưới 5%). Do đó, chúng ta có thể kết luận rằng sự khác biệt về tỷ lệ vấn đề sức khỏe giữa những người có trình độ học vấn cao và người có trình độ học vấn thấp là có ý nghĩa thống kê, tức là có sự khác biệt thực sự về tỷ lệ gặp vấn đề sức khỏe giữa hai nhóm này.

2.2. Odd ratio (tỷ lệ chênh)

2.2.1. Odd ratio biến Health và gender

epitab(table(d$health,d$gender),method='oddsratio')
## $tab
##      
##       female      p0 male      p1 oddsratio lower upper p.value
##   no     323 0.07748  306 0.06605     1.000    NA    NA      NA
##   yes   3846 0.92252 4327 0.93395     1.188  1.01 1.397 0.03833
## 
## $measure
## [1] "wald"
## 
## $conf.level
## [1] 0.95
## 
## $pvalue
## [1] "fisher.exact"

Nữ giới có khả năng có sức khỏe tốt cao hơn so với nam giới. Tỷ số odds (OR) là 1.188, nghĩa là tỷ lệ odds của việc có sức khỏe tốt ở nữ giới cao hơn 18.8% so với nam giới.

Khoảng tin cậy 95% cho tỷ số odds nằm trong khoảng từ 1.01 đến 1.397, cho thấy sự khác biệt này là có ý nghĩa thống kê và không phải do ngẫu nhiên.

Giá trị P từ kiểm định Fisher’s exact test là 0.03833, cũng khẳng định rằng sự khác biệt này là có ý nghĩa thống kê.

2.2.2. Odd ratio biến Health và biến married

epitab(table(d$health,d$married),method='oddsratio', rev= 'c')
## $tab
##      
##        yes      p0   no      p1 oddsratio  lower upper p.value
##   no   398 0.07326  231 0.06857     1.000     NA    NA      NA
##   yes 5035 0.92674 3138 0.93143     1.074 0.9076  1.27  0.4189
## 
## $measure
## [1] "wald"
## 
## $conf.level
## [1] 0.95
## 
## $pvalue
## [1] "fisher.exact"

Tỷ lệ chênh lệch (odds ratio) là 1.074, cho thấy người đã kết hôn có khả năng có tình trạng sức khỏe tốt cao hơn một chút so với người chưa kết hôn. Tuy nhiên, giá trị p (0.4189) cho thấy sự khác biệt này không có ý nghĩa thống kê ở mức tin cậy 95%, do đó, chúng ta không thể kết luận rằng tình trạng hôn nhân có ảnh hưởng đáng kể đến tình trạng sức khỏe trong mẫu khảo sát này.

2.2.3. Odd ratio biến Health với biến insurance

epitab(table(d$health,d$insurance),method='oddsratio', rev= 'c')
## $tab
##      
##        yes      p0   no      p1 oddsratio  lower upper   p.value
##   no   458 0.06495  171 0.09771    1.0000     NA    NA        NA
##   yes 6594 0.93505 1579 0.90229    0.6414 0.5336 0.771 4.672e-06
## 
## $measure
## [1] "wald"
## 
## $conf.level
## [1] 0.95
## 
## $pvalue
## [1] "fisher.exact"

Tỷ lệ chênh lệch (odds ratio) là 0.6414, cho thấy tỷ lệ người có bảo hiểm y tế có khả năng có tình trạng sức khỏe tốt thấp hơn so với người không có bảo hiểm y tế.

Giá trị p (4.672e-06) rất nhỏ, cho thấy sự khác biệt này có ý nghĩa thống kê ở mức tin cậy 95%. Điều này nghĩa là tình trạng có bảo hiểm y tế có ảnh hưởng đáng kể đến tình trạng sức khỏe trong mẫu khảo sát này.

2.2.4. Odd ratio biến Health và biến region

epitab(table(d$health,region),method='oddsratio', rev= 'c')
## $tab
##      region
##       Mien2      p0 Mien1    p1 oddsratio lower upper  p.value
##   no    403 0.07907   226 0.061     1.000    NA    NA       NA
##   yes  4694 0.92093  3479 0.939     1.322 1.116 1.564 0.001237
## 
## $measure
## [1] "wald"
## 
## $conf.level
## [1] 0.95
## 
## $pvalue
## [1] "fisher.exact"

Có sự khác biệt đáng kể về tỷ lệ sức khỏe tốt giữa Mien2 và Mien1. Tỷ số odds (OR) là 1.322, nghĩa là tỷ lệ odds của việc có sức khỏe tốt ở Mien2 cao hơn 32.2% so với Mien1.

Khoảng tin cậy 95% cho tỷ số odds nằm trong khoảng từ 1.116 đến 1.564, cho thấy sự khác biệt này là có ý nghĩa thống kê và không phải do ngẫu nhiên.

Giá trị P từ kiểm định Fisher’s exact test là 0.001237, cũng khẳng định rằng sự khác biệt này là có ý nghĩa thống kê.

2.2.5. Odd ratio biến Health và biến ethnicity

epitab(table(d$health,ethnicity),method='oddsratio', rev= 'c')
## $tab
##      ethnicity
##       cauc      p0 other      p1 oddsratio  lower  upper   p.value
##   no   495 0.06731   134 0.09254    1.0000     NA     NA        NA
##   yes 6859 0.93269  1314 0.90746    0.7077 0.5795 0.8642 0.0009689
## 
## $measure
## [1] "wald"
## 
## $conf.level
## [1] 0.95
## 
## $pvalue
## [1] "fisher.exact"

Có sự khác biệt đáng kể về tỷ lệ tình trạng sức khỏe tốt giữa người da trắng (cauc) và các chủng tộc khác (other). Tỷ số odds (OR) là 0.7077, nghĩa là tỷ lệ odds của việc có tình trạng sức khỏe tốt ở người da trắng thấp hơn 29.23% so với các chủng tộc khác.

Khoảng tin cậy 95% cho tỷ số odds nằm trong khoảng từ 0.5795 đến 0.8642, cho thấy sự khác biệt này là có ý nghĩa thống kê và không phải do ngẫu nhiên.

Giá trị P từ kiểm định Fisher’s exact test là 0.0009689, cũng khẳng định rằng sự khác biệt này là có ý nghĩa thống kê.

2.2.6. Odd ratio biến Health và education

epitab(table(d$health,educated),method='oddsratio', rev= 'c')
## $tab
##      educated
##       higheducation      p0 loweducattion      p1 oddsratio  lower  upper
##   no            123 0.04278           506 0.08537    1.0000     NA     NA
##   yes          2752 0.95722          5421 0.91463    0.4788 0.3911 0.5862
##      educated
##        p.value
##   no        NA
##   yes 4.28e-14
## 
## $measure
## [1] "wald"
## 
## $conf.level
## [1] 0.95
## 
## $pvalue
## [1] "fisher.exact"

Có sự khác biệt đáng kể về tỷ lệ tình trạng sức khỏe tốt giữa người có trình độ học vấn cao (higheducation) và người có trình độ học vấn thấp (loweducation). Tỷ số odds (OR) là 0.4788, nghĩa là tỷ lệ odds của việc có tình trạng sức khỏe tốt ở người có trình độ học vấn cao thấp hơn 52.12% so với người có trình độ học vấn thấp.

Khoảng tin cậy 95% cho tỷ số odds nằm trong khoảng từ 0.3911 đến 0.5862, cho thấy sự khác biệt này là có ý nghĩa thống kê và không phải do ngẫu nhiên.

Giá trị P từ kiểm định Fisher’s exact test là 4.28e-14, cũng khẳng định rằng sự khác biệt này là có ý nghĩa thống kê.

2.3. Thống kê suy diễn

2.3.1. Kiểm định tính độc lập của biến Health và gender

chisq.test(table(d$health,d$gender))
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  table(d$health, d$gender)
## X-squared = 4.1, df = 1, p-value = 0.04

Đặt giả thiết:

\(H_0\): Biến health và gender có tính độc lập

\(H_1\): Biến health và gender không có tính độc lập

Vì p-value = 0.04 < 0.05 nên ta bác bỏ \(H_0\) và chấp nhận \(H_1\), đồng nghĩa là Biến health và gender không có tính độc lập với nhau.

2.3.2. Kiểm định tính độc lập của biến Health và married

chisq.test(table(d$health,d$married))
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  table(d$health, d$married)
## X-squared = 0.62, df = 1, p-value = 0.4

Đặt giả thiết:

\(H_0\): Biến health và married có tính độc lập

\(H_1\): Biến health và married không có tính độc lập

Vì p-value = 0.4 > 0.05 nên ta không có đủ giá thiết bác bỏ \(H_0\), đồng nghĩa là Biến health và married có tính độc lập với nhau.

2.3.3. Kiểm định tính độc lập biến Health và insurance

chisq.test(table(d$health,d$insurance))
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  table(d$health, d$insurance)
## X-squared = 22, df = 1, p-value = 2e-06

Đặt giả thiết:

\(H_0\): Biến health và insurance có tính độc lập

\(H_1\): Biến health và insurance không có tính độc lập

Vì p-value = 2e-06 < 0.05 nên ta bác bỏ \(H_0\) và chấp nhận \(H_1\), đồng nghĩa là Biến health và insurance không có tính độc lập với nhau.

2.3.4. Kiểm định tính độc lập biến Health và region

chisq.test(table(d$health,region))
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  table(d$health, region)
## X-squared = 10, df = 1, p-value = 0.001

Đặt giả thiết:

\(H_0\): Biến health và region có tính độc lập

\(H_1\): Biến health và region không có tính độc lập

Vì p-value = 0.001 < 0.05 nên ta bác bỏ giả thiết \(H_0\) và chấp nhận giả thiết \(H_1\). Vậy biến health và region không có tính độc lập với nhau.

2.3.5. Kiểm định tính độc lập biến Health và ethnicity

chisq.test(table(d$health,ethnicity))
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  table(d$health, ethnicity)
## X-squared = 11, df = 1, p-value = 8e-04

Đặt giả thiết:

\(H_0\): Biến health và ethnicity có tính độc lập

\(H_1\): Biến health và ethnicity không có tính độc lập

Vì p-value = 8e-04 < 0.05 nên ta bác bỏ giả thiết \(H_0\) và chấp nhận giả thiết \(H_1\). Vậy biến health và ethnicity không có tính độc lập với nhau.

2.3.6. Kiểm định tính độc lập của biến Health và education

chisq.test(table(d$health,educated))
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  table(d$health, educated)
## X-squared = 52, df = 1, p-value = 5e-13

Đặt giả thiết:

\(H_0\): Biến health và education có tính độc lập

\(H_1\): Biến health và education không có tính độc lập

Vì p-value = 5e-13 < 0.05 nên ta bác bỏ giả thiết \(H_0\) và chấp nhận giả thiết \(H_1\). Vậy biến health và education không có tính độc lập với nhau.

2.4. Mô hình hồi quy

2.4.1. Mô hình probit

data01 <- data.frame(d$health,d$gender,d$insurance,d$married,region,educated,ethnicity)
mohinh01 <- glm(d$health ~d$gender +d$insurance+ region + educated +  ethnicity, family = binomial(link = 'probit'), data = data.frame(data01))
summary(mohinh01)
## 
## Call:
## glm(formula = d$health ~ d$gender + d$insurance + region + educated + 
##     ethnicity, family = binomial(link = "probit"), data = data.frame(data01))
## 
## Coefficients:
##                       Estimate Std. Error z value Pr(>|z|)    
## (Intercept)             1.1572     0.0691   16.75  < 2e-16 ***
## d$gendermale            0.0937     0.0409    2.29   0.0219 *  
## d$insuranceyes          0.1576     0.0484    3.25   0.0011 ** 
## regionMien2            -0.1035     0.0421   -2.46   0.0141 *  
## educatedhigheducation   0.3179     0.0483    6.58  4.6e-11 ***
## ethnicitycauc           0.1390     0.0518    2.68   0.0073 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 4531.3  on 8801  degrees of freedom
## Residual deviance: 4442.5  on 8796  degrees of freedom
## AIC: 4455
## 
## Number of Fisher Scoring iterations: 5

Với mô hình hồi quy probit của biến phụ thuộc health với 5 biến độc lập gồm gender, insurance, region, educated và ethnicity cho ta thấy rằng cả 5 biến đều có ý nghĩa thống kê ở mức ý nghĩa 5%. Mô hình như sau: \[\text{probit}(\pi)= 1.1572 + 0.0937\cdot \text{gender}_{\text{male}} + 0.1576\cdot \text{insurance}_{\text{yes}} -0.1035\cdot \text{region}_{\text{Mien2}} + 0.3179\cdot \text{educated}_{\text{higheducation}} + 0.1390\cdot \text{ethnicity}_{\text{cauc}}\]

2.4.2. Mô hình logit

mohinh02 <- glm(d$health ~d$gender +d$insurance+ region + educated +  ethnicity, family = binomial(link = 'logit'), data = data.frame(data01))
summary(mohinh02)
## 
## Call:
## glm(formula = d$health ~ d$gender + d$insurance + region + educated + 
##     ethnicity, family = binomial(link = "logit"), data = data.frame(data01))
## 
## Coefficients:
##                       Estimate Std. Error z value Pr(>|z|)    
## (Intercept)             1.9519     0.1368   14.27  < 2e-16 ***
## d$gendermale            0.1918     0.0836    2.29   0.0218 *  
## d$insuranceyes          0.3129     0.0960    3.26   0.0011 ** 
## regionMien2            -0.2170     0.0869   -2.50   0.0126 *  
## educatedhigheducation   0.6743     0.1046    6.45  1.1e-10 ***
## ethnicitycauc           0.2824     0.1028    2.75   0.0060 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 4531.3  on 8801  degrees of freedom
## Residual deviance: 4442.1  on 8796  degrees of freedom
## AIC: 4454
## 
## Number of Fisher Scoring iterations: 5

Với mô hình hồi quy logit của biến phụ thuộc health với 5 biến độc lập gồm gender, insurance, region, educated và ethnicity cho ta thấy rằng cả 5 biến đều có ý nghĩa thống kê ở mức ý nghĩa 5%. Mô hình như sau: \[\text{probit}(\pi)= 1.9519 + 0.1918\cdot \text{gender}_{\text{male}} + 0.3129\cdot \text{insurance}_{\text{yes}} -0.2170\cdot \text{region}_{\text{Mien2}} + 0.6743\cdot \text{educated}_{\text{higheducation}} + 0.2824\cdot \text{ethnicity}_{\text{cauc}}\]

2.4.3. Mô hình cloglog

mohinh03 <- glm(d$health ~d$gender +d$insurance+ region + educated +  ethnicity, family = binomial(link = 'cloglog'), data = data.frame(data01))
summary(mohinh03)
## 
## Call:
## glm(formula = d$health ~ d$gender + d$insurance + region + educated + 
##     ethnicity, family = binomial(link = "cloglog"), data = data.frame(data01))
## 
## Coefficients:
##                       Estimate Std. Error z value Pr(>|z|)    
## (Intercept)             0.7414     0.0518   14.32  < 2e-16 ***
## d$gendermale            0.0677     0.0297    2.28   0.0225 *  
## d$insuranceyes          0.1175     0.0363    3.24   0.0012 ** 
## regionMien2            -0.0731     0.0303   -2.41   0.0160 *  
## educatedhigheducation   0.2235     0.0335    6.68  2.4e-11 ***
## ethnicitycauc           0.1012     0.0387    2.61   0.0090 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 4531.3  on 8801  degrees of freedom
## Residual deviance: 4443.0  on 8796  degrees of freedom
## AIC: 4455
## 
## Number of Fisher Scoring iterations: 5

Với mô hình hồi quy cloglog của biến phụ thuộc health với 5 biến độc lập gồm gender, insurance, region, educated và ethnicity cho ta thấy rằng cả 5 biến đều có ý nghĩa thống kê ở mức ý nghĩa 5%. Mô hình như sau: \[\text{probit}(\pi)= 0.7414 + 0.0677\cdot \text{gender}_{\text{male}} + 0.1175\cdot \text{insurance}_{\text{yes}} -0.0731\cdot \text{region}_{\text{Mien2}} + 0.2235\cdot \text{educated}_{\text{higheducation}} + 0.1012\cdot \text{ethnicity}_{\text{cauc}}\]

2.5. Lựa chọn mô hình

Dựa theo AIC

AIC1 <- AIC(mohinh01)
AIC2 <- AIC(mohinh02)
AIC3 <- AIC(mohinh03)
AIC <-cbind(AIC1,AIC2,AIC3)
AIC
##      AIC1 AIC2 AIC3
## [1,] 4455 4454 4455

Dựa vào giá trị AIC nhỏ nhất để lựa chọn thì ta có chọn mô hình 02 là mô hình logit

Dựa theo deviance

dev1 <- deviance(mohinh01)
dev2 <- deviance(mohinh02)
dev3 <- deviance(mohinh03)
deviance <-cbind(dev1,dev2,dev3)
deviance
##      dev1 dev2 dev3
## [1,] 4443 4442 4443

Dựa vào giá trị deviance nhỏ nhất để lựa chọn thì ta có chọn mô hình 02 là mô hình logit

Dựa vào chỉ số BrierScore

library(DescTools)
## 
## Attaching package: 'DescTools'
## The following object is masked from 'package:car':
## 
##     Recode
bri1 <- BrierScore(mohinh01)
bri2 <- BrierScore(mohinh02)
bri3 <- BrierScore(mohinh03)
BrierScore <- cbind(bri1, bri2, bri3)
BrierScore
##         bri1    bri2    bri3
## [1,] 0.06568 0.06567 0.06568

Mô hình phù hợp nhất dự vào chỉ số BrierScore nhỏ nhất thì mô hình 2 là mô hình phù hợp

Kết luận: Sau khi xét AIC, deviance và BrierScore thì mô hình hồi quy logit là tối ưu nhất.

2.6. Đọc mô hình

Sau khi tiến hành hồi quy biến phụ thuộc định tính là health với 5 biến độc lập gồm gender, insurance, region, educatedethnicity, tất cả các biến đều có ý nghĩa và đạt tối ưu ở mô hình logit. Với giả thuyết khi các yếu tố khác không đổi, thì ở mức ý nghĩa 1%, các biến độc lập này sẽ có mức độ ảnh hưởng đáng kể đối với tình trạng sức khỏe của người tham gia cuộc khảo sát.

\[ \text{logit}(\pi) = 1.9519 + 0.1918 \cdot \text{gender}_{\text{male}} + 0.3129 \cdot \text{insurance}_{\text{yes}} - 0.2170 \cdot \text{region}_{\text{Mien2}} + 0.6743 \cdot \text{educated}_{\text{higheducation}} + 0.2824 \cdot \text{ethnicity}_{\text{cauc}} \]

\[ \text{logistic}(x) = \frac{1}{1 + e^{-x}} \]

Giả sử có một người là nam, có bảo hiểm y tế, sống ở miền 2, có trình độ học vấn cao (cao học), và thuộc dân tộc Caucasian, thì xác suất của sự kiện (tình trạng sức khỏe tốt) được tính như sau:

\[ \text{logit}(\pi) = 1.9519 + 0.1918 \cdot 1 + 0.3129 \cdot 1 - 0.2170 \cdot 1 + 0.6743 \cdot 1 + 0.2824 \cdot 1 \]

\[ \text{logit}(\pi) = 1.9519 + 0.1918 + 0.3129 - 0.2170 + 0.6743 + 0.2824 \]

\[ \text{logit}(\pi) = 3.1963 \]

\[ \pi = \text{logistic}(3.1963) \]

\[ \pi = \frac{1}{1 + e^{-3.1963}} \]

\[ \pi \approx 0.9607 \]

Tức là xác suất của sự kiện (tình trạng sức khỏe tốt) là khoảng 96%.

Chương 3: Kết luận

3.1. Kết luận

Trong bài tiểu luận này, chúng tôi đã thực hiện một phân tích sâu rộng và chi tiết trên bộ dữ liệu “HealthInsurance” thuộc gói AER. Bộ dữ liệu bao gồm 11 biến, trong đó có 9 biến định tính và 2 biến định lượng. Chúng tôi đã chọn biến định tính “health” làm biến phụ thuộc và tiến hành phân tích thống kê mô tả cho từng biến độc lập khác để có cái nhìn toàn diện hơn về bộ dữ liệu. Việc này giúp chúng tôi hiểu rõ hơn về đặc điểm của từng biến và mối quan hệ giữa chúng, tạo tiền đề cho các phân tích sâu hơn.

Đầu tiên, chúng tôi thực hiện thống kê mô tả để hiểu rõ phân bố của các biến độc lập. Điều này cung cấp cái nhìn tổng quan về cách mà các yếu tố như giới tính, vùng miền, sở hữu bảo hiểm, và các yếu tố khác phân bổ trong dữ liệu. Chúng tôi đã phân tích biến phụ thuộc “health” với các biến định tính khác để kiểm tra giả thiết rằng các yếu tố này có thể ảnh hưởng đáng kể đến tình trạng sức khỏe của cá nhân.

Sau đó, chúng tôi tiến hành các phân tích định lượng chuyên sâu hơn, sử dụng mô hình hồi quy logit để xác định mức độ ảnh hưởng của từng biến độc lập đến biến phụ thuộc “health”. Kết quả phân tích cho thấy rằng có 5 biến độc lập chính, bao gồm gender (giới tính), insurance (bảo hiểm), region (vùng miền), educated (trình độ học vấn) và ethnicity (chủng tộc), có ảnh hưởng đáng kể đến tình trạng sức khỏe. Sự tác động này được xác định qua các tiêu chí như AIC, Deviance, và Brier Score, cho thấy rằng mô hình hồi quy logit là phương pháp tối ưu để phân tích dữ liệu này.

Chúng tôi phát hiện rằng giới tính, việc sở hữu bảo hiểm y tế, vùng miền, trình độ học vấn và chủng tộc không chỉ có mối quan hệ mật thiết với tình trạng sức khỏe mà còn là những yếu tố dự báo quan trọng. Cụ thể, các kết quả cho thấy tỷ lệ odds của việc có tình trạng sức khỏe tốt bị ảnh hưởng bởi các yếu tố này, với những người có bảo hiểm y tế, sống ở những vùng miền nhất định, có trình độ học vấn cao và thuộc các nhóm dân tộc cụ thể có xu hướng có sức khỏe tốt hơn.

Phân tích của chúng tôi không chỉ cung cấp cái nhìn sâu sắc về mối quan hệ giữa các yếu tố định tính và tình trạng sức khỏe mà còn có những ứng dụng thực tiễn quan trọng. Các phát hiện này có thể giúp các nhà hoạch định chính sách y tế và các tổ chức bảo hiểm y tế thiết kế các chương trình và chính sách hướng đến việc cải thiện sức khỏe cộng đồng. Bằng cách hiểu rõ các yếu tố ảnh hưởng đến sức khỏe, chúng ta có thể đưa ra các biện pháp can thiệp hiệu quả hơn, từ đó nâng cao chất lượng cuộc sống của mọi người.

Những phát hiện từ nghiên cứu này không chỉ đóng góp vào kho tàng kiến thức khoa học mà còn mở ra những hướng nghiên cứu mới, giúp chúng ta hiểu rõ hơn về sự tác động của các yếu tố xã hội và cá nhân đến sức khỏe con người. Việc áp dụng các kết quả này vào thực tiễn sẽ giúp cải thiện các chính sách y tế và chương trình bảo hiểm, từ đó nâng cao chất lượng chăm sóc sức khỏe và đảm bảo sự phát triển bền vững của cộng đồng.

3.2. Hạn chế

RStudio là một nền tảng lập trình mới mẻ và đầy tiềm năng đối với chúng tôi, và do đó, chúng tôi cần dành một khoảng thời gian đáng kể để làm quen với ngôn ngữ R nhằm khai thác tối ưu các tính năng của công cụ này. Việc bắt đầu với RStudio không chỉ đòi hỏi chúng tôi phải hiểu rõ cú pháp và các hàm cơ bản của ngôn ngữ R, mà còn phải làm quen với cách mà các hàm này tương tác và hoạt động trong môi trường lập trình. Sự thiếu hụt về kiến thức cơ bản có thể dẫn đến những khó khăn trong việc nhập liệu, xử lý dữ liệu và thực hiện các phân tích phức tạp, ảnh hưởng trực tiếp đến chất lượng và độ tin cậy của kết quả cuối cùng.

Hơn nữa, RStudio có thể gặp phải một số vấn đề liên quan đến hiệu suất khi làm việc với các bộ dữ liệu lớn hoặc phức tạp. Trong những tình huống này, tốc độ xử lý chậm hoặc tiêu tốn nhiều bộ nhớ có thể làm gián đoạn quy trình làm việc và gây ra sự chậm trễ đáng kể. Để khắc phục tình trạng này, chúng tôi có thể cần phải tối ưu hóa mã nguồn của mình, áp dụng các phương pháp lập trình hiệu quả hơn hoặc sử dụng các gói bổ sung được thiết kế đặc biệt để cải thiện hiệu suất. Điều này không chỉ giúp rút ngắn thời gian chạy mà còn giảm thiểu việc tiêu tốn bộ nhớ, từ đó nâng cao hiệu quả và tính chính xác của các phân tích.

Ngoài ra, một thách thức khác mà chúng tôi có thể đối mặt là sự không tương thích giữa RStudio và một số định dạng dữ liệu hoặc phần mềm khác. Việc không tương thích này có thể cản trở việc tích hợp dữ liệu và ảnh hưởng đến quy trình phân tích toàn diện. Trong những trường hợp như vậy, chúng tôi có thể cần phải chuyển đổi dữ liệu sang các định dạng phù hợp hơn hoặc sử dụng các công cụ kết nối để tương thích với các nguồn dữ liệu khác. Điều này đòi hỏi chúng tôi phải có khả năng linh hoạt trong việc sử dụng các công cụ và kỹ thuật chuyển đổi dữ liệu, từ đó đảm bảo rằng quá trình phân tích diễn ra một cách liền mạch và hiệu quả.

Tóm lại, việc làm quen với RStudio không chỉ là một quá trình học hỏi về cú pháp và hàm số, mà còn là việc đối mặt với các thách thức liên quan đến hiệu suất và khả năng tương thích. Để vượt qua những trở ngại này, chúng tôi cần không ngừng nâng cao kiến thức và kỹ năng của mình, áp dụng các giải pháp tối ưu và duy trì sự linh hoạt trong việc xử lý và tích hợp dữ liệu.

Tài liệu tham khảo

Link: https://rpubs.com/tmt/1189011