NHIỆM VỤ 4,5,6
1. Giới thiệu về dữ liệu
1.1 Nguồn dữ liệu
Dữ liệu được thu thập từ Kaggle, một nền tảng về chia sẻ bộ dữ liệu và cuộc thi khoa học dữ liệu. Bộ dữ liệu có tên là Stroke Prediction Dataset.
1.2 Bối cảnh và mục đích của dữ liệu
Theo Tổ chức Y tế Thế giới (WHO), đột quỵ (stroke) là nguyên nhân gây tử vong đứng thứ hai trên toàn cầu, chiếm khoảng 11% tổng số ca tử vong. Dữ liệu này được xây dựng với mục đích dự đoán khả năng một bệnh nhân có bị đột quỵ hay không, dựa trên các thông tin nhân khẩu học, tình trạng sức khỏe và lối sống của bệnh nhân.
Mỗi dòng trong bộ dữ liệu tương ứng với thông tin của một bệnh nhân.
1.3 Đặc điểm dữ liệu:
Để thuận tiện cho việc phân tích, bộ dữ liệu sẽ được gán với tên
stroke_data
.
stroke_data <- read.csv(file.choose(), header = T, na.strings = c("N/A", "", "NA"))
head(stroke_data)
id | gender | age | hypertension | heart_disease | ever_married | work_type | Residence_type | avg_glucose_level | bmi | smoking_status | stroke |
---|---|---|---|---|---|---|---|---|---|---|---|
9046 | Male | 67 | 0 | 1 | Yes | Private | Urban | 228.69 | 36.6 | formerly smoked | 1 |
51676 | Female | 61 | 0 | 0 | Yes | Self-employed | Rural | 202.21 | NA | never smoked | 1 |
31112 | Male | 80 | 0 | 1 | Yes | Private | Rural | 105.92 | 32.5 | never smoked | 1 |
60182 | Female | 49 | 0 | 0 | Yes | Private | Urban | 171.23 | 34.4 | smokes | 1 |
1665 | Female | 79 | 1 | 0 | Yes | Self-employed | Rural | 174.12 | 24.0 | never smoked | 1 |
56669 | Male | 81 | 0 | 0 | Yes | Private | Urban | 186.21 | 29.0 | formerly smoked | 1 |
Một số thông tin về dữ liệu:
'data.frame': 5110 obs. of 12 variables:
$ id : int 9046 51676 31112 60182 1665 56669 53882 10434 27419 60491 ...
$ gender : chr "Male" "Female" "Male" "Female" ...
$ age : num 67 61 80 49 79 81 74 69 59 78 ...
$ hypertension : int 0 0 0 0 1 0 1 0 0 0 ...
$ heart_disease : int 1 0 1 0 0 0 1 0 0 0 ...
$ ever_married : chr "Yes" "Yes" "Yes" "Yes" ...
$ work_type : chr "Private" "Self-employed" "Private" "Private" ...
$ Residence_type : chr "Urban" "Rural" "Rural" "Urban" ...
$ avg_glucose_level: num 229 202 106 171 174 ...
$ bmi : num 36.6 NA 32.5 34.4 24 29 27.4 22.8 NA 24.2 ...
$ smoking_status : chr "formerly smoked" "never smoked" "never smoked" "smokes" ...
$ stroke : int 1 1 1 1 1 1 1 1 1 1 ...
Đặc điểm về dữ liệu:
Tổng số quan sát: 5110 quan sát.
Tổng số biến: 12 biến.
Biến định danh:
id
.Số lượng biến định lượng:
age
: Tuổi của bệnh nhân (theo năm).avg_glucose_level
: Nồng độ đường huyết trung bình của bệnh nhân.bmi
: Chỉ số khối cơ thể (Body Mass Index).
Tổng số biến định tính:
gender
: Giới tính của bệnh nhân: “Male”, “Female”, hoặc “Other”.hypertension
: Tăng huyết áp: 0 = không có, 1 = có.heart_disease
: Bệnh tim: 0 = không có, 1 = có.ever_married
: Tình trạng hôn nhân: “Yes” hoặc “No”.work_type
: Loại công việc: “children”, “Govt_job”, “Never_worked”, “Private”, “Self-employed”.Residence_type
: Khu vực sinh sống: “Urban” hoặc “Rural”.smoking_status
: Tình trạng hút thuốc: “formerly smoked”, “never smoked”, “smokes”, hoặc “Unknown”.stroke
: Kết quả đột quỵ: 1 nếu đã từng bị, 0 nếu chưa.
1.4 Thực hiện kiểm tra dữ liệu
KIỂM TRA GIÁ TRỊ NA
na_table <- data.frame(
Variable = names(stroke_data),
Missing_Values = colSums(is.na(stroke_data))
)
kable(na_table, caption = "Số lượng giá trị thiếu (NA) theo từng biến", row.names = FALSE)
Variable | Missing_Values |
---|---|
id | 0 |
gender | 0 |
age | 0 |
hypertension | 0 |
heart_disease | 0 |
ever_married | 0 |
work_type | 0 |
Residence_type | 0 |
avg_glucose_level | 0 |
bmi | 201 |
smoking_status | 0 |
stroke | 0 |
Kiểm tra giá trị thiếu (NA) cho thấy rằng biến
bmi
có tổng cộng 201 giá trị NA, trong khi
tất cả các biến còn lại không có giá trị thiếu nào. Để
xử lý các giá trị thiếu, một phương pháp thông thường là loại bỏ các
quan sát chứa NA. Tuy nhiên, vì bài phân tích hiện tại chỉ tập trung vào
các biến định tính, trong khi bmi
là một
biến định lượng, nên việc loại bỏ các quan sát chứa NA
ở biến này không cần thiết. Giữ lại các quan sát này sẽ
không ảnh hưởng đến kết quả phân tích định tính, đồng
thời đảm bảo độ đầy đủ và tính chuẩn của dữ liệu đầu
vào.
KIỂM TRA GIÁ TRỊ unknown
unknown_table_1 <- data.frame(sapply(stroke_data, function(col) sum(tolower(as.character(col)) == "unknown", na.rm = TRUE)))
kable(unknown_table_1, caption = "Số lượng giá trị 'unknown' theo từng biến")
sapply.stroke_data..function.col..sum.tolower.as.character.col…… | |
---|---|
id | 0 |
gender | 0 |
age | 0 |
hypertension | 0 |
heart_disease | 0 |
ever_married | 0 |
work_type | 0 |
Residence_type | 0 |
avg_glucose_level | 0 |
bmi | 0 |
smoking_status | 1544 |
stroke | 0 |
Kết quả kiểm tra cho thấy biến định tính smoking_status có tổng cộng 1544 giá trị “unknown”. Để đảm bảo tính trực quan và độ chính xác trong phân tích, đặc biệt là khi trực quan hóa dữ liệu, ta sẽ loại bỏ các quan sát chứa giá trị “unknown” ở biến này. Việc này giúp tránh sai lệch do các giá trị không rõ ràng, đồng thời giúp hình ảnh trực quan rõ ràng, dễ hiểu hơn.
Thực hiện kiểm tra lại dữ liệu:
unknown_table_2 <- data.frame(sapply(stroke_data, function(col) sum(tolower(as.character(col)) == "unknown", na.rm = TRUE)))
kable(unknown_table_2, caption = "Số lượng giá trị 'unknown' theo từng biến")
sapply.stroke_data..function.col..sum.tolower.as.character.col…… | |
---|---|
id | 0 |
gender | 0 |
age | 0 |
hypertension | 0 |
heart_disease | 0 |
ever_married | 0 |
work_type | 0 |
Residence_type | 0 |
avg_glucose_level | 0 |
bmi | 0 |
smoking_status | 0 |
stroke | 0 |
Sau khi loại bỏ, dữ liệu còn lại sẽ được sử dụng cho các bước phân tích và trực quan tiếp theo.
1.5 Thực hiện mã hóa cho các biến định tính
Như đã trình bày ở phần 1.3 về Cấu trúc của dữ liệu,
các biến định tính trong bộ dữ liệu đều có kiểu dữ liệu là ‘chr’. Vì
thế, để thuận tiện cho việc phân tích, sẽ thực hiện mã hóa các biến định
tính về dạng factor
.
2. Phân tích mô tả các biến định tính
Trong phạm vi bài phân tích này, mục tiêu là tập trung vào việc khảo sát và trình bày đặc điểm của các biến định tính trong bộ dữ liệu. Do đó, để đảm bảo tính tập trung và phù hợp với mục tiêu nghiên cứu, dữ liệu sẽ được lọc để chỉ giữ lại các biến có kiểu định tính. Các biến định lượng sẽ không được đưa vào phân tích trong bài viết này. Việc này giúp quá trình mô tả, trực quan hóa và phân tích mối liên hệ giữa các biến định tính trở nên rõ ràng và hiệu quả hơn.
data_categorical <- stroke_data[, c("gender", "hypertension", "heart_desease", "ever_married", "work_type", "residence_type", "smoking_status", "stroke")]
2.1 Biến về giới tính
2.1.1 Thống kê tần số và tần suất
Về tần số
##
## Female Male Other
## 2158 1407 1
Biến giới tính (gender) bao gồm ba nhóm giá trị: “Female”, “Male” và “Other”. Trong đó, nhóm “Female” chiếm số lượng lớn nhất với 2.158 quan sát, tiếp theo là nhóm “Male” với 1.407 quan sát, và cuối cùng là nhóm “Other” chỉ có 1 quan sát duy nhất.
Về tần suất
##
## Female Male Other
## 60.51598430 39.45597308 0.02804262
Biến giới tính (gender) cho thấy phần lớn người tham gia là nữ (60.52%), tiếp theo là nam (39.46%), trong khi nhóm Other chỉ chiếm 0.03%, gần như không đáng kể. Dữ liệu cho thấy sự mất cân đối giới tính, với tỷ lệ nữ cao hơn đáng kể so với nam.
Biểu đồ minh họa cho tần số và tần suất
#Gộp tần số và tần suất thành một dataframe
gender_df <- data.frame(
Gender = names(gender_table),
Frequency = as.vector(gender_table),
Percentage = round(as.vector(gender_prop_table), 2))
#Vẽ biểu đồ tần số
plot_freq_gender <- ggplot(gender_df, aes(x = Gender, y = Frequency, fill = Gender)) +
geom_bar(stat = "identity") +
geom_text(aes(label = Frequency), vjust = -0.5) +
labs(title = "Biểu đồ tần số giới tính", x = "Giới tính", y = "Tần số") +
theme_minimal()
#Vẽ biểu đồ tần suất
plot_prop_gender <- ggplot(gender_df, aes(x = "", y = Percentage, fill = Gender)) +
geom_bar(stat = "identity", width = 1) +
coord_polar(theta = "y") +
geom_text(aes(label = paste0(Percentage, "%")),
position = position_stack(vjust = 0.5)) +
labs(title = "Biểu đồ tần suất giới tính (Pie Chart)", x = NULL, y = NULL) +
theme_void()
#Gộp 2 biểu đồ
plot_freq_gender + plot_prop_gender
Biến giới tính trong dữ liệu gồm ba nhóm: Female, Male và Other. Kết quả cho thấy nhóm Female chiếm tỷ lệ lớn nhất với 60,52%, tương ứng 2.158 quan sát, trong khi nhóm Male chiếm 39,46% với 1.407 quan sát. Nhóm Other chỉ chiếm 0,03% với 1 quan sát duy nhất, rất nhỏ và không đáng kể. Điều này cho thấy sự mất cân bằng giới tính trong mẫu, với số lượng nữ nhiều hơn nam.
2.1.2 Ước lượng khoảng và kiểm định giả thuyết
Đối tượng quan tâm cho biến gender
là giới tính nữ
FEMALE
.
Ước lượng khoảng
##
## 1-sample proportions test with continuity correction
##
## data: gender_table["Female"] out of sum(gender_table), null probability 0.5
## X-squared = 157.32, df = 1, p-value < 2.2e-16
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
## 0.5888702 0.6212212
## sample estimates:
## p
## 0.6051598
Kết quả kiểm định tỉ lệ một mẫu cho thấy tỉ lệ nữ trong mẫu là khoảng 60,52% với khoảng tin cậy 95% nằm trong khoảng từ 58,89% đến 62,12%. Giá trị p-value rất nhỏ (< 2.2e-16) cho thấy tỉ lệ nữ khác biệt có ý nghĩa thống kê so với tỉ lệ giả định 50%. Điều này khẳng định rằng trong mẫu nghiên cứu, nữ giới chiếm ưu thế rõ rệt so với nam giới.
Kiểm định giả thuyết
Giả thuyết kiểm định:
\(H_0\): \(p\) ≥ 0.60 (tỉ lệ nữ lớn hơn hoặc bằng 60%)
\(H_1\): \(p\) < 0.60 (tỉ lệ nữ nhỏ hơn 60%)
##
## 1-sample proportions test with continuity correction
##
## data: gender_table["Female"] out of sum(gender_table), null probability 0.6
## X-squared = 0.37438, df = 1, p-value = 0.7297
## alternative hypothesis: true p is less than 0.6
## 95 percent confidence interval:
## 0.0000000 0.6186788
## sample estimates:
## p
## 0.6051598
Kết quả kiểm định cho thấy:
Tỉ lệ nữ quan sát trong mẫu là khoảng 60,52%.
Giá trị p-value = 0.7297 lớn hơn mức ý nghĩa 0.05, do đó không đủ bằng chứng để bác bỏ giả thuyết \(H_0\).
Khoảng tin cậy 95% cho tỉ lệ nữ nằm trong khoảng từ 0% đến 61,87%.
=> Kết luận rằng: Dữ liệu không cho thấy tỉ lệ nữ trong mẫu nhỏ hơn 60%. Nói cách khác, ta có thể chấp nhận rằng tỉ lệ nữ trong tổng thể là lớn hơn 60%.
2.2 Biến về việc tăng huyết áp
2.2.1. Thống kê tần số và tần suất
Về tần số
##
## 0 1
## 3120 446
Có tổng cộng 3120 quan sát không bị tăng huyết áp và 446 quan sát có tăng huyết áp. Điều này cho thấy số lượng người không tăng huyết áp chiếm đa số rõ rệt so với nhóm có tăng huyết áp trong dữ liệu.
Về tần suất
hypertension_prop_table <- prop.table(table(data_categorical$hypertension)) * 100
print(hypertension_prop_table)
##
## 0 1
## 87.49299 12.50701
Phần lớn mẫu nghiên cứu, chiếm tới khoảng 87.5% (3120/3566), không mắc tình trạng tăng huyết áp. Ngược lại, chỉ có khoảng 12.5% số quan sát bị tăng huyết áp. Điều này cho thấy trong dữ liệu, đa số người tham gia không bị ảnh hưởng bởi bệnh lý tăng huyết áp, làm biến này phân bố khá lệch về nhóm không bị bệnh.
Biểu đồ minh họa cho tần số và tần suất
#Gộp tần số và tần suất thành một dataframe
hypertension_df <- data.frame(
Hypertension = names(hypertension_table),
Frequency = as.vector(hypertension_table),
Percentage = round(as.vector(hypertension_prop_table), 2))
#Vẽ biểu đồ tần số
plot_freq_hypertension <- ggplot(hypertension_df, aes(x = Hypertension, y = Frequency, fill = Hypertension)) +
geom_bar(stat = "identity") +
geom_text(aes(label = Frequency), vjust = -0.5) +
labs(title = "Biểu đồ tần số tình trạng tăng huyết áp", x = "Tăng huyết áp", y = "Tần số") +
theme_minimal()
#Vẽ biểu đồ tần suất
plot_prop_hypertension <- ggplot(hypertension_df, aes(x = "", y = Percentage, fill = Hypertension)) +
geom_bar(stat = "identity", width = 1) +
coord_polar(theta = "y") +
geom_text(aes(label = paste0(Percentage, "%")),
position = position_stack(vjust = 0.5)) +
labs(title = "Biểu đồ tần suất tình trạng tăng huyết áp (Pie Chart)", x = NULL, y = NULL) +
theme_void()
#Gộp 2 biểu đồ
plot_freq_hypertension + plot_prop_hypertension
Dữ liệu về biến tình trạng tăng huyết áp cho thấy đa số người tham gia (3120 quan sát) không bị tăng huyết áp, chỉ một phần nhỏ (446 quan sát) có tình trạng tăng huyết áp. Điều này phản ánh sự phân bố không đều, với nhóm không tăng huyết áp chiếm ưu thế trong mẫu nghiên cứu.
2.2.2 Ước lượng khoảng và kiểm định giả thuyết
Đối tượng quan tâm cho biến hypertension
là tình trạng
không tăng huyết áp 0
.
Ước lượng khoảng
##
## 1-sample proportions test with continuity correction
##
## data: hypertension_table["0"] out of sum(hypertension_table), null probability 0.5
## X-squared = 2003.6, df = 1, p-value < 2.2e-16
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
## 0.8635222 0.8855202
## sample estimates:
## p
## 0.8749299
Khoảng ước lượng 95% cho tỉ lệ người không bị tăng huyết áp trong mẫu nằm trong khoảng từ 86,35% đến 88,55%, cho thấy nhóm này chiếm ưu thế rõ rệt trong dữ liệu nghiên cứu.
Kiểm định giả thuyết
Giả thuyết kiểm định:
\(H_0\): \(p\) ≤ 0.9 (tỷ lệ người không bị tăng huyết áp nhỏ hơn 90%)
\(H_1\): \(p\) > 0.9 (tỷ lệ người không bị tăng huyết áp lớn hơn 90%)
prop.test(hypertension_table["0"], sum(hypertension_table),p = 0.90, alternative = "greater", correct = TRUE)
##
## 1-sample proportions test with continuity correction
##
## data: hypertension_table["0"] out of sum(hypertension_table), null probability 0.9
## X-squared = 24.625, df = 1, p-value = 1
## alternative hypothesis: true p is greater than 0.9
## 95 percent confidence interval:
## 0.8653885 1.0000000
## sample estimates:
## p
## 0.8749299
Kết quả kiểm định cho thấy:
Tỉ lệ người không bị tăng huyết áp trong mẫu là khoảng 87,49%.
Giá trị p-value = 1 lớn hơn mức ý nghĩa 0.05, do đó không đủ bằng chứng để bác bỏ giả thuyết H₀.
Khoảng tin cậy 95% cho tỉ lệ người không bị tăng huyết áp nằm trong khoảng từ 86,54% đến 100%.
=> Kết luận rằng: Dữ liệu không cho thấy tỉ lệ người không bị tăng huyết áp lớn hơn 90%. Nói cách khác, ta có thể chấp nhận rằng tỉ lệ này không vượt quá 90% trong tổng thể.
2.3 Biến về bệnh tim
2.3.1 Thống kê về tần số và tần suất
Về tần số
##
## 0 1
## 3338 228
Biến tình trạng bệnh tim cho thấy có 3.338 người không mắc bệnh tim và 228 người có mắc bệnh. Như vậy, phần lớn đối tượng trong mẫu không có vấn đề về tim mạch, cho thấy tỷ lệ mắc bệnh tim trong dữ liệu là tương đối thấp.
Về tần suất
heart_desease_prop_table <- prop.table(table(data_categorical$heart_desease)) * 100
print(heart_desease_prop_table)
##
## 0 1
## 93.606282 6.393718
Tần suất biến tình trạng bệnh tim cho thấy khoảng 93,61% đối tượng không mắc bệnh tim, trong khi chỉ có khoảng 6,39% đối tượng mắc bệnh. Điều này cho thấy phần lớn mẫu khảo sát khỏe mạnh về mặt tim mạch, với tỷ lệ người mắc bệnh tim khá thấp.
Biểu đồ minh họa cho tần số và tần suất
# Gộp tần số và tần suất thành một dataframe
heart_desease_df <- data.frame(
"Heart_desease" = names(heart_desease_table),
Frequency = as.vector(heart_desease_table),
Percentage = round(as.vector(heart_desease_prop_table), 2)
)
# Vẽ biểu đồ tần số
plot_freq_heart_desease <- ggplot(heart_desease_df, aes(x = Heart_desease, y = Frequency, fill = Heart_desease)) +
geom_bar(stat = "identity") +
geom_text(aes(label = Frequency), vjust = -0.5) +
labs(title = "Biểu đồ tần số bệnh tim mạch", x = "Bệnh tim mạch", y = "Tần số") +
theme_minimal()
# Vẽ biểu đồ tần suất
plot_prop_heart_desease <- ggplot(heart_desease_df, aes(x = "", y = Percentage, fill = Heart_desease)) +
geom_bar(stat = "identity", width = 1) +
coord_polar(theta = "y") +
geom_text(aes(label = paste0(Percentage, "%")),
position = position_stack(vjust = 0.5)) +
labs(title = "Biểu đồ tần suất bệnh tim mạch (Pie Chart)", x = NULL, y = NULL) +
theme_void()
# Gộp 2 biểu đồ
plot_freq_heart_desease + plot_prop_heart_desease
Trong tổng số 3566 quan sát, có 3338 người không bị bệnh tim, chiếm khoảng 93.6% mẫu, trong khi chỉ có 228 người mắc bệnh tim, chiếm khoảng 6.4%. Điều này cho thấy đa số người trong dữ liệu không có tình trạng bệnh tim, nhóm bệnh tim chiếm tỷ lệ rất nhỏ, phản ánh sự phân bố không đều của biến này trong mẫu nghiên cứu.
2.3.2 Ước lượng khoảng và kiểm định giả thuyết
Đối tượng quan tâm cho biến heart_desease
là tình trạng
bị bệnh tim 1
.
Ước lượng khoảng
##
## 1-sample proportions test with continuity correction
##
## data: heart_desease_table["1"] out of sum(heart_desease_table), null probability 0.5
## X-squared = 2710.6, df = 1, p-value < 2.2e-16
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
## 0.05623569 0.07259351
## sample estimates:
## p
## 0.06393718
Khoảng ước lượng 95% cho tỷ lệ người mắc bệnh tim trong mẫu nghiên cứu nằm trong khoảng từ 5.62% đến 7.26%, cho thấy tỷ lệ này là khá thấp và phản ánh rõ ràng rằng nhóm không mắc bệnh tim chiếm đa số trong dữ liệu.
Kiểm định giả thuyết
Giả thuyết kiểm định:
\(H_0\): \(p\) ≤ 0.06 (tỷ lệ người bị bệnh tim nhỏ hơn 6%)
\(H_1\): \(p\) > 0.6 (tỷ lệ người bị bệnh tim lớn hơn 6%)
prop.test(heart_desease_table["1"], sum(heart_desease_table),p = 0.06, alternative = "greater", correct = TRUE)
##
## 1-sample proportions test with continuity correction
##
## data: heart_desease_table["1"] out of sum(heart_desease_table), null probability 0.06
## X-squared = 0.91154, df = 1, p-value = 0.1699
## alternative hypothesis: true p is greater than 0.06
## 95 percent confidence interval:
## 0.05739045 1.00000000
## sample estimates:
## p
## 0.06393718
Kết quả kiểm định cho thấy:
Tỉ lệ người bị bệnh tim quan sát trong mẫu là khoảng 6.39%.
Giá trị p-value = 0.1699 lớn hơn mức ý nghĩa 0.05, do đó không đủ bằng chứng để bác bỏ giả thuyết \(H_0\).
Khoảng tin cậy 95% cho tỉ lệ người bị bệnh tim nằm trong khoảng từ 5.74% đến 100%.
=> Kết luận rằng: Dữ liệu không cho thấy tỉ lệ người bị bệnh tim trong mẫu lớn hơn 6%. Nói cách khác, ta có thể chấp nhận rằng tỉ lệ người bị bệnh tim trong tổng thể là nhỏ hơn hoặc bằng 6%.
2.4 Biến về tình trạng hôn nhân
2.4.1 Thống kê về tần số và tần suất
Về tần số
##
## No Yes
## 856 2710
Tình trạng hôn nhân trong mẫu nghiên cứu gồm 856 người chưa kết hôn và 2710 người đã kết hôn. Điều này cho thấy đa số người tham gia khảo sát đều đã lập gia đình, phản ánh một tỷ lệ lớn người có trạng thái hôn nhân ổn định trong mẫu dữ liệu.
Về tần suất
ever_married_prop_table <- prop.table(table(data_categorical$ever_married)) * 100
print(ever_married_prop_table)
##
## No Yes
## 24.00449 75.99551
Tỷ lệ người chưa kết hôn trong mẫu là khoảng 24%, trong khi người đã kết hôn chiếm gần 76%. Điều này cho thấy phần lớn đối tượng nghiên cứu có trạng thái hôn nhân đã ổn định, với số lượng người đã kết hôn áp đảo so với nhóm chưa kết hôn.
Biểu đồ minh họa cho tần số và tần suất
# Gộp tần số và tần suất thành một dataframe
ever_married_df <- data.frame(
"Ever_married" = names(ever_married_table),
Frequency = as.vector(ever_married_table),
Percentage = round(as.vector(ever_married_prop_table), 2)
)
# Vẽ biểu đồ tần số
plot_freq_ever_married <- ggplot(ever_married_df, aes(x = Ever_married, y = Frequency, fill = Ever_married)) +
geom_bar(stat = "identity") +
geom_text(aes(label = Frequency), vjust = -0.5) +
labs(title = "Biểu đồ tần số tình trạng hôn nhân", x = "Tình trạng hôn nhân", y = "Tần số") +
theme_minimal()
# Vẽ biểu đồ tần suất
plot_prop_ever_married <- ggplot(ever_married_df, aes(x = "", y = Percentage, fill = Ever_married)) +
geom_bar(stat = "identity", width = 1) +
coord_polar(theta = "y") +
geom_text(aes(label = paste0(Percentage, "%")),
position = position_stack(vjust = 0.5)) +
labs(title = "Biểu đồ tần suất tình trạng hôn nhân (Pie Chart)", x = NULL, y = NULL) +
theme_void()
# Gộp 2 biểu đồ
plot_freq_ever_married + plot_prop_ever_married
Biến tình trạng hôn nhân trong mẫu dữ liệu cho thấy có 2.710 quan sát thuộc nhóm đã từng kết hôn, chiếm tỷ lệ khoảng 76% tổng số mẫu. Trong khi đó, nhóm chưa từng kết hôn gồm 856 quan sát, chiếm khoảng 24%. Tỷ lệ này phản ánh rằng phần lớn người tham gia khảo sát hoặc được ghi nhận trong dữ liệu đã có kinh nghiệm kết hôn.
2.4.2 Ước lượng khoảng và kiểm định giả thuyết
Đối tượng quan tâm cho biến ever_married
là đã kết hôn
YES
.
Ước lượng khoảng
##
## 1-sample proportions test with continuity correction
##
## data: ever_married_table["Yes"] out of sum(ever_married_table), null probability 0.5
## X-squared = 962.87, df = 1, p-value < 2.2e-16
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
## 0.7455189 0.7738263
## sample estimates:
## p
## 0.7599551
Kết quả kiểm định tỉ lệ cho thấy tỷ lệ người từng kết hôn trong mẫu là khoảng 75,99%. Khoảng tin cậy 95% cho tỷ lệ này nằm trong khoảng từ 74,55% đến 77,38%, cho thấy mức độ chính xác khá cao của ước lượng. Điều này khẳng định rằng tỷ lệ người từng kết hôn trong tổng thể rất có thể nằm trong khoảng giá trị này với độ tin cậy 95%.
Kiểm định giả thuyết
Giả thuyết kiểm định:
\(H_0\): \(p\) ≥ 0.80 (tỷ lệ người đã kết hôn lớn hơn 80%)
\(H_1\): \(p\) < 0.80 (tỷ lệ người đã kết hôn nhỏ hơn 80%)
prop.test(ever_married_table["Yes"], sum(ever_married_table), p = 0.80, alternative = "less", correct = TRUE)
##
## 1-sample proportions test with continuity correction
##
## data: ever_married_table["Yes"] out of sum(ever_married_table), null probability 0.8
## X-squared = 35.49, df = 1, p-value = 1.282e-09
## alternative hypothesis: true p is less than 0.8
## 95 percent confidence interval:
## 0.0000000 0.7716576
## sample estimates:
## p
## 0.7599551
Kết quả kiểm định cho thấy:
Tỉ lệ người đã kết hôn quan sát trong mẫu là khoảng 75.99%.
Giá trị p-value = 1.282e-09 nhỏ hơn mức ý nghĩa 0.05, do đó có đủ bằng chứng để bác bỏ giả thuyết \(H_0\).
Khoảng tin cậy 95% cho tỉ lệ người đã kết hôn nằm trong khoảng từ 0% đến 77.17%.
=> Kết luận rằng: Dữ liệu cho thấy tỉ lệ người đã kết hôn trong mẫu nhỏ hơn 80%. Nói cách khác, ta có thể chấp nhận rằng tỉ lệ người đã kết hôn trong tổng thể là nhỏ hơn 80%.
2.5 Biến về loại công việc
2.5.1 Thống kê về tần số và tần suất
Về tần số
##
## children Govt_job Never_worked Private Self-employed
## 69 535 14 2285 663
Biến loại công việc trong dữ liệu gồm 5 nhóm chính với số lượng quan sát khác nhau. Nhóm Private (làm việc trong khu vực tư nhân) chiếm đa số với 2285 người, tiếp theo là nhóm Self-employed (tự doanh) với 663 người. Nhóm Govt_job (công việc nhà nước) có 535 người, trong khi nhóm children (trẻ em, chưa đi làm) và Never_worked (chưa từng làm việc) có số lượng rất ít, lần lượt là 69 và 14 người. Điều này cho thấy đa số mẫu tập trung vào nhóm làm việc trong khu vực tư nhân, phản ánh đặc điểm nghề nghiệp đa dạng nhưng trọng tâm là lao động chính thức và tự doanh.
Về tần suất
work_type_prop_table <- prop.table(table(data_categorical$work_type)) * 100
print(work_type_prop_table)
##
## children Govt_job Never_worked Private Self-employed
## 1.9349411 15.0028043 0.3925967 64.0773976 18.5922602
Biến loại công việc cho thấy sự phân bố không đồng đều giữa các nhóm. Trong tổng thể mẫu, nhóm làm việc trong khu vực tư nhân chiếm tỷ lệ cao nhất với khoảng 64,08%, theo sau là nhóm tự doanh chiếm 18,59%. Nhóm làm việc trong khu vực nhà nước chiếm 15%, trong khi tỷ lệ trẻ em (chưa đi làm) và người chưa từng làm việc lần lượt chỉ chiếm 1,93% và 0,39%. Như vậy, dữ liệu cho thấy phần lớn người trong mẫu là lao động trong khu vực tư nhân và tự doanh, phản ánh xu hướng phổ biến về loại hình việc làm trong cộng đồng khảo sát.
Biểu đồ minh họa cho tần số và tần suất
# Gộp tần số và tần suất thành một dataframe
work_type_df <- data.frame(
"Work_type" = names(work_type_table),
Frequency = as.vector(work_type_table),
Percentage = round(as.vector(work_type_prop_table), 2)
)
# Vẽ biểu đồ tần số
plot_freq_work_type <- ggplot(work_type_df, aes(x = Work_type, y = Frequency, fill = Work_type)) +
geom_bar(stat = "identity") +
geom_text(aes(label = Frequency), vjust = -0.5) +
labs(title = "Biểu đồ tần số loại công việc", x = "Loại công việc", y = "Tần số") +
theme_minimal()
# Vẽ biểu đồ tần suất
plot_prop_work_type <- ggplot(work_type_df, aes(x = "", y = Percentage, fill = Work_type)) +
geom_bar(stat = "identity", width = 1) +
coord_polar(theta = "y") +
geom_text(aes(label = paste0(Percentage, "%")),
position = position_stack(vjust = 0.5)) +
labs(title = "Biểu đồ tần suất loại công việc (Pie Chart)", x = NULL, y = NULL) +
theme_void()
# Gộp 2 biểu đồ
plot_freq_work_type + plot_prop_work_type
Biến loại công việc thể hiện sự phân bố rõ rệt giữa các nhóm nghề nghiệp trong mẫu khảo sát. Cụ thể, nhóm làm việc trong khu vực Private (tư nhân) có 2.285 người, chiếm 64,08% tổng mẫu, là nhóm chiếm tỷ lệ cao nhất. Nhóm Self-employed (tự doanh) đứng thứ hai với 663 người, tương ứng 18,59%. Nhóm làm việc trong khu vực Govt_job (nhà nước) có 535 người, chiếm 15%. Trong khi đó, nhóm Children (trẻ em) và Never_worked (chưa từng làm việc) chỉ chiếm phần rất nhỏ, lần lượt là 69 người (1,93%) và 14 người (0,39%). Dữ liệu cho thấy phần lớn người tham gia khảo sát đang làm việc trong khu vực tư nhân và tự doanh, trong khi các nhóm không lao động chiếm tỷ trọng thấp.
2.5.2 Ước lượng khoảng và kiểm định giả thuyết
Đối tượng quan tâm cho biến work_type
là việc tự doanh
SELF-EMPLOYED
.
Ước lượng khoảng
##
## 1-sample proportions test with continuity correction
##
## data: work_type_table["Self-employed"] out of sum(work_type_table), null probability 0.5
## X-squared = 1405.8, df = 1, p-value < 2.2e-16
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
## 0.1733576 0.1991709
## sample estimates:
## p
## 0.1859226
Kết quả kiểm định cho thấy tỷ lệ người làm công việc tự làm chủ (Self-employed) trong mẫu là khoảng 18,59%. Khoảng tin cậy 95% cho tỷ lệ này nằm trong khoảng từ 17,34% đến 19,92%. Với p-value < 2.2e-16, nhỏ hơn mức ý nghĩa 0.05, ta bác bỏ giả thuyết H₀ rằng tỷ lệ này bằng 50%. Do đó, có đủ bằng chứng để kết luận rằng tỷ lệ người tự làm chủ trong tổng thể khác 50%, và thực tế có xu hướng thấp hơn nhiều.
Kiểm định giả thuyết
\(H_0\): \(p\) ≤ 0.20 (tỉ lệ người tự doanh thấp hơn 20%)
- \(H_1\): \(p\) > 0.20 (tỉ lệ người tự doanh lớn hơn 20%)
prop.test(work_type_table["Self-employed"], sum(work_type_table),p = 0.20, alternative = "greater", correct = TRUE)
##
## 1-sample proportions test with continuity correction
##
## data: work_type_table["Self-employed"] out of sum(work_type_table), null probability 0.2
## X-squared = 4.3292, df = 1, p-value = 0.9813
## alternative hypothesis: true p is greater than 0.2
## 95 percent confidence interval:
## 0.1753091 1.0000000
## sample estimates:
## p
## 0.1859226
Kết quả kiểm định cho thấy:
Tỷ lệ người làm công việc tự doanh quan sát trong mẫu là khoảng 18.59%.
Giá trị p-value = 0.9813, lớn hơn mức ý nghĩa 0.05, do đó không đủ bằng chứng để bác bỏ giả thuyết \(H_0\).
Khoảng tin cậy 95% cho tỷ lệ người tự doanh nằm trong khoảng từ 17.53% đến 100%.
=> Kết luận: Dữ liệu không cho thấy tỷ lệ người tự doanh trong tổng thể lớn hơn 20%. Nói cách khác, ta có thể chấp nhận rằng tỷ lệ người tự doanh trong tổng thể là nhỏ hơn hoặc bằng 20%.
2.6 Biến về khu vực sinh sống
2.6.1 Thống kê về tần số và tần suất
Về tần số
##
## Rural Urban
## 1752 1814
Dữ liệu cho thấy số người sống ở khu vực nông thôn (Rural) là 1.752 người, trong khi số người sống ở khu vực thành thị (Urban) là 1.814 người. Sự chênh lệch về tần số giữa hai nhóm là không lớn, cho thấy phân bố khu vực sinh sống trong mẫu khá đồng đều.
Về tần suất
residence_type_prop_table <- prop.table(table(data_categorical$residence_type)) * 100
print(residence_type_prop_table)
##
## Rural Urban
## 49.13068 50.86932
Tần suất phân bố khu vực sinh sống cho thấy khoảng 49,13% người sống ở khu vực nông thôn, trong khi khoảng 50,87% sống ở khu vực thành thị. Điều này cho thấy dân số trong mẫu gần như được phân chia đều giữa hai khu vực, với một chút ưu thế về phía khu vực thành thị.
Biểu đồ minh họa cho tần số và tần suất
# Gộp tần số và tần suất thành một dataframe
residence_type_df <- data.frame(
Residence_type = names(residence_type_table),
Frequency = as.vector(residence_type_table),
Percentage = round(as.vector(residence_type_prop_table), 2))
# Vẽ biểu đồ tần số
plot_freq_residence_type <- ggplot(residence_type_df, aes(x = Residence_type, y = Frequency, fill = Residence_type)) +
geom_bar(stat = "identity") +
geom_text(aes(label = Frequency), vjust = -0.5) +
labs(title = "Biểu đồ tần số khu vực sinh sống", x = "Khu vực sinh sống", y = "Tần số") +
theme_minimal()
# Vẽ biểu đồ tần suất
plot_prop_residence_type <- ggplot(residence_type_df, aes(x = "", y = Percentage, fill = Residence_type)) +
geom_bar(stat = "identity", width = 1) +
coord_polar(theta = "y") +
geom_text(aes(label = paste0(Percentage, "%")),
position = position_stack(vjust = 0.5)) +
labs(title = "Biểu đồ tần suất khu vực sinh sống (Pie Chart)", x = NULL, y = NULL) +
theme_void()
# Gộp 2 biểu đồ
plot_freq_residence_type + plot_prop_residence_type
Dữ liệu cho thấy trong mẫu có tổng cộng 3,566 người, trong đó 1,752 người (chiếm khoảng 49.13%) sống ở khu vực nông thôn và 1,814 người (chiếm khoảng 50.87%) sống ở khu vực thành thị. Tần suất phần trăm cho thấy tỷ lệ người dân thành thị và nông thôn khá cân bằng, với sự chênh lệch nhỏ hơn 2%. Điều này cho thấy mẫu phân bố tương đối đều giữa hai khu vực sinh sống chính.
2.6.2 Ước lượng khoảng và kiểm định giả thuyết
Đối tượng quan tâm cho biến residence_type
là thành thị
URBAN
.
Ước lượng khoảng
##
## 1-sample proportions test with continuity correction
##
## data: residence_type_table["Urban"] out of sum(residence_type_table), null probability 0.5
## X-squared = 1.0435, df = 1, p-value = 0.307
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
## 0.4921443 0.5252232
## sample estimates:
## p
## 0.5086932
Khoảng tin cậy 95% cho tỷ lệ người sống ở khu vực thành thị nằm trong khoảng từ 49.21% đến 52.52%, cho thấy tỷ lệ này khá gần với 50%. Điều này phản ánh sự phân bố gần như cân bằng giữa cư dân khu vực thành thị và nông thôn trong tổng thể.
Kiểm định giả thuyết
Giả thuyết kiểm định:
\(H_0\): \(p\) = 0.50 (tỉ lệ người sống ở thành thị là 50%)
\(H_1\): \(p \neq\) 0.50 (tỉ lệ người sống ở thành thị không phải là 50%)
prop.test(residence_type_table["Urban"], sum(residence_type_table),p = 0.50, alternative = "two.sided", correct = TRUE)
##
## 1-sample proportions test with continuity correction
##
## data: residence_type_table["Urban"] out of sum(residence_type_table), null probability 0.5
## X-squared = 1.0435, df = 1, p-value = 0.307
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
## 0.4921443 0.5252232
## sample estimates:
## p
## 0.5086932
Kết quả kiểm định cho thấy:
Tỷ lệ người sống ở khu vực thành thị quan sát trong mẫu là khoảng 50.87%.
Giá trị p-value = 0.307, lớn hơn mức ý nghĩa 0.05, do đó không đủ bằng chứng để bác bỏ giả thuyết \(H_0\).
Khoảng tin cậy 95% cho tỷ lệ người sống ở khu vực thành thị nằm trong khoảng từ 49.21% đến 52.52%.
=> Kết luận: Dữ liệu không cho thấy tỷ lệ người sống ở khu vực thành thị khác 50%. Nói cách khác, ta có thể chấp nhận rằng tỷ lệ người sống ở khu vực thành thị trong tổng thể là khoảng 50%.
2.7 Biến về tình trạng hút thuốc
2.7.1 Thống kê về tần số và tần suất
Về tần số
##
## formerly smoked never smoked smokes
## 885 1892 789
Biến tình trạng hút thuốc được phân loại thành ba nhóm chính: từng hút thuốc trước đây (formerly smoked) với 885 người, chưa bao giờ hút thuốc (never smoked) với 1892 người, và đang hút thuốc (smokes) với 789 người. Trong tổng số mẫu, nhóm chưa bao giờ hút thuốc chiếm tỷ lệ cao nhất, tiếp theo là nhóm từng hút thuốc và nhóm đang hút thuốc chiếm tỷ lệ thấp nhất. Điều này phản ánh phần lớn người tham gia khảo sát không có thói quen hút thuốc hoặc đã bỏ thuốc, trong khi một phần nhỏ vẫn đang hút thuốc.
Về tần suất
smoking_status_prop_table <- prop.table(table(data_categorical$smoking_status)) * 100
print(smoking_status_prop_table)
##
## formerly smoked never smoked smokes
## 24.81772 53.05665 22.12563
Tỷ lệ phần trăm theo tình trạng hút thuốc cho thấy hơn một nửa mẫu (53.06%) chưa bao giờ hút thuốc, cho thấy đa số người trong nhóm khảo sát có lối sống không hút thuốc. Nhóm từng hút thuốc chiếm khoảng 24.82%, trong khi nhóm đang hút thuốc chiếm 22.13%. Điều này cho thấy mặc dù số người đang hút thuốc không nhỏ, nhưng vẫn thấp hơn so với những người chưa từng hút thuốc, đồng thời tỷ lệ người từng hút thuốc cũng chiếm một phần đáng kể, phản ánh xu hướng bỏ thuốc hoặc từng tiếp xúc với thuốc lá trong quá khứ.
Biểu đồ minh họa cho tần số và tần suất
# Gộp tần số và tần suất thành một dataframe
smoking_status_df <- data.frame(
Smoking_status = names(smoking_status_table),
Frequency = as.vector(smoking_status_table),
Percentage = round(as.vector(smoking_status_prop_table), 2))
# Vẽ biểu đồ tần số cho tình trạng hút thuốc
plot_freq_smoking_status <- ggplot(smoking_status_df, aes(x = Smoking_status, y = Frequency, fill = Smoking_status)) +
geom_bar(stat = "identity") +
geom_text(aes(label = Frequency), vjust = -0.5) +
labs(title = "Biểu đồ tần số tình trạng hút thuốc", x = "Tình trạng hút thuốc", y = "Tần số") +
theme_minimal()
# Vẽ biểu đồ tần suất cho tình trạng hút thuốc
plot_prop_smoking_status <- ggplot(smoking_status_df, aes(x = "", y = Percentage, fill = Smoking_status)) +
geom_bar(stat = "identity", width = 1) +
coord_polar(theta = "y") +
geom_text(aes(label = paste0(Percentage, "%")), position = position_stack(vjust = 0.5)) +
labs(title = "Biểu đồ tần suất tình trạng hút thuốc (Pie Chart)", x = NULL, y = NULL) +
theme_void()
# Gộp 2 biểu đồ
plot_freq_smoking_status + plot_prop_smoking_status
Biến tình trạng hút thuốc trong mẫu gồm ba nhóm chính: nhóm chưa từng hút thuốc chiếm tỷ lệ cao nhất với khoảng 53.06%, tương ứng 1892 người; nhóm hút thuốc hiện tại chiếm khoảng 22.13% với 789 người; và nhóm đã từng hút thuốc trước đây chiếm khoảng 24.82% với 885 người. Như vậy, đa số người trong mẫu không hút thuốc, trong khi tỷ lệ người từng hoặc đang hút thuốc chiếm khoảng 47%. Điều này cho thấy tình trạng hút thuốc vẫn phổ biến nhưng không phải là phần lớn trong mẫu khảo sát.
2.7.2 Ước lượng khoảng và kiểm định giả thuyết
Đối tượng quan tâm cho biến smoking_status
là những
người chưa hút thuốc NEVER SMOKED
.
Ước lượng khoảng
##
## 1-sample proportions test with continuity correction
##
## data: smoking_status_table["never smoked"] out of sum(smoking_status_table), null probability 0.5
## X-squared = 13.205, df = 1, p-value = 0.0002792
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
## 0.5140220 0.5470446
## sample estimates:
## p
## 0.5305665
Khoảng tin cậy 95% cho tỷ lệ người chưa từng hút thuốc trong tổng thể nằm trong khoảng từ 51.40% đến 54.70%, với tỷ lệ ước lượng mẫu là khoảng 53.06%. Điều này cho thấy tỷ lệ người chưa từng hút thuốc được ước lượng khá chắc chắn nằm trên mức 50%.
Kiểm định giả thuyết
Giả thuyết kiểm định:
\(H_0\): \(p\) > 0.50 (tỉ lệ người chưa từng hút thuốc trên 50%)
\(H_1\): \(p ≤\) 0.50 (tỉ lệ người chưa từng hút thuốc dưới 50%)
prop.test(smoking_status_table["never smoked"], sum(smoking_status_table),p = 0.50, alternative = "less", correct = TRUE)
##
## 1-sample proportions test with continuity correction
##
## data: smoking_status_table["never smoked"] out of sum(smoking_status_table), null probability 0.5
## X-squared = 13.205, df = 1, p-value = 0.9999
## alternative hypothesis: true p is less than 0.5
## 95 percent confidence interval:
## 0.0000000 0.5444245
## sample estimates:
## p
## 0.5305665
Kết quả kiểm định cho thấy:
Tỷ lệ người chưa từng hút thuốc quan sát trong mẫu là khoảng 53.06%.
Giá trị p-value = 0.9999, lớn hơn mức ý nghĩa 0.05, do đó không đủ bằng chứng để bác bỏ giả thuyết \(H_0\).
Khoảng tin cậy 95% cho tỷ lệ người chưa từng hút thuốc nằm trong khoảng từ 0% đến 54.44%.
=> Kết luận: Dữ liệu không cho thấy tỷ lệ người chưa từng hút thuốc trong tổng thể nhỏ hơn hoặc bằng 50%. Nói cách khác, ta có thể chấp nhận rằng tỷ lệ người chưa từng hút thuốc trong tổng thể là lớn hơn 50%.
2.8 Biến về tình trạng đột quỵ
2.8.1 Thống kê về tần số và tần suất
Về tần số
##
## 0 1
## 3364 202
Biến kết quả đột quỵ gồm hai nhóm: không bị đột quỵ và bị đột quỵ. Trong mẫu quan sát, có 3,364 người không bị đột quỵ, chiếm phần lớn số lượng, trong khi chỉ có 202 người bị đột quỵ. Tỷ lệ người bị đột quỵ trong mẫu là khá thấp, cho thấy đột quỵ không phổ biến trong nhóm đối tượng nghiên cứu này.
Về tần suất
##
## 0 1
## 94.33539 5.66461
Tần suất phần trăm của biến kết quả đột quỵ cho thấy khoảng 94.34% số người trong mẫu không bị đột quỵ, trong khi chỉ khoảng 5.66% bị đột quỵ. Điều này khẳng định rằng đa số các cá nhân trong mẫu đều không trải qua đột quỵ, tỷ lệ bị đột quỵ tương đối thấp.
Biểu đồ minh họa cho tần số và tần suất
# Gộp tần số và tần suất thành một dataframe
stroke_df <- data.frame(
Stroke = names(stroke_table),
Frequency = as.vector(stroke_table),
Percentage = round(as.vector(stroke_prop_table), 2))
# Vẽ biểu đồ tần số cho tình trạng đột quỵ (stroke)
plot_freq_stroke <- ggplot(stroke_df, aes(x = Stroke, y = Frequency, fill = Stroke)) +
geom_bar(stat = "identity") +
geom_text(aes(label = Frequency), vjust = -0.5) +
labs(title = "Biểu đồ tần số tình trạng đột quỵ", x = "Tình trạng đột quỵ", y = "Tần số") +
theme_minimal()
# Vẽ biểu đồ tần suất cho tình trạng đột quỵ (Pie Chart)
plot_prop_stroke <- ggplot(stroke_df, aes(x = "", y = Percentage, fill = Stroke)) +
geom_bar(stat = "identity", width = 1) +
coord_polar(theta = "y") +
geom_text(aes(label = paste0(Percentage, "%")), position = position_stack(vjust = 0.5)) +
labs(title = "Biểu đồ tần suất tình trạng đột quỵ (Pie Chart)", x = NULL, y = NULL) +
theme_void()
# Gộp 2 biểu đồ
plot_freq_stroke + plot_prop_stroke
Biến kết quả đột quỵ trong dữ liệu gồm hai nhóm: không bị đột quỵ với 2.710 quan sát, chiếm khoảng 76%, và bị đột quỵ với 856 quan sát, chiếm khoảng 24% tổng số mẫu. Qua bảng tần số và tần suất, có thể thấy phần lớn mẫu nghiên cứu là những người không bị đột quỵ, chiếm tỷ lệ áp đảo so với nhóm bị đột quỵ. Tỷ lệ bị đột quỵ chiếm khoảng một phần tư, phản ánh mức độ phổ biến của bệnh trong nhóm nghiên cứu và cung cấp cơ sở để phân tích các yếu tố liên quan đến nguy cơ đột quỵ trong dữ liệu.
2.8.2 Ước lượng khoảng và kiểm định giả thuyết
Đối tượng quan tâm cho biến stroke
là những người bị đột
quỵ 1
.
Ước lượng khoảng
##
## 1-sample proportions test with continuity correction
##
## data: stroke_table["1"] out of sum(stroke_table), null probability 0.5
## X-squared = 2802, df = 1, p-value < 2.2e-16
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
## 0.04939385 0.06487012
## sample estimates:
## p
## 0.0566461
Kết quả kiểm định cho thấy khoảng tin cậy 95% của tỷ lệ người bị đột quỵ trong mẫu nằm trong khoảng từ 4,94% đến 6,49%. Điều này cho thấy với độ tin cậy cao, tỷ lệ thực sự của người bị đột quỵ trong tổng thể có khả năng nằm trong phạm vi này.
Kiểm định giả thuyết
Giả thuyết kiểm định:
\(H_0\): \(p\) = 0.05 (tỉ lệ người bị đột quỵ là 5%)
\(H_1\): \(p \neq\) 0.05 (tỉ lệ người bị đột quỵ không phải 5%)
##
## 1-sample proportions test with continuity correction
##
## data: stroke_table["1"] out of sum(stroke_table), null probability 0.05
## X-squared = 3.1776, df = 1, p-value = 0.07465
## alternative hypothesis: true p is not equal to 0.05
## 95 percent confidence interval:
## 0.04939385 0.06487012
## sample estimates:
## p
## 0.0566461
Kết quả kiểm định cho thấy:
Tỷ lệ người bị đột quỵ quan sát trong mẫu là khoảng 5.66%.
Giá trị p-value = 0.07465, lớn hơn mức ý nghĩa 0.05, do đó không đủ bằng chứng để bác bỏ giả thuyết \(H_0\).
Khoảng tin cậy 95% cho tỷ lệ người bị đột quỵ nằm trong khoảng từ 4.94% đến 6.49%.
=> Kết luận: Dữ liệu không cho thấy tỷ lệ người bị đột quỵ trong tổng thể khác 5%. Nói cách khác, ta có thể chấp nhận rằng tỷ lệ người bị đột quỵ trong tổng thể là xấp xỉ 5%.
3. Phân tích cho biến đột quỵ
3.1 Biến giới tính và đột quỵ
Tạo một dataframe mới chỉ chứa hai biến này.
Bài phân tích chỉ quan tâm đến giới tính nữ và nam, vì vậy đối với giới tính khác (other) trong data gốc sẽ được loại bỏ.
gender_stroke_df <- data_categorical[,c("gender", "stroke")]
gender_stroke_df <- subset(gender_stroke_df, gender != "Other")
gender_stroke_df$gender <- droplevels(gender_stroke_df$gender)
3.1.1. Bảng tần số và tần suất chéo
Bảng tần số chéo
gender_stroke_table <- table(gender_stroke_df$gender, gender_stroke_df$stroke)
print(gender_stroke_table)
##
## 0 1
## Female 2042 116
## Male 1321 86
Bảng tần số cho thấy trong tập dữ liệu, có 2042 nữ không bị đột quỵ và 116 nữ bị đột quỵ, trong khi nam giới ghi nhận 1321 trường hợp không đột quỵ và 86 trường hợp bị đột quỵ. Nhìn chung, số lượng nữ cao hơn nam ở cả hai nhóm có và không có đột quỵ.
Bảng tần suất chéo
##
## 0 1
## Female 94.624652 5.375348
## Male 93.887704 6.112296
Bảng tần suất cho thấy trong nhóm nữ, 94,62% không bị đột quỵ và 5,38% bị đột quỵ. Trong khi đó, nam giới có 93,89% không đột quỵ và 6,11% bị đột quỵ. Tỷ lệ mắc đột quỵ ở nam cao hơn nữ một chút, cho thấy có thể tồn tại sự khác biệt nhẹ về nguy cơ đột quỵ giữa các giới.
Trực quan hóa bằng biểu đồ
# Biểu đồ cột cho tần số
ggplot(gender_stroke_df, aes(x = stroke, fill = stroke)) +
geom_bar() +
facet_wrap(~gender) +
geom_text(stat = "count", aes(label = ..count..), vjust = -0.5) +
labs(title = "Biểu đồ tần số: Giới tính và Tình trạng đột quỵ",
x = "Tình trạng đột quỵ", y = "Tần số") +
theme_minimal()
Phân tích theo giới tính và tình trạng đột quỵ cho thấy, trong tổng số 2.158 nữ, có 116 người từng bị đột quỵ (chiếm khoảng 5,4%), trong khi nam giới có 86 ca đột quỵ trên tổng số 1.407 người (khoảng 6,1%). Mặc dù số lượng nữ bị đột quỵ cao hơn về mặt tuyệt đối (116 so với 86), tỷ lệ bị đột quỵ trong nhóm nam lại cao hơn. Điều này cho thấy nam giới có nguy cơ tương đối cao hơn trong bộ dữ liệu này, dù tổng số người nữ chiếm ưu thế hơn.
3.1.2 Kiểm định thống kê
Giả thiết kiểm định:
\(H_0\): Không có mối liên hệ giữa giới tính và tình trạng đột quỵ.
\(H_1\): Có mối liên hệ giữa giới tính và tình trạng đột quỵ.
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: gender_stroke_table
## X-squared = 0.73299, df = 1, p-value = 0.3919
Với giá trị p_value = 0.3919 > 0.05, ta không đủ bằng chứng để bác bỏ giả thiết \(H_0\).
Điều này có nghĩa là: Không có mối liên hệ có ý nghĩa thống kê giữa giới tính và tình trạng đột quỵ trong dữ liệu này.
Nói cách khác, sự khác biệt về tỷ lệ đột quỵ giữa nam và nữ có thể là do ngẫu nhiên, chứ không phải do yếu tố giới tính thực sự ảnh hưởng đến khả năng bị đột quỵ trong mẫu dữ liệu.
3.1.3 Hiệu hai tỷ lệ
Giả thiết kiểm định:
\(H_0\): \(p_1 = p_2\) (Tỷ lệ đột quỵ ở nữ và nam là bằng nhau)
\(H_1\): \(p_1 \ne p_2\) (Tỷ lệ đột quỵ ở nữ và nam là khác nhau)
##
## 2-sample test for equality of proportions with continuity correction
##
## data: c(116, 86) out of c(2158, 1407)
## X-squared = 0.73299, df = 1, p-value = 0.3919
## alternative hypothesis: two.sided
## 95 percent confidence interval:
## -0.02367989 0.00894093
## sample estimates:
## prop 1 prop 2
## 0.05375348 0.06112296
Dựa vào bảng kết quả ta có:
Tỷ lệ đột quỵ ở nữ là: 0.05375348 (5.375%)
Tỷ lệ đột quỵ ở nam là: 0.06112296 (6.112%)
Hiệu tỷ lệ: 0.0538 - 0.0611 = -0.0073 (nữ thấp hơn nam khoảng 0.73%)
p-value: 0.3919 (> 0.05)
Khoảng tin cậy 95% cho hiệu tỷ lệ: [-2.37%, 0.89%]
Với p_value = 0.3919 > 0.05, không có đủ bằng chứng để bác bỏ giả thiết \(H_0\). Kết luận rằng Không có sự khác biệt có ý nghĩa thống kê giữa tỷ lệ đột quỵ của nam và nữ trong dữ liệu này.
3.1.4. Tỷ số nguy cơ (Relative Risk - RR)
## $data
##
## 0 1 Total
## Female 2042 116 2158
## Male 1321 86 1407
## Total 3363 202 3565
##
## $measure
## risk ratio with 95% C.I.
## estimate lower upper
## Female 1.000000 NA NA
## Male 1.137098 0.8674372 1.490588
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## Female NA NA NA
## Male 0.3532392 0.3739923 0.3522409
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
Tỷ số nguy cơ trên được tính như sau:
\[ RR = \frac{p_{\text{nam}}}{p_{\text{nữ}}} = \frac{\frac{116}{2158}}{\frac{86}{1407}} = \frac{0.06112296}{0.05375348} \approx 1.137098 \]
Tỷ số này có nghĩa là nam giới có nguy cơ bị đột quỵ cao hơn 13.7% so với nữ giới.
3.1.5. Tỷ số chênh (Odds Ratio - OR)
## $data
##
## 0 1 Total
## Female 2042 116 2158
## Male 1321 86 1407
## Total 3363 202 3565
##
## $measure
## odds ratio with 95% C.I.
## estimate lower upper
## Female 1.000000 NA NA
## Male 1.146023 0.8597978 1.527532
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## Female NA NA NA
## Male 0.3532392 0.3739923 0.3522409
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
Tỷ số chênh trên được tính như sau:
\[ OR = \frac {2042} {116} : \frac {1321} {86} = \frac {86 \times 2042} {116 \times 1321}\approx 1.146023 \]
Tỷ số cho biết nam giới có nguy cơ bị đột quỵ cao hơn nữ giới khoảng 14.6%.
3.2. Biến khu vực sinh sống và đột quỵ
3.2.1 Bảng tần số và tần suất chéo
Bảng tần số chéo
residence_stroke_table <- table(data_categorical$residence_type, data_categorical$stroke)
print(residence_stroke_table)
##
## 0 1
## Rural 1656 96
## Urban 1708 106
Trong bảng tần số, số người không bị đột quỵ ở khu vực nông thôn là 1.656 người, còn ở khu vực thành thị là 1.708 người. Về phía những người bị đột quỵ, khu vực nông thôn ghi nhận 96 trường hợp, trong khi khu vực thành thị là 106 trường hợp. Nhìn chung, thành thị có số ca đột quỵ cao hơn nông thôn về mặt số lượng tuyệt đối, tuy nhiên mức chênh lệch không lớn.
Bảng tần suất chéo
residence_stroke_prop <- prop.table(residence_stroke_table, margin = 1) * 100
print(residence_stroke_prop)
##
## 0 1
## Rural 94.520548 5.479452
## Urban 94.156560 5.843440
Về tần suất, trong nhóm dân cư nông thôn, có khoảng 5.48% người bị đột quỵ, trong khi ở khu vực thành thị, tỷ lệ này là 5.84%. Sự khác biệt giữa hai khu vực là rất nhỏ, cho thấy tỷ lệ người bị đột quỵ ở nông thôn và thành thị tương đối giống nhau. Không có dấu hiệu rõ ràng cho thấy khu vực sinh sống ảnh hưởng đáng kể đến khả năng bị đột quỵ.
Trực quan hóa bằng biểu đồ
# Biểu đồ cột cho tần số
ggplot(data_categorical, aes(x = stroke, fill = factor(stroke))) +
geom_bar() +
facet_wrap(~residence_type) +
geom_text(stat = "count", aes(label = ..count..), vjust = -0.5) +
labs(
title = "Biểu đồ tần số: Khu vực sinh sống và Tình trạng đột quỵ",
x = "Tình trạng đột quỵ",
y = "Tần số",
fill = "Tình trạng"
) +
theme_minimal()
Phân tích cho thấy số người không bị đột quỵ ở khu vực nông thôn là 1.656 người, và ở thành thị là 1.708 người. Trong khi đó, số ca bị đột quỵ ghi nhận tại nông thôn là 96 trường hợp, còn tại thành thị là 106 trường hợp. Như vậy, thành thị có số ca đột quỵ cao hơn nhẹ so với nông thôn về mặt tần số.
Xét về tần suất (tỷ lệ phần trăm), tỷ lệ người bị đột quỵ ở nông thôn là khoảng 5.48%, trong khi ở thành thị là 5.84%. Mức chênh lệch là rất nhỏ, cho thấy rằng tỷ lệ đột quỵ giữa hai khu vực là khá tương đồng. Điều này gợi ý rằng khu vực sinh sống không có sự khác biệt rõ rệt về nguy cơ đột quỵ trong dữ liệu này.
3.2.2 Kiểm định thống kê
Giả thiết kiểm định:
\(H_0\): Không có mối liên hệ giữa khu vực sinh sống và tình trạng đột quỵ.
\(H_1\): Có mối liên hệ giữa khu vực sinh sống và tình trạng đột quỵ.
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: residence_stroke_table
## X-squared = 0.1581, df = 1, p-value = 0.6909
Kết quả kiểm định Chi-bình phương với hiệu chỉnh Yates cho thấy giá trị thống kê Chi-squared là 0.1581 với 1 bậc tự do, và giá trị p-value = 0.6909. Với mức ý nghĩa thông thường (α = 0.05), ta không đủ bằng chứng để bác bỏ giả thuyết không.
Điều này có nghĩa là không có mối liên hệ có ý nghĩa thống kê giữa khu vực sinh sống (thành thị hay nông thôn) và tình trạng đột quỵ trong dữ liệu hiện có. Nói cách khác, khu vực sinh sống không ảnh hưởng đáng kể đến khả năng bị đột quỵ theo kết quả kiểm định này.
3.2.3 Hiệu hai tỷ lệ
Giả thiết kiểm định:
\(H_0\): \(p_1 = p_2\) (Tỷ lệ đột quỵ ở hai khu vực là bằng nhau)
\(H_1\): \(p_1 \ne p_2\) (Tỷ lệ đột quỵ ở hai khu vực là khác nhau)
##
## 2-sample test for equality of proportions with continuity correction
##
## data: c(96, 106) out of c(1752, 1814)
## X-squared = 0.1581, df = 1, p-value = 0.6909
## alternative hypothesis: two.sided
## 95 percent confidence interval:
## -0.01936909 0.01208933
## sample estimates:
## prop 1 prop 2
## 0.05479452 0.05843440
Dựa vào bảng kết quả ta có:
Tỷ lệ đột quỵ ở khu vực nông thôn là: 0.0548 (tức 5.48%)
Tỷ lệ đột quỵ ở khu vực thành thị là: 0.0584 (tức 5.84%)
Hiệu tỷ lệ: 0.0548 - 0.0584 = -0.0036 (nghĩa là nông thôn thấp hơn thành thị khoảng 0.36%)
p-value: 0.6909 (> 0.05)
Khoảng tin cậy 95% cho hiệu tỷ lệ: [-1.94%, 1.21%]
Với p-value = 0.6909 > 0.05, không có đủ bằng chứng để bác bỏ giả thuyết \(H_0\).
Kết luận: Không có sự khác biệt có ý nghĩa thống kê giữa tỷ lệ đột quỵ ở khu vực nông thôn và thành thị trong dữ liệu này.
3.2.4. Tỷ số nguy cơ (Relative Risk - RR)
## $data
##
## 0 1 Total
## Rural 1656 96 1752
## Urban 1708 106 1814
## Total 3364 202 3566
##
## $measure
## risk ratio with 95% C.I.
## estimate lower upper
## Rural 1.000000 NA NA
## Urban 1.066428 0.8155347 1.394506
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## Rural NA NA NA
## Urban 0.6394891 0.6640935 0.6383073
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
Tỷ số nguy cơ trên được tính như sau:
\[ RR = \frac{p_{\text{Urban}}}{p_{\text{Rural}}} = \frac{\frac{106}{1814}}{\frac{96}{1752}} \approx 1.066428 \]
Dựa vào kết quả tính toán, tỷ lệ đột quỵ ở khu vực thành thị cao hơn so với khu vực nông thôn. Cụ thể, tỷ số nguy cơ là 1.07, nghĩa là người sống ở thành thị có nguy cơ đột quỵ cao hơn khoảng 6.6% so với người sống ở nông thôn. Điều này cho thấy sự khác biệt nhất định về nguy cơ đột quỵ giữa hai khu vực sinh sống trong tập dữ liệu khảo sát.
3.2.5. Tỷ số chênh (Odds Ratio - OR)
## $data
##
## 0 1 Total
## Rural 1656 96 1752
## Urban 1708 106 1814
## Total 3364 202 3566
##
## $measure
## odds ratio with 95% C.I.
## estimate lower upper
## Rural 1.00000 NA NA
## Urban 1.07055 0.8056361 1.422575
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## Rural NA NA NA
## Urban 0.6394891 0.6640935 0.6383073
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
Tỷ số chênh trên được tính như sau:
\[ OR = \frac {1656} {96} : \frac {1708} {106} = \frac {1656 \times 106} {96 \times 1078} \approx 1.07055 \]
Tỷ số chênh (OR) cho thấy khả năng mắc đột quỵ ở người sống tại thành thị cao hơn khoảng 7% so với người sống ở nông thôn, trong dữ liệu quan sát.
3.3. Biến bệnh tim và đột quỵ
3.3.1 Bảng tần số và tần suất chéo
Bảng tần số chéo
heart_stroke_table <- table(heart_stroke_df$heart_desease, heart_stroke_df$stroke)
print(heart_stroke_table)
##
## Đột quỵ Không đột quỵ
## 0 163 3175
## 1 39 189
Dựa vào bảng tần suất, có thể thấy rằng trong nhóm không mắc bệnh tim, có 163 người bị đột quỵ và 3175 người không bị đột quỵ, chiếm phần lớn. Ngược lại, trong nhóm mắc bệnh tim, có 39 người bị đột quỵ và 189 người không bị đột quỵ.
Như vậy, tỷ lệ người bị đột quỵ trong nhóm có bệnh tim cao hơn rõ rệt so với nhóm không mắc bệnh tim. Điều này cho thấy tình trạng bệnh tim có thể liên quan đến nguy cơ đột quỵ cao hơn trong tập dữ liệu được phân tích.
Bảng tần suất chéo
residence_stroke_prop <- prop.table(residence_stroke_table, margin = 1) * 100
print(residence_stroke_prop)
##
## 0 1
## Rural 94.520548 5.479452
## Urban 94.156560 5.843440
Về tần suất, trong nhóm dân cư nông thôn, có khoảng 5.48% người bị đột quỵ, trong khi ở khu vực thành thị, tỷ lệ này là 5.84%. Sự khác biệt giữa hai khu vực là rất nhỏ, cho thấy tỷ lệ người bị đột quỵ ở nông thôn và thành thị tương đối giống nhau. Không có dấu hiệu rõ ràng cho thấy khu vực sinh sống ảnh hưởng đáng kể đến khả năng bị đột quỵ.
Trực quan hóa bằng biểu đồ
# Biểu đồ cột cho tần số
ggplot(data_categorical, aes(x = stroke, fill = factor(stroke))) +
geom_bar() +
facet_wrap(~residence_type) +
geom_text(stat = "count", aes(label = ..count..), vjust = -0.5) +
labs(
title = "Biểu đồ tần số: Khu vực sinh sống và Tình trạng đột quỵ",
x = "Tình trạng đột quỵ",
y = "Tần số",
fill = "Tình trạng"
) +
theme_minimal()
Phân tích cho thấy số người không bị đột quỵ ở khu vực nông thôn là 1.656 người, và ở thành thị là 1.708 người. Trong khi đó, số ca bị đột quỵ ghi nhận tại nông thôn là 96 trường hợp, còn tại thành thị là 106 trường hợp. Như vậy, thành thị có số ca đột quỵ cao hơn nhẹ so với nông thôn về mặt tần số.
Xét về tần suất (tỷ lệ phần trăm), tỷ lệ người bị đột quỵ ở nông thôn là khoảng 5.48%, trong khi ở thành thị là 5.84%. Mức chênh lệch là rất nhỏ, cho thấy rằng tỷ lệ đột quỵ giữa hai khu vực là khá tương đồng. Điều này gợi ý rằng khu vực sinh sống không có sự khác biệt rõ rệt về nguy cơ đột quỵ trong dữ liệu này.
3.2.2 Kiểm định thống kê
Giả thiết kiểm định:
\(H_0\): Không có mối liên hệ giữa khu vực sinh sống và tình trạng đột quỵ.
\(H_1\): Có mối liên hệ giữa khu vực sinh sống và tình trạng đột quỵ.
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: residence_stroke_table
## X-squared = 0.1581, df = 1, p-value = 0.6909
Kết quả kiểm định Chi-bình phương với hiệu chỉnh Yates cho thấy giá trị thống kê Chi-squared là 0.1581 với 1 bậc tự do, và giá trị p-value = 0.6909. Với mức ý nghĩa thông thường (α = 0.05), ta không đủ bằng chứng để bác bỏ giả thuyết không.
Điều này có nghĩa là không có mối liên hệ có ý nghĩa thống kê giữa khu vực sinh sống (thành thị hay nông thôn) và tình trạng đột quỵ trong dữ liệu hiện có. Nói cách khác, khu vực sinh sống không ảnh hưởng đáng kể đến khả năng bị đột quỵ theo kết quả kiểm định này.
3.2.3 Hiệu hai tỷ lệ
Giả thiết kiểm định:
\(H_0\): \(p_1 = p_2\) (Tỷ lệ đột quỵ ở hai khu vực là bằng nhau)
\(H_1\): \(p_1 \ne p_2\) (Tỷ lệ đột quỵ ở hai khu vực là khác nhau)
##
## 2-sample test for equality of proportions with continuity correction
##
## data: c(96, 106) out of c(1752, 1814)
## X-squared = 0.1581, df = 1, p-value = 0.6909
## alternative hypothesis: two.sided
## 95 percent confidence interval:
## -0.01936909 0.01208933
## sample estimates:
## prop 1 prop 2
## 0.05479452 0.05843440
Dựa vào bảng kết quả ta có:
Tỷ lệ đột quỵ ở khu vực nông thôn là: 0.0548 (tức 5.48%)
Tỷ lệ đột quỵ ở khu vực thành thị là: 0.0584 (tức 5.84%)
Hiệu tỷ lệ: 0.0548 - 0.0584 = -0.0036 (nghĩa là nông thôn thấp hơn thành thị khoảng 0.36%)
p-value: 0.6909 (> 0.05)
Khoảng tin cậy 95% cho hiệu tỷ lệ: [-1.94%, 1.21%]
Với p-value = 0.6909 > 0.05, không có đủ bằng chứng để bác bỏ giả thuyết \(H_0\).
Kết luận: Không có sự khác biệt có ý nghĩa thống kê giữa tỷ lệ đột quỵ ở khu vực nông thôn và thành thị trong dữ liệu này.
3.2.4. Tỷ số nguy cơ (Relative Risk - RR)
## $data
##
## 0 1 Total
## Rural 1656 96 1752
## Urban 1708 106 1814
## Total 3364 202 3566
##
## $measure
## risk ratio with 95% C.I.
## estimate lower upper
## Rural 1.000000 NA NA
## Urban 1.066428 0.8155347 1.394506
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## Rural NA NA NA
## Urban 0.6394891 0.6640935 0.6383073
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
Tỷ số nguy cơ trên được tính như sau:
\[ RR = \frac{p_{\text{Urban}}}{p_{\text{Rural}}} = \frac{\frac{106}{1814}}{\frac{96}{1752}} \approx 1.066428 \]
Dựa vào kết quả tính toán, tỷ lệ đột quỵ ở khu vực thành thị cao hơn so với khu vực nông thôn. Cụ thể, tỷ số nguy cơ là 1.07, nghĩa là người sống ở thành thị có nguy cơ đột quỵ cao hơn khoảng 6.6% so với người sống ở nông thôn. Điều này cho thấy sự khác biệt nhất định về nguy cơ đột quỵ giữa hai khu vực sinh sống trong tập dữ liệu khảo sát.
3.2.5. Tỷ số chênh (Odds Ratio - OR)
## $data
##
## 0 1 Total
## Rural 1656 96 1752
## Urban 1708 106 1814
## Total 3364 202 3566
##
## $measure
## odds ratio with 95% C.I.
## estimate lower upper
## Rural 1.00000 NA NA
## Urban 1.07055 0.8056361 1.422575
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## Rural NA NA NA
## Urban 0.6394891 0.6640935 0.6383073
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
Tỷ số chênh trên được tính như sau:
\[ OR = \frac {1656} {96} : \frac {1708} {106} = \frac {1656 \times 106} {96 \times 1078} \approx 1.07055 \]
Tỷ số chênh (OR) cho thấy khả năng mắc đột quỵ ở người sống tại thành thị cao hơn khoảng 7% so với người sống ở nông thôn, trong dữ liệu quan sát.
4. Phân tích cho biến tăng huyết áp
4.1 Biến tình trạng hôn nhân và tăng huyết áp
4.1.1. Bảng tần số và tần suất chéo
Bảng tần số chéo
married_hypertension_table <- table(data_categorical$ever_married,data_categorical$hypertension)
print(married_hypertension_table)
##
## 0 1
## No 808 48
## Yes 2312 398
Kết quả bảng tần số cho thấy trong số những người chưa từng kết hôn có 808 người không bị tăng huyết áp và 48 người bị tăng huyết áp, trong khi nhóm đã từng kết hôn có 2312 người không bị tăng huyết áp và 398 người bị tăng huyết áp. Như vậy, số người bị tăng huyết áp ở nhóm đã từng kết hôn cao hơn đáng kể về mặt tần số so với nhóm chưa từng kết hôn.
Bảng tần suất chéo
married_hypertension_prop <- prop.table(married_hypertension_table, margin = 1) * 100
print(married_hypertension_prop)
##
## 0 1
## No 94.392523 5.607477
## Yes 85.313653 14.686347
Kết quả bảng tần suất cho thấy trong nhóm chưa từng kết hôn, 94.39% không bị tăng huyết áp và 5.61% bị tăng huyết áp. Trong khi đó, ở nhóm đã từng kết hôn, 85.31% không bị tăng huyết áp và 14.69% bị tăng huyết áp. Như vậy, tỷ lệ người bị tăng huyết áp ở nhóm đã từng kết hôn cao hơn đáng kể so với nhóm chưa từng kết hôn.
Trực quan hóa bằng biểu đồ
# Biểu đồ cột cho tần số
ggplot(data_categorical, aes(x = hypertension, fill = hypertension)) +
geom_bar() +
facet_wrap(~ ever_married) +
geom_text(stat = "count", aes(label = ..count..), vjust = -0.5) +
labs(title = "Biểu đồ tần số: Tình trạng hôn nhân và Tình trạng tăng huyết áp",
x = "Tình trạng tăng huyết áp", y = "Tần số") +
theme_minimal()
Biểu đồ tần số cho thấy sự khác biệt rõ rệt về tình trạng tăng huyết áp giữa hai nhóm hôn nhân. Trong nhóm chưa từng kết hôn, có 808 người không bị tăng huyết áp và 48 người bị tăng huyết áp. Trong khi đó, nhóm đã từng kết hôn ghi nhận 2312 người không bị tăng huyết áp và 398 người bị tăng huyết áp. Tổng thể, số người bị tăng huyết áp ở nhóm đã kết hôn cao hơn đáng kể về tần số. Điều này gợi ý rằng tình trạng hôn nhân có thể có liên quan đến nguy cơ tăng huyết áp, tuy nhiên cần kiểm định thống kê để đánh giá mức độ ý nghĩa của mối quan hệ này.
4.1.2 Kiểm định thống kê
Giả thiết kiểm định:
\(H_0\): Không có mối liên hệ giữa tình trạng hôn nhân và việc tăng huyết áp.
\(H_1\): Có mối liên hệ giữa tình trạng hôn nhân và việc tăng huyết áp.
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: married_hypertension_table
## X-squared = 48.174, df = 1, p-value = 3.9e-12
Với giá trị p-value = 3.9e-12 < 0.05, ta có đủ bằng chứng để bác bỏ giả thiết \(H_0\).
Điều này có nghĩa là: Có mối liên hệ có ý nghĩa thống kê giữa tình trạng hôn nhân và tình trạng tăng huyết áp trong dữ liệu này.
Nói cách khác, sự khác biệt về tỷ lệ tăng huyết áp giữa nhóm đã kết hôn và chưa kết hôn không phải do ngẫu nhiên, mà có thể là do tình trạng hôn nhân thực sự có ảnh hưởng đến khả năng mắc tăng huyết áp trong mẫu dữ liệu.
4.1.3 Hiệu hai tỷ lệ
Giả thiết kiểm định:
\(H_0\): \(p_1 = p_2\) (Tỷ lệ tăng huyết áp ở người đã kết hôn và chưa kết hôn là bằng nhau)
\(H_1\): \(p_1 \ne p_2\) (Tỷ lệ tăng huyết áp ở người đã kết hôn và chưa kết hôn là khác nhau)
##
## 2-sample test for equality of proportions with continuity correction
##
## data: c(48, 398) out of c(856, 2710)
## X-squared = 48.174, df = 1, p-value = 3.9e-12
## alternative hypothesis: two.sided
## 95 percent confidence interval:
## -0.11193234 -0.06964506
## sample estimates:
## prop 1 prop 2
## 0.05607477 0.14686347
Dựa vào bảng kết quả ta có:
Tỷ lệ tăng huyết áp ở người chưa từng kết hôn là: 0.0561 (5.61%).
Tỷ lệ tăng huyết áp ở người đã từng kết hôn là: 0.1469 (14.69%).
Hiệu tỷ lệ: 0.0561 – 0.1469 = -0.0908 (người chưa kết hôn thấp hơn người đã kết hôn khoảng 9.08%).
p-value: 3.9e-12 (< 0.05).
Khoảng tin cậy 95% cho hiệu tỷ lệ: [-11.19%, -6.96%].
Với p-value = 3.9e-12 < 0.05, ta có đủ bằng chứng để bác bỏ giả thiết \(H_0\) . Kết luận rằng có sự khác biệt có ý nghĩa thống kê giữa tỷ lệ tăng huyết áp của người đã kết hôn và chưa kết hôn trong dữ liệu này.
4.1.4. Tỷ số nguy cơ (Relative Risk - RR)
## $data
##
## 0 1 Total
## No 808 48 856
## Yes 2312 398 2710
## Total 3120 446 3566
##
## $measure
## risk ratio with 95% C.I.
## estimate lower upper
## No 1.000000 NA NA
## Yes 2.619065 1.960843 3.498241
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## No NA NA NA
## Yes 5.728751e-14 6.919372e-14 2.55926e-12
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
Tỷ số nguy cơ trên được tính như sau:
\[ RR = \frac{p_{\text{đã kết hôn}}}{p_{\text{chưa kết hôn}}} = \frac{\frac{398}{2710}}{\frac{48}{856}} \approx 2.619065 \]
Tỷ số này có nghĩa là những người đã từng kết hôn có nguy cơ bị tăng huyết áp cao hơn khoảng 2.62 lần so với những người chưa từng kết hôn.
4.1.5. Tỷ số chênh (Odds Ratio - OR)
## $data
##
## 0 1 Total
## No 808 48 856
## Yes 2312 398 2710
## Total 3120 446 3566
##
## $measure
## odds ratio with 95% C.I.
## estimate lower upper
## No 1.00000 NA NA
## Yes 2.89778 2.125374 3.950894
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## No NA NA NA
## Yes 5.728751e-14 6.919372e-14 2.55926e-12
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
Tỷ số chênh trên được tính như sau:
\[ OR = \frac {398} {2312} : \frac {48} {808} = \frac {398 \times 808} {48 \times 2321}\approx 2.89778 \]
Tỷ số này có nghĩa là những người đã từng kết hôn có nguy cơ bị tăng huyết áp cao hơn khoảng 2.62 lần so với những người chưa từng kết hôn.
4.2. Biến loại công việc và tình trạng tăng huyết áp
4.2.1 Bảng tần số và tần suất chéo
Tạo một dataframe mới chỉ chứa hai biến này.
Bài phân tích chỉ quan tâm đến loại hình công việc tư nhân và nhà nước, vì vậy đối với các loại hình công việc còn lại sẽ được loại bỏ.
4.2.1. Bảng tần số và tần suất chéo
Bảng tần số chéo
work_hypertension_table <- table(work_hypertension_df$work_type, work_hypertension_df$hypertension)
print(work_hypertension_table)
##
## 0 1
## Govt_job 465 70
## Private 2033 252
Bảng tần số chéo cho thấy trong nhóm làm việc nhà nước (Govt_job) có 465 người không bị tăng huyết áp và 70 người bị tăng huyết áp. Trong khi đó, nhóm làm việc tư nhân (Private) có 2.033 người không bị và 252 người bị tăng huyết áp. Như vậy, số người trong nhóm làm việc tư nhân cao hơn đáng kể so với nhóm nhà nước ở cả hai tình trạng huyết áp.
Bảng tần suất chéo
work_hypertension_prop <- prop.table(work_hypertension_table, margin = 1) * 100
print(work_hypertension_prop)
##
## 0 1
## Govt_job 86.91589 13.08411
## Private 88.97155 11.02845
Dựa trên bảng tần suất, trong nhóm làm việc nhà nước (Govt_job), có khoảng 86.92% người không bị tăng huyết áp và 13.08% người bị tăng huyết áp. Trong khi đó, ở nhóm làm việc tư nhân (Private), 88.97% không bị và 11.03% bị tăng huyết áp.
Như vậy, tỷ lệ người bị tăng huyết áp trong nhóm nhà nước cao hơn nhẹ so với nhóm tư nhân.
Trực quan hóa bằng biểu đồ
# Biểu đồ cột cho tần số
ggplot(work_hypertension_df, aes(x = hypertension, fill = hypertension)) +
geom_bar() +
facet_wrap(~work_type) +
geom_text(stat = "count", aes(label = ..count..), vjust = -0.5) +
labs(title = "Biểu đồ tần số: Loại hình công việc và Tình trạng tăng huyết áp",
x = "Tình trạng tăng huyết áp", y = "Tần số") +
theme_minimal()
Dữ liệu cho thấy sự khác biệt nhất định về tình trạng tăng huyết áp giữa hai nhóm loại hình công việc. Nhóm làm việc tư nhân có số lượng người cao hơn rõ rệt so với nhóm nhà nước ở cả hai mức huyết áp. Tuy nhiên, xét về tần suất, tỷ lệ người bị tăng huyết áp trong nhóm nhà nước (13.08%) cao hơn so với nhóm tư nhân (11.03%). Điều này cho thấy có thể tồn tại mối liên hệ giữa loại hình công việc và tình trạng tăng huyết áp, tuy nhiên mức độ khác biệt không quá lớn.
4.2.2 Kiểm định thống kê
Giả thiết kiểm định:
\(H_0\): Không có mối liên hệ giữa loại hình làm việc và tình trạng tăng huyết áp.
\(H_1\): Có mối liên hệ giữa loại hình làm việc và tình trạng tăng huyết áp.
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: work_hypertension_table
## X-squared = 1.6136, df = 1, p-value = 0.204
Kết quả kiểm định Chi bình phương với hiệu chỉnh liên tục cho thấy:
Giá trị thống kê Chi bình phương: 1.6136
Bậc tự do: 1
Giá trị p (p-value): 0.204
Với mức ý nghĩa thông thường là 0.05, ta thấy p-value = 0.204 > 0.05, do đó không có đủ bằng chứng để bác bỏ giả thuyết không (H₀).
Kết luận: Không có mối liên hệ có ý nghĩa thống kê giữa loại hình công việc và tình trạng tăng huyết áp trong mẫu dữ liệu này. Nói cách khác, hai biến này độc lập nhau về mặt thống kê.
4.2.3 Hiệu hai tỷ lệ
Giả thiết kiểm định:
\(H_0\): \(p_1 = p_2\) (Tỷ lệ tăng huyết áp ở cả hai loại hình làm việc là bằng nhau)
\(H_1\): \(p_1 \ne p_2\) (Tỷ lệ tăng huyết áp ở cả hai loại hình làm việc là khác nhau)
##
## 2-sample test for equality of proportions with continuity correction
##
## data: c(70, 252) out of c(535, 2285)
## X-squared = 1.6136, df = 1, p-value = 0.204
## alternative hypothesis: two.sided
## 95 percent confidence interval:
## -0.01192587 0.05303919
## sample estimates:
## prop 1 prop 2
## 0.1308411 0.1102845
Dựa vào bảng kết quả ta có:
Tỷ lệ người bị tăng huyết áp ở nhóm Govt_job là 13.08%, trong khi ở nhóm Private là 11.03%.
Khoảng tin cậy 95% cho hiệu số hai tỷ lệ là từ -1.19% đến 5.30%.
Giá trị thống kê Chi bình phương là 1.6136, với p-value = 0.204.
Với p-value > 0.05, không có đủ bằng chứng để kết luận rằng tỷ lệ tăng huyết áp giữa hai nhóm công việc là khác nhau. Nói cách khác, sự khác biệt về tỷ lệ bị tăng huyết áp giữa nhóm làm việc nhà nước và tư nhân không có ý nghĩa thống kê.
4.2.4. Tỷ số nguy cơ (Relative Risk - RR)
## $data
##
## 0 1 Total
## Govt_job 465 70 535
## Private 2033 252 2285
## Total 2498 322 2820
##
## $measure
## risk ratio with 95% C.I.
## estimate lower upper
## Govt_job 1.0000000 NA NA
## Private 0.8428884 0.6580798 1.079597
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## Govt_job NA NA NA
## Private 0.1824334 0.1749573 0.1783747
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
Tỷ số nguy cơ trên được tính như sau:
\[ RR = \frac{p_{\text{private}}}{p_{\text{govt_job}}} = \frac{\frac{252}{2285}}{\frac{70}{535}} \approx 0.8428884 \]
Tỷ số này có nghĩa là nhóm làm việc trong khu vực tư nhân có nguy cơ bị tăng huyết áp thấp hơn khoảng 15.7% so với nhóm làm việc trong khu vực nhà nước.
Các kiểm định đi kèm (Mid-p exact, Fisher exact, và Chi-square) đều cho p-value > 0.05, lần lượt là 0.1824, 0.1750 và 0.1784. Do đó, không có đủ bằng chứng thống kê để kết luận rằng nguy cơ tăng huyết áp giữa hai nhóm công việc là khác biệt.
4.2.5. Tỷ số chênh (Odds Ratio - OR)
## $data
##
## 0 1 Total
## Govt_job 465 70 535
## Private 2033 252 2285
## Total 2498 322 2820
##
## $measure
## odds ratio with 95% C.I.
## estimate lower upper
## Govt_job 1.0000000 NA NA
## Private 0.8234137 0.6202574 1.093111
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## Govt_job NA NA NA
## Private 0.1824334 0.1749573 0.1783747
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
Tỷ số chênh trên được tính như sau:
\[ OR = \frac {252} {2033} : \frac {70} {465} = \frac {252 \times 465} {70 \times 2033}\approx 0.8234137 \]
Tỷ số này cho biết nhóm làm việc trong khu vực tư nhân có odds bị tăng huyết áp thấp hơn khoảng 17.7% so với nhóm làm việc trong khu vực nhà nước.
Các kiểm định đi kèm (Mid-p exact, Fisher exact và Chi-square) đều cho p-value > 0.05 (lần lượt là 0.1824, 0.1750 và 0.1784), do đó không có đủ bằng chứng để kết luận rằng odds bị tăng huyết áp khác nhau giữa hai nhóm loại hình công việc.
5. Phân tích hàm hồi quy cho biến đột quỵ
Trong phân tích này, bài thực hành sử dụng bộ dữ liệu Stroke
Prediction Dataset để xây dựng mô hình hồi quy nhằm đánh giá
mối liên hệ giữa một số đặc điểm nhân khẩu học và nguy cơ bị đột quỵ.
Biến phụ thuộc được lựa chọn là biến nhị phân stroke
, thể
hiện tình trạng có bị đột quỵ hay không (1: có, 0: không). Các biến độc
lập được đưa vào mô hình gồm: giới tính (gender
), tình
trạng tăng huyết áp (hypertension
), tình trạng hôn nhân
(ever_married
) và khu vực sinh sống
(Residence_type
). Trong đó, biến gender
ban
đầu có ba mức: Male (nam), Female (nữ) và Other (khác); tuy nhiên, do số
lượng quan sát ở nhóm “Other” rất ít và nhằm mục đích trực quan hóa kết
quả hồi quy, bài thực hành sẽ loại bỏ nhóm này khỏi phân tích. Mô hình
hồi quy được sử dụng nhằm xác định xem các yếu tố kể trên có ảnh hưởng
đáng kể đến nguy cơ đột quỵ hay không, từ đó góp phần hỗ trợ nhận diện
nhóm đối tượng có nguy cơ cao để can thiệp kịp thời.
dulieuhoiquy <- data_categorical[,c("gender","hypertension","ever_married","residence_type", "stroke")]
dulieuhoiquy <- dulieuhoiquy[dulieuhoiquy$gender != "Other",]
dulieuhoiquy$gender <- droplevels(dulieuhoiquy$gender)
5.1 Hồi quy logit
modellg <- glm(stroke ~ gender + hypertension + ever_married + residence_type, data = dulieuhoiquy, family = binomial(link = "logit"))
summary(modellg)
##
## Call:
## glm(formula = stroke ~ gender + hypertension + ever_married +
## residence_type, family = binomial(link = "logit"), data = dulieuhoiquy)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -3.86174 0.24294 -15.896 < 2e-16 ***
## genderMale 0.08456 0.14855 0.569 0.569210
## hypertension1 1.13237 0.16350 6.926 4.34e-12 ***
## ever_marriedYes 0.90014 0.23609 3.813 0.000137 ***
## residence_typeUrban 0.07881 0.14680 0.537 0.591374
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 1552.1 on 3564 degrees of freedom
## Residual deviance: 1483.7 on 3560 degrees of freedom
## AIC: 1493.7
##
## Number of Fisher Scoring iterations: 6
Kết quả hệ số hồi quy:
Biến | Hệ số (Estimate) | Ý nghĩa thống kê (p-value) | Giải thích |
---|---|---|---|
(Intercept) | -3.86174 | < 2e-16 (***) | Giá trị log-odds khi tất cả các biến độc lập bằng 0 |
genderMale | 0.08456 | 0.5692 | Không có ý nghĩa thống kê; giới tính nam không ảnh hưởng đáng kể đến nguy cơ đột quỵ |
hypertension1 | 1.13237 | 4.34e-12 (***) | Có ý nghĩa thống kê mạnh; người bị tăng huyết áp có odds bị đột quỵ cao hơn đáng kể |
ever_marriedYes | 0.90014 | 0.000137 (***) | Người đã từng kết hôn có odds bị đột quỵ cao hơn đáng kể so với người chưa từng kết hôn |
residence_typeUrban | 0.07881 | 0.5914 | Không có ý nghĩa thống kê; khu vực sống không ảnh hưởng đáng kể đến xác suất đột quỵ |
*Ý nghĩa các hệ số hồi quy:
genderMale
: 0.08456. Người nam giới có odds bị đột quỵ cao hơn 8.8% so với nữ giới, khi các yếu tố khác không thay đổi.hypertension1
: 1.13237. Người bị tăng huyết áp có nguy cơ đột quỵ cao gấp khoảng 3.1 lần so với người không bị tăng huyết áp, khi các yếu tố khác giữ nguyên.ever_marriedYes
: 0.90014. Người đã từng kết hôn có nguy cơ đột quỵ cao hơn khoảng 2.46 lần so với người chưa từng kết hôn, khi các yếu tố khác giữ nguyên.residence_typeUrban
: 0.07881. Người sống ở khu vực thành thị có odds đột quỵ cao hơn khoảng 8.2% so với người sống ở nông thôn, khi các yếu tố khác không thay đổi.
NHẬN XÉT CHUNG
Tăng huyết áp và tình trạng hôn nhân là hai yếu tố có ảnh hưởng có ý nghĩa thống kê đến khả năng bị đột quỵ.
Giới tính và khu vực sống không có ảnh hưởng đáng kể trong mô hình này.
Mô hình gợi ý rằng yếu tố sức khỏe và hoàn cảnh cá nhân (huyết áp, hôn nhân) quan trọng hơn đặc điểm nhân khẩu học đơn thuần (giới, nơi sống) trong việc dự đoán nguy cơ đột quỵ.
5.2 Hồi quy probit
modelpb <- glm(stroke ~ gender + hypertension + ever_married + residence_type, data = dulieuhoiquy, family = binomial(link = "probit"))
summary(modelpb)
##
## Call:
## glm(formula = stroke ~ gender + hypertension + ever_married +
## residence_type, family = binomial(link = "probit"), data = dulieuhoiquy)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -2.08659 0.10613 -19.661 < 2e-16 ***
## genderMale 0.04261 0.07106 0.600 0.549
## hypertension1 0.57708 0.08441 6.837 8.09e-12 ***
## ever_marriedYes 0.43177 0.10273 4.203 2.64e-05 ***
## residence_typeUrban 0.04195 0.07002 0.599 0.549
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 1552.1 on 3564 degrees of freedom
## Residual deviance: 1481.2 on 3560 degrees of freedom
## AIC: 1491.2
##
## Number of Fisher Scoring iterations: 6
Kết quả hệ số hồi quy:
Biến | Hệ số (Estimate) | Ý nghĩa thống kê (p-value) | Giải thích |
---|---|---|---|
(Intercept) | -2.08659 | < 2e-16 (***) | Giá trị của z (probit) khi tất cả các biến độc lập bằng 0 |
genderMale | 0.04261 | 0.549 | Không có ý nghĩa thống kê; giới tính nam không ảnh hưởng đáng kể đến xác suất bị đột quỵ |
hypertension1 | 0.57708 | 8.09e-12 (***) | Có ý nghĩa thống kê mạnh; người bị tăng huyết áp có xác suất bị đột quỵ cao hơn đáng kể |
ever_marriedYes | 0.43177 | 2.64e-05 (***) | Người đã từng kết hôn có xác suất bị đột quỵ cao hơn đáng kể so với người chưa từng kết hôn |
residence_typeUrban | 0.04195 | 0.549 | Không có ý nghĩa thống kê; khu vực sống không ảnh hưởng đáng kể đến xác suất bị đột quỵ |
Ý nghĩa các hệ số hồi quy:
genderMale
: 0.04261. Giới tính nam có ảnh hưởng dương rất nhẹ đến xác suất bị đột quỵ, nhưng không có ý nghĩa thống kê (p = 0.549), do đó không thể kết luận giới tính ảnh hưởng đến đột quỵ trong mô hình này.hypertension1
: 0.57708. Người bị tăng huyết áp có z-score (logit trên chuẩn tắc) cao hơn đáng kể so với người không bị tăng huyết áp, tức là xác suất bị đột quỵ cao hơn rõ rệt. Biến này có ý nghĩa thống kê mạnh (p < 0.001).ever_marriedYes
: 0.43177. Người đã từng kết hôn có xác suất bị đột quỵ cao hơn so với người chưa từng kết hôn, và ảnh hưởng này có ý nghĩa thống kê (p < 0.001).residence_typeUrban
: 0.04195. Người sống ở khu vực thành thị có xác suất đột quỵ cao hơn một chút so với người sống ở nông thôn, nhưng không có ý nghĩa thống kê (p = 0.549), nên không thể khẳng định có ảnh hưởng thực sự.
NHẬN XÉT CHUNG
Trong mô hình hồi quy probit, hai biến tăng huyết áp và tình trạng hôn nhân là những yếu tố có ảnh hưởng có ý nghĩa thống kê rõ rệt đến xác suất bị đột quỵ.
Ngược lại, các yếu tố như giới tính và khu vực cư trú không cho thấy ảnh hưởng đáng kể về mặt thống kê trong việc dự đoán nguy cơ đột quỵ.
Mô hình gợi ý rằng các yếu tố sức khỏe và hoàn cảnh cá nhân (như bệnh lý nền và tình trạng hôn nhân) đóng vai trò quan trọng hơn đặc điểm nhân khẩu học trong việc xác định xác suất đột quỵ trong tập dữ liệu này.