df <-read.csv("C:/Users/DELL/Downloads/data (1).csv", header= T)
# Tách dữ liệu thành nhiều cột
data <- tidyr::separate(
df,
col = 1,
into = c("type_school", "school_accreditation", "gender", "interest",
"residence", "parent_age", "parent_salary", "house_area",
"average_grades", "parent_was_in_college", "will_go_to_college"),
sep = ";"
)
data <- data [,-6]
data$type_school <- as.factor(data$type_school)
data$school_accreditation <- as.factor(data$school_accreditation)
data$gender <- as.factor(data$gender)
data$interest <- as.factor(data$interest)
data$residence <- as.factor(data$residence)
data$parent_salary <- as.factor(data$parent_salary)
data$house_area <- as.factor(data$house_area)
data$average_grades <- as.factor(data$average_grades)
data$parent_was_in_college <- as.factor(data$parent_was_in_college)
data$will_go_to_college <- as.factor(data$will_go_to_college)
# Chạy mô hình logistic
xstt.WR <- glm(will_go_to_college ~ residence, data = data, family = binomial)
summary(xstt.WR)
##
## Call:
## glm(formula = will_go_to_college ~ residence, family = binomial,
## data = data)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -0.01302 0.09315 -0.14 0.889
## residenceUrban 0.02415 0.12688 0.19 0.849
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 1386.3 on 999 degrees of freedom
## Residual deviance: 1386.3 on 998 degrees of freedom
## AIC: 1390.3
##
## Number of Fisher Scoring iterations: 3
Hàm hồi quy có dạng:
\[ \log\left(\frac{\hat{\pi}}{1 - \hat{\pi}}\right) = -0.01302 + 0.02415 \cdot \text{residence}_{\text{Urban}} \]
Trong đó:
Hệ số chặn (Intercept) = -0.01302, thể hiện log-odds đi học đại học khi người đó sống ở vùng nông thôn (Rural).
Hệ số của residenceUrban = 0.02415, nghĩa là
log-odds tăng nhẹ nếu người đó sống ở thành thị (Urban)
so với Rural.
Ý nghĩa thống kê:
| Biến | Estimate | p-value |
|---|---|---|
| (Intercept) | -0.01302 | 0.889 |
| residenceUrban | 0.02415 | 0.849 |
residenceUrban có p-value = 0.849 → không có ý
nghĩa thống kê.Độ phù hợp của mô hình:
Kết luận:
Biến residence không phải là một yếu tố giải thích tốt
cho biến will_go_to_college. Không có bằng chứng thống kê
nào cho thấy sống ở thành thị hay nông thôn ảnh hưởng đến khả năng đi
học đại học trong dữ liệu này. Để cải thiện mô hình, nên xem xét đưa vào
thêm các biến quan trọng khác như: thu nhập, trình độ cha mẹ, kết quả
học tập, v.v.
# Chạy mô hình logistic
xstt.WP <- glm(will_go_to_college ~ parent_was_in_college, data = data, family = binomial)
summary(xstt.WP)
##
## Call:
## glm(formula = will_go_to_college ~ parent_was_in_college, family = binomial,
## data = data)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -0.1001 0.0914 -1.095 0.274
## parent_was_in_collegeTRUE 0.1925 0.1267 1.519 0.129
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 1386.3 on 999 degrees of freedom
## Residual deviance: 1384.0 on 998 degrees of freedom
## AIC: 1388
##
## Number of Fisher Scoring iterations: 3
Hàm hồi quy có dạng:
\[ \log\left(\frac{\hat{\pi}}{1 - \hat{\pi}}\right) = -0.1001 + 0.1925 \cdot \text{parent\_was\_in\_college}_{\text{TRUE}} \]
Trong đó:
Hệ số chặn (Intercept) = -0.1001, là log-odds đi học đại học của những người có cha mẹ không học đại học (nhóm tham chiếu).
Hệ số của biến parent_was_in_collegeTRUE = 0.1925, nghĩa là log-odds đi học đại học của người có cha mẹ từng học đại học cao hơn một chút so với người không có.
Với p-value = 0.129 (> 0.05), biến parent_was_in_college không có ý nghĩa thống kê ở mức 5%.
Do đó, không có bằng chứng rõ ràng cho thấy cha mẹ từng học đại học ảnh hưởng đến việc con cái có đi học đại học trong mô hình này.
Độ phù hợp của mô hình:
Null deviance = 1386.3; Residual deviance = 1384.0 → mô hình chỉ cải thiện rất nhẹ so với mô hình không có biến giải thích.
AIC = 1388, không cải thiện đáng kể so với mô hình chỉ có Intercept.
Kết luận:
Biến parent_was_in_college chưa cho thấy ảnh hưởng rõ rệt đến xác suất đi học đại học của người tham gia khảo sát. Mặc dù hệ số dương cho thấy xu hướng “nếu cha mẹ từng học đại học thì con cái có xu hướng học đại học cao hơn”, nhưng kết quả không đạt mức ý nghĩa thống kê. Nên xem xét kết hợp thêm các biến khác như thành tích học tập, thu nhập, môi trường sống, v.v. để cải thiện mô hình dự đoán.
reglogit_SR <- glm( school_accreditation ~ residence, data = data, family = binomial(link = 'logit'))
summary(reglogit_SR)
##
## Call:
## glm(formula = school_accreditation ~ residence, family = binomial(link = "logit"),
## data = data)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 0.67046 0.09843 6.811 9.67e-12 ***
## residenceUrban -1.08830 0.13206 -8.241 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 1384.9 on 999 degrees of freedom
## Residual deviance: 1314.2 on 998 degrees of freedom
## AIC: 1318.2
##
## Number of Fisher Scoring iterations: 4
Biến school_accreditation có hai mức: A
(giá trị 1 – nhóm tham chiếu) và B (giá trị 0). Biến
residence gồm Rural (nhóm tham chiếu) và
Urban.
Hàm hồi quy có dạng:
\[ \log\left(\frac{\hat{\pi}}{1 - \hat{\pi}}\right) = 0.67046 - 1.08830 \cdot \text{residence}_{\text{Urban}} \]
Trong đó:
\(\hat{\pi}\) là xác suất học tại trường kiểm định loại A.
Nhóm cư trú Rural được dùng làm tham chiếu, nên
hệ số của residenceUrban thể hiện sự khác biệt log-odds so
với nhóm Rural.
Kết quả ước lượng:
| Biến | Estimate | Std. Error | z-value | p-value |
|---|---|---|---|---|
| (Intercept) | 0.67046 | 0.09843 | 6.811 | 9.67e-12 *** |
| residenceUrban | -1.08830 | 0.13206 | -8.241 | < 2e-16 *** |
Diễn giải:
Hệ số residenceUrban = -1.0883 nghĩa là người sống ở
thành thị có log-odds giảm đáng kể về khả năng học
trường kiểm định loại A so với nông thôn.
Cả hai hệ số đều có ý nghĩa thống kê rất cao (p-value gần 0).
Độ phù hợp mô hình:
Null deviance: 1384.9
Residual deviance: 1314.2
→ Mô hình giảm deviance đáng kể → phù hợp tốt. - AIC = 1318.2
Kết luận:
Có bằng chứng thống kê mạnh cho thấy người sống ở khu vực thành thị có xác suất thấp hơn để học trường kiểm định loại A. Điều này gợi ý mối liên hệ tiềm năng giữa điều kiện địa lý và tiếp cận giáo dục chất lượng.
reglogit_SPS <- glm( school_accreditation ~ parent_was_in_college, data = data, family = binomial(link = 'logit'))
summary(reglogit_SPS)
##
## Call:
## glm(formula = school_accreditation ~ parent_was_in_college, family = binomial(link = "logit"),
## data = data)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -1.1210 0.1060 -10.57 <2e-16 ***
## parent_was_in_collegeTRUE 2.3358 0.1488 15.70 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 1384.9 on 999 degrees of freedom
## Residual deviance: 1094.8 on 998 degrees of freedom
## AIC: 1098.8
##
## Number of Fisher Scoring iterations: 4
Hàm hồi quy có dạng:
\[ \log\left(\frac{\hat{\pi}}{1 - \hat{\pi}}\right) = -1.1210 + 2.3358 \cdot \text{parent\_was\_in\_college}_{\text{TRUE}} \]
Kết quả:
| Biến | Estimate | Std. Error | z-value | p-value |
|---|---|---|---|---|
| (Intercept) | -1.1210 | 0.1060 | -10.57 | < 2e-16 *** |
| parent_was_in_collegeTRUE | 2.3358 | 0.1488 | 15.70 | < 2e-16 *** |
Diễn giải:
Hệ số dương cho thấy người có cha mẹ từng học đại học có xác suất cao hơn rõ rệt để học trường loại A.
Kết quả này có ý nghĩa thống kê rất mạnh (p-value < 0.001).
Độ phù hợp mô hình:
Null deviance: 1384.9
Residual deviance: 1094.8
AIC = 1098.8 → mô hình phù hợp tốt.
Kết luận:
Cha mẹ từng học đại học là một yếu tố quan trọng ảnh hưởng tích cực đến khả năng học tại trường kiểm định loại A.
regprobit_SR <- glm( school_accreditation ~ residence, data = data, family = binomial(link = 'probit'))
summary(regprobit_SR)
##
## Call:
## glm(formula = school_accreditation ~ residence, family = binomial(link = "probit"),
## data = data)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 0.41685 0.06025 6.918 4.57e-12 ***
## residenceUrban -0.67789 0.08135 -8.333 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 1384.9 on 999 degrees of freedom
## Residual deviance: 1314.2 on 998 degrees of freedom
## AIC: 1318.2
##
## Number of Fisher Scoring iterations: 4
logistic_model_mle <- glm(will_go_to_college ~ ., data = data, family = binomial(link = "logit"))
summary(logistic_model_mle)
##
## Call:
## glm(formula = will_go_to_college ~ ., family = binomial(link = "logit"),
## data = data)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 4.78841 0.97830 4.895 9.85e-07 ***
## type_schoolVocational -0.03753 0.21309 -0.176 0.860195
## school_accreditationB -0.70951 0.24318 -2.918 0.003527 **
## genderMale -0.22348 0.19472 -1.148 0.251081
## interestLess Interested 0.90309 0.42540 2.123 0.033762 *
## interestNot Interested 2.29486 0.51450 4.460 8.18e-06 ***
## interestUncertain 1.88883 0.43584 4.334 1.47e-05 ***
## interestVery Interested 1.75214 0.41675 4.204 2.62e-05 ***
## residenceUrban 2.84110 0.31917 8.902 < 2e-16 ***
## parent_salaryaverage -1.96130 0.22533 -8.704 < 2e-16 ***
## parent_salaryhigh 3.14573 0.90806 3.464 0.000532 ***
## parent_salarylow -5.02718 0.65263 -7.703 1.33e-14 ***
## house_areaMedium -1.61116 0.28296 -5.694 1.24e-08 ***
## house_areaSmall -3.16206 0.32414 -9.755 < 2e-16 ***
## average_gradesFair -5.72559 0.82581 -6.933 4.11e-12 ***
## average_gradesGood -4.55926 0.81821 -5.572 2.51e-08 ***
## parent_was_in_collegeTRUE 0.69473 0.30259 2.296 0.021680 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 1386.3 on 999 degrees of freedom
## Residual deviance: 688.9 on 983 degrees of freedom
## AIC: 722.9
##
## Number of Fisher Scoring iterations: 7
1. Đánh giá Tổng thể Mô hình
Độ phù hợp: Mô hình vẫn rất tốt. Residual deviance (688.9) thấp hơn nhiều so với Null deviance (1386.3), cho thấy các biến độc lập giải thích được một phần lớn sự thay đổi trong quyết định vào đại học của sinh viên.
AIC: Giá trị AIC là 722.9. Đây là một chỉ số tốt để so sánh với các mô hình khác (ví dụ, nếu bạn thêm hoặc bớt biến).
Sự ổn định: Các giá trị Standard Error (Sai số chuẩn) của các hệ số giờ đây đều hợp lý, không còn các con số khổng lồ như trước. Điều này cho thấy các ước lượng (Estimate) đã ổn định và đáng tin cậy hơn.
2. Phân tích Chi tiết các Hệ số (Ước lượng MLE)
Hệ số: +2.84. Đây vẫn là yếu tố dự báo cực kỳ mạnh. Phân tích: Sinh viên sống ở thành thị có khả năng vào đại học cao hơn rất nhiều so với sinh viên ở nông thôn. Tỷ lệ odds: exp(2.84) ≈ 17.1. Odds của một sinh viên thành thị vào đại học cao hơn gấp 17.1 lần so với sinh viên nông thôn, khi các yếu tố khác không đổi.
average (Trung bình): Hệ số -1.96. Odds vào đại học thấp hơn 1 - exp(-1.96) ≈ 86%.
high (Cao): Hệ số +3.15. Odds vào đại học cao hơn gấp exp(3.15) ≈ 23.3 lần.
low (Thấp): Hệ số -5.03. Odds vào đại học giảm cực mạnh, gần như bằng 0.
Phân tích: So với nhà “Large” (lớn), diện tích nhà nhỏ hơn làm giảm khả năng vào đại học.
Medium (Trung bình): Hệ số -1.61. Odds thấp hơn khoảng 80%.
Small (Nhỏ): Hệ số -3.16. Odds thấp hơn khoảng 95.7%. Điều này cho thấy diện tích nhà (có thể là một chỉ báo cho tình trạng kinh tế xã hội) là một yếu tố rất quan trọng.
Fair (Khá): Hệ số -5.73.
Good (Tốt): Hệ số -4.56.
Cả hai đều làm giảm cơ hội vào đại học một cách đáng kể, cho thấy kết quả học tập là yếu tố tiên quyết.
Phân tích: Vấn đề lạ vẫn còn tồn tại. So với mức cơ sở “Interested” (Quan tâm), các mức độ khác đều làm tăng khả năng vào đại học.
Not Interested (Không quan tâm): Hệ số +2.29.
Uncertain (Không chắc chắn): Hệ số +1.89.
Very Interested (Rất quan tâm): Hệ số +1.75.
Phân tích: So với trường loại A, học ở trường được kiểm định loại B làm giảm khả năng vào đại học.
Tỷ lệ odds: exp(-0.71) ≈ 0.49. Odds của sinh viên trường B chỉ bằng khoảng một nửa (49%) so với sinh viên trường A.
Phân tích: Yếu tố này vẫn có ý nghĩa. Nền tảng giáo dục của gia đình có ảnh hưởng tích cực.
Tỷ lệ odds: exp(0.69) ≈ 2.0. Odds vào đại học của sinh viên có cha mẹ từng học đại học cao hơn gấp đôi so với những người khác.
logistic_model_probit <- glm(will_go_to_college ~ ., data = data, family = binomial(link = "probit"))
summary(logistic_model_probit)
##
## Call:
## glm(formula = will_go_to_college ~ ., family = binomial(link = "probit"),
## data = data)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 2.34325 0.44866 5.223 1.76e-07 ***
## type_schoolVocational -0.01361 0.12013 -0.113 0.909786
## school_accreditationB -0.36251 0.13627 -2.660 0.007810 **
## genderMale -0.12097 0.10997 -1.100 0.271331
## interestLess Interested 0.54528 0.23399 2.330 0.019787 *
## interestNot Interested 1.32091 0.28537 4.629 3.68e-06 ***
## interestUncertain 1.12993 0.24052 4.698 2.63e-06 ***
## interestVery Interested 1.04398 0.22950 4.549 5.39e-06 ***
## residenceUrban 1.62966 0.17454 9.337 < 2e-16 ***
## parent_salaryaverage -1.13898 0.12528 -9.092 < 2e-16 ***
## parent_salaryhigh 1.86561 0.50130 3.722 0.000198 ***
## parent_salarylow -2.82788 0.32938 -8.585 < 2e-16 ***
## house_areaMedium -0.93671 0.15694 -5.969 2.39e-09 ***
## house_areaSmall -1.81136 0.17681 -10.244 < 2e-16 ***
## average_gradesFair -2.92418 0.33995 -8.602 < 2e-16 ***
## average_gradesGood -2.25407 0.33609 -6.707 1.99e-11 ***
## parent_was_in_collegeTRUE 0.37162 0.16880 2.202 0.027700 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 1386.29 on 999 degrees of freedom
## Residual deviance: 689.64 on 983 degrees of freedom
## AIC: 723.64
##
## Number of Fisher Scoring iterations: 7
Các yếu tố có ảnh hưởng mạnh nhất (p-value ):
Hệ số: +1.630. Hệ số dương rất lớn cho thấy sống ở thành thị làm tăng mạnh Z-score, và do đó làm tăng mạnh xác suất vào đại học so với ở nông thôn.
average (Trung bình): Hệ số -1.139. Tác động tiêu cực mạnh. low (Thấp): Hệ số -2.828. Tác động tiêu cực mạnh nhất, gần như loại bỏ cơ hội vào đại học.
Medium và Small: Cả hai đều có hệ số âm (-0.937 và -1.811), cho thấy chúng làm giảm đáng kể xác suất vào đại học so với nhà “Large”.
average_grades (Điểm trung bình): Fair và Good: Cả hai đều có hệ số âm rất lớn (-2.924 và -2.254), khẳng định rằng việc không đạt điểm “Excellent” là một rào cản cực lớn.
interest (Mức độ quan tâm): Vấn đề vẫn còn đó: Giống hệt mô hình Logit, tất cả các mức độ quan tâm khác đều có hệ số dương so với mức cơ sở “Interested”. Not Interested (+1.321) thậm chí còn có hệ số cao hơn Very Interested (+1.044). Điều này tiếp tục là một cảnh báo đỏ về biến này.
Các yếu tố có ảnh hưởng có ý nghĩa (p-value):
school_accreditationB (Kiểm định trường: B): Hệ số: -0.363 (p-value **). Việc học ở trường loại B làm giảm xác suất vào đại học so với trường loại A.
parent_was_in_collegeTRUE (Cha mẹ đã học đại học): Hệ số: +0.372 (p-value *). Nền tảng giáo dục gia đình có tác động tích cực.
# Lấy hiệu ứng dự đoán từ cả hai mô hình
library(ggeffects)
## Warning: package 'ggeffects' was built under R version 4.5.1
pred_logit <- ggpredict(logistic_model_mle, terms = "residence")
pred_probit <- ggpredict(logistic_model_probit, terms = "residence")
# Thêm cột để xác định mô hình
pred_logit$model <- "Logit"
pred_probit$model <- "Probit"
# Gộp dữ liệu và vẽ
combined_preds <- rbind(pred_logit, pred_probit)
# Tạo một biến position_dodge để dùng chung
library(ggplot2)
dodge <- position_dodge(width = 0.2) # Khoảng cách để tách các đường
ggplot(combined_preds, aes(x = x, y = predicted, colour = model, group = model)) +
# Vẽ đường nối các điểm, áp dụng dodge
geom_line(linewidth = 1.2, position = dodge) +
# Vẽ điểm để nhấn mạnh, áp dụng dodge
geom_point(size = 2, position = dodge) +
# Vẽ dải tin cậy dưới dạng thanh lỗi (error bar) để dễ nhìn hơn khi dodge
geom_errorbar(aes(ymin = conf.low, ymax = conf.high), width = 0.1, position = dodge) +
labs(
title = "So sánh Xác suất Dự đoán giữa Mô hình Logit và Probit",
subtitle = "Hiệu ứng của Lương Cha Mẹ (đã tách nhẹ để dễ nhìn)",
y = "Xác suất vào Đại học (Dự đoán)",
x = "Nơi sinh sống",
colour = "Mô hình"
) +
theme_minimal() +
ylim(0, 1) # Đảm bảo trục y chạy từ 0 đến 1
table_WP <- table(data$will_go_to_college,data$parent_was_in_college)
library(kableExtra)
kable(table_WP, format = "html", caption = "Bảng 1.1 Tần số theo quyết định theo học cao đẳng và người giám hộ theo học cao đẳng") %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"), full_width = F)
| FALSE | TRUE | |
|---|---|---|
| NO | 252 | 248 |
| YES | 228 | 272 |
Bảng tần số cho thấy học sinh có người giám hộ từng học cao đẳng có xu hướng quyết định theo học cao đẳng cao hơn so với học sinh có người giám hộ không học cao đẳng. Điều này phản ánh vai trò quan trọng của nền tảng học vấn người giám hộ trong việc ảnh hưởng đến quyết định học tập của con em mình.
library(ggplot2)
df_WP <- as.data.frame(table_WP)
colnames(df_WP) <- c("Decision", "ParentCollege", "Count")
ggplot(df_WP, aes(x = ParentCollege, y = Count, fill = Decision)) +
geom_bar(stat = "identity", position = "dodge") +
geom_text(aes(label = Count),
position = position_dodge(width = 0.9)) +
labs(
x = "Người giám hộ từng học cao đẳng",
y = "Số lượng học sinh",
fill = "Quyết định học cao đẳng",
title = "Biểu đồ 1.1: Tần số học sinh theo quyết định học cao đẳng và người giám hộ học cao đẳng"
) +
theme_minimal()
NHẬN XÉT:
Biểu đồ và Bảng 1.1 cho thấy ảnh hưởng rõ rệt của trình độ học vấn người giám hộ đến quyết định học cao đẳng của học sinh. Ở nhóm có người giám hộ từng học cao đẳng, số học sinh quyết định học tiếp (YES) là 272, cao hơn nhóm không học (NO) là 248. Ngược lại, với nhóm không có người giám hộ từng học cao đẳng, số học sinh không học cao đẳng lại cao hơn (252 so với 228).
Sự khác biệt này phản ánh xu hướng: học sinh có người giám hộ từng học cao đẳng có xu hướng chọn học tiếp cao hơn. Điều này cho thấy trình độ học vấn của người giám hộ có thể đóng vai trò tích cực trong việc định hướng học tập cho học sinh, là yếu tố đáng cân nhắc trong các chính sách khuyến học và hỗ trợ giáo dục.
Bài toán có giả thuyết như sau: \[ \left\{ \begin{array}{l} H_0: \; \text{trình độ học vấn của người giám hộ và quyết định học tiếp của học sinh độc lập với nhau } \\ H_1: \; \text{trình độ học vấn của người giám hộ và quyết định học tiếp của học sinh có liên quan đến nhau} \end{array} \right.\]
Ta thực hiện kiểm định Chi bình phương và được kết quả như sau:
chiWP <- chisq.test(table_WP)
print(chiWP)
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: table_WP
## X-squared = 2.1194, df = 1, p-value = 0.1454
NHẬN XÉT:
Với bài toán kiểm định mối liên hệ giữa trình độ học vấn của người giám hộ và quyết định học tiếp cao đẳng của học sinh, ta sử dụng kiểm định Chi-squared với hiệu chỉnh Yates. Kết quả cho thấy thống kê \(\chi^2 = 2.1194\) với 1 bậc tự do và p-value = 0.1454, lớn hơn mức ý nghĩa 5%.
Do đó, không có đủ bằng chứng để bác bỏ giả thuyết \(H_0\). Điều này đồng nghĩa với việc chưa thể khẳng định có mối liên hệ rõ ràng giữa trình độ học vấn của người giám hộ và quyết định học tiếp của học sinh trong tổng thể. Mặc dù có sự chênh lệch nhẹ về tần số trong bảng, nhưng xét trên khía cạnh thống kê, sự khác biệt này chưa đủ ý nghĩa để rút ra kết luận chắc chắn. Các yếu tố khác có thể đang đóng vai trò quan trọng hơn trong quyết định học tập của học sinh.
Thiết lập tỷ lệ
Tỷ lệ học sinh quyết định học có người giám hộ học cao đẳng:
\[ p_1 = P(\text{parents_was_in_college} = TRUE \mid \text{will_go_to_college} = YES) \] Tỷ lệ học sinh không quyết định học có người giám hộ học cao đẳng:
\[ p_1 = P(\text{parents_was_in_college} = TRUE \mid \text{will_go_to_college} = NO) \] Hiệu chênh lệch giữa hai tỷ lệ:
\[ d = p_1 - p_2 \]
Giả thuyết kiểm định
Giả thuyết H₀: Không có sự khác biệt giữa hai tỷ
lệ
\[ H_0: p_1 - p_2 = 0\]
Giả thuyết H1): Tỷ lệ học sinh quyết định học có người giám hộ học cao đẳng thấp hơn Tỷ lệ học sinh không quyết định học có người giám hộ học cao đẳng: \(H_1: p_1 - p_2 < 0\)
# Kiểm định sự khác biệt trong quyết định học tiếp cao đẳng với bố mẹ theo học cao đẳng
library(stats)
testWP <- prop.test(x = c(table_WP["YES","TRUE"], table_WP["NO","TRUE"]),
n = c(sum(table_WP["YES",]), sum(table_WP["NO",])),
alternative = "less", correct = FALSE)
print(testWP)
##
## 2-sample test for equality of proportions without continuity correction
##
## data: c(table_WP["YES", "TRUE"], table_WP["NO", "TRUE"]) out of c(sum(table_WP["YES", ]), sum(table_WP["NO", ]))
## X-squared = 2.3077, df = 1, p-value = 0.9356
## alternative hypothesis: less
## 95 percent confidence interval:
## -1.00000000 0.09991321
## sample estimates:
## prop 1 prop 2
## 0.544 0.496
Kết quả kiểm định hai tỷ lệ cho thấy \(\chi^2 = 2.3077\), với p-value = 0.9356, lớn hơn nhiều so với mức ý nghĩa 0.05. Do đó, ta không bác bỏ giả thuyết \(H_0\), tức là không có đủ bằng chứng để kết luận rằng tỷ lệ học sinh quyết định học cao đẳng có người giám hộ từng học cao đẳng thấp hơn nhóm còn lại. Ngược lại, ước lượng mẫu lại cho thấy tỷ lệ này cao hơn một chút (0.544 > 0.496), dù không có ý nghĩa thống kê.
Khoảng tin cậy 95% cho hiệu số tỷ lệ \((p_1 - p_2)\) là từ –1.0000 đến 0.09991321 bao gồm 0, càng củng cố việc không có sự khác biệt đáng kể. Dù tỷ lệ ước lượng của nhóm học tiếp học cao đẳng là 0.544, cao hơn nhóm không học (0.496), nhưng chênh lệch này không có ý nghĩa thống kê.
Hiệu chênh lệch giữa hai tỷ lệ: \[ \hat{d} = 0.544 - 0.496 = 0.048 \]
library(epitools)
rWP <- riskratio(table_WP, method = "wald")
print(rWP)
## $data
##
## FALSE TRUE Total
## NO 252 248 500
## YES 228 272 500
## Total 480 520 1000
##
## $measure
## risk ratio with 95% C.I.
## estimate lower upper
## NO 1.000000 NA NA
## YES 1.096774 0.9733737 1.235819
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## NO NA NA NA
## YES 0.1294593 0.1454068 0.128735
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
Dựa trên bảng dữ liệu 2×2, tỷ số rủi ro (risk ratio) giữa nhóm học sinh có quyết định học cao đẳng và người giám hộ từng học cao đẳng là RR = 1.097, tức cao hơn khoảng 9.7% so với nhóm quyết định không học. Tuy nhiên, khoảng tin cậy 95% là (0.973; 1.236) bao gồm giá trị 1, nghĩa là chưa đủ bằng chứng thống kê để khẳng định có sự khác biệt thực sự.
| Phương pháp kiểm định | Giá trị p (two-sided) |
|---|---|
| Mid-p exact test | 0.1295 |
| Fisher exact test | 0.1454 |
| Chi-square test | 0.1287 |
Tất cả các giá trị p đều lớn hơn mức ý nghĩa 0.05.
Điều này có nghĩa là ta không đủ bằng chứng để bác bỏ giả thuyết tức là không có sự khác biệt đáng kể về tỷ lệ quyết định học tiếp cao đẳng giữa học sinh có người giám hộ từng học cao đẳng và không học cao đẳng dựa trên dữ liệu này.
Kết luận: Dữ liệu chưa cho thấy mối liên hệ có ý nghĩa thống kê giữa trình độ người giám hộ và quyết định học tiếp của học sinh.
library(DescTools)
orWP <- OddsRatio(table_WP, method="wald", conf.level = 0.95)
print(orWP)
## odds ratio lwr.ci upr.ci
## 1.2122241 0.9455879 1.5540462
OR > 1 nghĩa là odds quyết định học tiếp cao đẳng của học sinh có người giám hộ từng học cao đẳng cao hơn odds của học sinh có người giám hộ không học cao đẳng.
Giá trị OR = 1.2122 cho thấy odds học tiếp cao đẳng của nhóm học sinh có người giám hộ từng học cao đẳng cao hơn khoảng 21.22% so với nhóm còn lại (1.2122 - 1 = 0.2122).
Khoảng tin cậy 95% cho OR là (0.9456, 1.5540) chứa giá trị 1.
Điều này cho thấy, về mặt thống kê, chúng ta không thể khẳng định chắc chắn sự khác biệt về odds giữa hai nhóm, tức có khả năng odds của hai nhóm là bằng nhau (OR = 1).
TỔNG KẾT
Kết quả phân tích cho thấy tỷ số rủi ro (RR = 1.097) và odds ratio (OR = 1.212) đều lớn hơn 1, chỉ ra nhóm học sinh có người giám hộ từng học cao đẳng có xu hướng quyết định học tiếp cao đẳng cao hơn nhóm còn lại, tương ứng tăng khoảng 9.7% về tỷ lệ và 21.2% về odds. Tuy nhiên, các khoảng tin cậy 95% của RR (0.973–1.236) và OR (0.946–1.554) đều chứa giá trị 1, cùng với các giá trị p kiểm định chi-square, Fisher, và mid-p đều lớn hơn 0.05, cho thấy sự khác biệt này chưa đủ ý nghĩa thống kê. Như vậy, chưa có bằng chứng rõ ràng khẳng định mối liên hệ giữa trình độ người giám hộ và quyết định học tiếp của học sinh.
table_WG <- table(data$will_go_to_college,data$gender)
library(kableExtra)
kable(table_WG, format = "html", caption = "Bảng 2.1 Tần số theo quyết định theo học cao đẳng bởi giới tính của học sinh") %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"), full_width = F)
| Female | Male | |
|---|---|---|
| NO | 234 | 266 |
| YES | 251 | 249 |
Bảng 2.1 trình bày phân phối tần số lựa chọn học cao đẳng của học sinh theo giới tính. Kết quả cho thấy trong tổng số nữ sinh, có 251 em quyết định học cao đẳng (chiếm khoảng 51,8%), trong khi 234 em không theo học. Đối với nam sinh, 249 em chọn học cao đẳng (chiếm xấp xỉ 48,4%) và 266 em không theo học. Mặc dù tỷ lệ lựa chọn học cao đẳng giữa nam và nữ khá tương đương, nữ sinh có xu hướng lựa chọn học cao đẳng cao hơn một chút so với nam sinh. Điều này có thể gợi ý về sự khác biệt hành vi theo giới trong việc ra quyết định giáo dục sau trung học.
library(ggplot2)
df_WG <- as.data.frame(table_WG)
colnames(df_WG) <- c("Decision", "Gender", "Count")
ggplot(df_WG, aes(x = Gender, y = Count, fill = Decision)) +
geom_bar(stat = "identity", position = "dodge") +
geom_text(aes(label = Count),
position = position_dodge(width = 0.9)) +
labs(
x = "Giới tính",
y = "Số lượng học sinh",
fill = "Quyết định học cao đẳng",
title = "Biểu đồ 2.1: Tần số theo quyết định học cao đẳng và giới tính của học sinh"
) +
theme_minimal()
NHẬN XÉT:
Biểu đồ 2.1 minh họa phân bố số lượng học sinh theo giới tính và quyết định học cao đẳng. Trong nhóm nữ sinh, số lượng chọn học cao đẳng (251) nhỉnh hơn số không học (234), trong khi ở nhóm nam, số học sinh không học cao đẳng (266) lại cao hơn số chọn học (249). Điều này cho thấy nữ sinh có xu hướng lựa chọn học tiếp cao đẳng cao hơn nam sinh. Tuy nhiên, sự chênh lệch giữa hai nhóm giới tính là không lớn.
Bài toán có giả thuyết như sau: \[ \left\{ \begin{array}{l} H_0: \; \text{Giới tính và quyết định học tiếp của học sinh độc lập với nhau } \\ H_1: \; \text{Giới tính và quyết định học tiếp của học sinh có liên quan đến nhau} \end{array} \right.\]
Ta thực hiện kiểm định Chi bình phương và được kết quả như sau:
chiWG <- chisq.test(table_WG)
print(chiWG)
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: table_WG
## X-squared = 1.0249, df = 1, p-value = 0.3114
NHẬN XÉT:
Kết quả kiểm định Chi bình phương với hiệu chỉnh Yates cho thấy thống kê kiểm định có giá trị \(\chi^2 = 1.02\) với 1 bậc tự do và giá trị p-value = 0.3114. Vì p-value lớn hơn mức ý nghĩa thông thường (0.05), ta không bác bỏ giả thuyết \(H_0\). Do đó, không có đủ bằng chứng thống kê để kết luận rằng giới tính và quyết định học cao đẳng của học sinh có mối liên hệ. Nói cách khác, dữ liệu hiện tại cho thấy hai biến này có thể độc lập với nhau trong tổng thể.
Thiết lập tỷ lệ
Tỷ lệ học sinh quyết định học cao đẳng là nữ:
\[ p_1 = P(\text{gender} = \text{Female} \mid \text{will_go_to_college} = \text{YES}) \] Tỷ lệ học sinh không quyết định học cao đẳng là nữ:
\[ p_2 = P(\text{gender} = \text{Female} \mid \text{will_go_to_college} = \text{NO}) \]
Hiệu chênh lệch giữa hai tỷ lệ:
\[ d = p_1 - p_2 \]
Giả thuyết kiểm định
Giả thuyết H₀: Không có sự khác biệt giữa hai tỷ
lệ
\[ H_0: p_1 - p_2 = 0\]
Giả thuyết H1): Tỷ lệ học sinh nữ quyết định họccao đẳng thấp hơn Tỷ lệ học sinh nữ không quyết định học cao đẳng: \(H_1: p_1 - p_2 < 0\)
# Kiểm định sự khác biệt trong quyết định học tiếp cao đẳng với bố mẹ theo học cao đẳng
library(stats)
testWG <- prop.test(x = c(table_WG["YES","Female"], table_WG["NO","Female"]),
n = c(sum(table_WG["YES",]), sum(table_WG["NO",])),
alternative = "less", correct = FALSE)
print(testWG)
##
## 2-sample test for equality of proportions without continuity correction
##
## data: c(table_WG["YES", "Female"], table_WG["NO", "Female"]) out of c(sum(table_WG["YES", ]), sum(table_WG["NO", ]))
## X-squared = 1.157, df = 1, p-value = 0.859
## alternative hypothesis: less
## 95 percent confidence interval:
## -1.00000000 0.08596134
## sample estimates:
## prop 1 prop 2
## 0.502 0.468
Nhận xét:
Kết quả kiểm định hai tỷ lệ độc lập cho thấy giá trị thống kê kiểm định
là \(\chi^2 = 1.157\), với một bậc tự
do và giá trị p-value = 0.859 (không hiệu chỉnh liên tục). Giả thuyết
đối là tỷ lệ nữ trong nhóm học sinh quyết định học cao
đẳng nhỏ hơn tỷ lệ nữ trong nhóm không học cao
đẳng. Tuy nhiên, với p-value lớn hơn mức ý nghĩa 5%, ta
không bác bỏ giả thuyết \(H_0\) rằng hai tỷ lệ này bằng
nhau.
Ngoài ra, khoảng tin cậy 95% cho hiệu số hai tỷ lệ bao gồm 0 ([-1; 0.086]), củng cố kết luận rằng không có bằng chứng thống kê rõ ràng về sự khác biệt giữa hai tỷ lệ nữ trong hai nhóm. Điều này cho thấy giới tính (nữ) không ảnh hưởng đáng kể đến quyết định học cao đẳng trong mẫu dữ liệu này.
library(epitools)
rWG <- riskratio(table_WG, method = "wald")
print(rWG)
## $data
##
## Female Male Total
## NO 234 266 500
## YES 251 249 500
## Total 485 515 1000
##
## $measure
## risk ratio with 95% C.I.
## estimate lower upper
## NO 1.0000000 NA NA
## YES 0.9360902 0.829881 1.055892
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## NO NA NA NA
## YES 0.2830366 0.3113535 0.28208
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
Nhận xét:
Kết quả thống kê cho thấy tỷ suất rủi ro (risk ratio) giữa nữ và nam
trong quyết định học cao đẳng là 0.936, với khoảng tin
cậy 95% là \([0.830;\ 1.056]\), điều
này cho thấy không có bằng chứng thống kê rõ ràng về sự khác
biệt trong xác suất học cao đẳng giữa hai giới tính.
P-value tương ứng từ các phương pháp khác nhau đều lớn hơn 0.05 (ví dụ: Fisher’s exact = 0.311, Chi-square = 0.282), nên không đủ cơ sở bác bỏ giả thuyết \(H_0\) rằng giới tính và quyết định học cao đẳng là độc lập.
Tóm lại,giới tính không phải là yếu tố ảnh hưởng đáng kể đến xác suất học sinh quyết định học cao đẳng trong mẫu này.
library(DescTools)
orWG <- OddsRatio(table_WG, method="wald", conf.level = 0.95)
print(orWG)
## odds ratio lwr.ci upr.ci
## 0.8726897 0.6808937 1.1185112
Nhận xét:
- OR < 1 nghĩa là odds (tỷ lệ cược) học sinh nam
quyết định học cao đẳng thấp hơn so với học sinh
nữ.
- Cụ thể, odds ratio ước lượng được là 0.873, cho thấy
học sinh nam có odds quyết định học cao đẳng chỉ bằng khoảng
87.3% so với học sinh nữ.
Cụ thể, odds ratio nhỏ hơn 1 cho thấy học sinh nam có xu hướng ít quyết định học cao đẳng hơn nữ, nhưng sự khác biệt này không có ý nghĩa thống kê do khoảng tin cậy chứa giá trị trung lập (1).
Do đó, với dữ liệu hiện tại, ta có thể kết luận rằng giới tính không phải là yếu tố có ảnh hưởng rõ rệt đến hành vi quyết định học tiếp của học sinh.
table_typere <- table(data$type_school,data$residence)
library(kableExtra)
kable(table_typere, format = "html", caption = "Bảng 3.1 Tần số theo loại trường và nơi sịnh sống của học sinh") %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"), full_width = F)
| Rural | Urban | |
|---|---|---|
| Academic | 221 | 388 |
| Vocational | 240 | 151 |
Nhận xét:
Bảng 3.1 cho thấy mối quan hệ giữa loại trường học sinh theo học (Academic và Vocational) với nơi sinh sống (Rural và Urban). Trong nhóm học sinh học trường Academic, phần lớn đến từ khu vực Urban (388 em), cao gần gấp đôi so với khu vực Rural (221 em). Ngược lại, trong nhóm học sinh học trường Vocational, tỷ lệ từ Rural (240 em) lại chiếm ưu thế so với Urban (151 em).
Sự phân bố này gợi ý rằng nơi sinh sống có thể ảnh hưởng đến xu hướng lựa chọn loại hình giáo dục. Cụ thể, học sinh sống ở đô thị có xu hướng theo học các trường học thuật (Academic), trong khi học sinh nông thôn có xu hướng theo học các trường nghề (Vocational).
library(ggplot2)
df_typere <- as.data.frame(table_typere)
colnames(df_typere) <- c("Residence", "SchoolType", "Count")
ggplot(df_typere, aes(x = SchoolType, y = Count, fill = Residence)) +
geom_bar(stat = "identity", position = "dodge") +
geom_text(aes(label = Count),position = position_dodge(width = 0.9)) +
labs(
x = "Loại trường",
y = "Số lượng học sinh",
fill = "Nơi sinh sống",
title = "Biểu đồ 4.2: Tần số học sinh theo loại trường và nơi sinh sống"
) +
theme_minimal()
NHẬN XÉT:
Biểu đồ thể hiện sự phân bố học sinh theo loại trường (Academic, Vocational) và nơi sinh sống (Rural, Urban). Dễ thấy, trong nhóm học sinh theo học trường học thuật (Academic), số lượng học sinh Urban (388) vượt trội so với Rural (221). Ngược lại, đối với trường nghề (Vocational), học sinh Rural (240) chiếm ưu thế hơn Urban (151).
Bài toán có giả thuyết như sau: \[ \left\{ \begin{array}{l} H_0: \; \text{Nơi sinh sống và loại trường theo học của học sinh độc lập với nhau } \\ H_1: \; \text{Nơi sinh sống và loại trường theo học của học sinh có liên quan đến nhau} \end{array} \right.\]
Ta thực hiện kiểm định Chi bình phương và được kết quả như sau:
chitypere <- chisq.test(table_typere)
print(chitypere)
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: table_typere
## X-squared = 59.331, df = 1, p-value = 1.333e-14
Nhận xét:
Giá trị thống kê kiểm định là \(\chi^2 = 59.33\) với 1 bậc tự do và giá trị p-value rất nhỏ (≈ \(1.33 \times 10^{-14}\)). Vì p-value < 0.05, ta có đủ cơ sở bác bỏ giả thuyết \(H_0\) tại mức ý nghĩa 5%.
Điều này cho thấy có bằng chứng thống kê mạnh mẽ rằng nơi sinh sống và loại trường theo học của học sinh có liên quan đến nhau. Nói cách khác, lựa chọn học trường academic hay vocational có thể phụ thuộc vào nơi sinh sống (rural/urban) của học sinh.
Thiết lập tỷ lệ
Tỷ lệ học sinh sống ở nông thôn (Rural) theo học trường học thuật (Academic):
\[ p_1 = P(\text{residence} = \text{Rural} \mid \text{schoo_type} = \text{Academic}) \]
Tỷ lệ học sinh sống ở nông thôn (Rural) theo học trường nghề (Vocational):
\[ p_2 = P(\text{residence} = \text{Rural} \mid \text{school\_type} = \text{Vocational}) \]
Hiệu chênh lệch giữa hai tỷ lệ:
\[ d = p_1 - p_2 \]
Giả thuyết kiểm định
Giả thuyết H₀: Không có sự khác biệt giữa hai tỷ
lệ
\[ H_0: p_1 - p_2 = 0 \]
Giả thuyết H₁: Tỷ lệ học sinh học trường học
thuật sống ở nông thôn thấp hơn tỷ lệ học sinh học trường nghề sống ở
nông thôn
\[ H_1: p_1 - p_2 < 0 \]
library(stats)
testtypere <- prop.test(x = c(table_typere ["Academic","Rural"], table_typere ["Vocational","Rural"]),
n = c(sum(table_typere ["Academic",]), sum(table_typere ["Vocational",])),
alternative = "less", correct = FALSE)
print(testtypere )
##
## 2-sample test for equality of proportions without continuity correction
##
## data: c(table_typere["Academic", "Rural"], table_typere["Vocational", "Rural"]) out of c(sum(table_typere["Academic", ]), sum(table_typere["Vocational", ]))
## X-squared = 60.336, df = 1, p-value = 3.998e-15
## alternative hypothesis: less
## 95 percent confidence interval:
## -1.000000 -0.199274
## sample estimates:
## prop 1 prop 2
## 0.3628900 0.6138107
Nhận xét:
Kết quả kiểm định hiệu hai tỷ lệ cho thấy giá trị thống kê kiểm định là 60.336 với p-value ≈ 3.998×10⁻¹⁵ (rất nhỏ). Vì p-value nhỏ hơn mức ý nghĩa thông thường (0.05), ta có đủ cơ sở bác bỏ giả thuyết H₀.
Điều này có nghĩa là tỷ lệ học sinh học trường học thuật sống ở nông thôn thấp hơn đáng kể so với tỷ lệ học sinh học trường nghề sống ở nông thôn. Nói cách khác, dữ liệu cho thấy học sinh nông thôn có xu hướng chọn trường nghề nhiều hơn so với trường học thuật.
library(epitools)
rtypere <- riskratio(table_typere, method = "wald")
print(rtypere)
## $data
##
## Rural Urban Total
## Academic 221 388 609
## Vocational 240 151 391
## Total 461 539 1000
##
## $measure
## risk ratio with 95% C.I.
## estimate lower upper
## Academic 1.0000000 NA NA
## Vocational 0.6061579 0.5277098 0.6962678
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## Academic NA NA NA
## Vocational 7.549517e-15 7.757187e-15 7.996554e-15
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
Nhận xét
Giá trị RR = 0.6061579 cho biết học sinh sống ở thành thị trong nhóm theo học trường nghề (Vocational) thấp hơn khoảng 40% so với nhóm học sinh theo học trường học thuật (Academic).
Kết quả kiểm định từ nhiều phương pháp đều cho thấy p-value rất nhỏ, cụ thể:
library(DescTools)
ortypere <- OddsRatio(table_typere, method="wald", conf.level = 0.95)
print(ortypere)
## odds ratio lwr.ci upr.ci
## 0.3583655 0.2757215 0.4657811
Giá trị Odds Ratio (OR) = 0.3584 cho biết odds (tỷ lệ chênh) học sinh sống ở thành thị trong nhóm theo học trường học thuật (Academic) chỉ bằng khoảng 35.8% so với odds của học sinh thành thị theo học trường nghề (Vocational).
Khoảng tin cậy 95% cho OR là (0.2757; 0.4658), không bao gồm giá trị 1, cho thấy sự khác biệt là có ý nghĩa thống kê.
Các kiểm định thống kê cũng cho kết quả p-value rất nhỏ:
table_typepaw <- table(data$type_school,data$parent_was_in_college)
library(kableExtra)
kable(table_typepaw, format = "html", caption = "Bảng 4.1 Tần số theo loại trường và trình độ học vấn người giám hộ") %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"), full_width = F)
| FALSE | TRUE | |
|---|---|---|
| Academic | 328 | 281 |
| Vocational | 152 | 239 |
Dựa vào Bảng 4.1, ta thấy rằng học sinh có người giám hộ không học cao đẳng (FALSE) chủ yếu theo học trường học thuật (328 học sinh) nhiều hơn so với trường nghề (152 học sinh). Ngược lại, trong nhóm học sinh có người giám hộ đã học cao đẳng (TRUE), số học sinh theo học trường nghề (239 học sinh) lại gần tương đương, thậm chí vượt so với số học sinh theo học trường học thuật (281 học sinh). Như vậy, có dấu hiệu cho thấy trình độ học vấn của người giám hộ có thể ảnh hưởng đến loại trường mà học sinh lựa chọn, khi học sinh có người giám hộ học cao đẳng có xu hướng chọn trường nghề nhiều hơn.
library(ggplot2)
df_typepaw <- as.data.frame(table_typepaw)
colnames(df_typepaw) <- c("ParentsCollege", "SchoolType", "Count")
ggplot(df_typepaw, aes(x = SchoolType, y = Count, fill = ParentsCollege)) +
geom_bar(stat = "identity", position = "dodge") +
geom_text(aes(label = Count),position = position_dodge(width = 0.9)) +
labs(
x = "Loại trường",
y = "Số lượng học sinh",
fill = "Nơi sinh sống",
title = "Biểu đồ 4.1: Tần số học sinh theo loại trường và trình độ học vấn người giám hộ"
) +
theme_minimal()
Biểu đồ 4.1 cho thấy sự phân bố học sinh theo loại trường và trình độ học vấn của người giám hộ. Trong nhóm học sinh có người giám hộ không học cao đẳng (FALSE), số học sinh chọn trường học thuật (Academic) (328) cao hơn rõ rệt so với trường nghề (Vocational) (152). Ngược lại, ở nhóm có người giám hộ đã học cao đẳng (TRUE), số học sinh chọn trường nghề (239) tăng lên đáng kể và gần tiệm cận số học sinh chọn trường học thuật (281). Điều này cho thấy trình độ học vấn của người giám hộ có thể ảnh hưởng đến định hướng chọn loại trường của học sinh.
Bài toán có giả thuyết như sau: \[ \left\{ \begin{array}{l} H_0: \; \text{trình độ học vấn của người giám hộ và loại trường theo học của học sinh độc lập với nhau } \\ H_1: \; \text{trình độ học vấn của người giám hộ và loại trường theo học của học sinh có liên quan đến nhau} \end{array} \right.\]
Ta thực hiện kiểm định Chi bình phương và được kết quả như sau:
chitypepaw <- chisq.test(table_typepaw)
print(chitypepaw)
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: table_typepaw
## X-squared = 20.823, df = 1, p-value = 5.036e-06
Nhận xét: Với p-value rất nhỏ (p < 0.05), ta bác bỏ giả thuyết H₀. Điều này cho thấy có mối liên hệ có ý nghĩa thống kê giữa trình độ học vấn của người giám hộ và loại trường học sinh theo học
Thiết lập tỷ lệ
Tỷ lệ học sinh có người giám hộ không học đại học theo học trường học thuật (Academic):
\[ p_1 = P(\text{parents\_was\_in\_college} = \text{FALSE} \mid \text{school\_type} = \text{Academic}) \]
Tỷ lệ học sinh có người giám hộ không học đại học theo học trường nghề (Vocational):
\[ p_2 = P(\text{parents\_was\_in\_college} = \text{FALSE} \mid \text{school\_type} = \text{Vocational}) \]
Hiệu chênh lệch giữa hai tỷ lệ:
\[ d = p_1 - p_2 \]
Giả thuyết kiểm định
Giả thuyết H₀: Không có sự khác biệt giữa hai tỷ
lệ
\[ H_0: p_1 - p_2 = 0 \]
Giả thuyết H₁: Tỷ lệ học sinh học trường học
thuật có người giám hộ không học đại học cao hơn so với học sinh học
trường nghề
\[ H_1: p_1 - p_2 > 0 \]
chitypepaw <- chisq.test(table_typepaw)
print(chitypepaw)
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: table_typepaw
## X-squared = 20.823, df = 1, p-value = 5.036e-06
Kết quả kiểm định Chi bình phương với hiệu chỉnh Yates cho bảng chéo giữa loại trường theo học và trình độ học vấn của người giám hộ cho thấy: giá trị thống kê \(\chi^2 = 20{,}823\) với 1 bậc tự do và p-value = 5.036e-06. Vì p-value nhỏ hơn mức ý nghĩa 0.05, ta có đủ cơ sở bác bỏ giả thuyết \(H_0\). Điều này cho thấy có mối liên hệ có ý nghĩa thống kê giữa loại trường học sinh theo học và trình độ học vấn của người giám hộ. Nói cách khác, việc học sinh chọn học trường học thuật hay trường nghề có liên quan đến việc người giám hộ của các em có học đại học hay không.
library(epitools)
rtypepaw <- riskratio(table_typepaw, method = "wald")
print(rtypepaw)
## $data
##
## FALSE TRUE Total
## Academic 328 281 609
## Vocational 152 239 391
## Total 480 520 1000
##
## $measure
## risk ratio with 95% C.I.
## estimate lower upper
## Academic 1.000000 NA NA
## Vocational 1.324744 1.178865 1.488675
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## Academic NA NA NA
## Vocational 3.622682e-06 4.009747e-06 3.689827e-06
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
Kết quả phân tích tỷ lệ rủi ro (risk ratio) giữa loại trường học sinh theo học và trình độ học vấn của người giám hộ cho thấy: học sinh học trường nghề có xác suất có người giám hộ không học đại học cao hơn khoảng 32% so với học sinh học trường học thuật (RR = 1.3247). Khoảng tin cậy 95% cho ước lượng này là từ 1.179 đến 1.489, điều này cho thấy sự khác biệt có ý nghĩa thống kê. Đồng thời, p-value rất nhỏ (≈ 3.6e-06), nhỏ hơn nhiều so với mức ý nghĩa 0.05, nên ta bác bỏ giả thuyết không có sự khác biệt. Như vậy, có bằng chứng thống kê cho thấy học sinh có người giám hộ không học đại học có xu hướng theo học trường nghề cao hơn đáng kể so với các học sinh có người giám hộ từng học đại học. Điều này phản ánh vai trò quan trọng của trình độ học vấn phụ huynh trong định hướng học tập của học sinh.
library(DescTools)
ortypepaw <- OddsRatio(table_typepaw, method="wald", conf.level = 0.95)
print(ortypepaw)
## odds ratio lwr.ci upr.ci
## 1.835362 1.417541 2.376337
Giá trị odds ratio = 1.8354 cho biết tỷ lệ chênh (odds) học sinh có người giám hộ không học đại học theo học trường nghề (Vocational) cao hơn khoảng 83.5% so với học sinh theo học trường học thuật (Academic). Khoảng tin cậy 95% cho odds ratio là từ 1.418 đến 2.376, không chứa giá trị 1, nên sự khác biệt này có ý nghĩa thống kê. Điều đó cho thấy có mối liên hệ rõ rệt giữa trình độ học vấn của người giám hộ và loại trường học sinh theo học. Việc người giám hộ chưa từng học đại học có thể ảnh hưởng đến xu hướng chọn trường nghề của học sinh, có thể do định hướng nghề nghiệp thực tiễn hoặc điều kiện gia đình.
Phương pháp ước lượng hợp lý tối đa (Maximum Likelihood Estimation - MLE) là một kỹ thuật thống kê phổ quát dùng để xác định giá trị của các tham số trong một mô hình sao cho xác suất xuất hiện của dữ liệu quan sát được là lớn nhất. Về bản chất, MLE là cầu nối giữa dữ liệu thực tế và mô hình lý thuyết, cho phép các nhà phân tích định lượng hóa hiện tượng ngẫu nhiên bằng cách tối đa hóa “độ phù hợp” giữa mô hình và dữ liệu.
Trong các bài toán phân tích dữ liệu định tính hoặc nhị phân, MLE được xem là phương pháp ước lượng chuẩn, thường được áp dụng trong các mô hình phân phối rời rạc như Bernoulli, Binomial hay Multinomial, cũng như trong mô hình hồi quy logistic.
Xác suất và Hàm hợp lý trong thống kê
Xác suất \(P(\text{Data} \mid \theta)\): đại diện cho khả năng xảy ra của dữ liệu quan sát được khi tham số \(\theta\) đã biết. Đây là khái niệm thường dùng trong mô hình suy diễn.
Độ hợp lý (Likelihood) \(L(\theta \mid \text{Data})\): đánh giá mức độ phù hợp của tham số \(\theta\) với dữ liệu đã quan sát. Đây là nền tảng của phương pháp ước lượng hợp lý tối đa (Maximum Likelihood Estimation - MLE).
Trường hợp các quan sát độc lập
Khi các quan sát \(y_1, y_2, ..., y_n\) là độc lập, hàm hợp lý có thể được viết dưới dạng tích của xác suất có điều kiện:
\[ L(\theta \mid y_1, y_2, \ldots, y_n) = \prod_{i=1}^{n} P(y_i \mid \theta) \]
Trong đó:
Mục tiêu của Maximum Likelihood Estimation (MLE)
Mục tiêu của phương pháp ước lượng hợp lý tối đa là tìm giá trị ước lượng \(\hat{\theta}\) sao cho:
\[ \hat{\theta} = \arg\max_{\theta} L(\theta) \]
Tức là tìm giá trị tham số \(\theta\) làm tối đa hóa hàm hợp lý \(L(\theta)\), với dữ liệu đã cho.
Hàm log-likelihood
Để đơn giản hóa việc tính toán, người ta thường sử dụng hàm log-likelihood, vì logarit của hàm tích sẽ trở thành tổng, dễ xử lý hơn trong phân tích giải tích:
\[ \log L(\theta) = \sum_{i=1}^{n} \log P(y_i \mid \theta) \]
Việc tối đa hóa \(\log L(\theta)\) thường được ưa chuộng hơn vì:
Do đó, hầu hết các thuật toán MLE thực tế đều sử dụng log-likelihood thay vì trực tiếp làm việc với hàm hợp lý ban đầu.
Các bước thực hiện phương pháp ước lượng hợp lý tối đa (MLE)
Bước 1: Xác định mô hình phân phối xác suất
Lựa chọn mô hình phân phối phù hợp với bản chất của biến phụ thuộc (biến đầu ra):
Bước 2: Thiết lập hàm hợp lý (Likelihood Function)
Dựa vào mô hình xác suất đã chọn, biểu thức hàm hợp lý được thiết lập bằng cách nhân các xác suất có điều kiện ứng với từng quan sát:
\[ L(\theta) = \prod_{i=1}^{n} P(y_i \mid \theta) \]
Bước 3: Tính log-likelihood
Sử dụng logarit tự nhiên để biến đổi tích thành tổng, thuận tiện cho việc tối ưu:
\[ \log L(\theta) = \sum_{i=1}^{n} \log P(y_i \mid \theta) \]
Bước 4: Tối đa hóa log-likelihood
\[ \frac{d}{d\theta} \log L(\theta) \]
\[ \frac{d}{d\theta} \log L(\theta) = 0 \]
Trong các mô hình hồi quy logistic – nơi biến phản hồi \(Y\) là nhị phân (0/1) – phương pháp ước lượng hợp lý tối đa (MLE) được sử dụng để ước lượng các hệ số hồi quy \(\beta\) sao cho xác suất dự đoán:
\[ P(Y = 1 \mid X) = \frac{1}{1 + \exp[-(\beta_0 + \beta_1 X_1 + \cdots + \beta_k X_k)]} \]
phù hợp nhất với dữ liệu quan sát.
Hàm log-likelihood trong hồi quy logistic
Với \(p_i = P(Y_i = 1 \mid X_i)\), hàm log-likelihood có dạng:
\[ LL(\boldsymbol{\beta}) = \sum_{i=1}^{n} \left[ y_i \log(p_i) + (1 - y_i) \log(1 - p_i) \right] \]
Hàm log-likelihood này đánh giá độ phù hợp giữa mô hình logistic và dữ liệu quan sát.
Ước lượng \(\hat{\beta}\)
Các hệ số hồi quy \(\hat{\beta}\) được tìm bằng cách tối đa hóa hàm log-likelihood, thông qua các thuật toán tối ưu số như:
df <-read.csv("C:/Users/DELL/Downloads/data (1).csv", header= T)
# Tách dữ liệu thành nhiều cột
data <- tidyr::separate(
df,
col = 1,
into = c("type_school", "school_accreditation", "gender", "interest",
"residence", "parent_age", "parent_salary", "house_area",
"average_grades", "parent_was_in_college", "will_go_to_college"),
sep = ";"
)
Bộ dữ liệu Go-to-College được tổng hợp phục vụ cho một dự án ở trường đại học.Thông qua việphân tích, các cố vấn học đường có thể hỗ trợ những học sinh có nguy cơ không học tiếp bằng cách xác định các yếu tố liên quan và đưa ra hỗ trợ phù hợp.
str(data)
## 'data.frame': 1000 obs. of 11 variables:
## $ type_school : chr "Academic" "Academic" "Academic" "Vocational" ...
## $ school_accreditation : chr "A" "A" "B" "B" ...
## $ gender : chr "Male" "Male" "Female" "Male" ...
## $ interest : chr "Less Interested" "Less Interested" "Very Interested" "Very Interested" ...
## $ residence : chr "Urban" "Urban" "Urban" "Rural" ...
## $ parent_age : chr "56" "57" "50" "49" ...
## $ parent_salary : chr "adequate" "average" "adequate" "adequate" ...
## $ house_area : chr "Medium" "Medium" "Medium" "Medium" ...
## $ average_grades : chr "Fair" "Good" "Good" "Fair" ...
## $ parent_was_in_college: chr "FALSE" "FALSE" "FALSE" "TRUE" ...
## $ will_go_to_college : chr "YES" "YES" "YES" "YES" ...
Bộ dữ liệu bao gồm 11 biến , phản ánh đặc điểm cá nhân và gia đình của học sinh:
| Tên biến | Mô tả |
|---|---|
type_school |
Loại trường học: “Academic” hoặc “Vocational” |
school_accreditation |
Xếp hạng kiểm định của trường: “A”, “B”, … |
gender |
Giới tính: “Male”, “Female” |
interest |
Mức độ hứng thú với việc học: “Less Interested”, “Very Interested”, … |
residence |
Nơi cư trú: “Urban” hoặc “Rural” |
parent_age |
Tuổi của cha mẹ |
parent_salary |
Thu nhập của cha mẹ |
house_area |
Diện tích nhà ở |
average_grades |
Điểm trung bình học tập của học sinh |
parent_was_in_college |
Cha mẹ có từng học đại học hay không: “True”/“False” |
will_go_to_college |
học sinh có học tiếp đại học hay không: “True”/“False” |
Với 1.000 quan sát và 11 biến, bộ dữ liệu Go-to-College có quy mô phù hợp để thực hiện các phân tích thống kê, xây dựng mô hình dự đoán, cũng như phân nhóm học sinh theo các đặc điểm khác nhau.
Dữ liệu đa dạng và phong phú: bao gồm các biến như type_school, school_accreditation, gender, interest, residence, parent_age, parent_salary, house_area, average_grades, parent_was_in_college, cung cấp nhiều thông tin nhân khẩu học, kinh tế - xã hội và học tập, rất hữu ích cho việc phân tích các yếu tố ảnh hưởng đến quyết định học đại học.
Bên cạnh đó, biến mục tiêu will_go_to_college giúp thuận tiện trong việc xây dựng các mô hình phân loại nhằm dự đoán khả năng học sinh tiếp tục học lên đại học, từ đó hỗ trợ tư vấn và can thiệp kịp thời.
Hiển thị 10 dòng đầu bộ dữ liệu
head(data,10)
## type_school school_accreditation gender interest residence parent_age
## 1 Academic A Male Less Interested Urban 56
## 2 Academic A Male Less Interested Urban 57
## 3 Academic B Female Very Interested Urban 50
## 4 Vocational B Male Very Interested Rural 49
## 5 Academic A Female Very Interested Urban 57
## 6 Vocational B Female Less Interested Rural 48
## 7 Academic A Male Very Interested Rural 52
## 8 Academic B Male Very Interested Rural 53
## 9 Academic B Female Uncertain Rural 52
## 10 Academic B Female Very Interested Rural 47
## parent_salary house_area average_grades parent_was_in_college
## 1 adequate Medium Fair FALSE
## 2 average Medium Good FALSE
## 3 adequate Medium Good FALSE
## 4 adequate Medium Fair TRUE
## 5 average Medium Good FALSE
## 6 average Small Good TRUE
## 7 adequate Medium Excellent TRUE
## 8 adequate Medium Fair TRUE
## 9 adequate Medium Good TRUE
## 10 average Small Good TRUE
## will_go_to_college
## 1 YES
## 2 YES
## 3 YES
## 4 YES
## 5 NO
## 6 NO
## 7 YES
## 8 NO
## 9 YES
## 10 NO
Hiển thị 10 dòng cuối bộ dữ liệu
tail(data,10)
## type_school school_accreditation gender interest residence
## 991 Academic A Female Less Interested Urban
## 992 Academic B Female Very Interested Rural
## 993 Academic B Female Less Interested Urban
## 994 Academic B Male Very Interested Rural
## 995 Academic B Female Less Interested Urban
## 996 Vocational A Female Very Interested Rural
## 997 Academic B Female Less Interested Rural
## 998 Vocational A Male Less Interested Urban
## 999 Academic B Male Uncertain Rural
## 1000 Academic B Male Interested Urban
## parent_age parent_salary house_area average_grades parent_was_in_college
## 991 54 adequate Large Good FALSE
## 992 51 adequate Medium Good TRUE
## 993 53 average Small Good TRUE
## 994 53 average Small Fair TRUE
## 995 52 average Small Good FALSE
## 996 49 adequate Small Good TRUE
## 997 51 adequate Medium Good TRUE
## 998 49 adequate Medium Fair FALSE
## 999 53 adequate Large Good TRUE
## 1000 50 low Small Good TRUE
## will_go_to_college
## 991 YES
## 992 YES
## 993 NO
## 994 NO
## 995 NO
## 996 YES
## 997 YES
## 998 YES
## 999 YES
## 1000 NO
datana <- sum(is.na(data))
print(datana)
## [1] 0
Vậy khi kiểm tra tổng số giá trị NA toàn bộ data bằng câu lệnh
sum(is.na(data)), kết quả nhận được là KHÔNG CÓ GIÁ
TRỊ NA nên ta tiến hành phân tích tiếp.
Việc chuyển các biến như type_school, school_accreditation, gender, interest, residence, parent_was_in_college sang kiểu factor là bước tiền xử lý quan trọng trong phân tích dữ liệu. Điều này giúp R nhận diện đúng bản chất phân loại của các biến này, từ đó hỗ trợ tốt hơn cho việc phân tích thống kê và xây dựng mô hình. Vì vậy, ta tiến hành chuyển đổi các biến định tính này:
isf <- names(data)[sapply(data, function(x) is.factor(x) || is.character(x))]
print(isf)
## [1] "type_school" "school_accreditation" "gender"
## [4] "interest" "residence" "parent_age"
## [7] "parent_salary" "house_area" "average_grades"
## [10] "parent_was_in_college" "will_go_to_college"
Kết quả cho thấy có 11 biến trong tập dữ liệu đang ở dạng factor hoặc character, chủ yếu là các biến định tính như loại trường, giới tính, mức độ quan tâm, nơi cư trú,
data$type_school <- as.factor(data$type_school)
data$school_accreditation <- as.factor(data$school_accreditation)
data$gender <- as.factor(data$gender)
data$interest <- as.factor(data$interest)
data$residence <- as.factor(data$residence)
data$parent_age <- as.factor(data$parent_age)
data$parent_salary <- as.factor(data$parent_salary)
data$house_area <- as.factor(data$house_area)
data$average_grades <- as.factor(data$average_grades)
data$parent_was_in_college <- as.factor(data$parent_was_in_college)
data$will_go_to_college <- as.factor(data$will_go_to_college)
Các biến như type_school, school_accreditation, gender, interest và residence đã được chuyển sang kiểu factor để R hiểu đó là các biến phân loại. Việc này rất quan trọng nhằm đảm bảo R không xem chúng là dữ liệu liên tục. Việc xử lý đúng loại biến giúp cải thiện độ chính xác trong phân tích thống kê và mô hình hóa dự báo học sinh có tiếp tục học đại học hay không.
typeschool_freq <- table(data$type_school)
typeschoolpc <- table(data$type_school)/nrow(data)*100
typeschool_table <- data.frame(
typeschool = names(typeschool_freq),
Frequency = as.integer(typeschool_freq),
Percentage = round(typeschoolpc, 3)
)
colnames(typeschool_table) <- c("Type of school", "Frequency", "Type of school", "Percentage (%)")
library(kableExtra)
# Hiển thị bảng đẹp
typeschool_table %>%
kable("html", caption = "Bảng 2.1 Phân phối loại trường - typeschool") %>%
kable_styling(bootstrap_options = c("striped", "hover"), full_width = FALSE)
| Type of school | Frequency | Type of school | Percentage (%) |
|---|---|---|---|
| Academic | 609 | Academic | 60.9 |
| Vocational | 391 | Vocational | 39.1 |
Vậy trong data này có NA% họ sinh theo học môi trường học thuật và NA% học sinh học trường nghề.
# Vẽ Trực quan hoá tròn
pie(typeschool_freq,
main = "Biểu đồ 2.1: Phân bố loại trường (typeschool)",
labels = paste0(names(typeschool_freq),
" (", round(typeschoolpc, 3), "%)"),
col = c("#DCB0C3", "#596CAD"))
Nhận xét:
Dựa vào Bảng 2.1 và Biểu đồ 2.1: Phân bố loại trường (typeschool), ta thấy rằng học sinh chủ yếu theo học tại các trường Academic (học thuật) với tần suất 609 học sinh, chiếm 60.9% tổng số. Trong khi đó, Vocational (dạy nghề) chỉ chiếm 39.1% với 391 học sinh. Biểu đồ tròn trực quan hóa rõ sự chênh lệch này qua diện tích các lát cắt, cho thấy xu hướng học sinh nghiêng về con đường học thuật hơn là nghề nghiệp. Điều này có thể phản ánh định hướng xã hội, kỳ vọng học vấn hoặc nhận thức về cơ hội nghề nghiệp giữa hai loại hình giáo dục. Tuy nhiên, tỷ lệ học sinh chọn học nghề cũng không nhỏ, cho thấy sự đa dạng trong lựa chọn con đường học tập.
school_accreditation_freq <- table(data$school_accreditation)
school_accreditation_pct <- table(data$school_accreditation)/sum(nrow(data))*100
school_accreditation_table <- data.frame(
school_accreditation = names(school_accreditation_freq),
Frequency = as.integer(school_accreditation_freq),
Percentage = round(school_accreditation_pct, 3)
)
colnames(school_accreditation_table) <- c("school_accreditation", "Frequency", "school_accreditation", "Percentage (%)")
# Hiển thị bảng đẹp
school_accreditation_table %>%
kable("html", caption = "Bảng 2.2 Phân phối xếp hạng trường - school_accreditation") %>%
kable_styling(bootstrap_options = c("striped", "hover"), full_width = FALSE)
| school_accreditation | Frequency | school_accreditation | Percentage (%) |
|---|---|---|---|
| A | 481 | A | 48.1 |
| B | 519 | B | 51.9 |
# Vẽ Trực quan hoá tròn
pie(school_accreditation_freq,
main = "Biểu đồ 2.2: Phân phối xếp hạng trường - school_accreditation",
labels = paste0(names(school_accreditation_freq),
" (", round(school_accreditation_pct, 3), "%)"),
col = c("#FEF9DB", "#4C689B"))
Nhận xét:
Dựa vào Bảng 2.2 và biểu đồ tròn minh họa phân phối số học sinh theo xếp hạng trường (school_accreditation), ta thấy rằng số học sinh theo học tại trường xếp hạng B chiếm tỷ lệ nhỉnh hơn (51.9%) so với trường xếp hạng A (48.1%). Biểu đồ tròn thể hiện sự phân bố khá cân đối giữa hai loại xếp hạng, với lát cắt không chênh lệch nhiều. Điều này cho thấy trong thực tế, học sinh không chỉ tập trung vào các trường đạt chuẩn cao nhất (A), mà vẫn có xu hướng lựa chọn cả trường xếp hạng B, có thể do yếu tố vị trí địa lý, điều kiện gia đình hoặc nhận thức về chất lượng giảng dạy.
gr_freq <- table(data$gender)
gr_pct <- table(data$gender)/sum(nrow(data))*100
gr_table <- data.frame(
Gender = names(gr_freq),
Frequency = as.integer(gr_freq),
Percentage = round(gr_pct, 3)
)
colnames(gr_table) <- c("Gender", "Frequency", "Gender", "Percentage (%)")
library(kableExtra)
# Hiển thị bảng đẹp
gr_table %>%
kable("html", caption = "Bảng 2.3 Phân phối giới tính học sinh - GENDER") %>%
kable_styling(bootstrap_options = c("striped", "hover"), full_width = FALSE)
| Gender | Frequency | Gender | Percentage (%) |
|---|---|---|---|
| Female | 485 | Female | 48.5 |
| Male | 515 | Male | 51.5 |
pie(gr_freq,
main = "Biểu đồ 2.3: Phân phối giới tính học sinh - gender",
labels = paste0(names(gr_freq),
" (", round(gr_pct, 3), "%)"),
col = c("#F7E4E2", "#63847D"))
Nhận xét:
Dựa vào Bảng 2.3 và biểu đồ tròn minh họa phân phối giới tính học sinh (GENDER), có thể thấy tỷ lệ học sinh nam chiếm ưu thế nhẹ với 515 học sinh (51.5%), trong khi nữ chiếm 48.5% với 485 học sinh. Biểu đồ tròn thể hiện hai lát cắt gần như bằng nhau, phản ánh sự cân bằng giới tính tương đối trong mẫu khảo sát. Tuy nam có số lượng nhiều hơn một chút, nhưng mức chênh lệch không đáng kể. Điều này cho thấy không có sự thiên lệch rõ rệt về giới tính trong tiếp cận giáo dục phổ thông, và có thể coi đây là một dấu hiệu tích cực về bình đẳng giới trong học tập.
interest_freq <- table(data$interest)
interest_pct <- table(data$interest)/sum(nrow(data))*100
interest_table <- data.frame(
interest = names(interest_freq),
Frequency = as.integer(interest_freq),
Percentage = round(interest_pct, 3)
)
colnames(interest_table) <- c("interest", "Frequency", "interest", "Percentage (%)")
# Hiển thị bảng đẹp
interest_table %>%
kable("html", caption = "Bảng 2.4 Phân phối mức độ thích thú trong học tập - interest") %>%
kable_styling(bootstrap_options = c("striped", "hover"), full_width = FALSE)
| interest | Frequency | interest | Percentage (%) |
|---|---|---|---|
| Interested | 100 | Interested | 10.0 |
| Less Interested | 229 | Less Interested | 22.9 |
| Not Interested | 86 | Not Interested | 8.6 |
| Uncertain | 261 | Uncertain | 26.1 |
| Very Interested | 324 | Very Interested | 32.4 |
library(ggplot2)
interest_df <- as.data.frame(interest_pct)
colnames(interest_df) <- c("interest", "Percentage")
ggplot(interest_df, aes(x = reorder(interest, -Percentage), y = Percentage, fill = interest)) +
geom_bar(stat = "identity") +
labs(title = "Biểu đồ 2.4: Phân phối mức độ thích thú trong học tập",
x = "Độ thích thú", y = "Tỷ lệ %") +
theme_light() +
theme(axis.text.x = element_text(angle = 0, hjust = 1))
NHẬN XÉT:
Dựa vào Bảng 2.4 và biểu đồ tròn minh họa phân phối mức độ thích thú trong học tập (interest), có thể thấy mức độ hứng thú của học sinh khá đa dạng. Trong đó, nhóm “Very Interested” chiếm tỷ lệ cao nhất với 32.4% (324 học sinh), cho thấy một bộ phận lớn học sinh có động lực học tập rõ rệt. Tuy nhiên, đáng chú ý là có tới 26.1% (261 học sinh) nằm trong nhóm “Uncertain”, phản ánh sự thiếu chắc chắn hoặc không rõ ràng về thái độ học tập. Ngoài ra, gần 1/3 số học sinh còn lại thuộc nhóm “Less Interested” hoặc “Not Interested”, chiếm tổng cộng 31.5%, cho thấy vẫn còn một tỷ lệ đáng kể học sinh thiếu sự gắn bó với việc học.
residence_freq <- table(data$residence)
residence_pct <- table(data$residence)/sum(nrow(data))*100
residence_table <- data.frame(
residence = names(residence_freq),
Frequency = as.integer(residence_freq),
Percentage = round(residence_pct, 3)
)
colnames(residence_table) <- c("residence", "Frequency", "residence", "Percentage (%)")
# Hiển thị bảng đẹp
residence_table %>%
kable("html", caption = "Bảng 2.5 Phân phối định cư của học sinh - residence") %>%
kable_styling(bootstrap_options = c("striped", "hover"), full_width = FALSE)
| residence | Frequency | residence | Percentage (%) |
|---|---|---|---|
| Rural | 461 | Rural | 46.1 |
| Urban | 539 | Urban | 53.9 |
# Vẽ Trực quan hoá tròn
pie(residence_freq,
main = "Biểu đồ 2.5: Phân bố định cư của học sinh (residence)",
labels = paste0(names(residence_freq),
" (", round(residence_pct, 3), "%)"),
col = c("#DCB0C3", "#596CAD"))
NHẬN XÉT:
Dựa vào Bảng 2.5 và biểu đồ tròn minh họa phân phối nơi cư trú của học sinh (residence), ta thấy rằng học sinh đến từ khu vực đô thị (Urban) chiếm tỷ lệ cao hơn với 539 học sinh (53.9%), trong khi học sinh từ nông thôn (Rural) là 461 học sinh (46.1%). Biểu đồ tròn thể hiện hai lát cắt gần tương đương, phản ánh sự phân bố dân cư khá đồng đều trong mẫu khảo sát. Tuy nhiên, sự nhỉnh hơn từ phía đô thị có thể gợi ý về khả năng tiếp cận giáo dục cao hơn ở khu vực thành thị, nhờ điều kiện kinh tế – xã hội thuận lợi hơn. Đồng thời, điều này cũng cho thấy vẫn có tỷ lệ lớn học sinh nông thôn đang tham gia học tập, thể hiện nỗ lực mở rộng cơ hội giáo dục ở mọi vùng miền.
parent_salary_freq <- table(data$parent_salary)
parent_salary_pct <- table(data$parent_salary)/sum(nrow(data))*100
parent_salary_table <- data.frame(
parent_salary = names(parent_salary_freq),
Frequency = as.integer(parent_salary_freq),
Percentage = round(parent_salary_pct, 3)
)
colnames(parent_salary_table) <- c("parent_salary", "Frequency", "parent_salary", "Percentage (%)")
# Hiển thị bảng đẹp
parent_salary_table %>%
kable("html", caption = "Bảng 2.7 Phân phối theo theo thu nhập của người giám hộ - parent_salary") %>%
kable_styling(bootstrap_options = c("striped", "hover"), full_width = FALSE)
| parent_salary | Frequency | parent_salary | Percentage (%) |
|---|---|---|---|
| adequate | 448 | adequate | 44.8 |
| average | 446 | average | 44.6 |
| high | 39 | high | 3.9 |
| low | 67 | low | 6.7 |
# Vẽ Trực quan hoá tròn
pie(parent_salary_freq,
main = "Biểu đồ 2.7: Phân phối theo thu nhập của người giám hộ - parent_salary",
labels = paste0(names(parent_salary_freq),
" (", round(parent_salary_pct, 3), "%)"),
col = c("#ABBEE0", "#F4C0C2", "#B2EEDA", "#FFECAF"))
NHẬN XÉT:
Phân phối thu nhập người giám hộ cho thấy sự tương đồng rõ rệt giữa nhóm có thu nhập “adequate” (44.8%) và “average” (44.6%), chiếm gần 90% tổng số học sinh. Điều này phản ánh rằng đa số học sinh xuất thân từ các gia đình có mức sống ổn định, không quá giàu cũng không quá khó khăn. So với các nhóm này, nhóm thu nhập “high” chỉ chiếm rất nhỏ (3.9%), cho thấy các gia đình khá giả không nhiều trong mẫu khảo sát. Nhóm thu nhập “low” chiếm 6.7%, thấp hơn khá nhiều so với hai nhóm trung bình, nhưng vẫn là một tỷ lệ không nhỏ, phản ánh rằng còn nhiều học sinh đến từ gia đình có điều kiện kinh tế hạn chế. So sánh với các phân phối khác như độ tuổi giám hộ hay nơi cư trú, thu nhập có sự phân hóa rõ hơn, có thể ảnh hưởng đến cơ hội và điều kiện học tập của học sinh.
house_area_freq <- table(data$house_area)
house_area_pct <- table(data$house_area)/sum(nrow(data))*100
house_area_table <- data.frame(
house_area = names(house_area_freq),
Frequency = as.integer(house_area_freq),
Percentage = round(house_area_pct, 3)
)
colnames(house_area_table) <- c("house_area", "Frequency", "house_area", "Percentage (%)")
# Hiển thị bảng đẹp
house_area_table %>%
kable("html", caption = "Bảng 2.8 Phân phối theo diện tích nhà ở - house_area") %>%
kable_styling(bootstrap_options = c("striped", "hover"), full_width = FALSE)
| house_area | Frequency | house_area | Percentage (%) |
|---|---|---|---|
| Large | 200 | Large | 20.0 |
| Medium | 424 | Medium | 42.4 |
| Small | 376 | Small | 37.6 |
# Vẽ Trực quan hoá tròn
pie(house_area_freq,
main = "Biểu đồ 2.8: Phân phối theo theo diện tích nhà ở - house_area",
labels = paste0(names(house_area_freq),
" (", round(house_area_pct, 3), "%)"),
col = c("#96BFBC", "#E8EDDA", "#D4A2A6"))
NHẬN XÉT:
Phân phối diện tích nhà ở cho thấy gần 80% học sinh sống trong nhà có diện tích nhỏ đến trung bình (37.6% diện tích nhỏ, 42.4% diện tích trung bình), chỉ có 20% sống trong nhà diện tích lớn. Kết hợp với dữ liệu về thu nhập người giám hộ chủ yếu ở mức adequate và average (gần 90%), cũng như độ tuổi người giám hộ tập trung từ 50 đến 55, cho thấy phần lớn học sinh thuộc gia đình có điều kiện kinh tế ổn định nhưng không quá dư giả. Điều này phản ánh môi trường sinh hoạt và học tập chủ yếu thuộc tầng lớp trung lưu, ảnh hưởng đến khả năng tiếp cận và chất lượng giáo dục của học sinh.
average_grades_freq <- table(data$average_grades)
average_grades_pct <- table(data$average_grades)/sum(nrow(data))*100
average_grades_table <- data.frame(
average_grades = names(average_grades_freq),
Frequency = as.integer(average_grades_freq),
Percentage = round(average_grades_pct, 3)
)
colnames(average_grades_table) <- c("average_grades", "Frequency", "average_grades", "Percentage (%)")
# Hiển thị bảng đẹp
average_grades_table %>%
kable("html", caption = "Bảng 2.9 Phân phối theo kết quả học tập của học sinh - average_grades") %>%
kable_styling(bootstrap_options = c("striped", "hover"), full_width = FALSE)
| average_grades | Frequency | average_grades | Percentage (%) |
|---|---|---|---|
| Excellent | 133 | Excellent | 13.3 |
| Fair | 424 | Fair | 42.4 |
| Good | 443 | Good | 44.3 |
# Vẽ Trực quan hoá tròn
pie(average_grades_freq,
main = "Biểu đồ 2.9: Phân phối kết quả học tập của học sinh (average_grades)",
labels = paste0(names(average_grades_freq),
" (", round(average_grades_pct, 3), "%)"),
col = c("#C4C1E1", "#EEDdB6", "#DCA2A7"))
Dựa vào Bảng 2.9 về phân phối kết quả học tập của học sinh, ta thấy nhóm có thành tích Good chiếm tỷ lệ cao nhất với 44.3% (443 học sinh), tiếp theo là nhóm Fair chiếm 42.4% (424 học sinh), và nhóm Excellent chiếm tỷ lệ thấp nhất với 13.3% (133 học sinh).
Nhận xét: Phần lớn học sinh đạt kết quả học tập từ mức Fair đến Good, thể hiện chất lượng học tập trung bình đến khá phổ biến trong mẫu khảo sát. Tỷ lệ học sinh xuất sắc còn khá khiêm tốn, chỉ khoảng 1/8 tổng số. Điều này có thể phản ánh cả năng lực học tập và các điều kiện hỗ trợ học tập hiện tại, từ đó gợi ý cần các biện pháp nâng cao chất lượng giáo dục để giúp nhiều học sinh đạt kết quả cao hơn.
parent_was_in_college_freq <- table(data$parent_was_in_college)
parent_was_in_college_pct <- table(data$parent_was_in_college)/sum(nrow(data))*100
parent_was_in_college_table <- data.frame(
parent_was_in_college = names(parent_was_in_college_freq),
Frequency = as.integer(parent_was_in_college_freq),
Percentage = round(parent_was_in_college_pct, 3)
)
colnames(parent_was_in_college_table) <- c("parent_was_in_college", "Frequency", "parent_was_in_college", "Percentage (%)")
# Hiển thị bảng đẹp
parent_was_in_college_table%>%
kable("html", caption = "Bảng 2.10 Phân phối theo khả năng người giám hộ theo học cao đẳng - parent_was_in_college") %>%
kable_styling(bootstrap_options = c("striped", "hover"), full_width = FALSE)
| parent_was_in_college | Frequency | parent_was_in_college | Percentage (%) |
|---|---|---|---|
| FALSE | 480 | FALSE | 48 |
| TRUE | 520 | TRUE | 52 |
# Vẽ Trực quan hoá tròn
pie(parent_was_in_college_freq,
main = "Biểu đồ 2.10: Phân phối khả năng người giám hộ theo học cao đẳng - parent_was_in_college",
labels = paste0(names(parent_was_in_college_freq),
" (", round(parent_was_in_college_pct, 3), "%)"),
col = c("#C4C1E1", "#EEDdB6", "#DCA2A7"))
NHẬN XÉT:
Dữ liệu cho thấy 52% học sinh có người giám hộ từng học cao đẳng trở lên, trong khi 48% không có. Trình độ học vấn của người giám hộ khá cân bằng nhưng nghiêng nhẹ về phía có học vấn cao, điều này phần nào lý giải vì sao phần lớn học sinh đạt kết quả học tập ở mức Fair (42.4%) và Good (44.3%). Bên cạnh đó, đa số học sinh đến từ gia đình có thu nhập trung bình và nhà ở diện tích vừa phải, cho thấy môi trường học tập tuy không quá thuận lợi về vật chất nhưng được hỗ trợ tốt từ yếu tố văn hóa và nhận thức giáo dục của phụ huynh.
will_go_to_college_freq <- table(data$will_go_to_college)
will_go_to_college_pct <- table(data$will_go_to_college)/sum(nrow(data))*100
will_go_to_college_table <- data.frame(
will_go_to_college = names(will_go_to_college_freq),
Frequency = as.integer(will_go_to_college_freq),
Percentage = round(will_go_to_college_pct, 3)
)
colnames(will_go_to_college_table) <- c("will_go_to_college", "Frequency", "will_go_to_college", "Percentage (%)")
# Hiển thị bảng đẹp
will_go_to_college_table%>%
kable("html", caption = "Bảng 2.11 Phân phối theo khả năng quyết định theo học cao đẳng của học sinh - will_go_to_college") %>%
kable_styling(bootstrap_options = c("striped", "hover"), full_width = FALSE)
| will_go_to_college | Frequency | will_go_to_college | Percentage (%) |
|---|---|---|---|
| NO | 500 | NO | 50 |
| YES | 500 | YES | 50 |
# Vẽ Trực quan hoá tròn
pie(will_go_to_college_freq,
main = "Biểu đồ 2.11: Phân phốitheo khả năng quyết định theo học cao đẳng của học sinh - will_go_to_college",
labels = paste0(names(will_go_to_college_freq),
" (", round(will_go_to_college_pct, 3), "%)"),
col = c("#C4C1E1", "#EEDdB6", "#DCA2A7"))
NHẬN XÉT:
Kết quả từ Bảng 2.11 cho thấy học sinh được chia đều về khả năng quyết định theo học cao đẳng, với 50% trả lời có và 50% trả lời không, phản ánh sự phân hóa rõ nét trong định hướng học tập tương lai. Mặc dù dữ liệu ở Bảng 2.10 cho thấy 52% người giám hộ đã từng học cao đẳng trở lên, điều này không đồng nghĩa với việc học sinh sẽ tiếp nối định hướng học tập đó. Quyết định theo học cao đẳng có thể bị ảnh hưởng bởi nhiều yếu tố khác nhau như kết quả học tập (chỉ 13.3% đạt loại giỏi), thu nhập của gia đình (đa số ở mức adequate hoặc average), và diện tích nhà ở (phần lớn là nhỏ và vừa), cho thấy nhiều học sinh vẫn còn gặp hạn chế về điều kiện vật chất hoặc thiếu động lực. Ngoài ra, dữ liệu từ Bảng 2.4 về mức độ hứng thú học tập cũng phản ánh sự thiếu chắc chắn, khi có đến 26.1% học sinh cảm thấy không rõ ràng về hứng thú học, điều này có thể khiến nhiều em không đưa ra được quyết định rõ ràng về việc học tiếp sau phổ thông. Như vậy, mặc dù môi trường gia đình có phần hỗ trợ, thì quyết định học tiếp lên cao đẳng vẫn là một vấn đề phức tạp, đòi hỏi sự tư vấn, định hướng và hỗ trợ mạnh mẽ hơn từ phía nhà trường và xã hội.
Khoảng tin cậy cho tỷ lệ (proportion):
# Function
prop1.interval <- function(x,n,conf.level) # function of 1-proportion CI for p
{
p <- x/n
z.crit <- -1*qnorm((1-conf.level)/2)
margin.error <- z.crit*sqrt(p*(1-p)/n)
ci.lower <- p - margin.error
ci.upper <- p + margin.error
dat <- c(p, z.crit, margin.error, ci.lower, ci.upper)
names(dat) <- c("Mean", "Critical Value", "Margin of Error", "CI lower", "CI upper")
return(dat)
}
# Số lượng học sinh có kết quả học tập thuộc nhóm "Fair"
xFair <- sum(data$average_grades == "Fair")
# Ước lượng khoảng tin cậy 95%
prop1.interval(xFair,nrow(data),0.95) # 1-proportion 95% CI for p
## Mean Critical Value Margin of Error CI lower CI upper
## 0.42400000 1.95996398 0.03062967 0.39337033 0.45462967
Nhận xét:
Kết quả phân tích cho thấy tỷ lệ học sinh có học lực “Fair” trong mẫu là 42.4% (Mean = 0.424). Đây là ước lượng tốt cho tỷ lệ thực tế trong quần thể. Giá trị tới hạn (Critical Value = 1.96) được lấy từ phân phối chuẩn ứng với mức tin cậy 95%, dùng để tính sai số biên.
Sai số biên (Margin of Error = 0.0306) cho thấy mức độ không chắc chắn khi dùng trung bình mẫu để ước lượng tỷ lệ tổng thể. Nhờ cỡ mẫu đủ lớn, sai số nhỏ giúp khoảng tin cậy chính xác hơn.
Từ đó, khoảng tin cậy 95% dao động từ 39.34% đến 45.46% (CI lower = 0.3934, CI upper = 0.4546). Điều này nghĩa là với độ tin cậy 95%, tỷ lệ thực sự học sinh loại “Fair” nằm trong khoảng này. Kết quả cho thấy cần có chính sách hỗ trợ nhóm học sinh trung bình để nâng cao chất lượng giáo dục.
Bài toán có giả thuyết như sau: \[ \left\{ \begin{array}{l} H_0: \; p = 0.4 \quad \text{(Tỷ lệ học sinh học lực Fair trong tổng thể là đúng 40%)} \\ H_1: \; p \ne 0.4 \quad \text{(Tỷ lệ học sinh học lực Fair khác 40%, có thể cao hơn hoặc thấp hơn)} \end{array} \right.\]
prop.test(x=xFair, n=nrow(data), p=0.4, correct=FALSE)
##
## 1-sample proportions test without continuity correction
##
## data: xFair out of nrow(data), null probability 0.4
## X-squared = 2.4, df = 1, p-value = 0.1213
## alternative hypothesis: true p is not equal to 0.4
## 95 percent confidence interval:
## 0.3937184 0.4548632
## sample estimates:
## p
## 0.424
Với p-value = 0.1213 lớn hơn mức ý nghĩa \(\alpha = 5%\), ta không có đủ bằng chứng để bác bỏ giả thuyết \(H_0: p = 0.4\). Nói cách khác, chưa thể khẳng định rằng tỷ lệ học sinh có học lực loại “Fair” khác 40% trong tổng thể. Tuy giá trị ước lượng từ mẫu là 42.4% (p = 0.424), nhưng sự chênh lệch này chưa đủ ý nghĩa thống kê.
Khoảng tin cậy 95% cho tỷ lệ thực tế dao động từ 39.37% đến 45.49%, nghĩa là 40% vẫn nằm trong khoảng tin cậy nên giả thuyết \(H_0\) là phù hợp. Kết quả này cho thấy tỷ lệ học sinh “Fair” có thể gần với giả định ban đầu (40%), và chưa có bằng chứng rõ ràng để kết luận rằng nó cao hơn hoặc thấp hơn đáng kể.
# Số lượng người giám hộ của học sinh có thu nhập nhóm "low"
xlow <- sum(data$parent_salary == "low")
# Ước lượng khoảng tin cậy 95%
prop1.interval(xlow,nrow(data),0.95) # 1-proportion 95% CI for p
## Mean Critical Value Margin of Error CI lower CI upper
## 0.06700000 1.95996398 0.01549624 0.05150376 0.08249624
NHẬN XÉT:
Tỷ lệ người giám hộ có thu nhập thuộc nhóm “low” trong mẫu là 6.7% (Mean = 0.067). Đây là con số tương đối nhỏ, cho thấy phần lớn người giám hộ có thu nhập cao hơn mức này. Giá trị tới hạn (Critical Value = 1.96) được sử dụng từ phân phối chuẩn với mức ý nghĩa 5%, nhằm tính sai số biên.
Sai số biên (Margin of Error = 0.0155) phản ánh độ không chắc chắn khi dùng tỷ lệ mẫu để ước lượng tỷ lệ tổng thể. Với sai số tương đối nhỏ, ước lượng được xem là đáng tin cậy. Khoảng tin cậy 95% cho tỷ lệ thực tế nằm trong khoảng từ 5.15% đến 8.25% (CI lower = 0.0515, CI upper = 0.0825).
Điều này cho thấy tỷ lệ người giám hộ thu nhập thấp là tương đối ít, giúp nhà quản lý hiểu rõ hơn về đặc điểm kinh tế của đối tượng được khảo sát và từ đó đưa ra chính sách hỗ trợ phù hợp hơn nếu cần thiết.
Bài toán có giả thuyết như sau: \[ \left\{ \begin{array}{l} H_0: \; p = 0.05 \quad \text{(Tỷ lệ người giám hộ có thu nhập thuộc nhóm "low" là 5%)} \\ H_1: \; p > 0.05 \quad \text{(Tỷ lệ người giám hộ có thu nhập thuộc nhóm "low" cao hơn 5%)} \end{array} \right.\]
prop.test(x=xlow, n=nrow(data), p=0.05,alternative = "greater", correct=FALSE)
##
## 1-sample proportions test without continuity correction
##
## data: xlow out of nrow(data), null probability 0.05
## X-squared = 6.0842, df = 1, p-value = 0.00682
## alternative hypothesis: true p is greater than 0.05
## 95 percent confidence interval:
## 0.0551286 1.0000000
## sample estimates:
## p
## 0.067
Kết quả kiểm định tỉ lệ một mẫu không sử dụng hiệu chỉnh liên tục cho giá trị thống kê \(\chi^2 = 6.08\) với 1 bậc tự do và p-value = 0.00682, nhỏ hơn mức ý nghĩa 5%. Do đó, ta có đủ bằng chứng để bác bỏ giả thuyết \(H_0\) và chấp nhận giả thuyết \(H_1\), tức là tỷ lệ thực tế người giám hộ thu nhập nhóm “low” cao hơn 5%.
Điều này cho thấy trong mẫu khảo sát, nhóm người giám hộ có thu nhập nhóm “low” chiếm tỷ lệ đáng kể hơn so với giả định trước đó, từ đó cảnh báo rằng các chính sách hỗ trợ và can thiệp tài chính dành cho nhóm này là cần thiết để đảm bảo sự công bằng và nâng cao điều kiện sống của đối tượng có hoàn cảnh khó khăn.
# Số lượng học sinh không rõ về độ thích thú trong học tập
xUncertain <- sum(data$interest == "Uncertain")
# Ước lượng khoảng tin cậy 95%
prop1.interval(xUncertain,nrow(data),0.95) # 1-proportion 95% CI for p
## Mean Critical Value Margin of Error CI lower CI upper
## 0.26100000 1.95996398 0.02722015 0.23377985 0.28822015
NHẬN XÉT:
Tỷ lệ học sinh không rõ về độ thích thú trong học tập trong mẫu là 26.1% (Mean = 0.261). Đây là một tỷ lệ khá đáng kể, phản ánh một nhóm học sinh còn do dự hoặc chưa xác định được mức độ quan tâm của mình đối với việc học.
Giá trị tới hạn (Critical Value = 1.96) được sử dụng từ phân phối chuẩn với mức ý nghĩa 5%, nhằm tính sai số biên. Sai số biên (Margin of Error = 0.0272) cho biết độ chính xác của ước lượng tỷ lệ này.
Dựa trên đó, khoảng tin cậy 95% cho tỷ lệ thực tế dao động từ 23.38% đến 28.82% (CI lower = 0.2338, CI upper = 0.2882). Điều này cho thấy với độ tin cậy 95%, tỷ lệ học sinh không xác định được độ thích thú trong học tập thực tế nằm trong khoảng trên.
Kết quả này nhấn mạnh sự cần thiết của các biện pháp hỗ trợ giúp học sinh hiểu rõ và xác định được sở thích học tập, từ đó nâng cao động lực và hiệu quả học tập của nhóm học sinh này.
Bài toán có giả thuyết như sau: \[ \left\{ \begin{array}{l} H_0: \; p = 0.11 \quad \text{(Tỷ lệ học sinh không rõ về độ thích thú trong học tập là 11%)} \\ H_1: \; p > 0.11 \quad \text{(Tỷ lệ học sinh không rõ về độ thích thú trong học tập là 11%)} \end{array} \right.\]
prop.test(xUncertain,nrow(data), p=0.11,alternative = "greater", correct=FALSE)
##
## 1-sample proportions test without continuity correction
##
## data: xUncertain out of nrow(data), null probability 0.11
## X-squared = 232.9, df = 1, p-value < 2.2e-16
## alternative hypothesis: true p is greater than 0.11
## 95 percent confidence interval:
## 0.2388227 1.0000000
## sample estimates:
## p
## 0.261
Kết quả kiểm định tỉ lệ một mẫu không sử dụng hiệu chỉnh liên tục cho thấy giá trị thống kê \(\chi^2 = 232.9\) với 1 bậc tự do và p-value < 2.2 ^{-16}$, nhỏ hơn rất nhiều mức ý nghĩa 5%. Vì vậy, ta có đủ bằng chứng để bác bỏ giả thuyết \(H_0\) và chấp nhận giả thuyết thay thế \(H_1\).
Tỷ lệ mẫu ước lượng là 26.1% (p = 0.261), cao hơn nhiều so với tỷ lệ giả định 11%. Khoảng tin cậy 95% một phía cho tỷ lệ thực tế nằm trong khoảng từ 23.88% đến 100%, khẳng định tỷ lệ học sinh không rõ về độ thích thú trong học tập thực sự lớn hơn mức giả định.
Kết quả này cho thấy một tỷ lệ đáng kể học sinh còn do dự về sự hứng thú trong học tập, từ đó nhấn mạnh sự cần thiết của các biện pháp hỗ trợ để tăng động lực và sự quan tâm của các em đối với quá trình học tập.
# Số lượng học sinh có người giám hộ theo học cao đẳng
xTRUEp <- sum(data$parent_was_in_college == "TRUE")
# Ước lượng khoảng tin cậy 95%
prop1.interval(xTRUEp,nrow(data),0.95) # 1-proportion 95% CI for p
## Mean Critical Value Margin of Error CI lower CI upper
## 0.52000000 1.95996398 0.03096495 0.48903505 0.55096495
NHẬN XÉT:
Tỷ lệ học sinh có người giám hộ từng theo học cao đẳng trong mẫu là 52.0% (Mean = 0.52), chiếm tỷ lệ khá lớn trong tổng số học sinh khảo sát.
Với giá trị tới hạn (Critical Value) là 1.96 ở mức ý nghĩa 5%, sai số biên (Margin of Error) được tính là 3.1% (0.03096), thể hiện độ chính xác của ước lượng tỷ lệ này.
Do đó, khoảng tin cậy 95% cho tỷ lệ thực tế nằm trong khoảng từ 48.9% đến 55.1% (CI lower = 0.489, CI upper = 0.551), cho thấy với độ tin cậy cao, tỷ lệ học sinh có người giám hộ từng học cao đẳng dao động trong khoảng này.
Kết quả này cho thấy hơn một nửa số học sinh có người giám hộ có trình độ học vấn ở mức cao đẳng trở lên, điều này có thể ảnh hưởng tích cực đến quá trình học tập và phát triển của học sinh thông qua sự hỗ trợ và tư vấn từ gia đình.
Bài toán có giả thuyết như sau: \[ \left\{ \begin{array}{l} H_0: \; p = 0.6 \quad \text{(Tỷ lệ học sinh có người giám hộ từng theo học cao đẳng là 60%)} \\ H_1: \; p \ne 0.6 \quad \text{(Tỷ lệ học sinh có người giám hộ từng theo học cao đẳng khác 60%)} \end{array} \right.\]
prop.test(x=xTRUEp, n=nrow(data), p=0.6, correct=FALSE)
##
## 1-sample proportions test without continuity correction
##
## data: xTRUEp out of nrow(data), null probability 0.6
## X-squared = 26.667, df = 1, p-value = 2.418e-07
## alternative hypothesis: true p is not equal to 0.6
## 95 percent confidence interval:
## 0.4890177 0.5508292
## sample estimates:
## p
## 0.52
Kết quả kiểm định tỉ lệ một mẫu không sử dụng hiệu chỉnh liên tục cho giá trị thống kê \(\chi^2 = 26.667\) với 1 bậc tự do và p-value = 2.418 ^{-7}$, nhỏ hơn nhiều mức ý nghĩa 5%. Do đó, ta có đủ bằng chứng để bác bỏ giả thuyết \(H_0\).
Tỷ lệ mẫu được ước lượng là 52% (p = 0.52), thấp hơn đáng kể so với tỷ lệ giả định 60%. Khoảng tin cậy 95% cho tỷ lệ thực tế nằm trong khoảng từ 48.9% đến 55.1%, khẳng định tỷ lệ thực tế học sinh có người giám hộ từng học cao đẳng thấp hơn mức 60%.
Kết quả này cho thấy tỷ lệ học sinh có người giám hộ từng theo học cao đẳng thực tế không đạt mức 60% như giả định trước đó, điều này có thể tác động đến các yếu tố liên quan đến hỗ trợ học tập và phát triển của học sinh, từ đó gợi ý cho việc xem xét lại các chính sách và chương trình hỗ trợ phù hợp.
table_WP <- table(data$will_go_to_college,data$parent_was_in_college)
library(kableExtra)
kable(table_WP, format = "html", caption = "Bảng 4.1 Tần số theo quyết định theo học cao đẳng và người giám hộ theo học cao đẳng") %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"), full_width = F)
| FALSE | TRUE | |
|---|---|---|
| NO | 252 | 248 |
| YES | 228 | 272 |
Bảng tần số cho thấy học sinh có người giám hộ từng học cao đẳng có xu hướng quyết định theo học cao đẳng cao hơn so với học sinh có người giám hộ không học cao đẳng. Điều này phản ánh vai trò quan trọng của nền tảng học vấn người giám hộ trong việc ảnh hưởng đến quyết định học tập của con em mình.
library(ggplot2)
df_WP <- as.data.frame(table_WP)
colnames(df_WP) <- c("Decision", "ParentCollege", "Count")
ggplot(df_WP, aes(x = ParentCollege, y = Count, fill = Decision)) +
geom_bar(stat = "identity", position = "dodge") +
geom_text(aes(label = Count),
position = position_dodge(width = 0.9)) +
labs(
x = "Người giám hộ từng học cao đẳng",
y = "Số lượng học sinh",
fill = "Quyết định học cao đẳng",
title = "Biểu đồ 4.2: Tần số học sinh theo quyết định học cao đẳng và người giám hộ học cao đẳng"
) +
theme_minimal()
NHẬN XÉT:
Biểu đồ và Bảng 4.1 cho thấy ảnh hưởng rõ rệt của trình độ học vấn người giám hộ đến quyết định học cao đẳng của học sinh. Ở nhóm có người giám hộ từng học cao đẳng, số học sinh quyết định học tiếp (YES) là 272, cao hơn nhóm không học (NO) là 248. Ngược lại, với nhóm không có người giám hộ từng học cao đẳng, số học sinh không học cao đẳng lại cao hơn (252 so với 228).
Sự khác biệt này phản ánh xu hướng: học sinh có người giám hộ từng học cao đẳng có xu hướng chọn học tiếp cao hơn. Điều này cho thấy trình độ học vấn của người giám hộ có thể đóng vai trò tích cực trong việc định hướng học tập cho học sinh, là yếu tố đáng cân nhắc trong các chính sách khuyến học và hỗ trợ giáo dục.
Bài toán có giả thuyết như sau: \[ \left\{ \begin{array}{l} H_0: \; \text{trình độ học vấn của người giám hộ và quyết định học tiếp của học sinh độc lập với nhau } \\ H_1: \; \text{trình độ học vấn của người giám hộ và quyết định học tiếp của học sinh có liên quan đến nhau} \end{array} \right.\]
Ta thực hiện kiểm định Chi bình phương và được kết quả như sau:
chiWP <- chisq.test(table_WP)
print(chiWP)
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: table_WP
## X-squared = 2.1194, df = 1, p-value = 0.1454
NHẬN XÉT:
Với bài toán kiểm định mối liên hệ giữa trình độ học vấn của người giám hộ và quyết định học tiếp cao đẳng của học sinh, ta sử dụng kiểm định Chi-squared với hiệu chỉnh Yates. Kết quả cho thấy thống kê \(\chi^2 = 2.1194\) với 1 bậc tự do và p-value = 0.1454, lớn hơn mức ý nghĩa 5%.
Do đó, không có đủ bằng chứng để bác bỏ giả thuyết \(H_0\). Điều này đồng nghĩa với việc chưa thể khẳng định có mối liên hệ rõ ràng giữa trình độ học vấn của người giám hộ và quyết định học tiếp của học sinh trong tổng thể. Mặc dù có sự chênh lệch nhẹ về tần số trong bảng, nhưng xét trên khía cạnh thống kê, sự khác biệt này chưa đủ ý nghĩa để rút ra kết luận chắc chắn. Các yếu tố khác có thể đang đóng vai trò quan trọng hơn trong quyết định học tập của học sinh.
Thiết lập tỷ lệ
Tỷ lệ học sinh quyết định học có người giám hộ học cao đẳng:
\[ p_1 = P(\text{parents_was_in_college} = TRUE \mid \text{will_go_to_college} = YES) \]
Tỷ lệ học sinh không quyết định học có người giám hộ học cao đẳng:
\[ p_1 = P(\text{parents_was_in_college} = TRUE \mid \text{will_go_to_college} = NO) \]
Hiệu chênh lệch giữa hai tỷ lệ:
\[ d = p_1 - p_2 \]
Giả thuyết kiểm định
Giả thuyết H₀: Không có sự khác biệt giữa hai tỷ
lệ
\[ H_0: p_1 - p_2 = 0\]
Giả thuyết H1): Tỷ lệ học sinh quyết định học có người giám hộ học cao đẳng thấp hơn Tỷ lệ học sinh không quyết định học có người giám hộ học cao đẳng: \(H_1: p_1 - p_2 < 0\)
# Kiểm định sự khác biệt trong quyết định học tiếp cao đẳng với bố mẹ theo học cao đẳng
library(stats)
testWP <- prop.test(x = c(table_WP["YES","TRUE"], table_WP["NO","TRUE"]),
n = c(sum(table_WP["YES",]), sum(table_WP["NO",])),
alternative = "less", correct = FALSE)
print(testWP)
##
## 2-sample test for equality of proportions without continuity correction
##
## data: c(table_WP["YES", "TRUE"], table_WP["NO", "TRUE"]) out of c(sum(table_WP["YES", ]), sum(table_WP["NO", ]))
## X-squared = 2.3077, df = 1, p-value = 0.9356
## alternative hypothesis: less
## 95 percent confidence interval:
## -1.00000000 0.09991321
## sample estimates:
## prop 1 prop 2
## 0.544 0.496
Kết quả kiểm định hai tỷ lệ cho thấy \(\chi^2 = 2.3077\), với p-value = 0.9356, lớn hơn nhiều so với mức ý nghĩa 0.05. Do đó, ta không bác bỏ giả thuyết \(H_0\), tức là không có đủ bằng chứng để kết luận rằng tỷ lệ học sinh quyết định học cao đẳng có người giám hộ từng học cao đẳng thấp hơn nhóm còn lại. Ngược lại, ước lượng mẫu lại cho thấy tỷ lệ này cao hơn một chút (0.544 > 0.496), dù không có ý nghĩa thống kê.
Khoảng tin cậy 95% cho hiệu số tỷ lệ \((p_1 - p_2)\) là từ –1.0000 đến 0.09991321 bao gồm 0, càng củng cố việc không có sự khác biệt đáng kể. Dù tỷ lệ ước lượng của nhóm học tiếp học cao đẳng là 0.544, cao hơn nhóm không học (0.496), nhưng chênh lệch này không có ý nghĩa thống kê.
Hiệu chênh lệch giữa hai tỷ lệ: \[ \hat{d} = 0.544 - 0.496 = 0.048 \]
library(epitools)
rWP <- riskratio(table_WP, method = "wald")
print(rWP)
## $data
##
## FALSE TRUE Total
## NO 252 248 500
## YES 228 272 500
## Total 480 520 1000
##
## $measure
## risk ratio with 95% C.I.
## estimate lower upper
## NO 1.000000 NA NA
## YES 1.096774 0.9733737 1.235819
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## NO NA NA NA
## YES 0.1294593 0.1454068 0.128735
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
Dựa trên bảng dữ liệu 2×2, tỷ số rủi ro (risk ratio) giữa nhóm học sinh có quyết định học cao đẳng và người giám hộ từng học cao đẳng là RR = 1.097, tức cao hơn khoảng 9.7% so với nhóm quyết định không học. Tuy nhiên, khoảng tin cậy 95% là (0.973; 1.236) bao gồm giá trị 1, nghĩa là chưa đủ bằng chứng thống kê để khẳng định có sự khác biệt thực sự.
| Phương pháp kiểm định | Giá trị p (two-sided) |
|---|---|
| Mid-p exact test | 0.1295 |
| Fisher exact test | 0.1454 |
| Chi-square test | 0.1287 |
Tất cả các giá trị p đều lớn hơn mức ý nghĩa 0.05.
Điều này có nghĩa là ta không đủ bằng chứng để bác bỏ giả thuyết tức là không có sự khác biệt đáng kể về tỷ lệ quyết định học tiếp cao đẳng giữa học sinh có người giám hộ từng học cao đẳng và không học cao đẳng dựa trên dữ liệu này.
Kết luận: Dữ liệu chưa cho thấy mối liên hệ có ý nghĩa thống kê giữa trình độ người giám hộ và quyết định học tiếp của học sinh.
library(DescTools)
orWP <- OddsRatio(table_WP, method="wald", conf.level = 0.95)
print(orWP)
## odds ratio lwr.ci upr.ci
## 1.2122241 0.9455879 1.5540462
OR > 1 nghĩa là odds quyết định học tiếp cao đẳng của học sinh có người giám hộ từng học cao đẳng cao hơn odds của học sinh có người giám hộ không học cao đẳng.
Giá trị OR = 1.2122 cho thấy odds học tiếp cao đẳng của nhóm học sinh có người giám hộ từng học cao đẳng cao hơn khoảng 21.22% so với nhóm còn lại (1.2122 - 1 = 0.2122).
Khoảng tin cậy 95% cho OR là (0.9456, 1.5540) chứa giá trị 1.
Điều này cho thấy, về mặt thống kê, chúng ta không thể khẳng định chắc chắn sự khác biệt về odds giữa hai nhóm, tức có khả năng odds của hai nhóm là bằng nhau (OR = 1).
TỔNG KẾT
Kết quả phân tích cho thấy tỷ số rủi ro (RR = 1.097) và odds ratio (OR = 1.212) đều lớn hơn 1, chỉ ra nhóm học sinh có người giám hộ từng học cao đẳng có xu hướng quyết định học tiếp cao đẳng cao hơn nhóm còn lại, tương ứng tăng khoảng 9.7% về tỷ lệ và 21.2% về odds. Tuy nhiên, các khoảng tin cậy 95% của RR (0.973–1.236) và OR (0.946–1.554) đều chứa giá trị 1, cùng với các giá trị p kiểm định chi-square, Fisher, và mid-p đều lớn hơn 0.05, cho thấy sự khác biệt này chưa đủ ý nghĩa thống kê. Như vậy, chưa có bằng chứng rõ ràng khẳng định mối liên hệ giữa trình độ người giám hộ và quyết định học tiếp của học sinh.
table_typegender <- table(data$type_school,data$gender)
library(kableExtra)
kable(table_typegender, format = "html", caption = "Bảng 4.2 Tần số theo loại trường và giới tính của học sinh") %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"), full_width = F)
| Female | Male | |
|---|---|---|
| Academic | 302 | 307 |
| Vocational | 183 | 208 |
NHẬN XÉT:
Bảng 4.2 trình bày tần số học sinh theo loại trường và giới tính, cho thấy sự phân bố khá đồng đều giữa nam và nữ trong từng loại hình đào tạo. Cụ thể, trong nhóm trường Academic, số học sinh nam (307) và nữ (302) gần như tương đương, phản ánh không có sự thiên lệch giới rõ rệt. Ngược lại, ở nhóm Vocational, số học sinh nam (208) nhỉnh hơn nữ (183), cho thấy nam có xu hướng lựa chọn hướng nghề nhiều hơn.
library(ggplot2)
df_typegender <- as.data.frame(table_typegender)
colnames(df_typegender) <- c("Gender", "SchoolType", "Count")
ggplot(df_typegender, aes(x = SchoolType, y = Count, fill = Gender)) +
geom_bar(stat = "identity", position = "dodge") +
geom_text(aes(label = Count),position = position_dodge(width = 0.9)) +
labs(
x = "Loại trường",
y = "Số lượng học sinh",
fill = "Quyết định học cao đẳng",
title = "Biểu đồ 4.2: Tần số học sinh theo loại trường và giới tính"
) +
theme_minimal()
NHẬN XÉT:
Biểu đồ 4.1 minh họa tần số học sinh theo hai yếu tố: loại trường (Academic – học thuật và Vocational – dạy nghề) và giới tính (Nam và Nữ). Qua biểu đồ, ta nhận thấy số lượng học sinh học trường học thuật (Academic) áp đảo so với trường dạy nghề (Vocational) ở cả hai giới. Cụ thể, trong loại trường Academic, số học sinh nữ là 302 và nam là 307 – cho thấy sự phân bố khá đồng đều giữa hai giới. Trong khi đó, ở loại trường Vocational, số học sinh nam (208) lại cao hơn nữ (183), phản ánh một sự lệch nhẹ về giới tính trong xu hướng chọn học nghề.
Biểu đồ giúp làm rõ rằng học sinh – bất kể giới tính – có xu hướng chọn trường học thuật nhiều hơn. Tuy nhiên, tỉ lệ học sinh nam chọn học nghề cao hơn nữ, điều này có thể phản ánh sự khác biệt trong định hướng nghề nghiệp hoặc ảnh hưởng văn hóa xã hội đối với giới. Biểu đồ 4.2 không chỉ thể hiện số liệu một cách trực quan mà còn giúp người xem dễ dàng so sánh và phân tích sự khác biệt giữa các nhóm, từ đó hỗ trợ việc đưa ra nhận định khách quan hơn về xu hướng giáo dục theo giới tính hiện nay.
Bài toán có giả thuyết như sau: \[ \left\{ \begin{array}{l} H_0: \; \text{Giới tính và loại trường theo học độc lập với nhau } \\ H_1: \; \text{Giới tính và loại trường theo học có liên quan đến nhau} \end{array} \right.\] Ta thực hiện kiểm định Chi bình phương và được kết quả như sau:
chitypegender <- chisq.test(table_typegender)
print(chitypegender)
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: table_typegender
## X-squared = 0.63283, df = 1, p-value = 0.4263
Kiểm định Chi-bình phương độc lập với hiệu chỉnh liên tục của Yates được thực hiện để xem xét mối liên hệ giữa giới tính và loại trường học sinh theo học. Kết quả cho thấy:
Giá trị thống kê Chi-squared = 0.63283
Bậc tự do (df) = 1
Giá trị p-value = 0.4263
Với p-value = 0.4263 > 0.05, ta không bác bỏ giả thuyết H₀ tại mức ý nghĩa 5%. Điều này cho thấy không có bằng chứng thống kê đủ mạnh để khẳng định rằng giới tính và loại trường học sinh theo học có mối liên hệ. Nói cách khác, sự khác biệt số lượng nam và nữ giữa trường Academic và Vocational không có ý nghĩa thống kê, và có thể xảy ra do ngẫu nhiên. Kết quả này củng cố nhận định từ Biểu đồ 4.2 rằng sự phân bố giới tính giữa các loại trường là tương đối đồng đều.
Thiết lập tỷ lệ
Tỷ lệ học sinh nữ học tại trường nghề:
\[ p_1 = P(\text{typeschool} = Vacational \mid \text{gender} = Female) \] Tỷ lệ học sinh nam học tại trường nghề:
\[ p_2 = P(\text{typeschool} = Vacational \mid \text{gender} = Male) \]
Hiệu chênh lệch giữa hai tỷ lệ:
\[ d = p_1 - p_2 \]
Giả thuyết kiểm định
Giả thuyết H₀: Không có sự khác biệt giữa hai tỷ
lệ
\[ H_0: p_1 - p_2 = 0\]
Giả thuyết H1): Tỷ lệ học sinh nữ theo học trường nghềthấp hơn Tỷ lệ học sinh nam theo học trường nghề : \(H_1: p_1 - p_2 < 0\)
# Kiểm định tỷ lệ nam nữ học tại trường nghề
library(stats)
# Số học sinh nữ học nghề
x_female_voc <- table_typegender["Vocational", "Female"] # 183
# Tổng số học sinh nữ
n_female <- sum(table_typegender[, "Female"]) # 302 + 183 = 485
# Số học sinh nam học nghề
x_male_voc <- table_typegender["Vocational", "Male"] # 208
# Tổng số học sinh nam
n_male <- sum(table_typegender[, "Male"]) # 307 + 208 = 515
# Kiểm định tỉ lệ (so sánh tỷ lệ nữ học nghề và tỷ lệ nam học nghề)
testtypegender <- prop.test(
x = c(x_female_voc, x_male_voc),
n = c(n_female, n_male),
alternative = "less", # giả thuyết tỷ lệ nữ học nghề thấp hơn tỷ lệ nam
correct = FALSE
)
print(testtypegender)
##
## 2-sample test for equality of proportions without continuity correction
##
## data: c(x_female_voc, x_male_voc) out of c(n_female, n_male)
## X-squared = 0.74018, df = 1, p-value = 0.1948
## alternative hypothesis: less
## 95 percent confidence interval:
## -1.00000000 0.02418537
## sample estimates:
## prop 1 prop 2
## 0.3773196 0.4038835
Với mức ý nghĩa 0.05, p-value = 0.1948 > 0.05 nên chúng ta không đủ cơ sở để bác bỏ giả thuyết không rằng tỷ lệ nữ học nghề thấp hơn tỷ lệ nam.
Quan sát tỷ lệ học nghề trong mẫu, nữ chiếm khoảng 37.73% (183/485), trong khi nam chiếm khoảng 40.39% (208/515). Mặc dù tỷ lệ nữ học nghề thấp hơn nam, nhưng sự chênh lệch này không mang ý nghĩa thống kê.
Như vậy, kết quả kiểm định cho thấy giới tính không ảnh hưởng đáng kể đến việc lựa chọn học trường nghề trong mẫu nghiên cứu này. Kết luận này phù hợp với kiểm định Chi-bình phương độc lập giữa giới tính và loại trường, cho thấy phân bố học sinh theo giới tính ở các loại trường không khác biệt rõ ràng.
Tóm lại, dựa trên dữ liệu và kiểm định thống kê, không có sự khác biệt có ý nghĩa giữa tỷ lệ học nghề của học sinh nam và nữ.
library(epitools)
rtypegender <- riskratio(table_typegender, method = "wald")
print(rtypegender)
## $data
##
## Female Male Total
## Academic 302 307 609
## Vocational 183 208 391
## Total 485 515 1000
##
## $measure
## risk ratio with 95% C.I.
## estimate lower upper
## Academic 1.000000 NA NA
## Vocational 1.055275 0.934209 1.192029
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## Academic NA NA NA
## Vocational 0.3906309 0.3998703 0.3896024
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
NHẬN XÉT:
Dựa trên bảng dữ liệu 2×2, tỷ số rủi ro (risk ratio) giữa nhóm học sinh NAM theo học trường nghề (Vocational) so với học trường học thuật (Academic) là RR = 1.0553, tức cao hơn khoảng 5.53%. Tuy nhiên, khoảng tin cậy 95% là (0.9342; 1.1920) bao gồm giá trị 1, nghĩa là chưa đủ bằng chứng thống kê để khẳng định có sự khác biệt thực sự giữa hai nhóm.
| Phương pháp kiểm định | Giá trị p (two-sided) |
|---|---|
| Mid-p exact test | 0.3906 |
| Fisher exact test | 0.3999 |
| Chi-square test | 0.3896 |
library(DescTools)
ortypegender <- OddsRatio(table_typegender, method="wald", conf.level = 0.95)
print(ortypegender)
## odds ratio lwr.ci upr.ci
## 1.1181004 0.8669993 1.4419258
Kết quả phân tích Odds Ratio (OR) cho thấy:
OR = 1.1181,
Khoảng tin cậy 95%: (0.8670; 1.4419).
Giá trị OR = 1.1181 cho biết odds (tỷ lệ chênh) của việc là nam ở nhóm học sinh theo học trường nghề (Vocational) cao hơn khoảng 11.8% so với nhóm học sinh theo học trường học thuật (Academic). Tuy nhiên, khoảng tin cậy 95% bao gồm giá trị 1, điều này cho thấy sự khác biệt không có ý nghĩa thống kê.
Như vậy, dựa trên dữ liệu và kết quả OR, không đủ bằng chứng để kết luận có sự khác biệt đáng kể về tỷ lệ học sinh nam và nữ giữa hai loại trường Vocational và Academic.
Kết luận: Giới tính không ảnh hưởng đáng kể đến việc lựa chọn loại trường học trong mẫu nghiên cứu này.
table_sare <- table(data$school_accreditation,data$residence)
library(kableExtra)
kable(table_sare, format = "html", caption = "Bảng 4.3 Tần số theo tiêu chuẩn trường học và nơi định cư của học sinh") %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"), full_width = F)
| Rural | Urban | |
|---|---|---|
| A | 156 | 325 |
| B | 305 | 214 |
Bảng trên cho thấy phân bố số lượng học sinh theo tiêu chuẩn trường học (A và B) ở hai khu vực nơi định cư: nông thôn (Rural) và thành thị (Urban).
Nhận xét sơ bộ này gợi ý rằng học sinh ở thành thị có xu hướng theo học trường tiêu chuẩn A nhiều hơn, trong khi học sinh ở nông thôn lại tập trung nhiều hơn vào trường tiêu chuẩn B.
library(ggplot2)
df_sare <- as.data.frame(table_sare)
colnames(df_sare) <- c("School_Accreditation", "Residence", "Count")
# Vẽ biểu đồ cột nhóm
ggplot(df_sare, aes(x = Residence, y = Count, fill = School_Accreditation)) +
geom_bar(stat = "identity", position = "dodge") +
geom_text(aes(label = Count),
position = position_dodge(width = 0.9), vjust = -0.25) +
labs(
x = "Nơi định cư",
y = "Số lượng học sinh",
fill = "Tiêu chuẩn trường",
title = "Biểu đồ 4.3: Tần số học sinh theo tiêu chuẩn trường và nơi định cư"
) +
theme_minimal()
Nhận xét:
Biểu đồ thể hiện tần số học sinh phân theo tiêu chuẩn trường học (A và B) và nơi định cư (Rural - nông thôn, Urban - thành thị). Có thể thấy rõ:
Ở khu vực thành thị (Urban), số học sinh theo học trường tiêu chuẩn A (325 học sinh) lớn hơn đáng kể so với trường tiêu chuẩn B (214 học sinh).
Ngược lại, ở khu vực nông thôn (Rural), trường tiêu chuẩn B có số học sinh nhiều hơn (305 học sinh), trong khi trường A chỉ có 156 học sinh.
Mô hình phân bố này phản ánh xu hướng lựa chọn trường học dựa trên nơi sinh sống: học sinh thành thị có xu hướng học các trường tiêu chuẩn A, còn học sinh nông thôn có tỷ lệ cao hơn học trường tiêu chuẩn B.
Nhận xét này phù hợp với giả thuyết phổ biến rằng các trường tiêu chuẩn cao hơn thường tập trung tại các thành phố lớn, trong khi các khu vực nông thôn có nhiều học sinh theo học các trường tiêu chuẩn thấp hơn.
Bài toán có giả thuyết như sau: \[ \left\{ \begin{array}{l} H_0: \; \text{Nơi định cư và tiêu chuẩn trường theo học của học sinh độc lập với nhau } \\ H_1: \; \text{Nơi định cư và tiêu chuẩn trường theo học của học sinh có liên quan đến nhau} \end{array} \right.\] Ta thực hiện kiểm định Chi bình phương và được kết quả như sau:
chisare <- chisq.test(table_sare)
print(chisare)
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: table_sare
## X-squared = 68.618, df = 1, p-value < 2.2e-16
Kết quả kiểm định Chi-squared Pearson với điều chỉnh liên tục Yates cho bảng phân bố học sinh theo tiêu chuẩn trường và nơi định cư như sau:
Nhận xét:
Với mức ý nghĩa thông thường 0.05, giá trị p-value < 0.05 cho thấy có
bằng chứng rất mạnh để bác bỏ giả thuyết không (H0) về sự độc lập giữa
nơi định cư và tiêu chuẩn trường học của học sinh.
Nói cách khác, dữ liệu cho thấy có mối liên hệ có ý nghĩa thống kê giữa nơi định cư và tiêu chuẩn trường mà học sinh theo học. Điều này đồng nghĩa với việc học sinh ở khu vực thành thị và nông thôn có xu hướng chọn trường học khác nhau, phù hợp với nhận xét trên biểu đồ tần số.
Kết luận:
Nơi định cư ảnh hưởng đáng kể đến lựa chọn tiêu chuẩn trường học của học
sinh trong mẫu khảo sát.
Thiết lập tỷ lệ
Tỷ lệ học sinh đến từ thành thị học trường tiêu chuẩn A:
\[ p_1 = P(\text{school_accreditation} = A \mid \text{residence} = Urban) \]
Tỷ lệ học sinh đến từ nông thôn học trường tiêu chuẩn A:
\[ p_2 = P(\text{school_accreditation} = A \mid \text{residence} = Urban) \]
Hiệu chênh lệch giữa hai tỷ lệ:
\[ d = p_1 - p_2 \]
Giả thuyết kiểm định
Giả thuyết H₀: Không có sự khác biệt giữa hai tỷ
lệ
\[ H_0: p_1 - p_2 = 0\]
Giả thuyết H1): Tỷ lệ học sinh đến từ thành thị học trường tiêu chuẩn A cao hơn Tỷ lệ học sinh đến từ nông thôn học trường tiêu chuẩn A: \(H_1: p_1 - p_2 > 0\)
library(stats)
testsare <- prop.test(
x = c(table_sare["A", "Urban"], table_sare["A", "Rural"]),
n = c(sum(table_sare[, "Urban"]), sum(table_sare[, "Rural"])),
alternative = "greater",
correct = FALSE
)
print(testsare)
##
## 2-sample test for equality of proportions without continuity correction
##
## data: c(table_sare["A", "Urban"], table_sare["A", "Rural"]) out of c(sum(table_sare[, "Urban"]), sum(table_sare[, "Rural"]))
## X-squared = 69.674, df = 1, p-value < 2.2e-16
## alternative hypothesis: greater
## 95 percent confidence interval:
## 0.2144178 1.0000000
## sample estimates:
## prop 1 prop 2
## 0.6029685 0.3383948
Tỷ lệ học sinh học trường A ở Urban là 60.3% (325/540), cao hơn đáng kể so với 33.8% (156/461) ở Rural. - Thống kê chi-squared = 69.674, bậc tự do = 1. - Giá trị p-value < 2.2e-16, cực kỳ nhỏ, cho thấy bằng chứng rất mạnh để bác bỏ giả thuyết không. - Khoảng tin cậy 95% cho hiệu số tỷ lệ là (0.2144; 1.0000), hoàn toàn nằm phía dương, xác nhận sự chênh lệch có ý nghĩa.
Kết luận: Dữ liệu cho thấy tỷ lệ học sinh ở khu vực thành thị học trường loại A cao hơn đáng kể so với học sinh ở khu vực nông thôn. Mối liên hệ giữa nơi định cư và loại trường học theo học là có ý nghĩa thống kê.
library(epitools)
rsare <- riskratio(table_sare, method = "wald")
print(rsare)
## $data
##
## Rural Urban Total
## A 156 325 481
## B 305 214 519
## Total 461 539 1000
##
## $measure
## risk ratio with 95% C.I.
## estimate lower upper
## A 1.0000000 NA NA
## B 0.6102505 0.541283 0.6880055
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## A NA NA NA
## B 0 6.113342e-17 6.996373e-17
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
ựa trên phân tích Risk Ratio (RR) giữa nơi cư trú và loại trường học, kết quả cho thấy:
Risk Ratio của nhóm trường loại B là 0.610 (khoảng tin cậy 95%: [0.541; 0.688]).
Điều này có nghĩa là học sinh ở khu vực Urban có nguy cơ theo học trường loại B thấp hơn 39% so với học sinh ở khu vực Rural, khi so với chuẩn là trường loại A (RR = 1).
Khoảng tin cậy không chứa 1, cho thấy sự khác biệt này có ý nghĩa thống kê.
Đồng thời, giá trị p từ các kiểm định (mid-p exact, Fisher, chi-square) đều xấp xỉ 0, củng cố thêm bằng chứng rằng nơi cư trú có liên quan chặt chẽ đến loại trường học mà học sinh theo học.
Kết luận: Học sinh ở khu vực thành thị có khả năng theo học trường loại A cao hơn đáng kể so với học sinh nông thôn. Risk Ratio giúp định lượng rõ mức chênh lệch rủi ro này và cho thấy đây là một khác biệt có ý nghĩa rõ rệt về mặt thống kê.
library(DescTools)
orsare <- OddsRatio(table_sare, method="wald", conf.level = 0.95)
print(orsare)
## odds ratio lwr.ci upr.ci
## 0.3367869 0.2599854 0.4362760
Kết quả phân tích Odds Ratio cho thấy:
Odds Ratio = 0.337 với khoảng tin cậy 95% là [0.260; 0.436].
Điều này nghĩa là xác suất học sinh nông thôn (rural) theo học trường loại A so với loại B chỉ bằng khoảng 33.7% so với học sinh thành thị (urban).
Vì khoảng tin cậy không chứa 1, nên sự khác biệt này có ý nghĩa thống kê.
Kết luận: Có sự khác biệt đáng kể về loại trường học giữa học sinh nông thôn và thành thị. Học sinh ở thành thị có xu hướng theo học trường loại A nhiều hơn rõ rệt so với học sinh ở nông thôn. Điều này gợi ý rằng nơi cư trú có thể là một yếu tố ảnh hưởng đến khả năng tiếp cận hoặc lựa chọn loại trường học.
table_rew <- table(data$parent_was_in_college, data$school_accreditation)
library(kableExtra)
kable(table_rew, format = "html", caption = "Bảng 4.4 Tần số họ sinh theo học tại trường xét theo tiêu chuẩn và người giám hộ từng học cao đẳng") %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"), full_width = F)
| A | B | |
|---|---|---|
| FALSE | 362 | 118 |
| TRUE | 119 | 401 |
Bảng 4.4 thể hiện tần số học sinh theo học tại trường loại A hoặc B, phân theo việc người giám hộ có từng học cao đẳng hay chưa. Cụ thể, trong số 480 học sinh có người giám hộ chưa từng học cao đẳng, phần lớn (362 em) theo học tại trường loại A, chỉ có 118 em chọn trường loại B. Ngược lại, trong nhóm 520 học sinh có người giám hộ từng học cao đẳng, có tới 401 em theo học trường loại B, trong khi chỉ 119 em chọn trường loại A.
Điều này cho thấy xu hướng khá rõ ràng: học sinh có người giám hộ từng học cao đẳng thường chọn trường loại B nhiều hơn, trong khi học sinh không có người giám hộ học cao đẳng thì chủ yếu chọn trường loại A. Sự khác biệt này gợi ý rằng trình độ học vấn của người giám hộ có thể ảnh hưởng đến lựa chọn trường học của học sinh, có thể thông qua nhận thức, kỳ vọng hoặc khả năng định hướng học tập.
library(ggplot2)
df_rew <- as.data.frame(table_rew)
colnames(df_rew) <- c("ParentCollege", "School_Accreditation", "Count")
# Vẽ biểu đồ
ggplot(df_rew, aes(x = ParentCollege, y = Count, fill = School_Accreditation)) +
geom_bar(stat = "identity", position = "dodge") +
geom_text(aes(label = Count),
position = position_dodge(width = 0.9), vjust = -0.25) +
labs(
x = "Người giám hộ từng học cao đẳng",
y = "Số lượng học sinh",
fill = "Tiêu chuẩn trường",
title = "Biểu đồ 4.4: Tần số học sinh theo tiêu chuẩn trường và người giám hộ học cao đẳng"
) +
theme_minimal()
Biểu đồ 4.4 cho thấy học sinh có người giám hộ từng học cao đẳng (TRUE) chủ yếu học tại trường loại B (401 em), trong khi nhóm không có người giám hộ học cao đẳng (FALSE) lại tập trung nhiều hơn ở trường loại A (362 em). Điều này gợi ý rằng trình độ học vấn của người giám hộ có thể ảnh hưởng đến lựa chọn tiêu chuẩn trường của học sinh. Cụ thể, học sinh với người giám hộ từng học cao đẳng có xu hướng chọn trường có tiêu chuẩn cao hơn (B), trong khi nhóm còn lại ưu tiên trường loại A.
Bài toán có giả thuyết như sau: \[ \left\{ \begin{array}{l} H_0: \text{Tiêu chuẩn trường và người giám hộ từng học cao đẳng là độc lập với nhau} \\[6pt] H_1: \text{Tiêu chuẩn trường và người giám hộ từng học cao đẳng có liên quan với nhau} \end{array} \right.\] Ta thực hiện kiểm định Chi bình phương và được kết quả như sau:
chirew <- chisq.test(table_rew)
print(chirew)
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: table_rew
## X-squared = 273.82, df = 1, p-value < 2.2e-16
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^2 = 273.82\) với bậc tự do \(df = 1\),
Giá trị p-value rất nhỏ, nhỏ hơn 2.2e-16 (p-value < 0.0001),
Điều này cho thấy sự khác biệt rất có ý nghĩa thống kê giữa phân phối tiêu chuẩn trường theo học của học sinh với việc người giám hộ có từng học cao đẳng hay không.
Như vậy, ta có đủ bằng chứng để bác bỏ giả thuyết độc lập ban đầu, khẳng định rằng tiêu chuẩn trường và việc người giám hộ từng học cao đẳng có mối quan hệ phụ thuộc có ý nghĩa thống kê trong mẫu dữ liệu này.
Thiết lập tỷ lệ
Tỷ lệ học sinh có người giám hộ không từng học cao đẳng học trường tiêu chuẩn A:
\[ p_1 = P(\text{school_accreditation} = A \mid \text{parent_was_in_college} = \text{FALSE}) \]
Tỷ lệ học sinh có người giám hộ từng học cao đẳng học trường tiêu chuẩn A:
\[ p_2 = P(\text{school_accreditation} = A \mid \text{parent_was_in_college} = \text{TRUE}) \]
Hiệu chênh lệch giữa hai tỷ lệ:
\[ d = p_1 - p_2 \]
Giả thuyết kiểm định
Giả thuyết \(H_0\): Không có sự khác biệt giữa
hai tỷ lệ
\[
H_0: p_1 - p_2 = 0
\]
Giả thuyết \(H_1\): Tỷ lệ học sinh có người giám hộ không từng học cao đẳng học trường A cao hơn so với học sinh có người giám hộ từng học cao đẳng, tức:
\[ H_1: p_1 - p_2 > 0 \]
library(stats)
tests_rew <- prop.test(
x = c(table_rew["FALSE", "A"], table_rew["TRUE", "A"]),
n = c(sum(table_rew["FALSE", ]), sum(table_rew["TRUE", ])),
alternative = "greater", # Giả thuyết tỷ lệ FALSE học A cao hơn TRUE
correct = FALSE
)
print(tests_rew)
##
## 2-sample test for equality of proportions without continuity correction
##
## data: c(table_rew["FALSE", "A"], table_rew["TRUE", "A"]) out of c(sum(table_rew["FALSE", ]), sum(table_rew["TRUE", ]))
## X-squared = 275.92, df = 1, p-value < 2.2e-16
## alternative hypothesis: greater
## 95 percent confidence interval:
## 0.4810124 1.0000000
## sample estimates:
## prop 1 prop 2
## 0.7541667 0.2288462
Tỷ lệ học sinh theo học trường tiêu chuẩn A ở nhóm học sinh có người giám hộ không từng học cao đẳng (FALSE) là 75.4%, trong khi tỷ lệ này ở nhóm học sinh có người giám hộ từng học cao đẳng (TRUE) chỉ là 22.9%. Sự khác biệt này rất lớn về mặt tỷ lệ phần trăm.
Kết quả kiểm định hai tỷ lệ cho thấy giá trị thống kê chi-square là 275.92 với 1 bậc tự do, p-value nhỏ hơn 2.2e-16, tức là rất nhỏ, cho thấy sự khác biệt về tỷ lệ này là có ý nghĩa thống kê rất mạnh.
Khoảng tin cậy 95% cho hiệu giữa hai tỷ lệ nằm trong khoảng từ 0.481 đến 1.000, hoàn toàn nằm trên 0, khẳng định rằng tỷ lệ học sinh học trường tiêu chuẩn A ở nhóm không có người giám hộ từng học cao đẳng cao hơn nhóm có người giám hộ từng học cao đẳng.
Như vậy, dữ liệu cho thấy có sự liên quan rõ rệt giữa việc người giám hộ từng học cao đẳng và tỷ lệ học sinh học trường tiêu chuẩn A: nhóm học sinh có người giám hộ không từng học cao đẳng có tỷ lệ học trường A cao hơn đáng kể so với nhóm còn lại.
Kết luận: Chúng ta bác bỏ giả thuyết H₀ về sự độc lập và chấp nhận H₁, rằngkhả năng người giám hộ từng học cao đẳng và tiêu chuẩn trường học có liên quan đến nhau trong mẫu này.
library(epitools)
rrew <- riskratio(table_rew, method = "wald")
print(rrew)
## $data
##
## A B Total
## FALSE 362 118 480
## TRUE 119 401 520
## Total 481 519 1000
##
## $measure
## risk ratio with 95% C.I.
## estimate lower upper
## FALSE 1.000000 NA NA
## TRUE 3.136897 2.663652 3.694222
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## FALSE NA NA NA
## TRUE 0 8.859502e-65 5.8216e-62
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
Tỷ số rủi ro (Risk Ratio) của nhóm học sinh có người giám hộ từng học cao đẳng (TRUE) so với nhóm không từng học (FALSE) là khoảng 3.136897, với khoảng tin cậy 95% từ 2.663652 đến 3.694222.
Điều này có nghĩa là nhóm học sinh có người giám hộ từng học cao đẳng có khả năng học trường tiêu chuẩn B cao gấp hơn khoảng 3 lần so với nhóm không có người giám hộ từng học cao đẳng.
Kết quả kiểm định với p-value rất nhỏ (gần bằng 0) từ các phương pháp mid-p exact, Fisher exact và Chi-square cho thấy sự khác biệt này là có ý nghĩa thống kê rất mạnh.
Như vậy, có thể kết luận rằng tồn tại mối liên hệ rõ ràng và mạnh mẽ giữa việc người giám hộ từng học cao đẳng và khả năng học sinh theo học trường tiêu chuẩn B.
Kết luận: Dữ liệu cung cấp bằng chứng mạnh mẽ để bác bỏ giả thuyết độc lập giữa trình độ người giám hộ và tiêu chuẩn trường học, đồng thời xác nhận mối liên hệ tích cực giữa hai yếu tố này.
library(DescTools)
orrew <- OddsRatio(table_rew, method="wald", conf.level = 0.95)
print(orrew)
## odds ratio lwr.ci upr.ci
## 10.337701 7.723001 13.837635
Tỷ số chênh (Odds Ratio) giữa nhóm học sinh có người giám hộ từng học cao đẳng và nhóm không có người giám hộ từng học cao đẳng là khoảng 10.337701 với khoảng tin cậy 95% từ 7.723001 đến 13.837635 .
Điều này cho thấy nhóm học sinh có người giám hộ từng học cao đẳng có khả năng học trường tiêu chuẩn B cao gấp hơn khoảng 10 lần so với nhóm không có người giám hộ từng học cao đẳng.
Khoảng tin cậy hẹp và nằm hoàn toàn trên 1 chứng tỏ kết quả này có ý nghĩa thống kê rất mạnh và chắc chắn.
Kết quả này củng cố thêm nhận định rằng trình độ người giám hộ có ảnh hưởng rất lớn đến quyết định học trường tiêu chuẩn của học sinh.
Tổng kết: Có mối liên hệ tích cực, rất mạnh và có ý nghĩa thống kê giữa việc người giám hộ từng học cao đẳng và việc học sinh theo học trường tiêu chuẩn B.
| Mối quan hệ | Kiểm định Chi-squared | p-value | Risk Ratio (95% CI) | Odds Ratio (95% CI) | Nhận xét chính |
|---|---|---|---|---|---|
| 4.1 will_go_to_college - parent_was_in_college | X² = 2.1194, df = 1, p = 0.1454 | 0.1454 | 1.10 (0.97 – 1.24) | 1.21 (0.95 – 1.55) | Không có bằng chứng đủ mạnh để kết luận sự liên quan giữa quyết định học cao đẳng và việc người giám hộ từng học cao đẳng. |
| 4.2 typeschool - gender | X² = 0.63283, df = 1, p = 0.4263 | 0.4263 | 1.06 (0.93 – 1.19) | 1.12 (0.87 – 1.44) | Không có khác biệt đáng kể về tỷ lệ chọn loại trường giữa học sinh nam và nữ. |
| 4.3 schoolaccreditation - residence | X² = 68.618, df = 1, p < 2.2e-16 | < 2.2e-16 | 0.61 (0.54 – 0.69) | 0.34 (0.26 – 0.44) | Có sự khác biệt rõ rệt về tiêu chuẩn trường theo nơi định cư; học sinh ở thành thị có tỷ lệ học trường tiêu chuẩn A cao hơn so với nông thôn. |
| 4.4 residence - will_go_to_college | X² = 273.82, df = 1, p < 2.2e-16 | < 2.2e-16 | 3.14 (2.66 – 3.69) | 10.34 (7.72 – 13.84) | Học sinh có người giám hộ từng học cao đẳng có khả năng học trường tiêu chuẩn B cao gấp hơn 10 lần so với nhóm không có người giám hộ học cao đẳng (ý nghĩa rất mạnh). |
Kích thước mẫu và tính đại diện: 1000 học sinh có thể chưa đủ lớn và chưa đại diện toàn diện, đặc biệt nếu mẫu không ngẫu nhiên, dẫn đến sai số hệ thống.
Thông tin hạn chế: Thiếu các biến quan trọng như thu nhập gia đình, trình độ học vấn cha mẹ chi tiết, chất lượng giáo dục, và yếu tố xã hội - tâm lý ảnh hưởng đến quyết định will_go_to_college.
Giới hạn biến phân loại: Các biến như school_accreditation, residence, parent_was_in_college phân loại đơn giản, chưa phản ánh mức độ hay chất lượng thực tế.
Phân tích bảng 2x2 và kiểm định Chi-square: Việc sử dụng bảng 2x2 và kiểm định Chi-square chỉ cho thấy mối liên hệ song phương giữa biến phân loại và will_go_to_college, chưa kiểm soát được các yếu tố đồng biến khác.
Phân tích đa biến cần thiết: Cần áp dụng hồi quy logistic đa biến để đồng thời xem xét nhiều yếu tố ảnh hưởng đến quyết định will_go_to_college.
Hạn chế về thời gian và dữ liệu: Dữ liệu không theo dõi dài hạn, có thể thiếu sót hoặc không chính xác, ảnh hưởng đến độ tin cậy kết quả.
d<-read.csv("C:/Users/DELL/Downloads/Supermarket Transactions.csv", header= T)
str(d)
## 'data.frame': 14059 obs. of 16 variables:
## $ X : int 1 2 3 4 5 6 7 8 9 10 ...
## $ PurchaseDate : chr "2007-12-18" "2007-12-20" "2007-12-21" "2007-12-21" ...
## $ CustomerID : int 7223 7841 8374 9619 1900 6696 9673 354 1293 7938 ...
## $ Gender : chr "F" "M" "F" "M" ...
## $ MaritalStatus : chr "S" "M" "M" "M" ...
## $ Homeowner : chr "Y" "Y" "N" "Y" ...
## $ Children : int 2 5 2 3 3 3 2 2 3 1 ...
## $ AnnualIncome : chr "$30K - $50K" "$70K - $90K" "$50K - $70K" "$30K - $50K" ...
## $ City : chr "Los Angeles" "Los Angeles" "Bremerton" "Portland" ...
## $ StateorProvince : chr "CA" "CA" "WA" "OR" ...
## $ Country : chr "USA" "USA" "USA" "USA" ...
## $ ProductFamily : chr "Food" "Food" "Food" "Food" ...
## $ ProductDepartment: chr "Snack Foods" "Produce" "Snack Foods" "Snacks" ...
## $ ProductCategory : chr "Snack Foods" "Vegetables" "Snack Foods" "Candy" ...
## $ UnitsSold : int 5 5 3 4 4 3 4 6 1 2 ...
## $ Revenue : num 27.38 14.9 5.52 4.44 14 ...
str(d)
## 'data.frame': 14059 obs. of 16 variables:
## $ X : int 1 2 3 4 5 6 7 8 9 10 ...
## $ PurchaseDate : chr "2007-12-18" "2007-12-20" "2007-12-21" "2007-12-21" ...
## $ CustomerID : int 7223 7841 8374 9619 1900 6696 9673 354 1293 7938 ...
## $ Gender : chr "F" "M" "F" "M" ...
## $ MaritalStatus : chr "S" "M" "M" "M" ...
## $ Homeowner : chr "Y" "Y" "N" "Y" ...
## $ Children : int 2 5 2 3 3 3 2 2 3 1 ...
## $ AnnualIncome : chr "$30K - $50K" "$70K - $90K" "$50K - $70K" "$30K - $50K" ...
## $ City : chr "Los Angeles" "Los Angeles" "Bremerton" "Portland" ...
## $ StateorProvince : chr "CA" "CA" "WA" "OR" ...
## $ Country : chr "USA" "USA" "USA" "USA" ...
## $ ProductFamily : chr "Food" "Food" "Food" "Food" ...
## $ ProductDepartment: chr "Snack Foods" "Produce" "Snack Foods" "Snacks" ...
## $ ProductCategory : chr "Snack Foods" "Vegetables" "Snack Foods" "Candy" ...
## $ UnitsSold : int 5 5 3 4 4 3 4 6 1 2 ...
## $ Revenue : num 27.38 14.9 5.52 4.44 14 ...
Với hơn 14,000 quan sát, dữ liệu đủ lớn để thực hiện các phân tích thống kê, mô hình dự đoán hoặc phân khúc khách hàng.
Dữ liệu khách hàng phong phú: Các biến như Gender, MaritalStatus, Homeowner, Children, AnnualIncome… cung cấp thông tin nhân khẩu học hữu ích cho việc phân tích hành vi tiêu dùng.
Có đủ các biến quan trọng như PurchaseDate, UnitsSold, Revenue, và chi tiết sản phẩm (ProductFamily, AnnualIncome…), thuận tiện để phân tích doanh thu theo thời gian, loại sản phẩm,…
Hiển thị 10 dòng đầu bộ dữ liệu
head(d,10)
## X PurchaseDate CustomerID Gender MaritalStatus Homeowner Children
## 1 1 2007-12-18 7223 F S Y 2
## 2 2 2007-12-20 7841 M M Y 5
## 3 3 2007-12-21 8374 F M N 2
## 4 4 2007-12-21 9619 M M Y 3
## 5 5 2007-12-22 1900 F S Y 3
## 6 6 2007-12-22 6696 F M Y 3
## 7 7 2007-12-23 9673 M S Y 2
## 8 8 2007-12-25 354 F M Y 2
## 9 9 2007-12-25 1293 M M Y 3
## 10 10 2007-12-25 7938 M S N 1
## AnnualIncome City StateorProvince Country ProductFamily
## 1 $30K - $50K Los Angeles CA USA Food
## 2 $70K - $90K Los Angeles CA USA Food
## 3 $50K - $70K Bremerton WA USA Food
## 4 $30K - $50K Portland OR USA Food
## 5 $130K - $150K Beverly Hills CA USA Drink
## 6 $10K - $30K Beverly Hills CA USA Food
## 7 $30K - $50K Salem OR USA Food
## 8 $150K + Yakima WA USA Food
## 9 $10K - $30K Bellingham WA USA Non-Consumable
## 10 $50K - $70K San Diego CA USA Non-Consumable
## ProductDepartment ProductCategory UnitsSold Revenue
## 1 Snack Foods Snack Foods 5 27.38
## 2 Produce Vegetables 5 14.90
## 3 Snack Foods Snack Foods 3 5.52
## 4 Snacks Candy 4 4.44
## 5 Beverages Carbonated Beverages 4 14.00
## 6 Deli Side Dishes 3 4.37
## 7 Frozen Foods Breakfast Foods 4 13.78
## 8 Canned Foods Canned Soup 6 7.34
## 9 Household Cleaning Supplies 1 2.41
## 10 Health and Hygiene Pain Relievers 2 8.96
Hiển thị 10 dòng cuối bộ dữ liệu
tail(d,10)
## X PurchaseDate CustomerID Gender MaritalStatus Homeowner Children
## 14050 14050 2009-12-28 1394 M M Y 0
## 14051 14051 2009-12-28 6251 M S N 4
## 14052 14052 2009-12-28 378 M S Y 1
## 14053 14053 2009-12-28 7234 F M Y 4
## 14054 14054 2009-12-29 2032 F M N 3
## 14055 14055 2009-12-29 9102 F M Y 2
## 14056 14056 2009-12-29 4822 F M Y 3
## 14057 14057 2009-12-31 250 M S Y 1
## 14058 14058 2009-12-31 6153 F S N 4
## 14059 14059 2009-12-31 3656 M S N 3
## AnnualIncome City StateorProvince Country ProductFamily
## 14050 $30K - $50K San Andres DF Mexico Food
## 14051 $50K - $70K Vancouver BC Canada Food
## 14052 $30K - $50K Spokane WA USA Food
## 14053 $30K - $50K Spokane WA USA Food
## 14054 $10K - $30K Yakima WA USA Non-Consumable
## 14055 $10K - $30K Bremerton WA USA Food
## 14056 $10K - $30K Walla Walla WA USA Food
## 14057 $30K - $50K Portland OR USA Drink
## 14058 $50K - $70K Spokane WA USA Drink
## 14059 $50K - $70K Portland OR USA Non-Consumable
## ProductDepartment ProductCategory UnitsSold Revenue
## 14050 Deli Meat 4 7.15
## 14051 Dairy Dairy 5 19.95
## 14052 Dairy Dairy 5 28.08
## 14053 Deli Side Dishes 5 6.80
## 14054 Household Paper Products 5 14.50
## 14055 Baking Goods Baking Goods 3 9.64
## 14056 Frozen Foods Vegetables 3 7.45
## 14057 Beverages Pure Juice Beverages 4 3.24
## 14058 Dairy Dairy 2 4.00
## 14059 Household Electrical 5 25.53
dna <- sum(is.na(d))
print(dna)
## [1] 0
Vậy khi kiểm tra tổng số giá trị NA toàn bộ data bằng câu lệnh
sum(is.na(d)), kết quả nhận được là KHÔNG CÓ GIÁ
TRỊ NA nên ta tiến hành phân tích tiếp.
Việc chuyển các biến như Gender, MaritalStatus, Homeowner, AnnualIncome và các biến liên quan đến sản phẩm, địa lý sang kiểu factor là bước tiền xử lý quan trọng trong phân tích dữ liệu. Điều này giúp R nhận diện đúng bản chất phân loại của các biến này,nên ta tiến hành chuyển đổi các biến định tính:
categorical_vars <- names(d)[sapply(d, function(x) is.factor(x) || is.character(x))]
print(categorical_vars)
## [1] "PurchaseDate" "Gender" "MaritalStatus"
## [4] "Homeowner" "AnnualIncome" "City"
## [7] "StateorProvince" "Country" "ProductFamily"
## [10] "ProductDepartment" "ProductCategory"
Từ kết quả đã được in ra, ta có tổng cộng 10 biến định tính ( loại trừ biến PurchaseDate vì nó chứa thông tin liên tục theo thời gian) như trên, tiếp tục tiến hành chuyển đổi thành factor:
d$Gender <- as.factor(d$Gender)
d$MaritalStatus <- as.factor(d$MaritalStatus)
d$Homeowner <- as.factor(d$Homeowner)
d$AnnualIncome <- as.factor(d$AnnualIncome)
d$ProductFamily <- as.factor(d$ProductFamily)
d$ProductDepartment <- as.factor(d$ProductDepartment)
d$AnnualIncome <- as.factor(d$AnnualIncome)
d$City <- as.factor(d$City)
d$StateorProvince <- as.factor(d$StateorProvince)
d$Country <- as.factor(d$Country)
Các biến như Gender, MaritalStatus, Homeowner, AnnualIncome giờ đã được xử lý đúng chuẩn để R hiểu rõ đây là các nhóm phân loại, giúp phân tích và mô hình hóa chính xác hơn.
Việc chuyển đổi các biến liên quan đến sản phẩm (ProductFamily, ProductDepartment, ProductCategory) và địa lý (City, StateorProvince, Country) sang factor cũng rất cần thiết vì chúng cũng là các biến phân loại, không phải dữ liệu số hay liên tục.
##
## Attaching package: 'dplyr'
## The following object is masked from 'package:kableExtra':
##
## group_rows
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
| Gender | Frequency | Gender | Percentage (%) |
|---|---|---|---|
| F | 7170 | F | 50.999 |
| M | 6889 | M | 49.001 |
Vậy trong data này có 50.9993598% nữ và 49.0006402% nam. Tỷ lệ nam và nữ trong data gần như cân bằng, chỉ chênh lệch nhẹ khoảng 1%.
# Vẽ Trực quan hoá tròn
pie(gender_freq,
main = "Biểu đồ 2.1: Phân bố giới tính (Gender)",
labels = paste0(names(gender_freq),
" (", round(gender_pct, 3), "%)"),
col = c("#DCB0C3", "#596CAD"))
Nhận xét: Dựa trên bảng tần suất và Trực quan hoá tròn phân bố giới tính, nhóm nữ chiếm ưu thế nhẹ với tỷ lệ khoảng 51%, trong khi nhóm nam chiếm khoảng 49%. Mức chênh lệch nhỏ này cho thấy mẫu dữ liệu có sự cân bằng giới tính tương đối tốt, đảm bảo tính đại diện cho cả hai giới trong các phân tích tiếp theo. Trực quan hoá tròn minh họa rõ ràng sự phân bổ này với màu sắc và nhãn phần trăm trực quan, giúp người đọc dễ dàng nắm bắt thông tin. Do đó, không cần điều chỉnh mẫu theo giới tính khi thực hiện các phân tích liên quan.
homeowner_freq <- table(d$Homeowner)
homeowner_pct <- table(d$Homeowner)/sum(nrow(d))*100
homeowner_table <- data.frame(
Homeowner = names(homeowner_freq),
Frequency = as.integer(homeowner_freq),
Percentage = round(homeowner_pct, 3)
)
colnames(homeowner_table) <- c("Homeowner", "Frequency", "Homeowner", "Percentage (%)")
# Hiển thị bảng đẹp
homeowner_table %>%
kable("html", caption = "Bảng 2.2 Phân phối cá nhân sở hữu nhà - HOMEOWNER") %>%
kable_styling(bootstrap_options = c("striped", "hover"), full_width = FALSE)
| Homeowner | Frequency | Homeowner | Percentage (%) |
|---|---|---|---|
| N | 5615 | N | 39.939 |
| Y | 8444 | Y | 60.061 |
Vậy trong data này có 39.9388292% không sở hữu căn nhà nào và 60.0611708% có sở hữu nhà.
# Vẽ Trực quan hoá tròn
pie(homeowner_freq,
main = "Biểu đồ 2.2: Phân phối cá nhân sở hữu nhà - HOMEOWNER",
labels = paste0(names(homeowner_freq),
" (", round(homeowner_pct, 3), "%)"),
col = c("#FEF9DB", "#4C689B"))
Nhận xét:
Trực quan hoá tròn cho thấy nhóm người có sở hữu nhà (“Y”) chiếm đa số với 60.1%, trong khi nhóm không sở hữu nhà (“N”) chỉ chiếm 39.9%. Điều này phản ánh rằng phần lớn người trong mẫu khảo sát có tài sản nhà ở, có thể gợi ý về mức độ ổn định tài chính trong cộng đồng này.
Chênh lệch là: 8444 - 5615 = 2829 người, tức là số người có nhà cao hơn gần 50% so với người không có nhà.
| MaritalStatus | Frequency | MaritalStatus | Percentage (%) |
|---|---|---|---|
| M | 6866 | M | 48.837 |
| S | 7193 | S | 51.163 |
Vậy trong data này có 48.8370439% kết hôn và 51.1629561% độc thân.
pie(MaritalStatus_freq,
main = "Biểu đồ 2.3: Phân phối tình trạng hôn nhân - MaritalStatus",
labels = paste0(names(MaritalStatus_freq),
" (", round(MaritalStatus_pct, 3), "%)"),
col = c("#F7E4E2", "#63847D"))
NHẬN XÉT:
Phân bố gần cân bằng: Tỷ lệ người độc thân (51.16%) và người đã kết hôn (48.84%) rất gần nhau, cho thấy mẫu khảo sát không thiên lệch mạnh về một nhóm.
Nhóm độc thân chiếm ưu thế nhẹ: Với tỷ lệ cao hơn 2.3%, nhóm độc thân chiếm ưu thế nhẹ trong mẫu.
Dễ dàng nhận thấy nhóm độc thân chiếm phần lớn nhẹ so với nhóm đã kết hôn khi quan sát Trực quan hoá.
| City | Frequency | City | Percentage (%) |
|---|---|---|---|
| Acapulco | 383 | Acapulco | 2.724 |
| Bellingham | 143 | Bellingham | 1.017 |
| Beverly Hills | 811 | Beverly Hills | 5.769 |
| Bremerton | 834 | Bremerton | 5.932 |
| Camacho | 452 | Camacho | 3.215 |
| Guadalajara | 75 | Guadalajara | 0.533 |
| Hidalgo | 845 | Hidalgo | 6.010 |
| Los Angeles | 926 | Los Angeles | 6.587 |
| Merida | 654 | Merida | 4.652 |
| Mexico City | 194 | Mexico City | 1.380 |
| Orizaba | 464 | Orizaba | 3.300 |
| Portland | 876 | Portland | 6.231 |
| Salem | 1386 | Salem | 9.858 |
| San Andres | 621 | San Andres | 4.417 |
| San Diego | 866 | San Diego | 6.160 |
| San Francisco | 130 | San Francisco | 0.925 |
| Seattle | 922 | Seattle | 6.558 |
| Spokane | 875 | Spokane | 6.224 |
| Tacoma | 1257 | Tacoma | 8.941 |
| Vancouver | 633 | Vancouver | 4.502 |
| Victoria | 176 | Victoria | 1.252 |
| Walla Walla | 160 | Walla Walla | 1.138 |
| Yakima | 376 | Yakima | 2.674 |
Vậy trong data này có 2.7242336% sống ở Acapulco và 1.017142% sống ở Bellingham.
Tiếp theo, có 5.77% sống ở Beverly Hills, 5.93% ở Bremerton, và 3.22% ở Camacho.
Trong khi đó, chỉ 0.5334661% cư dân sống ở Guadalajara và 6.0103848% ở Hidalgo. Los Angeles có tỷ lệ cao hơn với 6.5865282%.
Mexico City chiếm 1.379899%, thấp hơn so với Portland (6.2308841%) và Salem (9.8584537%).
Các thành phố tại Washington như Seattle (6.5580767%), Spokane (6.2237712%), và Tacoma (8.940892%) có tỷ lệ đáng kể.
Cuối cùng, các khu vực nhỏ như Victoria (1.2518671%), Walla Walla (1.138061%) và Yakima (2.6744434%) chỉ chiếm phần nhỏ.
library(ggplot2)
City_df <- as.data.frame(City_pct)
colnames(City_df) <- c("City", "Percentage")
ggplot(City_df, aes(x = reorder(City, -Percentage), y = Percentage, fill = City)) +
geom_bar(stat = "identity") +
labs(title = "Biểu đồ 2.4: Phân phối định cư theo thành phố",
x = "Thành phố", y = "Tỷ lệ %") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
NHẬN XÉT
Đáng chú ý nhất là thành phố Salem, nơi chiếm tỷ lệ cao nhất với 9.858% tổng dân số. Tiếp theo là Tacoma với 8.941%, và Los Angeles, Seattle, San Diego – đều dao động quanh mức 6%–6.5%. Điều này cho thấy một xu hướng dân số quan trọng: người dân có xu hướng tập trung sống tại các thành phố lớn, nơi có nhiều cơ hội việc làm, cơ sở hạ tầng tốt và điều kiện sống thuận lợi.
Ngược lại, ở phía dưới của bảng và Trực quan hoá là các thành phố có tỷ lệ dân cư rất thấp. Chẳng hạn như Guadalajara (0.533%), San Francisco (0.925%), Victoria (1.252%) và Walla Walla (1.138%). Những thành phố này có thể là những khu vực vùng ven, địa bàn nhỏ, hoặc đơn giản là không phải là nơi cư trú phổ biến trong mẫu khảo sát.
Một điều không thể bỏ qua là sự chênh lệch rõ rệt giữa nhóm thành phố đông dân và nhóm còn lại. Nếu như Salem chiếm gần 10% tổng cư dân, thì hơn một nửa số thành phố trong danh sách chỉ chiếm dưới 3%, cho thấy mức độ phân bố dân cư không đồng đều
| StateorProvince | Frequency | StateorProvince | Percentage (%) |
|---|---|---|---|
| BC | 809 | BC | 5.754 |
| CA | 2733 | CA | 19.440 |
| DF | 815 | DF | 5.797 |
| Guerrero | 383 | Guerrero | 2.724 |
| Jalisco | 75 | Jalisco | 0.533 |
| OR | 2262 | OR | 16.089 |
| Veracruz | 464 | Veracruz | 3.300 |
| WA | 4567 | WA | 32.485 |
| Yucatan | 654 | Yucatan | 4.652 |
| Zacatecas | 1297 | Zacatecas | 9.225 |
Trong dữ liệu này, bang Washington (WA) chiếm 32.4845295%, cao nhất trong các bang.
Theo sau là California (CA) với 19.4395049% và Oregon (OR) với 16.0893378%.
Một số bang khác có tỷ lệ thấp hơn như:
BC: 5.7543211%
DF: 5.7969984%
Guerrero: 2.7242336%
Jalisco: 0.5334661%
Veracruz: 3.300377%
Yucatan: 4.6518245%
Zacatecas: 9.2254072%
library(ggplot2)
StateorProvince_df <- as.data.frame(StateorProvince_pct)
colnames(StateorProvince_df) <- c("StateorProvince", "Percentage")
ggplot(StateorProvince_df, aes(x = reorder(StateorProvince, -Percentage), y = Percentage, fill = StateorProvince)) +
geom_bar(stat = "identity") +
labs(title = "Biểu đồ 2.5: Phân phối định cư theo Bang",
x = "Bang", y = "Tỷ lệ %") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
NHẬN XÉT: Dựa vào bảng tần suất và Trực quan hoá cột minh họa, ta thấy sự phân bố dân cư giữa các bang/tỉnh là rất không đồng đều:
WA nổi bật rõ rệt, với cột cao vượt trội so với phần còn lại, với 4.567 người (32.49%) – cao gần gấp đôi so với bang đứng thứ hai là California (CA), chỉ có 2.733 người (19.44%). Chênh lệch giữa WA và CA là 13.05 % – một khoảng cách rất lớn, cao gấp ~61 lần so với Jalisco, và cao hơn ~12 lần Guerrero. cho thấy WA là điểm định cư ưu tiên hàng đầu.
Bang Oregon (OR) cũng có số lượng cư dân đáng kể, với 2.262 người (16.09%), chỉ kém CA khoảng 3.35 điểm phần trăm. Điều này phản ánh mức độ thu hút dân cư cao ở các bang ven Thái Bình Dương (WA, CA, OR)
Ngược lại, các tỉnh như Jalisco (0.53%), Guerrero (2.72%) và Veracruz (3.30%) có số lượng cư dân rất thấp.
Zacatecas (9.23%) là tỉnh ngoài top 3 nhưng vẫn đáng chú ý, vượt qua các khu vực như BC (5.75%) và DF (5.80%).
| Country | Frequency | Country | Percentage (%) |
|---|---|---|---|
| Canada | 809 | Canada | 5.754 |
| Mexico | 3688 | Mexico | 26.232 |
| USA | 9562 | USA | 68.013 |
Vậy trong data này có 5.7543211% từ Canada, 26.2323067% từ Mexico và 68.0133722% từ USA.
# Vẽ Trực quan hoá tròn
pie(Country_freq,
main = "Biểu đồ 2.6: Phân phối định cư tại các nước (Country)",
labels = paste0(names(Country_freq),
" (", round(Country_pct, 3), "%)"),
col = c("#C4C1E1", "#EEDdB6", "#DCA2A7"))
NHẬN XÉT:
Hoa Kỳ (USA) chiếm tỷ lệ cao nhất, với 9.562 người, tương ứng 68.01% tổng số cư dân trong mẫu khảo sát. Đây là quốc gia có số lượng người định cư vượt trội — cao gấp gần 2.6 lần so với Mexico và hơn 11 lần so với Canada.
Mexico đứng thứ hai với 3.688 người (26.23%). Canada có số cư dân thấp nhất, chỉ 809 người (5.75%), cho thấy mức độ định cư thấp hơn đáng kể so với hai quốc gia còn lại. USA có tỷ lệ cư dân cao hơn ~62.26 % so với Canada.
Trực quan hoá tròn sẽ thể hiện rõ sự áp đảo của USA, chiếm hơn 2/3 hình tròn, trong khi phần của Canada là rất nhỏ, dễ dàng nhận thấy bằng trực quan.
| ProductFamily | Frequency | ProductFamily | Percentage (%) |
|---|---|---|---|
| Drink | 1250 | Drink | 8.891 |
| Food | 10153 | Food | 72.217 |
| Non-Consumable | 2656 | Non-Consumable | 18.892 |
Vậy trong data này có 8.8911018% từ Drink, 72.2170851% từ Food và 18.8918131% từ Non-Consumable.
# Vẽ Trực quan hoá tròn
pie(ProductFamily_freq,
main = "Biểu đồ 2.7: Phân phối thep sản phẩm tiêu dùng cho gia đình - ProductFamily",
labels = paste0(names(ProductFamily_freq),
" (", round(ProductFamily_pct, 3), "%)"),
col = c("#F1F0F7", "#AAE0C2", "#B9CDF1"))
NHẬN XÉT: Bảng 2.7 thể hiện rõ sự chênh lệch đáng kể trong việc phân phối các loại sản phẩm tiêu dùng trong gia đình giữa ba nhóm chính: Food, Drink, và Non-Consumable.
Nhóm sản phẩm Food (Thực phẩm) chiếm ưu thế tuyệt đối với 10.153 sản phẩm, tương ứng với 72.22%,chiếm gần 3/4 tổng số sản phẩm, vượt trội so với các nhóm còn lại.
Nhóm Non-Consumable (Không tiêu dùng thường xuyên) đứng thứ hai với 2.656 sản phẩm, chiếm 18.89% và nhóm Drink (Đồ uống), chỉ chiếm 8.89% tương đương 1.250 sản phẩm.
Trực quan hoá tròn thể hiện rõ sự chênh lệch với phần Food lớn áp đảo, chiếm phần lớn diện tích hình tròn, còn Drink gần như là một phần nhỏ.
| ProductDepartment | Frequency | ProductDepartment | Percentage (%) |
|---|---|---|---|
| Alcoholic Beverages | 356 | Alcoholic Beverages | 2.532 |
| Baked Goods | 425 | Baked Goods | 3.023 |
| Baking Goods | 1072 | Baking Goods | 7.625 |
| Beverages | 680 | Beverages | 4.837 |
| Breakfast Foods | 188 | Breakfast Foods | 1.337 |
| Canned Foods | 977 | Canned Foods | 6.949 |
| Canned Products | 109 | Canned Products | 0.775 |
| Carousel | 59 | Carousel | 0.420 |
| Checkout | 82 | Checkout | 0.583 |
| Dairy | 903 | Dairy | 6.423 |
| Deli | 699 | Deli | 4.972 |
| Eggs | 198 | Eggs | 1.408 |
| Frozen Foods | 1382 | Frozen Foods | 9.830 |
| Health and Hygiene | 893 | Health and Hygiene | 6.352 |
| Household | 1420 | Household | 10.100 |
| Meat | 89 | Meat | 0.633 |
| Periodicals | 202 | Periodicals | 1.437 |
| Produce | 1994 | Produce | 14.183 |
| Seafood | 102 | Seafood | 0.726 |
| Snack Foods | 1600 | Snack Foods | 11.381 |
| Snacks | 352 | Snacks | 2.504 |
| Starchy Foods | 277 | Starchy Foods | 1.970 |
Vậy trong data này có: - 2.5321858% từ Alcoholic Beverages
3.0229746% từ Baked Goods
7.6250089% từ Baking Goods
4.8367594% từ Beverages
1.3372217% từ Breakfast Foods
6.9492852% từ Canned Foods
0.7753041% từ Canned Products
0.41966% từ Carousel
0.5832563% từ Checkout
6.4229319% từ Dairy
4.9719041% từ Deli
1.4083505% từ Eggs
9.8300021% từ Frozen Foods
6.3518031% từ Health and Hygiene
10.1002916% từ Household
0.6330464% từ Meat
1.436802% từ Periodicals
14.1830856% từ Produce
0.7255139% từ Seafood
11.3806103% từ Snack Foods
2.5037343% từ Snacks
1.9702682% từ Starchy Foods
library(ggplot2)
ProductDepartment_df <- as.data.frame(ProductDepartment_pct)
colnames(ProductDepartment_df) <- c("ProductDepartment", "Percentage")
ggplot(ProductDepartment_df, aes(x = reorder(ProductDepartment, -Percentage), y = Percentage, fill = ProductDepartment)) +
geom_bar(stat = "identity") +
labs(
title = "BIểu đồ 2.8: Phân phối sản phẩm tiêu dùng trong hộ gia đình",
x = "Product Department",
y = "Tỷ lệ (%)"
) +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
NHẬN XÉT: Bảng 2.8 cung cấp cái nhìn tổng thể về cách các sản phẩm được phân phối theo các bộ phận sản phẩm trong hộ gia đình. Có thể thấy rõ sự chênh lệch lớn giữa các nhóm hàng, phản ánh sự ưu tiên tiêu dùng cũng như cơ cấu sản phẩm phổ biến trong hệ thống bán lẻ.
Produce (Rau quả tươi) đứng đầu với 1.994 lượt, chiếm 14.183% tổng số sản phẩm, cho thấy xu hướng tiêu dùng thực phẩm tươi sống chiếm ưu thế trong các hộ gia đình.
Snack Foods (Đồ ăn vặt) đứng thứ hai với 1.600 sản phẩm, chiếm 11.381%, phản ánh mức độ phổ biến của đồ ăn tiện lợi trong đời sống hiện đại.
Household (Đồ gia dụng) cũng có tỷ lệ cao với 1.420 sản phẩm (10.100%), cho thấy mức độ quan tâm đến các sản phẩm phục vụ sinh hoạt hàng ngày.
Frozen Foods (Thực phẩm đông lạnh) chiếm 9.830%, tiếp tục nhấn mạnh xu hướng tiêu dùng tiện lợi.
Produce (14.18%) cao gấp ~34 lần so với Carousel (0.42%), cho thấy mức độ không đồng đều rất rõ giữa các nhóm sản phẩm.
Nhóm Snack Foods (11.38%) cao gần 18 lần so với Meat (0.63%) — điều này đặt ra câu hỏi về nhu cầu thực phẩm chế biến sẵn thay vì tươi sống trong nhóm thịt.
| ProductCategory | Frequency | ProductCategory | Percentage (%) |
|---|---|---|---|
| Baking Goods | 484 | Baking Goods | 3.443 |
| Bathroom Products | 365 | Bathroom Products | 2.596 |
| Beer and Wine | 356 | Beer and Wine | 2.532 |
| Bread | 425 | Bread | 3.023 |
| Breakfast Foods | 417 | Breakfast Foods | 2.966 |
| Candles | 45 | Candles | 0.320 |
| Candy | 352 | Candy | 2.504 |
| Canned Anchovies | 44 | Canned Anchovies | 0.313 |
| Canned Clams | 53 | Canned Clams | 0.377 |
| Canned Oysters | 35 | Canned Oysters | 0.249 |
| Canned Sardines | 40 | Canned Sardines | 0.285 |
| Canned Shrimp | 38 | Canned Shrimp | 0.270 |
| Canned Soup | 404 | Canned Soup | 2.874 |
| Canned Tuna | 87 | Canned Tuna | 0.619 |
| Carbonated Beverages | 154 | Carbonated Beverages | 1.095 |
| Cleaning Supplies | 189 | Cleaning Supplies | 1.344 |
| Cold Remedies | 93 | Cold Remedies | 0.661 |
| Dairy | 903 | Dairy | 6.423 |
| Decongestants | 85 | Decongestants | 0.605 |
| Drinks | 135 | Drinks | 0.960 |
| Eggs | 198 | Eggs | 1.408 |
| Electrical | 355 | Electrical | 2.525 |
| Frozen Desserts | 323 | Frozen Desserts | 2.297 |
| Frozen Entrees | 118 | Frozen Entrees | 0.839 |
| Fruit | 765 | Fruit | 5.441 |
| Hardware | 129 | Hardware | 0.918 |
| Hot Beverages | 226 | Hot Beverages | 1.608 |
| Hygiene | 197 | Hygiene | 1.401 |
| Jams and Jellies | 588 | Jams and Jellies | 4.182 |
| Kitchen Products | 217 | Kitchen Products | 1.543 |
| Magazines | 202 | Magazines | 1.437 |
| Meat | 761 | Meat | 5.413 |
| Miscellaneous | 42 | Miscellaneous | 0.299 |
| Packaged Vegetables | 48 | Packaged Vegetables | 0.341 |
| Pain Relievers | 192 | Pain Relievers | 1.366 |
| Paper Products | 345 | Paper Products | 2.454 |
| Pizza | 194 | Pizza | 1.380 |
| Plastic Products | 141 | Plastic Products | 1.003 |
| Pure Juice Beverages | 165 | Pure Juice Beverages | 1.174 |
| Seafood | 102 | Seafood | 0.726 |
| Side Dishes | 153 | Side Dishes | 1.088 |
| Snack Foods | 1600 | Snack Foods | 11.381 |
| Specialty | 289 | Specialty | 2.056 |
| Starchy Foods | 277 | Starchy Foods | 1.970 |
| Vegetables | 1728 | Vegetables | 12.291 |
Vậy trong data này có: - 3.4426346% từ Baking Goods
2.5962017% từ Bathroom Products
2.5321858% từ Beer and Wine
3.0229746% từ Bread
2.9660716% từ Breakfast Foods
0.3200797% từ Candles
2.5037343% từ Candy
0.3129668% từ Canned Anchovies
0.3769827% từ Canned Clams
0.2489508% từ Canned Oysters
0.2845153% từ Canned Sardines
0.2702895% từ Canned Shrimp
2.8736041% từ Canned Soup
0.6188207% từ Canned Tuna
1.0953837% từ Carbonated Beverages
1.3443346% từ Cleaning Supplies
0.661498% từ Cold Remedies
6.4229319% từ Dairy
0.6045949% từ Decongestants
0.960239% từ Drinks
1.4083505% từ Eggs
2.5250729% từ Electrical
2.2974607% từ Frozen Desserts
0.83932% từ Frozen Entrees
5.4413543% từ Fruit
0.9175617% từ Hardware
1.6075112% từ Hot Beverages
Và các sản phẩm còn lại……
library(ggplot2)
ProductCategory_df <- as.data.frame(ProductCategory_pct)
colnames(ProductCategory_df) <- c("ProductCategory", "Percentage")
ggplot(ProductCategory_df, aes(x = reorder(ProductCategory, -Percentage), y = Percentage, fill = ProductCategory)) +
geom_bar(stat = "identity") +
coord_flip() +
labs(
title = "Biểu đồ 2.9: Phân phối mục sản phẩm tiêu dùng phổ biến",
x = "Product Category",
y = "Percentage (%)"
) +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
NHẬN XÉT:
Vegetables (Rau củ) là danh mục chiếm tỷ trọng cao nhất, với 1.728 lượt mua, tương đương 12.291% tổng số sản phẩm. Snack Foods (Đồ ăn vặt) đứng thứ hai với 1.600 lượt, chiếm 11.381%.
Dairy (Sản phẩm từ sữa) với 903 lượt, tương ứng 6.423%, cho thấy đây là nhóm thiết yếu và được mua thường xuyên. Fruit (Trái cây) và Meat (Thịt) lần lượt chiếm 5.441% và 5.413%, tiếp tục khẳng định vai trò quan trọng của thực phẩm tươi trong chi tiêu của các hộ.
Các nhóm như Candles (Nến), Miscellaneous (Khác), và các loại thủy hải sản đóng hộp như Canned Anchovies, Oysters, Shrimp, chỉ chiếm dưới 0.35% mỗi loại.
Canned Sardines, Clams, và các sản phẩm phụ khác cũng có tần suất rất thấp, cho thấy mức độ ưu tiên tiêu dùng không cao, có thể là vì nhu cầu sử dụng thấp hoặc không phổ biến trong thói quen tiêu dùng.
AnnualIncome_freq <- table(d$AnnualIncome)
AnnualIncome_pct <- table(d$AnnualIncome)/sum(nrow(d))*100
AnnualIncome_table <- data.frame(
AnnualIncome = names(AnnualIncome_freq),
Frequency = as.integer(AnnualIncome_freq),
Percentage = round(AnnualIncome_pct, 3)
)
colnames(AnnualIncome_table) <- c("AnnualIncome", "Frequency", "AnnualIncome", "Percentage (%)")
# Hiển thị bảng đẹp
AnnualIncome_table%>%
kable("html", caption = "Bảng 2.10 Phân phối theo khoảng thu nhập - AnnualIncome") %>%
kable_styling(bootstrap_options = c("striped", "hover"), full_width = FALSE)
| AnnualIncome | Frequency | AnnualIncome | Percentage (%) |
|---|---|---|---|
| $10K - $30K | 3090 | $10K - $30K | 21.979 |
| $110K - $130K | 643 | $110K - $130K | 4.574 |
| $130K - $150K | 760 | $130K - $150K | 5.406 |
| $150K + | 273 | $150K + | 1.942 |
| $30K - $50K | 4601 | $30K - $50K | 32.726 |
| $50K - $70K | 2370 | $50K - $70K | 16.858 |
| $70K - $90K | 1709 | $70K - $90K | 12.156 |
| $90K - $110K | 613 | $90K - $110K | 4.360 |
library(ggplot2)
AnnualIncome_df <- as.data.frame(AnnualIncome_pct)
colnames(AnnualIncome_df) <- c("AnnualIncome", "Percentage")
ggplot(AnnualIncome_df, aes(x = reorder(AnnualIncome, -Percentage), y = Percentage, fill = AnnualIncome)) +
geom_bar(stat = "identity") +
labs(
title = "Biểu đồ 2.10: Phân phối các nhóm thu nhập trung bình",
x = "Annual Income",
y = "Percentage (%)"
) +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
NHẬN XÉT:
Khoảng cách lớn nhất là giữa nhóm thu nhập phổ biến nhất (30K−50K) và nhóm thu nhập cao nhất ($150K+) với chênh lệch lên đến gần 31% điểm phần trăm.
Các nhóm thu nhập cao hơn 90K (bao gồm 90K−110K, 110K−130K, 130K−150K, và $150K+) đều có tỷ lệ thấp hơn nhóm trung bình 30K−50K ít nhất khoảng 27% điểm phần trăm.
Sự khác biệt giữa nhóm thu nhập thấp (10K−30K) và nhóm trung bình (30K−50K) là khoảng 10.7%, cũng đáng kể nhưng nhỏ hơn nhiều so với khoảng cách giữa nhóm trung bình và nhóm cao.
Khoảng cách chênh lệch này thể hiện một bức tranh khá rõ về sự phân hóa thu nhập trong cộng đồng: phần đông người dân tập trung ở nhóm thu nhập trung bình thấp, trong khi số người có thu nhập rất cao là rất ít, tạo ra một sự phân bố không đồng đều, với sự khác biệt rất lớn giữa các nhóm thu nhập.
Giả sử \(Z \sim N(0,1)\) (biến ngẫu nhiên chuẩn tắc chuẩn), và \(p\) là một số nằm trong khoảng từ 0 đến 1.
Giá trị tới hạn z (critical z-value) \(z_p\) là số thỏa mãn:
\[ P(Z > z_p) = 1 - \Phi(z_p) = p \]
Trong đó, \(\Phi(z_p)\) là hàm phân phối tích lũy (CDF) của phân phối chuẩn.
Khoảng tin cậy cho tỷ lệ (proportion):
# Function
prop1.interval <- function(x,n,conf.level) # function of 1-proportion CI for p
{
p <- x/n
z.crit <- -1*qnorm((1-conf.level)/2)
margin.error <- z.crit*sqrt(p*(1-p)/n)
ci.lower <- p - margin.error
ci.upper <- p + margin.error
dat <- c(p, z.crit, margin.error, ci.lower, ci.upper)
names(dat) <- c("Mean", "Critical Value", "Margin of Error", "CI lower", "CI upper")
return(dat)
}
Giả sử:
Khoảng tin cậy 100(1−α)% cho tỷ lệ \(p\) là:
\[ \hat{p} \pm z_{\alpha/2} \cdot \sqrt{\frac{\hat{p}(1-\hat{p})}{n}} \]
Tức là:
\[ \left[ \hat{p} - z_{\alpha/2} \cdot \sqrt{\frac{\hat{p}(1-\hat{p})}{n}}, \quad \hat{p} + z_{\alpha/2} \cdot \sqrt{\frac{\hat{p}(1-\hat{p})}{n}} \right] \]
Trong đó:
Các dạng kiểm định giả thuyết cho tỷ lệ
| Kiểu kiểm định | Giả thuyết không (H₀) | Giả thuyết đối (Hₐ) | Tên kiểm định | Ý nghĩa kinh tế lượng |
|---|---|---|---|---|
| Hai phía (Two-sided) | \(p = p_0\) | \(p \ne p_0\) | Kiểm định hai phía | Kiểm tra xem tỷ lệ quan sát có khác biệt có ý nghĩa thống kê so với giá trị giả định \(p_0\). |
| Một phía, phía trên | \(p = p_0\) | \(p > p_0\) | Kiểm định một phía (phần đuôi trên) | Kiểm tra xem tỷ lệ quan sát có lớn hơn một cách có ý nghĩa thống kê so với \(p_0\). |
| Một phía, phía dưới | \(p = p_0\) | \(p < p_0\) | Kiểm định một phía (phần đuôi dưới) | Kiểm tra xem tỷ lệ quan sát có thấp hơn đáng kể so với giá trị kỳ vọng \(p_0\). |
# Số lượng sản phẩm thuộc nhóm "Food"
xFood <- sum(d$ProductFamily == "Food")
# Ước lượng khoảng tin cậy 95%
prop1.interval(xFood,nrow(d),0.95) # 1-proportion 95% CI for p
## Mean Critical Value Margin of Error CI lower CI upper
## 0.722170851 1.959963985 0.007404228 0.714766624 0.729575079
Nhận xét:
Khoảng 72.22% các sản phẩm trong tổng thể thuộc nhóm Food.
Khoảng tin cậy được tính cho tỷ lệ thực sự của nhóm Food trong tổng thể dao động từ khoảng 71.48% đến 72.96%. Điều này có nghĩa là nếu ta lấy nhiều mẫu ngẫu nhiên từ tổng thể này, thì khoảng 95% các khoảng tin cậy được xây dựng từ các mẫu đó sẽ chứa tỷ lệ thực sự của nhóm Food.
Biên sai số khoảng 0.74% rất nhỏ, cho thấy ước lượng tỷ lệ này rất chính xác.
Bài toán có giả thuyết như sau: \[ \left\{ \begin{array}{l} H_0: \; p = 0.7 \quad \text{(Tỷ lệ sản phẩm thuộc danh mục Food trong tổng thể là đúng 70%)} \\ H_1: \; p \ne 0.7 \quad \text{(Tỷ lệ sản phẩm Food khác 70%, có thể cao hơn hoặc thấp hơn)} \end{array} \right.\]
prop.test(x=xFood, n=nrow(d), p=0.7, correct=FALSE)
##
## 1-sample proportions test without continuity correction
##
## data: xFood out of nrow(d), null probability 0.7
## X-squared = 32.908, df = 1, p-value = 9.663e-09
## alternative hypothesis: true p is not equal to 0.7
## 95 percent confidence interval:
## 0.7147067 0.7295136
## sample estimates:
## p
## 0.7221709
Với p-value = 9.663e-09 nhỏ hơn mức ý nghĩa \(\alpha = 5\)% , ta có đủ bằng chứng để bác bỏ giả thuyết \(H_0: p = 0.7\). Có thể kết luận rằng tỉ lệ sản phẩm thuộc danh mục Food trong tổng thể không phải chính xác 70% mà thực tế cao hơn một chút, khoảng từ 71.47% đến 72.95%. Điều này giúp doanh nghiệp hiểu rõ hơn về phân bố sản phẩm trong danh mục Food, từ đó có thể điều chỉnh chiến lược kinh doanh hoặc quản lý hàng hóa phù hợp với thực tế hơn.
# Số lượng nhóm "USA"
xUSA <- sum(d$Country == "USA")
# Ước lượng khoảng tin cậy 95%
prop1.interval(xUSA,nrow(d),0.95) # 1-proportion 95% CI for p
## Mean Critical Value Margin of Error CI lower CI upper
## 0.680133722 1.959963985 0.007709962 0.672423760 0.687843685
Kết quả phân tích tỷ lệ mẫu cho biến Country = USA cho thấy:
Ý nghĩa kinh tế lượng:
Khoảng tin cậy cho thấy tỷ lệ thực sự của các quan sát thuộc quốc gia Mỹ
trong tổng thể rất có thể nằm trong khoảng từ 67.24% đến 68.78% với độ
tin cậy 95%. Điều này giúp chúng ta hiểu rõ hơn về đặc điểm phân bố mẫu
theo quốc gia và hỗ trợ việc ra quyết định hoặc phân tích sâu hơn về đặc
trưng của từng nhóm trong dữ liệu.
Bài toán có giả thuyết như sau: \[ \left\{ \begin{array}{l} H_0: \; p = 0.675 \quad \text{(Tỷ lệ người dân định cư tại Mỹ là 67.5%)} \\ H_1: \; p > 0.675 \quad \text{(Tỷ lệ người dân định cư tại Mỹ c ao hơn 67.5%)} \end{array} \right.\]
prop.test(x=xUSA, n=nrow(d), p=0.675,alternative = "greater", correct=FALSE)
##
## 1-sample proportions test without continuity correction
##
## data: xUSA out of nrow(d), null probability 0.675
## X-squared = 1.689, df = 1, p-value = 0.09687
## alternative hypothesis: true p is greater than 0.675
## 95 percent confidence interval:
## 0.6736292 1.0000000
## sample estimates:
## p
## 0.6801337
Với mức ý nghĩa \(\alpha = 0.05\), ta thấy \(p\text{-value} = 0.09687 > 0.05\), nên không đủ bằng chứng để bác bỏ giả thuyết không \(H_0: p = 0.675\).
Điều này có nghĩa là dữ liệu cho thấy tỉ lệ sản phẩm thuộc mục “USA” trong tổng thể là 67.5% một cách có ý nghĩa thống kê.
Kết quả kiểm định cho thấy, dù tỷ lệ mẫu là khoảng 68%, chúng ta có thể chắc chắn rằng tỷ lệ thực sự trong tổng thể xấp xỉ 67.5%. Điều này gợi ý rằng các quyết định hoặc chính sách dựa trên giả định tỷ lệ này cao hơn mức 67.5% cần được xem xét lại hoặc thu thập thêm dữ liệu để có kết luận chắc chắn hơn.
# Số lượng nhóm thhu nhập "$70K - $90K"
x7090 <- sum(d$AnnualIncome == "$70K - $90K")
# Ước lượng khoảng tin cậy 95%
prop1.interval(x7090,nrow(d),0.95) # 1-proportion 95% CI for p
## Mean Critical Value Margin of Error CI lower CI upper
## 0.121559144 1.959963985 0.005401582 0.116157562 0.126960725
Tỷ lệ mẫu 12.16% cho thấy khoảng hơn 12% dân số trong mẫu khảo sát thuộc nhóm thu nhập từ $70K đến $90K. Đây là nhóm thu nhập trung bình khá trong phân bố thu nhập của mẫu.
Khoảng tin cậy 95% [11.62%, 12.70%] thể hiện rằng nếu thực hiện nhiều lần khảo sát tương tự, thì khoảng 95% các khoảng tin cậy ước lượng sẽ chứa giá trị tỷ lệ thực sự của nhóm thu nhập này trong tổng thể. Khoảng tin cậy hẹp cho thấy sự chính xác và độ tin cậy cao của ước lượng.
Biên sai số ±0.54% cho thấy mức dao động có thể có của tỷ lệ mẫu so với tỷ lệ thực, tương đối nhỏ, chứng tỏ mẫu đủ lớn và đại diện tốt.
Bài toán có giả thuyết như sau: \[ \left\{ \begin{array}{l} H_0: \; p = 0.11 \quad \text{(Tỷ lệ cá nhân có thu nhập từ khoảng 70K-90K là 11%)} \\ H_1: \; p > 0.11 \quad \text{(Tỷ lệ cá nhân có thu nhập cao hơn khoảng 70K-90K là11%)} \end{array} \right.\]
prop.test(x=x7090, n=nrow(d), p=0.11,alternative = "greater", correct=FALSE)
##
## 1-sample proportions test without continuity correction
##
## data: x7090 out of nrow(d), null probability 0.11
## X-squared = 19.188, df = 1, p-value = 5.924e-06
## alternative hypothesis: true p is greater than 0.11
## 95 percent confidence interval:
## 0.1170987 1.0000000
## sample estimates:
## p
## 0.1215591
Với mức ý nghĩa \(\alpha = 0.05\), giá trị \(p\)-value rất nhỏ (0.000005924) nhỏ hơn mức \(\alpha\), nên chúng ta có bằng chứng đầy đủ để bác bỏ giả thuyết không \(H_0: p = 0.11\).
Điều này có nghĩa là tỷ lệ cá nhân có thu nhập từ khoảng $70K - $90K trong tổng thể cao hơn 11% một cách có ý nghĩa thống kê. Khoảng tin cậy cũng cho thấy tỷ lệ thực tế nằm trong khoảng từ khoảng 11.7% trở lên.
Kết quả này cho thấy nhóm cá nhân có thu nhập từ $70K đến $90K chiếm tỷ lệ thực sự cao hơn giả định ban đầu 11%, phản ánh sự phân bố thu nhập tập trung nhiều hơn ở nhóm thu nhập này.
Thông tin này có thể được sử dụng trong các mô hình phân tích ảnh hưởng của thu nhập đến các biến kinh tế - xã hội khác, hay trong chính sách phát triển kinh tế nhằm hỗ trợ nhóm thu nhập trung bình khá.
# Số lượng định cư tại "WA"
xWA <- sum(d$StateorProvince == "WA")
# Ước lượng khoảng tin cậy 95%
prop1.interval(xWA,nrow(d),0.95) # 1-proportion 95% CI for p
## Mean Critical Value Margin of Error CI lower CI upper
## 0.324845295 1.959963985 0.007741245 0.317104050 0.332586540
Tỷ lệ mẫu của nhóm WA trong tổng thể là khoảng 32.48%.
Với biên sai số 0.00774, khoảng tin cậy 95% cho tỷ lệ nhóm WA nằm trong khoảng từ 31.71% đến 33.26%.
Điều này có nghĩa là, nếu ta lấy nhiều mẫu khác nhau từ tổng thể, khoảng 95% các khoảng tin cậy thu được sẽ chứa tỷ lệ thực sự của nhóm WA trong tổng thể.
Kết quả cho thấy nhóm WA chiếm khoảng một phần ba tổng số trong
biến StateorProvince với độ tin cậy cao.
Bài toán có giả thuyết như sau: \[ \left\{ \begin{array}{l} H_0: \; p = 0.32 \quad \text{(Tỷ lệ định cư tại WA là 32%)} \\ H_1: \; p \ne 0.32 \quad \text{(Tỷ lệ định cư tại WA khác 32)} \end{array} \right.\]
prop.test(x=xWA, n=nrow(d), p=0.32, correct=FALSE)
##
## 1-sample proportions test without continuity correction
##
## data: xWA out of nrow(d), null probability 0.32
## X-squared = 1.5168, df = 1, p-value = 0.2181
## alternative hypothesis: true p is not equal to 0.32
## 95 percent confidence interval:
## 0.3171528 0.3326335
## sample estimates:
## p
## 0.3248453
=> Không đủ bằng chứng để bác bỏ giả thuyết không \(H_0\).
-Chính phủ hoặc doanh nghiệp không nhất thiết phải ưu tiên WA như một khu vực có tỷ lệ cư dân cao bất thường, vì tỷ lệ này phù hợp với kỳ vọng ban đầu.
table_AP <- table(d$AnnualIncome,d$ProductDepartment)
table_APpc <- as.data.frame.matrix(round(100 * prop.table(table_AP, margin = 1), 2))
library(kableExtra)
kable(table_APpc, format = "html", caption = "Bảng 4.1Tỷ lệ phần trăm theo mức thu nhập và bộ phận sản phẩm") %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"), full_width = F)
| Alcoholic Beverages | Baked Goods | Baking Goods | Beverages | Breakfast Foods | Canned Foods | Canned Products | Carousel | Checkout | Dairy | Deli | Eggs | Frozen Foods | Health and Hygiene | Household | Meat | Periodicals | Produce | Seafood | Snack Foods | Snacks | Starchy Foods | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| $10K - $30K | 2.59 | 3.50 | 8.28 | 4.79 | 1.75 | 6.57 | 0.94 | 0.26 | 0.65 | 5.63 | 4.76 | 1.20 | 10.58 | 6.50 | 10.13 | 0.78 | 1.59 | 13.59 | 0.55 | 10.65 | 2.46 | 2.27 |
| $110K - $130K | 2.18 | 3.58 | 7.62 | 5.44 | 0.47 | 7.62 | 0.62 | 0.16 | 0.31 | 5.91 | 5.13 | 1.40 | 10.26 | 5.13 | 9.80 | 0.78 | 2.64 | 11.98 | 0.47 | 13.22 | 2.49 | 2.80 |
| $130K - $150K | 1.97 | 3.16 | 7.11 | 3.29 | 1.45 | 6.05 | 0.79 | 0.39 | 1.18 | 6.45 | 5.92 | 1.97 | 11.05 | 6.71 | 10.00 | 0.53 | 1.18 | 14.34 | 1.05 | 10.92 | 2.50 | 1.97 |
| $150K + | 1.10 | 3.66 | 6.96 | 7.33 | 1.10 | 7.69 | 0.00 | 0.37 | 0.37 | 6.23 | 4.76 | 1.47 | 9.52 | 6.96 | 9.89 | 0.73 | 0.37 | 12.09 | 1.83 | 12.82 | 2.93 | 1.83 |
| $30K - $50K | 2.63 | 2.91 | 7.30 | 4.96 | 1.37 | 7.28 | 0.80 | 0.65 | 0.46 | 6.50 | 5.06 | 1.46 | 9.61 | 6.35 | 9.39 | 0.59 | 1.41 | 14.13 | 0.96 | 11.58 | 2.76 | 1.85 |
| $50K - $70K | 2.57 | 2.66 | 7.97 | 4.09 | 1.31 | 7.17 | 0.76 | 0.34 | 0.93 | 6.75 | 4.51 | 1.52 | 8.95 | 5.65 | 11.48 | 0.72 | 1.52 | 14.51 | 0.46 | 11.56 | 2.53 | 2.03 |
| $70K - $90K | 2.28 | 2.93 | 7.61 | 5.32 | 1.11 | 7.02 | 0.64 | 0.41 | 0.29 | 7.37 | 5.62 | 1.17 | 8.84 | 7.02 | 10.65 | 0.41 | 1.05 | 15.45 | 0.70 | 10.77 | 1.70 | 1.64 |
| $90K - $110K | 3.75 | 2.12 | 6.36 | 5.87 | 0.65 | 5.38 | 0.65 | 0.16 | 0.33 | 6.53 | 4.08 | 1.63 | 12.07 | 7.01 | 8.97 | 0.49 | 1.14 | 15.82 | 0.33 | 12.56 | 2.77 | 1.31 |
Bảng tần số chéo “Tỷ lệ phần trăm theo mức thunhập và bộ phận sản phẩm” được lập nên vì nó cung cấp cái nhìn rõ ràng về mối quan hệ giữa mức thu nhập và loại sản phẩm được chi tiêu nhiều nhất. Nhờ bảng này, ta có thể xác định được nhóm thu nhập nào ưu tiên chi tiêu cho sản phẩm nào, từ đó trả lời trực tiếp câu hỏi đặt ra.
Nhóm thu nhập chi tiêu nhiều nhất cho sảm phẩm nào?
# Đưa bảng từ dạng rộng sang dạng dài (long format)
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ forcats 1.0.0 ✔ stringr 1.5.1
## ✔ lubridate 1.9.4 ✔ tibble 3.2.1
## ✔ purrr 1.0.4 ✔ tidyr 1.3.1
## ✔ readr 2.1.5
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::group_rows() masks kableExtra::group_rows()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(ggthemes)
table_APpc_long <- table_APpc %>%
rownames_to_column("AnnualIncome") %>%
pivot_longer(-AnnualIncome, names_to = "ProductDepartment", values_to = "Percentage")
top5_per_income <- table_APpc_long %>%
group_by(AnnualIncome) %>%
slice_max(order_by = Percentage, n = 5) %>%
ungroup()
ggplot(top5_per_income, aes(x = ProductDepartment, y = Percentage, fill = ProductDepartment)) +
geom_col(show.legend = FALSE) +
geom_text(aes(label = paste0(Percentage, "%")),
hjust = -0.1, size = 3) +
coord_flip() +
facet_wrap(~ AnnualIncome, scales = "free_y") +
labs(
title = "Biểu đồ 4.1 Top 5 sản phẩm chi tiêu nhiều nhất theo nhóm thu nhập",
x = " sản phẩm",
y = "Tỷ lệ chi tiêu (%)"
) +
theme_tufte() +
theme(axis.text.x = element_text(angle = 0, hjust = 1))
Nhóm thu nhập chi tiêu nhiều nhất cho sảm phẩm nào?
Dựa vào biểu đồ “Top 5 sản phẩm chi tiêu nhiều nhất theo nhóm thu nhập”, có thể thấy rõ sự khác biệt trong ưu tiên chi tiêu giữa các nhóm thu nhập. Với những người có thu nhập từ thấp đến trung bình (từ $10K đến $90K), sản phẩm được chi tiêu nhiều nhất là Produce (rau quả tươi) – đây là nhu cầu thiết yếu phục vụ cuộc sống hàng ngày, phản ánh xu hướng ưu tiên thực phẩm tươi sống ở các hộ gia đình có ngân sách hạn chế. Tỷ lệ chi tiêu cho Produce thậm chí đạt đến 14.51% ở nhóm $70K–$90K.
Ngược lại, ở các nhóm thu nhập cao hơn, xu hướng chi tiêu có sự thay đổi rõ rệt. Những người có thu nhập từ $90K trở lên bắt đầu ưu tiên hơn cho các sản phẩm tiện lợi như Snack Foods (đồ ăn nhẹ) và Frozen Foods (thực phẩm đông lạnh). Điều này cho thấy nhóm thu nhập cao có khả năng tài chính để chi tiêu cho sự tiện lợi, đa dạng thực phẩm và chất lượng cuộc sống. Ngoài ra, ở nhóm $90K–$110K, nhóm sản phẩm Health and Hygiene (sức khỏe & vệ sinh) cũng lọt vào top 5, cho thấy mức độ quan tâm đến sức khỏe cá nhân bắt đầu gia tăng khi thu nhập cải thiện.
Tổng thể, biểu đồ cho thấy mối liên hệ tương đối rõ ràng giữa mức thu nhập và loại sản phẩm chi tiêu nhiều nhất. Nhóm thu nhập thấp và trung bình tập trung vào nhu cầu thiết yếu, trong khi nhóm thu nhập cao có xu hướng mở rộng sang các sản phẩm tiện lợi và chăm sóc bản thân. Đây là một xu hướng hợp lý phản ánh thay đổi trong hành vi tiêu dùng theo điều kiện kinh tế.
Bài toán có giả thuyết như sau: \[ \left\{ \begin{array}{l} H_0: \; \text{Mức thu nhập và bộ phận sản phẩm độc lập với nhau } \\ H_1: \; \text{Mức thu nhập và bộ phận sản phẩm có liên quan đến nhau} \end{array} \right.\]
Ta thực hiện kiểm định Chi bình phương và được kết quả như sau:
chiAP <- chisq.test(table_AP)
## Warning in chisq.test(table_AP): Chi-squared approximation may be incorrect
print(chiAP)
##
## Pearson's Chi-squared test
##
## data: table_AP
## X-squared = 170.16, df = 147, p-value = 0.09276
Giá trị Chi-squared: 170.16
Bậc tự do: 147
Giá trị p: 0.09276 > mức ý nghĩa \(\alpha\) = 5% → Không đủ bằng chứng để bác bỏ giả thuyết không (H₀) tức hai biến được coi là độc lập tại mức ý nghĩa 5%.
Mặc dù kết quả kiểm định không cho thấy mối liên hệ có ý nghĩa thống kê ở mức \(\alpha\) = 5%, nhưng giá trị p cũng không quá lớn (≈ 0.093). Điều này có thể gợi ý rằng có thể tồn tại xu hướng, thấy rõ nhất là phần lớn các nhóm thu nhập đều có xu hướng ưu tiên chi tiêu cho sản phẩm Produce.
table_AC <- table(d$AnnualIncome,d$City)
table_ACpc <- as.data.frame.matrix(round(100 * prop.table(table_AC, margin = 1), 2))
library(kableExtra)
kable(table_ACpc, format = "html", caption = "Bảng 4.2 Tỷ lệ phần trăm theo mức thu nhập và định cư tại thành phố") %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"), full_width = F)
| Acapulco | Bellingham | Beverly Hills | Bremerton | Camacho | Guadalajara | Hidalgo | Los Angeles | Merida | Mexico City | Orizaba | Portland | Salem | San Andres | San Diego | San Francisco | Seattle | Spokane | Tacoma | Vancouver | Victoria | Walla Walla | Yakima | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| $10K - $30K | 3.95 | 0.81 | 5.70 | 5.89 | 2.85 | 0.94 | 6.02 | 6.31 | 3.66 | 1.52 | 2.75 | 6.67 | 9.97 | 4.21 | 6.80 | 0.58 | 6.50 | 6.41 | 9.45 | 4.56 | 1.00 | 1.52 | 1.94 |
| $110K - $130K | 2.33 | 1.09 | 7.47 | 1.71 | 5.29 | 0.31 | 5.75 | 5.75 | 3.58 | 1.24 | 5.29 | 4.67 | 9.80 | 3.89 | 6.07 | 0.93 | 9.18 | 2.64 | 10.73 | 6.22 | 1.40 | 1.56 | 3.11 |
| $130K - $150K | 1.97 | 1.05 | 5.00 | 3.82 | 2.37 | 0.39 | 5.66 | 5.66 | 4.74 | 2.63 | 4.61 | 6.45 | 10.92 | 5.26 | 3.95 | 1.71 | 5.66 | 9.74 | 7.24 | 3.95 | 1.97 | 2.63 | 2.63 |
| $150K + | 3.66 | 2.56 | 8.42 | 12.82 | 0.00 | 0.00 | 5.13 | 7.33 | 5.49 | 1.10 | 1.83 | 5.13 | 4.76 | 2.93 | 6.59 | 1.10 | 8.79 | 7.33 | 4.76 | 4.76 | 1.10 | 0.37 | 4.03 |
| $30K - $50K | 2.26 | 1.11 | 5.76 | 6.52 | 2.43 | 0.37 | 6.52 | 6.76 | 5.00 | 1.43 | 3.09 | 6.22 | 9.52 | 4.78 | 5.74 | 1.04 | 6.04 | 6.67 | 8.95 | 5.28 | 1.15 | 0.89 | 2.46 |
| $50K - $70K | 2.53 | 0.93 | 6.16 | 6.33 | 5.44 | 0.55 | 3.63 | 7.00 | 3.59 | 1.01 | 4.39 | 6.20 | 9.75 | 4.47 | 6.58 | 0.97 | 8.19 | 4.47 | 8.14 | 3.80 | 1.52 | 0.93 | 3.42 |
| $70K - $90K | 2.46 | 0.94 | 4.86 | 5.50 | 3.69 | 0.53 | 7.61 | 6.55 | 6.14 | 1.11 | 2.69 | 6.26 | 9.77 | 4.04 | 6.20 | 0.59 | 5.44 | 7.14 | 10.06 | 3.69 | 0.99 | 0.59 | 3.16 |
| $90K - $110K | 2.45 | 1.14 | 5.22 | 5.38 | 1.31 | 0.33 | 7.99 | 6.85 | 7.67 | 1.14 | 2.12 | 6.04 | 13.54 | 3.75 | 7.01 | 1.47 | 4.89 | 5.06 | 8.32 | 2.12 | 1.96 | 1.47 | 2.77 |
Bảng tần số chéo ” Tỷ lệ phần trăm theo mức thu nhập và định cư tại thành phố” được lập nên vì nó cung cấp cái nhìn rõ ràng về mối quan hệ giữa mức thu nhập và thành phố được ưu tiên sinh sống nhiều nhất. Nhờ bảng này, ta có thể xác định được nhóm thu nhập nào tập trung định cư tại thành phố nào, từ đó trả lời trực tiếp câu hỏi đặt ra.
Nhóm thu nhập tập trung định cư cho 5 thành phố nào đông nhất?
# Đưa bảng từ dạng rộng sang dạng dài (long format)
library(tidyverse)
library(ggthemes)
table_ACpc_long <- table_ACpc %>%
rownames_to_column("AnnualIncome") %>%
pivot_longer(-AnnualIncome, names_to = "City", values_to = "Percentage")
top5_per_city <- table_ACpc_long %>%
group_by(AnnualIncome) %>%
slice_max(order_by = Percentage, n = 5) %>%
ungroup()
ggplot(top5_per_city, aes(x = reorder(City, -Percentage), y = Percentage, fill = City)) +
geom_col(show.legend = FALSE) +
geom_text(aes(label = paste0(Percentage, "%")),
hjust = -0.1, size = 3) +
coord_flip() +
facet_wrap(~ AnnualIncome, scales = "free_y") +
labs(
title = "Biểu đồ 4.2 Top 5 thành phố tập trung định cư đông đúc nhất theo nhóm thu nhập",
x = " Thành phố",
y = "Tỷ lệ định cư (%)"
) +
theme_solarized() +
theme(axis.text.x = element_text(angle = 0, hjust = 1))
có thể thấy sự khác biệt rõ rệt trong phân bố dân cư theo từng nhóm thu nhập. Với nhóm thu nhập thấp (10K–30K), cư dân chủ yếu tập trung tại các thành phố như Salem (9.97%), Tacoma (9.45%), Seattle (6.50%), Los Angeles (6.31%) và San Diego (6.80%). Đây đều là những thành phố có mức sống không quá cao hoặc có các khu dân cư phù hợp với thu nhập thấp, cho phép cư dân có ngân sách hạn chế tiếp cận được với cơ sở hạ tầng cơ bản và chi phí sinh hoạt vừa phải. Việc Salem và Tacoma chiếm gần 10% cư dân trong nhóm thu nhập thấp cho thấy đây là điểm đến phổ biến của người thu nhập thấp.
Khi thu nhập tăng lên, xu hướng phân bố dân cư cũng có sự thay đổi đáng kể. Ở nhóm thu nhập từ 90K–110K, 5 thành phố có tỷ lệ cư dân cao nhất là Salem (13.54%), Los Angeles (6.85%), San Diego (7.01%), Tacoma (8.32%) và Seattle (4.89%). Nhóm này bắt đầu chuyển hướng sang các thành phố lớn, sôi động và phát triển hơn. Đặc biệt, ở nhóm thu nhập rất cao ($150K+), 5 thành phố có tỷ lệ cao nhất lần lượt là Bremerton (12.82%), Beverly Hills (8.42%), Seattle (8.79%), Los Angeles (7.33%) và Spokane (7.33%). Các thành phố này thường có chất lượng sống cao, dịch vụ hiện đại, nhiều cơ hội việc làm chất lượng và các tiện ích phục vụ cho lối sống cao cấp.
Dựa trên biểu đồ “Top 5 thành phố tập trung định cư đông đúc nhất theo nhóm thu nhập”,có thể quan sát được một xu hướng rõ rệt giữa mức thu nhập và thành phố cư trú. Nhóm thu nhập thấp có xu hướng sống tại các khu vực ngoại ô, chi phí thấp hoặc vừa phải. Trong khi đó, nhóm thu nhập cao lại tập trung ở các thành phố phát triển, hiện đại – phản ánh mức độ tiếp cận và lựa chọn không gian sống theo năng lực tài chính.
Bài toán có giả thuyết như sau: \[ \left\{ \begin{array}{l} H_0: \; \text{Mức thu nhập và thành phố định cư độc lập với nhau } \\ H_1: \; \text{Mức thu nhập và thành phố định cư có liên quan đến nhau} \end{array} \right.\]
Ta thực hiện kiểm định Chi bình phương và được kết quả như sau:
chiAC <- chisq.test(table_AC)
## Warning in chisq.test(table_AC): Chi-squared approximation may be incorrect
print(chiAC)
##
## Pearson's Chi-squared test
##
## data: table_AC
## X-squared = 520.61, df = 154, p-value < 2.2e-16
Giá trị Chi-squared: 520.61
Bậc tự do: 154
Giá trị p: 2.517^{-41} < mức ý nghĩa \(\alpha\) = 5% → Đủ bằng chứng để bác bỏ giả thuyết không (H₀) tức hai biến được coi là có mối liên hệ tại mức ý nghĩa 5%. Nói cách khác, việc một người cư trú ở thành phố nào có liên quan đến mức thu nhập của họ.
Có thể thấy sự khác biệt rõ rệt trong phân bố dân cư theo từng nhóm thu nhập. Với nhóm thu nhập thấp (10K–30K), cư dân chủ yếu tập trung tại các thành phố như Salem (9.97%), Tacoma (9.45%), Seattle (6.50%), Los Angeles (6.31%) và San Diego (6.80%). Đây đều là những thành phố có mức sống không quá cao hoặc có các khu dân cư phù hợp với thu nhập thấp, cho phép cư dân có ngân sách hạn chế tiếp cận được với cơ sở hạ tầng cơ bản và chi phí sinh hoạt vừa phải. Việc Salem và Tacoma chiếm gần 10% cư dân trong nhóm thu nhập thấp cho thấy đây là điểm đến phổ biến của người thu nhập thấp. → Nhóm thu nhập thấp có xu hướng chọn thành phố có chi phí sinh hoạt thấp, dễ tiếp cận nhà ở hoặc dịch vụ công cộng cơ bản.
Khi thu nhập tăng lên, xu hướng phân bố dân cư cũng có sự thay đổi đáng kể. Ở nhóm thu nhập từ 90K–110K, 5 thành phố có tỷ lệ cư dân cao nhất là Salem (13.54%), Los Angeles (6.85%), San Diego (7.01%), Tacoma (8.32%) và Seattle (4.89%). Nhóm này bắt đầu chuyển hướng sang các thành phố lớn, sôi động và phát triển hơn. Đặc biệt, ở nhóm thu nhập rất cao ($150K+), 5 thành phố có tỷ lệ cao nhất lần lượt là Bremerton (12.82%), Beverly Hills (8.42%), Seattle (8.79%), Los Angeles (7.33%) và Spokane (7.33%). Các thành phố này thường có chất lượng sống cao, dịch vụ hiện đại, nhiều cơ hội việc làm chất lượng và các tiện ích phục vụ cho lối sống cao cấp. → Nhóm thu nhập cao có xu hướng chọn khu vực phát triển, hiện đại, và giàu tiện ích sống.
Nhóm thu nhập trung bình (từ 50K đến 90K) có phân bố tương đối rộng và đa dạng, nhưng các thành phố như Los Angeles, San Diego, Tacoma, Seattle, và Salem vẫn duy trì vị trí nổi bật. Điều này cho thấy nhóm này có sự linh hoạt cao hơn trong lựa chọn nơi cư trú.
Mối quan hệ giữa mức thu nhập và thành phố cư trú phản ánh sự phân tầng kinh tế–xã hội trong không gian đô thị. Các nhóm thu nhập thấp bị giới hạn trong lựa chọn và thường chọn những nơi chi phí rẻ, trong khi các nhóm thu nhập cao có khả năng tiếp cận các khu vực phát triển hơn. Kết quả kiểm định thống kê đã xác nhận rằng sự phân bố này không phải ngẫu nhiên, mà có liên hệ rõ ràng giữa thu nhập và nơi sống.
table_CoPC <- table(d$MaritalStatus,d$StateorProvince)
table_CoPCpc <- as.data.frame.matrix(round(100 * prop.table(table_CoPC, margin = 1), 2))
library(kableExtra)
kable(table_CoPCpc, format = "html", caption = "Bảng 4.3 Tỷ lệ tình trạng hôn nhân và định cự tại các Bang") %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"), full_width = F)
| BC | CA | DF | Guerrero | Jalisco | OR | Veracruz | WA | Yucatan | Zacatecas | |
|---|---|---|---|---|---|---|---|---|---|---|
| M | 5.64 | 19.37 | 5.8 | 2.49 | 0.29 | 14.91 | 3.64 | 33.88 | 4.79 | 9.19 |
| S | 5.87 | 19.51 | 5.8 | 2.95 | 0.76 | 17.21 | 2.98 | 31.16 | 4.52 | 9.26 |
Tình trạng hôn nhân tập trung tại Bang nào đông nhất?
library(tidyverse)
library(ggthemes)
table_CoPCpc_long <- table_CoPCpc %>%
rownames_to_column("MaritalStatus") %>%
pivot_longer(-MaritalStatus, names_to ="StateorProvince", values_to = "Percentage")
top5_per_PC <- table_CoPCpc_long %>%
group_by(MaritalStatus) %>%
slice_max(order_by = Percentage, n = 7) %>%
ungroup()
ggplot(top5_per_PC, aes(x = reorder(StateorProvince, -Percentage), y = Percentage, fill = StateorProvince)) +
geom_col(show.legend = FALSE) +
geom_text(aes(label = paste0(Percentage, "%")),
hjust = -0.2, size = 3) +
coord_flip() +
facet_wrap(~ MaritalStatus, scales = "free_y") +
labs(
title = "Biểu đồ 4.3 Top 7 Bang tập trung dân cư kết hôn và độc thân đông nhất ",
x = " Bang",
y = "Tỷ lệ tình trạng hôn nhân (%)"
) +
theme_clean() +
theme(axis.text.x = element_text(angle = 0, hjust = 1))
Biểu đồ thể hiện rõ rằng một số bang như Washington (WA), California (CA), và Oregon (OR) có tỷ lệ dân cư cao trong cả hai tình trạng hôn nhân — vừa kết hôn vừa độc thân. Điều này phản ánh mật độ dân số cao hoặc quy mô dân cư lớn, dẫn đến số lượng cả hai nhóm đều vượt trội.
Các bang như Zacatecas, DF, BC và Yucatan có tỷ lệ nhỏ hơn và tương đối cân bằng giữa hai tình trạng hôn nhân.
Washington (WA) là bang có dân cư đông nhất trong cả hai nhóm (Married & Single), cho thấy nơi đây tập trung đông dân và đa dạng về tình trạng hôn nhân.
Bài toán có giả thuyết như sau: \[ \left\{ \begin{array}{l} H_0: \; \text{Tình trạng hôn nhân và Bang định cư độc lập với nhau } \\ H_1: \; \text{Tình trạng hôn nhân và Bang định cư có liên quan đến nhau} \end{array} \right.\]
Ta thực hiện kiểm định Chi bình phương và được kết quả như sau:
chiSoP <- chisq.test(table_CoPC)
print(chiSoP)
##
## Pearson's Chi-squared test
##
## data: table_CoPC
## X-squared = 42.637, df = 9, p-value = 2.513e-06
Giá trị Chi-squared: 42.64
Bậc tự do: 9
Giá trị p: 2.513^{-6} < mức ý nghĩa \(\alpha\) = 5% → Đủ bằng chứng để bác bỏ giả thuyết không (H₀) tức hai biến được coi là có mối liên hệ tại mức ý nghĩa 5%. Nói cách khác, việc một người cư trú ở thành phố nào có liên quan đến tình trạng hôn nhân của họ.
Điều này được củng cố rõ qua biểu đồ “Top 7 bang tập trung dân cư kết hôn và độc thân đông nhất” và bảng dữ liệu đi kèm. Trong bảng tỷ lệ, Washington (WA) dẫn đầu về tỷ lệ dân cư kết hôn (33.88%) và cũng rất cao ở nhóm độc thân (31.16%). California (CA) cũng tương tự, lần lượt chiếm 19.37% (M) và 19.51% (S). Điều này cho thấy hai bang này thu hút đông đảo cả người đã kết hôn và người độc thân, có thể do đặc điểm kinh tế, cơ hội nghề nghiệp hoặc mức độ đô thị hóa cao. Ngược lại, các bang như Jalisco và Guerrero có tỷ lệ thấp hơn đáng kể ở cả hai nhóm (Jalisco chỉ chiếm 0.29% M và 0.76% S).
Từ các số liệu này, có thể thấy rõ xu hướng phân bố không đồng đều về tình trạng hôn nhân giữa các bang. Một số bang có vẻ là trung tâm thu hút dân số trong độ tuổi kết hôn, trong khi một số bang khác lại có mật độ dân cư thấp hoặc ít người trẻ tuổi. Tóm lại, có mối liên hệ chặt chẽ giữa nơi cư trú và tình trạng hôn nhân, phản ánh những yếu tố xã hội và kinh tế tiềm ẩn ảnh hưởng đến lựa chọn hôn nhân và nơi sống của cư dân.
table_HC <- table(d$Homeowner,d$ProductDepartment)
table_HCpc <- as.data.frame.matrix(round(100 * prop.table(table_HC, margin = 1), 2))
library(kableExtra)
kable(table_HCpc, format = "html", caption = "Bảng 4.4 Tỷ lệ cá nhân sở hữu nhà ở và sản phẩm chi tiêu") %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"), full_width = F)
| Alcoholic Beverages | Baked Goods | Baking Goods | Beverages | Breakfast Foods | Canned Foods | Canned Products | Carousel | Checkout | Dairy | Deli | Eggs | Frozen Foods | Health and Hygiene | Household | Meat | Periodicals | Produce | Seafood | Snack Foods | Snacks | Starchy Foods | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| N | 2.32 | 2.99 | 7.78 | 5.22 | 1.55 | 6.91 | 0.82 | 0.39 | 0.46 | 6.29 | 4.58 | 1.23 | 9.97 | 6.48 | 10.49 | 0.75 | 1.55 | 14.92 | 0.69 | 10.45 | 2.24 | 1.91 |
| Y | 2.68 | 3.04 | 7.52 | 4.58 | 1.20 | 6.98 | 0.75 | 0.44 | 0.66 | 6.51 | 5.23 | 1.53 | 9.73 | 6.26 | 9.84 | 0.56 | 1.36 | 13.69 | 0.75 | 12.00 | 2.68 | 2.01 |
Người sở hữu nhà có xu hướng tiêu thụ nhiều sản phẩm tiện lợi và cao cấp hơn, ví dụ như đồ uống có cồn, các sản phẩm deli, trứng và snack.
Người không sở hữu nhà có thể ưu tiên các sản phẩm tươi và nguyên liệu thô, ví dụ rau quả (Produce) và các sản phẩm làm bánh (Baking Goods) nhiều hơn, có thể vì họ thích tự nấu nướng tại nhà hoặc tiết kiệm hơn.
Sự khác biệt trong nhóm sản phẩm Household (gia dụng) có thể do người không sở hữu nhà có nhu cầu trang bị thiết yếu cho cuộc sống thuê trọ hoặc tạm thời.
Sản phẩm được mua nhiều nhất giữa đối tương có nhà ở và không có
library(tidyverse)
library(ggthemes)
table_HCpc_long <- table_HCpc %>%
rownames_to_column("Homeowner") %>%
pivot_longer(-Homeowner, names_to ="ProductCategory", values_to = "Percentage")
top5_per_HC <- table_HCpc_long %>%
group_by(Homeowner) %>%
slice_max(order_by = Percentage, n = 10) %>%
ungroup()
ggplot(top5_per_HC, aes(x = reorder(ProductCategory, -Percentage), y = Percentage, fill = ProductCategory)) +
geom_col(show.legend = FALSE) +
geom_text(aes(label = paste0(Percentage, "%")),
hjust = -0.2, size = 3) +
coord_flip() +
facet_wrap(~ Homeowner, scales = "free_y") +
labs(
title = "Biểu đồ 4.4 Top 10 sản phẩm được mua nhiều nhất qua hai tình trạng sở hữu nhà ở phổ biến ",
x = " Sản phẩm",
y = "Tỷ lệ chi tiêu (%)"
) +
theme_clean() +
theme(axis.text.x = element_text(angle = 0, hjust = 1))
Biểu đồ thể hiện Top 10 sản phẩm được mua nhiều nhất theo hai tình trạng hôn nhân phổ biến: đã kết hôn (Y) và chưa kết hôn (N). Cả hai nhóm đều có xu hướng chi tiêu cao nhất cho rau củ quả (Produce), với tỷ lệ lần lượt là 14.1% (chưa kết hôn) và 13.69% (đã kết hôn). Điều này cho thấy rằng thực phẩm tươi sống là ưu tiên hàng đầu trong hành vi tiêu dùng chung, bất kể tình trạng hôn nhân. Ngoài ra, các nhóm sản phẩm như Frozen Foods (thực phẩm đông lạnh), Baking Goods (đồ làm bánh), và Canned Foods (đồ hộp) cũng được tiêu thụ khá tương đồng ở cả hai nhóm, phản ánh nhu cầu cơ bản trong việc nấu nướng và sinh hoạt hàng ngày.
Tuy nhiên, một số khác biệt đáng chú ý đã xuất hiện. Nhóm đã kết hôn (Y) có mức chi tiêu cao hơn rõ rệt ở các nhóm sản phẩm như Snack Foods (12% so với 10.45%) và Household (9.84% so với 10.49%). Điều này có thể được lý giải bởi việc người đã kết hôn thường sống trong hộ gia đình có nhiều thành viên hơn, từ đó phát sinh nhu cầu sử dụng nhiều sản phẩm ăn nhẹ hoặc đồ gia dụng phục vụ cho gia đình. Ngược lại, nhóm chưa kết hôn (N) có tỷ lệ chi tiêu cao hơn cho Produce và Frozen Foods, cho thấy có thể họ ưu tiên các sản phẩm tiện lợi và lành mạnh phục vụ nhu cầu cá nhân.
Từ biểu đồ, ta có thể rút ra rằng có mối liên hệ nhất định giữa tình trạng hôn nhân và hành vi tiêu dùng. Người đã kết hôn có xu hướng chi tiêu nhiều hơn cho các sản phẩm phục vụ gia đình hoặc tiêu dùng chung, trong khi người chưa kết hôn có xu hướng tập trung vào các mặt hàng phục vụ cá nhân hoặc bữa ăn nhanh, đơn giản. Mặc dù sự khác biệt không quá lớn, nhưng các xu hướng này có thể cung cấp thông tin hữu ích cho các nhà bán lẻ và nhà tiếp thị khi xây dựng chiến lược phân khúc khách hàng theo tình trạng hôn nhân.
Bài toán có giả thuyết như sau: \[ \left\{ \begin{array}{l} H_0: \; \text{Khả năng sở hữu nhà ở và sản phẩm tiêu dùng độc lập với nhau} \\ H_1: \; \text{Khả năng sở hữu nhà ở và sản phẩm tiêu dùngcó liên quan đến nhau} \end{array} \right.\]
Ta thực hiện kiểm định Chi bình phương và được kết quả như sau:
chiHC <- chisq.test(table_HC)
print(chiHC)
##
## Pearson's Chi-squared test
##
## data: table_HC
## X-squared = 34.257, df = 21, p-value = 0.03401
Giá trị Chi-squared: 34.26
Bậc tự do: 21
Giá trị p: 0.03401 < mức ý nghĩa \(\alpha\) = 5% → Đủ bằng chứng để bác bỏ giả thuyết không (H₀) tức hai biến được coi là có mối liên hệ tại mức ý nghĩa 5%. . Nói cách khác, việc một người sở hữu hay không sở hữu nhà ở có ảnh hưởng đến loại sản phẩm họ thường mua.
Tình trạng sở hữu nhà ở không chỉ phản ánh khía cạnh tài sản mà còn liên quan đến phong cách sống, mức độ ổn định và quy mô hộ gia đình. Nhóm người có nhà ở (Homeowner = Y) thường đại diện cho các hộ gia đình ổn định, sống cố định lâu dài, có thể bao gồm nhiều thành viên. Do đó, họ có xu hướng mua các sản phẩm phục vụ cho sinh hoạt gia đình như Snack Foods (12.00%), Household (9.84%), Deli (5.23%), và Dairy (6.51%), cao hơn so với nhóm không có nhà. Các sản phẩm này thường được tiêu dùng trong gia đình, phục vụ nhu cầu tiện lợi và tích trữ.
Ngược lại, nhóm không sở hữu nhà ở (Homeowner = N) có thể bao gồm sinh viên, người độc thân, hoặc người thuê nhà – những người có xu hướng di chuyển, sống một mình hoặc ít thành viên hơn. Do đó, họ chi tiêu cao hơn cho các sản phẩm như Produce (14.92%), Frozen Foods (9.97%), và Beverages (5.22%), vốn dễ chế biến, tiện lợi và phù hợp với các bữa ăn cá nhân. Họ cũng có xu hướng chi ít hơn cho các danh mục có tính ổn định hoặc phục vụ quy mô lớn như Household hay Snack Foods.
Tóm lại, sở hữu nhà ở ảnh hưởng đến loại sản phẩm mua do liên quan đến mức độ ổn định, quy mô hộ gia đình và phong cách sống. Những người có nhà thường đầu tư vào các sản phẩm phục vụ gia đình lâu dài và sinh hoạt nhóm, trong khi người không có nhà ưu tiên sự tiện lợi, nhanh chóng và linh hoạt trong tiêu dùng. Điều này giải thích vì sao kiểm định thống kê cho thấy mối quan hệ có ý nghĩa giữa hai biến.
Tổng hợp từ tất cả các phân tích trên, chúng ta rút ra những hiểu biết sâu sắc và giá trị về chân dung khách hàng và thói quen mua sắm của họ thông qua các biến định tính. Cụ thể, các yếu tố như tình trạng sở hữu nhà ở hay tình trạng hôn nhân không chỉ đơn thuần là thông tin cá nhân – mà còn phản ánh rõ rệt phong cách sống, nhu cầu tiêu dùng, và ưu tiên sản phẩm của từng nhóm khách hàng. Những khác biệt tinh tế nhưng đáng kể này chính là chìa khóa để các nhà bán lẻ thấu hiểu hành vi khách hàng và xây dựng các chiến lược tiếp thị, phân phối sản phẩm hiệu quả và sát thực tế hơn.
-> Nhóm thu nhập thấp đến trung bình ưu tiên chi tiêu vào các sản phẩm thiết yếu và có giá trị dinh dưỡng cao với chi phí hợp lý như rau quả tươi, trong khi nhóm thu nhập cao ưu tiên các sản phẩm tiện lợi và chăm sóc sức khỏe do khả năng tài chính tốt hơn và lối sống bận rộn.
-> Thu nhập ảnh hưởng trực tiếp đến khả năng chi trả chi phí sinh hoạt và lựa chọn môi trường sống; nhóm thu nhập cao có điều kiện tài chính và nhu cầu hưởng thụ cuộc sống tốt hơn nên thường ưu tiên các khu vực sang trọng, tiện nghi, còn nhóm thu nhập thấp ưu tiên các khu vực phù hợp với ngân sách và nhu cầu cơ bản.
-> Quy mô dân số và mật độ cư trú ảnh hưởng đến số lượng và đa dạng tình trạng hôn nhân tại từng bang; bang đông dân sẽ có số lượng lớn người trong mọi tình trạng hôn nhân, còn bang ít dân thường có sự phân bố cân bằng và tỷ lệ thấp hơn.
-> Tình trạng hôn nhân ảnh hưởng đến quy mô và đặc điểm nhu cầu tiêu dùng, khi hộ gia đình nhiều người cần đa dạng và số lượng sản phẩm lớn hơn, còn cá nhân ưu tiên sự tiện lợi và dinh dưỡng phù hợp cho bản thân. Vì vậy, sự khác biệt này phản ánh đặc điểm sinh hoạt và nhu cầu tiêu dùng dựa trên tình trạng hôn nhân và quy mô hộ gia đình.
Dữ liệu có thể không đồng đều về độ tin cậy, một số nhóm nhỏ (ví dụ nhóm thu nhập rất cao hoặc các thành phố nhỏ) có kích thước mẫu hạn chế, dẫn đến kết quả có thể không đại diện hoàn toàn.
Phân tích chỉ dựa trên biến định tính mà không xét đến các biến định lượng hoặc các yếu tố như tuổi tác, trình độ học vấn, nghề nghiệp, hoặc thói quen mua sắm chi tiết, làm hạn chế độ sâu sắc của hiểu biết về khách hàng.
Các biến như MaritalStatus, Homeowner, AnnualIncome và City có thể tương quan với nhau, gây khó khăn trong việc phân tách chính xác ảnh hưởng riêng biệt của từng yếu tố lên thói quen tiêu dùng.
Phân tích chủ yếu dựa trên các biến định tính như MaritalStatus, Homeowner, AnnualIncome (phân nhóm thu nhập theo khoảng), City, StateorProvince, ProductFamily và các biến liên quan đến sản phẩm. Việc thiếu các biến định lượng chi tiết như tuổi tác, trình độ học vấn, nghề nghiệp, mức chi tiêu cụ thể hay thói quen mua sắm từng loại sản phẩm làm hạn chế khả năng phân tích sâu sắc về động lực tiêu dùng.
Không xét yếu tố giới tính (Gender) có thể làm mất đi các khác biệt quan trọng trong hành vi tiêu dùng giữa nam và nữ. Các yếu tố xã hội, văn hóa như trình độ học vấn, nghề nghiệp, thành phần hộ gia đình không được xét đến, làm hạn chế khả năng dự đoán và phân tích đặc điểm khách hàng chính xác hơn.
Dựa trên phân tích hành vi tiêu dùng theo thu nhập và tình trạng hôn nhân, doanh nghiệp nên phân khúc khách hàng rõ ràng để tối ưu hóa chiến lược marketing. Nhóm thu nhập thấp đến trung bình ưu tiên sản phẩm thiết yếu, giá hợp lý như rau quả tươi, sữa và thực phẩm đông lạnh, vì vậy cần tập trung khuyến mãi, quảng cáo nhấn mạnh giá trị dinh dưỡng và tiết kiệm. Nhóm thu nhập cao có xu hướng chi tiêu cho các sản phẩm tiện lợi, đa dạng và chăm sóc sức khỏe hơn, nên tập trung phát triển sản phẩm cao cấp, dịch vụ giao hàng nhanh và trải nghiệm mua sắm thuận tiện. Tình trạng hôn nhân cũng ảnh hưởng đến nhu cầu: hộ gia đình đã kết hôn cần sản phẩm đa dạng, số lượng lớn, trong khi khách hàng độc thân ưu tiên các sản phẩm cá nhân, tiện lợi và lành mạnh.
Về phân phối, doanh nghiệp nên tập trung phát triển hệ thống tại các thành phố có mật độ dân cư cao và đa dạng thu nhập như Washington, California và Oregon, đồng thời xây dựng các cửa hàng phù hợp với đặc điểm từng nhóm thu nhập tại các khu vực khác nhau. Cần phát triển thêm các dòng sản phẩm rau quả tươi, thực phẩm đông lạnh, snack và sản phẩm chăm sóc sức khỏe phù hợp với từng phân khúc. Song song đó, doanh nghiệp nên ứng dụng công nghệ và hệ thống CRM để cá nhân hóa chiến dịch marketing, theo dõi hành vi khách hàng và nâng cao trải nghiệm mua sắm, từ đó tăng hiệu quả kinh doanh và giữ chân khách hàng lâu dài.
Nhóm người đã kết hôn, có nhà và thu nhập cao có đặc điểm chi tiêu khác nhóm độc thân và chưa sở hữu nhà không?
Thu nhập và tình trạng sở hữu nhà ảnh hưởng ra sao đến việc ưu tiên các nhóm sản phẩm thiết yếu so với sản phẩm tiện lợi?
Có sự khác biệt trong hành vi tiêu dùng theo giới tính khi kết hợp với các biến như tình trạng hôn nhân và thu nhập không?
Nhóm người đã kết hôn, có nhà và thu nhập cao có đặc điểm chi tiêu khác nhóm độc thân và chưa sở hữu nhà không?
Mức độ ảnh hưởng của thu nhập kết hợp với tình trạng sở hữu nhà đến ưu tiên mua các sản phẩm thiết yếu (rau củ quả, sữa,…) so với sản phẩm tiện lợi (thực phẩm đông lạnh, đồ ăn nhẹ) nhằm xác định rõ động lực chi tiêu theo phân khúc khách hàng.
Nguy cơ tương đối (RR) là một tỷ số giữa hai tỷ lệ (proportions).
\[ RR = \frac{EER}{CER} \]
Trong đó:
RR < 1 nếu nhóm nằm ở tử số có
nguy cơ xảy ra sự kiện thấp hơn.
👉 Đây là điều mong muốn nếu sự kiện là kết cục
xấu (ví dụ: tử vong).
Trong phân tích bảng tần số (contingency table), hai loại phân phối xác suất thường được sử dụng để mô hình hóa cách bảng ngẫu nhiên được sinh ra là phân phối đa thức (Multinomial) và phân phối Poisson.
Đặc điểm:
Mô hình:
Giả sử bảng có \(k\) ô, thì số đếm trong từng ô \((X_1, X_2, \ldots, X_k)\) tuân theo:
\[ (X_1, X_2, \ldots, X_k) \sim \text{Multinomial}(n; p_1, p_2, \ldots, p_k) \]
Trong đó:
Ứng dụng:
Ví dụ:
Khảo sát 200 người về loại đồ uống yêu thích (cà phê, trà, nước lọc), số người chọn từng loại được mô hình hóa theo phân phối đa thức.
Đặc điểm:
Mô hình:
Số đếm trong mỗi ô \(X_i\) tuân theo:
\[ X_i \sim \text{Poisson}(\mu_i) \]
Trong đó:
Ứng dụng:
Ví dụ:
Số ca mắc bệnh theo từng tỉnh hoặc số cuộc gọi đến trung tâm dịch vụ trong mỗi giờ được mô hình hóa theo phân phối Poisson.
| Tiêu chí | Multinomial | Poisson |
|---|---|---|
| Tổng số đếm \(n\) | Cố định | Không cố định |
| Phụ thuộc giữa các ô | Có (vì \(\sum X_i = n\)) | Không (các ô độc lập) |
| Loại dữ liệu thường gặp | Khảo sát, phân loại | Dữ liệu đếm, quan sát sự kiện |
| Mục tiêu phân tích | Phân phối xác suất giữa các danh mục | Sự kiện xảy ra ngẫu nhiên, hiếm gặp |
Kết luận
Hai loại phân phối phổ biến sinh ra bảng ngẫu nhiên là:
Tùy theo cách dữ liệu được thu thập, ta chọn mô hình phù hợp để phân tích bảng tần số, kiểm định giả thuyết hoặc ước lượng tham số.
table_HoC <- table(d$Gender,d$Homeowner)
table_HoC_with_total <- cbind(table_HoC, Total = rowSums(table_HoC))
library(kableExtra)
kable(table_HoC_with_total, format = "html", caption = "Bảng 4.1 Số lượng có nhà giữa các giới tính") %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"), full_width = F)
| N | Y | Total | |
|---|---|---|---|
| F | 2826 | 4344 | 7170 |
| M | 2789 | 4100 | 6889 |
Tỷ lệ sự kiện ở mỗi nhóm:
Nhóm Nữ: \(p_1 = \dfrac{a}{a + b}=\dfrac{4344}{2826 + 4344}= 0.606\)
Nhóm Nam: \(p_2 = \dfrac{c}{c + d}=\dfrac{4100}{4100 + 2789}=0.595\)
\[ \Delta p = p_1 - p_2 = \dfrac{a}{a + b} - \dfrac{c}{c + d}=0.606-0.595=0.011 \]
Ý nghĩa: - Đo mức chênh lệch tuyệt đối giữa hai tỷ lệ. - Nếu \(\Delta p = 0\): không có sự khác biệt. - Đơn vị: phần trăm hoặc tỷ lệ (0 đến 1).
\[ \text{RR} = \dfrac{p_1}{p_2} = \dfrac{a / (a + b)}{c / (c + d)} \]
Ý nghĩa: - Đo tỷ lệ xảy ra sự kiện ở Nhóm 1 so với Nhóm 2. - Nếu RR = 1: nguy cơ bằng nhau. - Nếu RR > 1: nguy cơ ở Nhóm 1 cao hơn Nhóm 2. - Nếu RR < 1: nguy cơ ở Nhóm 1 thấp hơn Nhóm 2.
Ứng dụng: - Phân tích rủi ro trong nghiên cứu đoàn hệ (cohort study). - Ví dụ: tỷ lệ mắc bệnh ở nhóm dùng thuốc so với nhóm không dùng.
Tính odds ở mỗi nhóm:
Tỷ số chênh (OR):
\[ \text{OR} = \dfrac{a / b}{c / d} = \dfrac{a \cdot d}{b \cdot c} \]
Ý nghĩa: - So sánh “cơ may xảy ra sự kiện” giữa hai nhóm. - Nếu OR = 1: không có sự khác biệt. - Nếu OR > 1: Nhóm 1 có cơ may xảy ra sự kiện cao hơn. - Nếu OR < 1: Nhóm 1 có cơ may xảy ra sự kiện thấp hơn.
Ứng dụng: - Nghiên cứu bệnh chứng (case-control study). - Phù hợp khi không biết tổng số đối tượng ở từng nhóm.
So sánh RR và OR
| Đặc điểm | Relative Risk (RR) | Odds Ratio (OR) |
|---|---|---|
| Dễ hiểu | Có | Ít trực quan hơn |
| Dùng trong | Nghiên cứu đoàn hệ | Nghiên cứu bệnh chứng |
| Có thể > 1 | Có | Có |
| Có thể dùng logistic | Không | Có (logistic regression) |
Kết luận
Khi phân tích bảng 2x2, việc chọn chỉ số nào tùy thuộc vào mục tiêu nghiên cứu, kiểu dữ liệu, và thiết kế nghiên cứu.
Trong phân tích các mối liên hệ giữa hai biến nhị phân, các tham số đo mối liên hệ phổ biến bao gồm:
Để đánh giá độ chính xác của các tham số này, người ta sử dụng khoảng tin cậy (Confidence Interval - CI). Khoảng tin cậy cho biết dải giá trị mà tham số thực tế của quần thể rất có thể nằm trong đó với một mức độ tin cậy nhất định (thường là 95%).
Cho bảng phân phối 2x2:
| Có sự kiện (1) | Không có sự kiện (0) | |
|---|---|---|
| Nhóm có sự kiện (Event=1) | \(a\) | \(b\) |
| Nhóm không có sự kiện (Event=0) | \(c\) | \(d\) |
Odds Ratio được tính như sau:
\[ \text{OR} = \frac{a / b}{c / d} = \frac{a \times d}{b \times c} \]
OR đo lường tỷ lệ odds xảy ra sự kiện ở nhóm có sự kiện so với nhóm không có sự kiện.
Bước 1: Tính log-OR
\[ \hat{\theta} = \log(\widehat{\text{OR}}) = \log\left(\frac{a d}{b c}\right) \]
Bước 2: Tính sai số chuẩn (Standard Error - SE) của log-OR
\[ SE = \sqrt{\frac{1}{a} + \frac{1}{b} + \frac{1}{c} + \frac{1}{d}} \]
Bước 3: Tính khoảng tin cậy trên log-OR
\[ \hat{\theta} \pm z_{1-\alpha/2} \times SE \]
Trong đó:
Bước 4: Chuyển về khoảng tin cậy cho OR bằng cách lấy mũ
\[ \left[ \exp\left(\hat{\theta} - z_{1-\alpha/2} \times SE \right),\quad \exp\left(\hat{\theta} + z_{1-\alpha/2} \times SE \right) \right] \]
của Fernandez và Tranfaglia từ Ngân hàng Dự trữ Liên bang Philadelphia (tháng 10 năm 2020). Báo cáo này phân tích dữ liệu từ Khảo sát Kinh tế Hộ gia đình và Ra quyết định (SHED) năm 2018 để tìm hiểu sự khác biệt giới trong các lĩnh vực tài chính chính: ngân hàng, tiếp cận tín dụng và kế hoạch nghỉ hưu, đồng thời đặc biệt xem xét vai trò của kiến thức tài chính.
Kết quả Chính (Tập trung vào Tỷ lệ Chênh - OR từ Mô hình Đầy đủ):
1. Ngân hàng: - Fully Banked (Mô hình 4, Bảng 1, Phụ lục B): Phụ nữ: OR = 1.0511 (Không có ý nghĩa thống kê - KYYTK). Sau khi kiểm soát kiến thức tài chính và các yếu tố khác, không có sự khác biệt đáng kể về giới trong việc “fully banked”.
Sử dụng Dịch vụ Tài chính Thay thế - AFS (Mô hình 8, Bảng 1, Phụ lục B): Phụ nữ: OR = 1.0305. Không có sự khác biệt đáng kể về giới trong việc sử dụng AFS sau khi kiểm soát đầy đủKiến thức tài chính cao: OR = 0.6768** (p<0.01), cho thấy những người có kiến thức tài chính cao ít có khả năng sử dụng AFS hơn (chỉ bằng 0.67 lần).
2. Tín dụng:
-Sở hữu Ít nhất Một Thẻ Tín dụng (Mô hình 12, Bảng 2, Phụ lục B): Phụ nữ: OR = 1.4322 (p<0.01). Đây là một kết quả quan trọng. Ngay cả sau khi kiểm soát tất cả các yếu tố, phụ nữ có khả năng sở hữu ít nhất một thẻ tín dụng cao hơn 43% so với nam giới. Kiến thức tài chính cao: OR = 2.2509** (p<0.01), người có kiến thức tài chính cao có khả năng sở hữu thẻ tín dụng cao hơn 2.25 lần.
Bị Từ chối Tín dụng (trong 12 tháng qua) (Mô hình 16, Bảng 2, Phụ lục B): Phụ nữ: OR = 1.0691 (KYYTK). Không có sự khác biệt đáng kể về giới sau khi kiểm soát. Kiến thức tài chính cao: OR = 0.5926** (p<0.01), người có kiến thức tài chính cao ít có khả năng bị từ chối tín dụng hơn.
Tự tin khi Đăng ký Thẻ Tín dụng Mới (Mô hình 20, Bảng 2, Phụ lục B): Phụ nữ: OR = 0.9856 (KYYTK). Không có sự khác biệt đáng kể về giới sau khi kiểm soát. Kiến thức tài chính cao: OR = 1.8885** (p<0.01), người có kiến thức tài chính cao tự tin hơn gần gấp đôi.
3.Kế hoạch Nghỉ hưu (chỉ những người chưa nghỉ hưu):
Thoải mái khi Đưa ra Quyết định Đầu tư Hưu trí (Mô hình 24, Bảng 3, Phụ lục B): Phụ nữ: OR = 0.4713 (p<0.01). Đây là một kết quả quan trọng khác. Phụ nữ có khả năng cảm thấy thoải mái khi đưa ra quyết định đầu tư hưu trí chỉ bằng 47% so với nam giới, ngay cả sau khi kiểm soát kiến thức tài chính và các yếu tố khác. Đây là chênh lệch lớn nhất và tồn tại dai dẳng nhất. Kiến thức tài chính cao: OR = 1.3994** (p<0.01), người có kiến thức tài chính cao thoải mái hơn 1.4 lần.
Tin rằng Kế hoạch Tiết kiệm Hưu trí Đang Đi Đúng Hướng (Mô hình 28, Bảng 3, Phụ lục B): Phụ nữ: OR = 0.9098 (KYYTK). Không có sự khác biệt đáng kể về giới sau khi kiểm soát.Kiến thức tài chính cao: OR = 1.6107** (p<0.01), người có kiến thức tài chính cao có khả năng tin rằng kế hoạch của họ đúng hướng cao hơn 1.6 lần.
1. Tóm tắt bảng dữ liệu
| Giới tính | Không có nhà (N) |
Có nhà (Y) |
Tổng |
|---|---|---|---|
| Nữ (F) | 2826 | 4344 | 7170 |
| Nam (M) | 2789 | 4100 | 6889 |
2. Tính Odds và Odds Ratio
\[ \text{Odds}_{\text{Nữ}} = \frac{4344}{2826} \approx 1.5376 \]
\[ \text{Odds}_{\text{Nam}} = \frac{4100}{2789} \approx 1.4709 \]
\[ \text{OR} = \frac{\text{Odds}_{\text{Nữ}}}{\text{Odds}_{\text{Nam}}} = \frac{1.5376}{1.4709} \approx 1.0454 \]
3. Diễn giải kết quả
Tỷ số chênh \(\text{OR} \approx 1.0454\) > 1 cho thấy phụ nữ có odds sở hữu nhà cao hơn một chút so với nam giới.
Tuy nhiên, mức chênh lệch là nhỏ (~4.5%), và để khẳng định có sự khác biệt có ý nghĩa thống kê hay không, cần tính khoảng tin cậy cho OR hoặc tiến hành kiểm định thống kê.
4. Kết luận sơ bộ (mô tả)
Dựa trên số liệu từ bộ dữ liệu Supermarket Transactions, phụ nữ có tỷ số chênh (odds) sở hữu nhà cao hơn nam giới một chút. Cụ thể:
Bảng chéo giữa Gender và Homeowner
table_HoC <- table(d$Gender,d$Homeowner)
table_HoC_with_total <- cbind(table_HoC, Total = rowSums(table_HoC))
library(kableExtra)
kable(table_HoC_with_total, format = "html", caption = "Bảng 7.1 Bảng chéo giữa biến Gender và Homeowner") %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"), full_width = F)
| N | Y | Total | |
|---|---|---|---|
| F | 2826 | 4344 | 7170 |
| M | 2789 | 4100 | 6889 |
Mục tiêu kiểm định
Xác định xem phụ nữ có sở hữu nhà ít hơn nam giới hay không.
Thiết lập tỷ lệ
Tỷ lệ nữ sở hữu nhà:
\[ p_1 = P(\text{Homeowner} = Y \mid \text{Gender} = F) \]
Tỷ lệ nam sở hữu nhà:
\[ p_2 = P(\text{Homeowner} = Y \mid \text{Gender} = M) \]
Hiệu chênh lệch giữa hai tỷ lệ:
\[ d = p_1 - p_2 \]
Giả thuyết kiểm định
Giả thuyết H₀: Không có sự khác biệt giữa hai tỷ
lệ
\[ H_0: p_1 - p_2 = 0\]
Giả thuyết H1): Tỷ lệ nữ sở hữu nhà thấp hơn nam: \(H_1: p_1 - p_2 < 0\)
# Kiểm định sự khác biệt tỷ lệ sở hữu nhà giữa nữ và nam
library(stats)
geho <- table(d$Gender,d$Homeowner)
testgeho <- prop.test(x = c(geho["F","Y"], geho["M","Y"]),
n = c(sum(geho["F",]), sum(geho["M",])),
alternative = "less", correct = FALSE)
print(testgeho)
##
## 2-sample test for equality of proportions without continuity correction
##
## data: c(geho["F", "Y"], geho["M", "Y"]) out of c(sum(geho["F", ]), sum(geho["M", ]))
## X-squared = 1.6788, df = 1, p-value = 0.9025
## alternative hypothesis: less
## 95 percent confidence interval:
## -1.00000000 0.02429777
## sample estimates:
## prop 1 prop 2
## 0.6058577 0.5951517
Tỷ lệ ước lượng từ dữ liệu:
Tỷ lệ nữ sở hữu nhà: prob1 = 0.60585777
Tỷ lệ nam sở hữu nhà: prob2 = 0.5951517
Hiệu chênh lệch giữa hai tỷ lệ: \[ \hat{d} = \hat{p}_F - \hat{p}_M = 0.6059 - 0.5952 = 0.0107 \]
Kết quả thu được:
Kết luận
Với \(p\text{-value} = 0.9025\), ta
không bác bỏ giả thuyết \(H_0\).
Điều này cho thấy không có bằng chứng thống kê để kết
luận rằng tỷ lệ nữ sở hữu nhà thấp hơn nam giới.
Ngược lại, tỷ lệ nữ còn nhỉnh hơn nam một chút, nhưng khác biệt này không có ý nghĩa thống kê.
library(epitools)
rgeho <- riskratio(geho, method = "wald")
print(rgeho)
## $data
##
## N Y Total
## F 2826 4344 7170
## M 2789 4100 6889
## Total 5615 8444 14059
##
## $measure
## risk ratio with 95% C.I.
## estimate lower upper
## F 1.0000000 NA NA
## M 0.9823291 0.9561812 1.009192
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## F NA NA NA
## M 0.195158 0.1964833 0.1950884
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
Kết quả ước lượng tỷ số rủi ro (risk ratio)
| Giới tính | Ước lượng Risk Ratio | Khoảng tin cậy 95% (Lower - Upper) |
|---|---|---|
| Nữ (F) | 1.0000 | NA |
| Nam (M) | 0.9823 | 0.9562 – 1.0092 |
Giải thích:
- Risk Ratio (RR) của nhóm nam so với nữ là 0.9823, gần bằng 1, cho thấy
tỷ lệ nam sở hữu nhà thấp hơn nữ khoảng 1.77%.
- Khoảng tin cậy 95% bao gồm giá trị 1, nghĩa là sự khác biệt về tỷ lệ
sở hữu nhà giữa hai giới không có ý nghĩa thống kê.
Kết quả kiểm định ý nghĩa thống kê
| Phương pháp kiểm định | Giá trị p (two-sided) |
|---|---|
| Mid-p exact test | 0.1952 |
| Fisher exact test | 0.1965 |
| Chi-square test | 0.1951 |
Giải thích:
- Tất cả các giá trị p đều lớn hơn mức ý nghĩa 0.05.
- Điều này nghĩa là ta không đủ bằng chứng để bác bỏ giả thuyết \(H_0\) tức là không có sự khác biệt
đáng kể về tỷ lệ sở hữu nhà giữa hai giới tính dựa trên dữ liệu
này.
library(DescTools)
orgeho <- OddsRatio(geho, method="wald", conf.level = 0.95)
print(orgeho)
## odds ratio lwr.ci upr.ci
## 0.9563518 0.8939173 1.0231469
OR < 1 nghĩa là odds sở hữu nhà của nữ thấp hơn odds sở hữu nhà của nam.
Giá trị OR = 0.9564 cho thấy odds sở hữu nhà của nữ chỉ thấp hơn khoảng 4.36% so với nam (1 - 0.9564 = 0.0436).
Khoảng tin cậy 95% cho OR là (0.8939, 1.0231) chứa giá trị
1.
Điều này cho thấy, về mặt thống kê, chúng ta không thể loại trừ khả năng odds sở hữu nhà của nữ và nam là bằng nhau (OR = 1).
Tổng kết:
Odds Ratio cung cấp một thước đo mạnh mẽ để so sánh khả năng (odds) xảy ra sự kiện giữa hai nhóm.
Tuy nhiên, khi khoảng tin cậy chứa giá trị 1, ta cần thận trọng khi kết luận có sự khác biệt.
Kết quả phù hợp với phân tích tỷ số rủi ro (Risk Ratio) đã trình bày trước đó, củng cố thêm kết luận rằng không có sự khác biệt đáng kể về sở hữu nhà giữa nữ và nam trong dữ liệu này.