Dữ liệu được sử dụng trong bài tập này có tên là “Student Spending Habits”, tạm dịch: Thói quen chi tiêu của sinh viên.
Bộ dữ liệu được thu thập và công bố trên nền tảng Kaggle, nhằm phục vụ mục đích học tập và nghiên cứu trong lĩnh vực phân tích dữ liệu.
Nguồn trích dẫn cụ thể: Student Spending Habits Dataset
Dữ liệu mô phỏng kết quả khảo sát về tình hình chi tiêu của sinh viên đại học, bao gồm nhiều nhóm đối tượng khác nhau dựa trên đặc điểm nhân khẩu học và ngành học. Thông tin được thu thập thông qua bảng khảo sát trực tuyến, với trọng tâm là các khoản chi tiêu thường gặp cũng như sự khác biệt trong hành vi tài chính của sinh viên.
Bộ dữ liệu “Student Spending” mô phỏng chi tiết thói quen chi tiêu của 1.000 sinh viên đại học đến từ nhiều nhóm nhân khẩu học và chuyên ngành khác nhau. Mỗi quan sát tương ứng với một sinh viên, bao gồm thông tin cá nhân (tuổi, giới tính, năm học, chuyên ngành), thu nhập và hỗ trợ tài chính, cùng với các khoản chi tiêu theo từng danh mục cụ thể và phương thức thanh toán ưa thích.
library(readr)
library(readxl)
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(skimr)
library(psych)
library(csv)
library(DT)
library(ggplot2)
##
## Attaching package: 'ggplot2'
## The following objects are masked from 'package:psych':
##
## %+%, alpha
library(forcats)
library(knitr)
library(tibble)
library(kableExtra)
##
## Attaching package: 'kableExtra'
## The following object is masked from 'package:dplyr':
##
## group_rows
data <- read_xlsx("F:/PTDLDT/student_spending_modified.xlsx")
datatable(data)
Trước khi tiến hành phân tích, ta cần tìm hiểu cụ thể các biến có trong bộ dữ liệu, bao gồm tên biến, kiểu dữ liệu và ý nghĩa nội dung. Việc hiểu rõ các biến giúp xác định chính xác phương pháp xử lý phù hợp cho từng loại biến (định tính hay định lượng).
Tên của các biến trong bộ dữ liệu có thể được liệt kê thông qua lệnh names() như sau:
names(data)
## [1] "Unnamed: 0" "age"
## [3] "gender" "year_in_school"
## [5] "major" "monthly_income"
## [7] "financial_aid" "tuition"
## [9] "housing" "food"
## [11] "transportation" "books_supplies"
## [13] "entertainment" "personal_care"
## [15] "technology" "health_wellness"
## [17] "miscellaneous" "preferred_payment_method"
Dưới đây là bảng mô tả chi tiết từng biến:
variable_description <- data.frame(
Bien = c("Unnamed: 0", "Age", "Gender", "Year in School", "Major",
"Monthly Income", "Financial Aid", "Tuition", "Housing", "Food",
"Transportation", "Books & Supplies", "Entertainment",
"Personal Care", "Technology", "Health & Wellness",
"Miscellaneous", "Preferred Payment Method"),
Mo_ta = c("Chỉ số dòng trong tập dữ liệu (tự sinh ra, có thể bỏ qua)",
"Tuổi của sinh viên",
"Giới tính của sinh viên (Nam, Nữ)",
"Năm học hiện tại (Năm nhất, Năm hai, Năm ba, Năm cuối)",
"Ngành học chính của sinh viên",
"Thu nhập hàng tháng của sinh viên (USD)",
"Số tiền hỗ trợ tài chính/học bổng nhận được (USD)",
"Chi phí học phí hàng tháng (USD)",
"Chi phí nhà ở hàng tháng (USD)",
"Chi phí thực phẩm hàng tháng (USD)",
"Chi phí đi lại hàng tháng (USD)",
"Chi phí sách vở và dụng cụ học tập (USD)",
"Chi phí giải trí hàng tháng (USD)",
"Chi phí chăm sóc cá nhân hàng tháng (USD)",
"Chi phí công nghệ hàng tháng (USD)",
"Chi phí sức khỏe và chăm sóc sức khỏe (USD)",
"Các chi phí lặt vặt khác (USD)",
"Phương thức thanh toán ưa thích (Tiền mặt, Thẻ tín dụng/Ghi nợ, Ứng dụng thanh toán)"),
stringsAsFactors = FALSE
)
kbl(variable_description, col.names = c("Biến", "Mô tả"), booktabs = TRUE) %>%
kable_styling(latex_options = c("striped", "hold_position"))
| Biến | Mô tả |
|---|---|
| Unnamed: 0 | Chỉ số dòng trong tập dữ liệu (tự sinh ra, có thể bỏ qua) |
| Age | Tuổi của sinh viên |
| Gender | Giới tính của sinh viên (Nam, Nữ) |
| Year in School | Năm học hiện tại (Năm nhất, Năm hai, Năm ba, Năm cuối) |
| Major | Ngành học chính của sinh viên |
| Monthly Income | Thu nhập hàng tháng của sinh viên (USD) |
| Financial Aid | Số tiền hỗ trợ tài chính/học bổng nhận được (USD) |
| Tuition | Chi phí học phí hàng tháng (USD) |
| Housing | Chi phí nhà ở hàng tháng (USD) |
| Food | Chi phí thực phẩm hàng tháng (USD) |
| Transportation | Chi phí đi lại hàng tháng (USD) |
| Books & Supplies | Chi phí sách vở và dụng cụ học tập (USD) |
| Entertainment | Chi phí giải trí hàng tháng (USD) |
| Personal Care | Chi phí chăm sóc cá nhân hàng tháng (USD) |
| Technology | Chi phí công nghệ hàng tháng (USD) |
| Health & Wellness | Chi phí sức khỏe và chăm sóc sức khỏe (USD) |
| Miscellaneous | Các chi phí lặt vặt khác (USD) |
| Preferred Payment Method | Phương thức thanh toán ưa thích (Tiền mặt, Thẻ tín dụng/Ghi nợ, Ứng dụng thanh toán) |
Để có cái nhìn tổng quan về dữ liệu, ta sử dụng hàm
str(). Lệnh này sẽ hiển thị tổng số dòng (quan sát) và số
cột (biến), tên các biến cùng kiểu dữ liệu tương ứng (số, chuỗi ký tự,
nhân tố), cũng như một vài giá trị đầu tiên của từng biến, giúp xác định
nhanh cấu trúc và đặc điểm cơ bản của tập dữ liệu.
str(data)
## tibble [1,000 × 18] (S3: tbl_df/tbl/data.frame)
## $ Unnamed: 0 : num [1:1000] 0 1 2 3 4 5 6 7 8 9 ...
## $ age : num [1:1000] 19 24 24 23 20 25 23 23 22 18 ...
## $ gender : chr [1:1000] "Male" "Female" "Female" "Female" ...
## $ year_in_school : chr [1:1000] "Freshman" "Junior" "Junior" "Senior" ...
## $ major : chr [1:1000] "Psychology" "Economics" "Economics" "Computer Science" ...
## $ monthly_income : num [1:1000] 470 1155 632 1462 1772 ...
## $ financial_aid : num [1:1000] 270 875 928 265 522 790 69 748 248 74 ...
## $ tuition : num [1:1000] 4519 8165 5434 8899 7268 ...
## $ housing : num [1:1000] 709 557 666 652 825 413 812 571 599 626 ...
## $ food : num [1:1000] 296 365 220 289 372 386 398 269 354 249 ...
## $ transportation : num [1:1000] 123 85 137 114 168 122 101 92 82 117 ...
## $ books_supplies : num [1:1000] 188 252 99 223 194 131 213 251 155 123 ...
## $ entertainment : num [1:1000] 41 74 130 99 48 73 21 37 123 51 ...
## $ personal_care : num [1:1000] 78 92 23 30 71 38 38 90 41 74 ...
## $ technology : num [1:1000] 134 226 239 163 88 234 157 152 162 243 ...
## $ health_wellness : num [1:1000] 127 129 112 105 71 108 117 56 172 34 ...
## $ miscellaneous : num [1:1000] 72 68 133 55 104 99 48 62 194 196 ...
## $ preferred_payment_method: chr [1:1000] "Cash" "Credit/Debit Card" "Cash" "Credit/Debit Card" ...
Dựa trên kết quả từ str(), bộ dữ liệu bao gồm
1.000 quan sát và 18 biến. Trong đó,
các biến thể hiện thông tin nhân khẩu học, tình hình tài chính, chi tiêu
và hành vi thanh toán của sinh viên.
Để phục vụ cho quá trình phân tích, ta cần xác định các biến định tính trong bộ dữ liệu. Việc này giúp phân biệt giữa các biến phân loại (danh mục) và biến định lượng, từ đó lựa chọn phương pháp phân tích phù hợp. Trong R, ta có thể sử dụng đoạn mã sau để lọc ra tên các biến định tính:
qualitative_vars <- names(data)[sapply(data, function(x) is.factor(x) || is.character(x))]
qualitative_vars
## [1] "gender" "year_in_school"
## [3] "major" "preferred_payment_method"
Câu lệnh trên trả về danh sách các biến có kiểu dữ liệu là factor hoặc character, vốn thường được dùng để biểu diễn thông tin phân loại như giới tính, ngành học, hoặc phương thức thanh toán.
Phân tích dữ liệu tập trung vào việc khám phá đặc điểm chi tiêu của sinh viên, và đánh giá vai trò của các biến định tính trong việc phản ánh thông tin cá nhân và hành vi tiêu dùng.
Sau khi lọc và kiểm tra kiểu dữ liệu, có thể xác định được 4 biến định tính chính trong bộ dữ liệu như sau:
Gender: Giới tính của sinh viên
(Male – Nam, Female – Nữ)
Year in School: Năm học hiện tại của sinh viên
(Freshman – Năm nhất, Sophomore – Năm hai, Junior – Năm ba, Senior –
Năm cuối)
Major: Ngành học chính
Preferred Payment Method: Phương thức thanh toán ưa
thích
(Cash – Tiền mặt, Credit/Debit Card – Thẻ tín dụng/Ghi nợ, Mobile
Payment App – Ứng dụng thanh toán di động)
Ngoài ra, các biến định lượng phản ánh tình hình tài chính và chi tiêu bao gồm:
Monthly Income: Thu nhập hàng tháng (USD)Financial Aid: Học bổng/Hỗ trợ tài chính (USD)Tuition, Housing, Food,
Transportation, Books & Supplies,
Entertainment, Personal Care,
Technology, Health & Wellness,
Miscellaneous: Các khoản chi tiêu cụ thể theo danh mục
(USD)Trong 4 biến định tính, ta chọn ra 1 biến phụ thuộc là
preferred payment method.
Mục đích là để kiểm tra xem sự phân bố lựa chọn phương thức thanh toán
có chịu ảnh hưởng bởi các yếu tố khác như giới tính, năm học hoặc ngành
học hay không.
Việc này giúp xác định liệu có mối liên hệ đáng kể nào giữa đặc điểm
nhân khẩu học và hành vi chi tiêu của sinh viên, từ đó hỗ trợ phân tích
sâu hơn ở các bước tiếp theo.
Sau khi đã xác định được các biến định tính, ta tiến hành trích lọc
riêng các biến này để phục vụ phân tích mô tả và kiểm định giả thuyết
cho từng nhóm phân loại. Tập con dữ liệu mới này được đặt tên là
dldt để tiện thao tác và xử lý trong các bước tiếp
theo.
dldt <- data[, qualitative_vars]
Bảng tần số
tanso_gender <- table(dldt$gender)
tanso_gender
##
## Female Male
## 483 517
Biểu đồ
barplot(
tanso_gender,
main = "Tần số theo giới tính",
xlab = "Giới tính",
ylab = "Số quan sát",
las = 1,
col = c("pink", "blue"),
border = "white")
Bảng tần suất
tansuat_gender <- tanso_gender/sum(nrow(dldt))
tansuat_gender
##
## Female Male
## 0.483 0.517
Biểu đồ
# Màu cho từng lát
cols <- c("pink", "green","yellow")
# Nhãn phần trăm
nhangender <- paste0(round(tansuat_gender * 100, 1), "%")
# Vẽ pie chart không nhãn
pie(
tansuat_gender,
labels = NA, # ẩn nhãn ngay trên lát
main = "Tần suất theo giới tính",
col = cols,
border = "white"
)
# Thêm legend bên ngoài góc phải
legend(
x = "topright",
legend = paste(names(tansuat_gender), nhangender),
fill = cols,
)
Nhận xét:
Kết quả phân tích cho thấy cơ cấu giới tính trong bộ dữ liệu khá đồng đều giữa ba nhóm:
Biểu đồ tần số và tần suất cho thấy sự phân bố giới tính tương đối cân bằng, với sự chênh lệch không đáng kể giữa các nhóm. Điều này cho thấy dữ liệu được thu thập khá đại diện, tạo điều kiện thuận lợi cho việc phân tích so sánh theo giới tính trong các phần tiếp theo.
n_female <- sum(dldt$gender == "Female")
n_total <- nrow(dldt)
prop.test(n_female, n_total, conf.level = 0.95)
##
## 1-sample proportions test with continuity correction
##
## data: n_female out of n_total, null probability 0.5
## X-squared = 1.089, df = 1, p-value = 0.2967
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
## 0.4516554 0.5144768
## sample estimates:
## p
## 0.483
Tỷ lệ ước lượng: Khoảng *48.3%** sinh viên trong mẫu là nữ.
Khoảng tin cậy 95%: nằm trong khoảng từ 45.17% đến 51.45%.
Diễn giải: Kết quả kiểm định cho thấy tỷ lệ sinh
viên nữ trong mẫu là khoảng 48.3%. Khoảng tin cậy 95% cho tỷ lệ này được
tính từ kết quả prop.test(). Vì khoảng tin cậy bao gồm 50%
và p-value lớn hơn 0.05, ta không có đủ bằng chứng để kết luận rằng tỷ
lệ sinh viên nữ trong tổng thể khác 50%.
Giả thuyết H₀ (H0): Tỷ lệ sinh viên nữ trong tổng thể là 50% (p = 0.5).
Giả thuyết H₁ (H1): Tỷ lệ sinh viên nữ trong tổng thể khác 50% (p ≠ 0.5).
Quy tắc quyết định:
Nếu p-value < 0.05 → Bác bỏ giả thuyết H₀: Có đủ bằng chứng thống kê để kết luận rằng tỷ lệ sinh viên nữ khác 50%.
Nếu p-value ≥ 0.05 → Không bác bỏ giả thuyết H₀: Chưa đủ bằng chứng để kết luận tỷ lệ sinh viên nữ khác 50%.
prop.test(n_female, n_total, p = 0.5, alternative = "two.sided", conf.level = 0.95)
##
## 1-sample proportions test with continuity correction
##
## data: n_female out of n_total, null probability 0.5
## X-squared = 1.089, df = 1, p-value = 0.2967
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
## 0.4516554 0.5144768
## sample estimates:
## p
## 0.483
→ Kết quả: p-value = 0.2967 > 0.05 → chưa
có đủ cơ sở để bác bỏ giả thuyết H₀.
Do đó, không có đủ bằng chứng để kết luận rằng tỷ lệ sinh viên nữ khác
50%. Trong mẫu khảo sát, tỷ lệ này là khoảng 48.3%, khá gần với mức giả
định.
Bảng tần số
tanso_year <- table(dldt$year_in_school)
tanso_year
##
## Freshman Junior Senior Sophomore
## 253 247 254 246
Biểu đồ
barplot(
tanso_year,
main = "Tần số theo năm học",
xlab = "Năm học",
ylab = "Số quan sát",
las = 1,
col = c("skyblue", "orange", "lightgreen", "plum"),
border = "white"
)
Bảng tần suất
tansuat_year <- tanso_year / sum(tanso_year)
tansuat_year
##
## Freshman Junior Senior Sophomore
## 0.253 0.247 0.254 0.246
Biểu đồ
# Màu cho từng lát
cols <- c("skyblue", "orange", "lightgreen", "plum")
# Nhãn phần trăm
nhan_year <- paste0(round(tansuat_year * 100, 1), "%")
# Vẽ biểu đồ tròn
pie(
tansuat_year,
labels = NA,
main = "Tần suất theo năm học",
col = cols,
border = "white"
)
# Thêm chú thích
legend(
x = "topright",
legend = paste(names(tansuat_year), nhan_year),
fill = cols
)
Nhận xét:
Kết quả phân tích cho thấy cơ cấu năm học trong bộ dữ liệu khá đồng đều giữa bốn nhóm:
Freshman (Năm nhất): chiếm khoảng 25.3%
Sophomore (Năm hai): chiếm khoảng 24.6%
Junior (Năm ba): chiếm khoảng 24.7%
Senior (Năm tư): chiếm khoảng 25.4%
Biểu đồ tần số và tần suất cho thấy sự phân bố sinh viên theo năm học tương đối cân bằng, với sự chênh lệch rất nhỏ giữa các nhóm. Điều này cho thấy dữ liệu được thu thập khá đại diện cho các năm học, tạo điều kiện thuận lợi cho các phân tích so sánh theo năm học trong các phần tiếp theo.
n_freshman <- sum(dldt$year_in_school == "Freshman")
n_total <- nrow(dldt)
prop.test(n_freshman, n_total, conf.level = 0.95)
##
## 1-sample proportions test with continuity correction
##
## data: n_freshman out of n_total, null probability 0.5
## X-squared = 243.05, df = 1, p-value < 2.2e-16
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
## 0.2265552 0.2813702
## sample estimates:
## p
## 0.253
Tỷ lệ ước lượng: Khoảng 25.3% sinh viên trong mẫu là sinh viên năm nhất.
Khoảng tin cậy 95%: nằm trong khoảng từ 22.66% đến 28.14%.
Diễn giải: Kết quả kiểm định cho thấy tỷ lệ sinh
viên năm nhất trong mẫu là khoảng 25.3%. Khoảng tin cậy 95% cho tỷ lệ
này được tính từ kết quả prop.test(). Vì khoảng tin cậy
không bao gồm 50% và p-value nhỏ hơn 0.05, ta có thể kết luận rằng tỷ lệ
sinh viên năm nhất trong tổng thể khác 50% với độ tin
cậy cao.
Giả thuyết H₀ (H0): Tỷ lệ sinh viên năm nhất trong tổng thể là 20% (p = 0.2).
Giả thuyết H₁ (H1): Tỷ lệ sinh viên năm nhất trong tổng thể bé hơn 20% (p < 0.2).
Quy tắc quyết định:
Nếu p-value < 0.05 → Bác bỏ giả thuyết H₀: Có đủ bằng chứng thống kê để kết luận rằng tỷ lệ sinh viên năm nhất nhỏ hơn 20%.
Nếu p-value ≥ 0.05 → Không đủ cơ sở bác bỏ giả thuyết H₀: Chưa đủ bằng chứng để kết luận tỷ lệ sinh viên năm nhất nhỏ hơn 20%.
prop.test(n_freshman, n_total, p = 0.2, alternative = "less", conf.level = 0.95)
##
## 1-sample proportions test with continuity correction
##
## data: n_freshman out of n_total, null probability 0.2
## X-squared = 17.227, df = 1, p-value = 1
## alternative hypothesis: true p is less than 0.2
## 95 percent confidence interval:
## 0.0000000 0.2767716
## sample estimates:
## p
## 0.253
→ Kết quả: p-value = 1 > 0.05 → không đủ cơ sở bác bỏ giả thuyết H₀. Do đó, chưa có đủ bằng chứng thống kê để kết luận rằng tỷ lệ sinh viên năm nhất nhỏ hơn 20%. Tỷ lệ thực tế trong mẫu là khoảng 25.3%, cao hơn so với giả định ban đầu.
Bảng tần số
tanso_major <- table(dldt$major)
tanso_major
##
## Biology Computer Science Economics Engineering
## 228 192 204 192
## Psychology
## 184
Biểu đồ
barplot(
tanso_major,
main = "Tần số theo chuyên ngành",
xlab = "Chuyên ngành",
ylab = "Số quan sát",
las = 1,
col = rainbow(length(tanso_major)),
border = "white",
cex.names = 0.8
)
Bảng tần suất
tansuat_major <- tanso_major / nrow(dldt)
tansuat_major
##
## Biology Computer Science Economics Engineering
## 0.228 0.192 0.204 0.192
## Psychology
## 0.184
Biểu đồ
cols_major <- rainbow(length(tansuat_major))
nhanmajor <- paste0(round(tansuat_major * 100, 1), "%")
pie(
tansuat_major,
labels = NA,
main = "Tần suất theo chuyên ngành",
col = cols_major,
border = "white"
)
legend(
x = "topright",
legend = paste(names(tansuat_major), nhanmajor),
fill = cols_major,
)
Nhận xét:
Kết quả phân tích cho thấy cơ cấu chuyên ngành trong bộ dữ liệu có sự phân bố tương đối đồng đều giữa năm nhóm chính:
Biology: chiếm khoảng 22.8%
Computer Science: chiếm khoảng 19.2%
Economics: chiếm khoảng 20.4%
Engineering: chiếm khoảng 19.2%
Psychology: chiếm khoảng 18.4%
Biểu đồ tần số và tần suất cho thấy sự phân bố sinh viên theo chuyên ngành khá cân bằng, với một chút chênh lệch giữa các nhóm. Nhóm Biology có số lượng sinh viên cao nhất (228 sinh viên), trong khi các nhóm còn lại dao động từ 184 đến 204 sinh viên. Điều này cho thấy dữ liệu được thu thập tương đối đồng đều giữa các chuyên ngành, hỗ trợ tốt cho các phân tích tiếp theo theo chuyên ngành học.
most_common_major <- names(which.max(tanso_major))
most_common_major
## [1] "Biology"
n_major <- max(tanso_major)
n_total <- nrow(dldt)
prop.test(n_major, n_total, conf.level = 0.95)
##
## 1-sample proportions test with continuity correction
##
## data: n_major out of n_total, null probability 0.5
## X-squared = 294.85, df = 1, p-value < 2.2e-16
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
## 0.2025887 0.2555330
## sample estimates:
## p
## 0.228
Tỷ lệ ước lượng: Khoảng 22.8% sinh viên thuộc chuyên ngành phổ biến nhất (Biology).
Diễn giải: Dựa trên kết quả kiểm định, tỷ lệ sinh
viên thuộc chuyên ngành phổ biến nhất được ước lượng và khoảng tin cậy
95% được tính bằng prop.test().
Giả thuyết H₀ (H0): Tỷ lệ sinh viên theo chuyên ngành phổ biến nhất là 20% (p = 0.2).
Giả thuyết H₁ (H1): Tỷ lệ sinh viên theo chuyên ngành đó lớn hơn 20% (p > 0.2).
Quy tắc quyết định:
Nếu p-value < 0.05 → bác bỏ H₀
Nếu p-value ≥ 0.05 → không bác bỏ H₀
prop.test(n_major, n_total, p = 0.2, alternative = "greater", conf.level = 0.95)
##
## 1-sample proportions test with continuity correction
##
## data: n_major out of n_total, null probability 0.2
## X-squared = 4.7266, df = 1, p-value = 0.01485
## alternative hypothesis: true p is greater than 0.2
## 95 percent confidence interval:
## 0.2064467 1.0000000
## sample estimates:
## p
## 0.228
→ Kết quả: p-value = 0.01485 < 0.05 → đủ
cơ sở để bác bỏ giả thuyết H₀.
Do đó, có đủ bằng chứng thống kê để kết luận rằng tỷ lệ sinh
viên chọn chuyên ngành Biology lớn hơn 20%.
Tỷ lệ thực tế trong mẫu là khoảng 22.8%, cao hơn so với
giả định ban đầu.
Bảng tần số
tanso_payment <- table(dldt$preferred_payment_method)
tanso_payment
##
## Cash Credit/Debit Card Mobile Payment App
## 342 291 367
Biểu đồ
barplot(
tanso_payment,
main = "Tần số theo phương thức thanh toán ưa thích",
xlab = "Phương thức",
ylab = "Số quan sát",
las = 1,
col = terrain.colors(length(tanso_payment)),
border = "white")
Bảng tần suất
tansuat_payment <- tanso_payment / nrow(dldt)
tansuat_payment
##
## Cash Credit/Debit Card Mobile Payment App
## 0.342 0.291 0.367
Biểu đồ
cols_payment <- terrain.colors(length(tansuat_payment))
nhanpayment <- paste0(round(tansuat_payment * 100, 1), "%")
pie(
tansuat_payment,
labels = NA,
main = "Tần suất theo phương thức thanh toán ưa thích",
col = cols_payment,
border = "white"
)
legend(
x = "topright",
legend = paste(names(tansuat_payment), nhanpayment),
fill = cols_payment,
)
Nhận xét:
Kết quả phân tích cho thấy cơ cấu Preferred Payment Method trong bộ dữ liệu có sự phân bố tương đối đồng đều giữa ba nhóm chính:
Cash: chiếm khoảng 34.2%
Credit/Debit Card: chiếm khoảng 29.1%
Mobile Payment App: chiếm khoảng 36.7%
Biểu đồ tần số và tần suất cho thấy sự phân bố theo phương thức thanh toán khá cân bằng, với một chút chênh lệch giữa các nhóm. Nhóm Mobile Payment App có số lượng người dùng cao nhất (367 người), trong khi các nhóm còn lại dao động từ 342 đến 291 người. Điều này cho thấy dữ liệu được thu thập tương đối đồng đều giữa các phương thức thanh toán, hỗ trợ tốt cho các phân tích tiếp theo về hành vi người dùng.
most_common_payment <- names(which.max(tanso_payment))
most_common_payment
## [1] "Mobile Payment App"
n_payment <- max(tanso_payment)
n_total <- nrow(dldt)
prop.test(n_payment, n_total, conf.level = 0.95)
##
## 1-sample proportions test with continuity correction
##
## data: n_payment out of n_total, null probability 0.5
## X-squared = 70.225, df = 1, p-value < 2.2e-16
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
## 0.3371990 0.3978359
## sample estimates:
## p
## 0.367
Tỷ lệ ước lượng: Khoảng 36.7% sinh viên chọn phương thức thanh toán phổ biến nhất (Mobile Payment App).
Giả thuyết H₀ (H0): Tỷ lệ chọn phương thức thanh toán phổ biến nhất là 30% (p = 0.3).
Giả thuyết H₁ (H1): Tỷ lệ chọn phương thức đó lớn hơn 30% (p > 0.3).
Quy tắc quyết định:
Nếu p-value < 0.05 → bác bỏ H₀
Nếu p-value ≥ 0.05 → không bác bỏ H₀
prop.test(n_payment, n_total, p = 0.3, alternative = "greater", conf.level = 0.95)
##
## 1-sample proportions test with continuity correction
##
## data: n_payment out of n_total, null probability 0.3
## X-squared = 21.058, df = 1, p-value = 2.228e-06
## alternative hypothesis: true p is greater than 0.3
## 95 percent confidence interval:
## 0.3418282 1.0000000
## sample estimates:
## p
## 0.367
→ Kết quả: p-value = 0.000002228 < 0.05 →
bác bỏ giả thuyết H₀.
Do đó, có đủ bằng chứng thống kê để kết luận rằng tỷ lệ chọn
phương thức thanh toán phổ biến nhất lớn hơn 30%.
Tỷ lệ thực tế trong mẫu là khoảng 36.7%, cao hơn so với
giả định ban đầu.
Bảng tần số
GP <- table(dldt$gender, dldt$preferred_payment_method)
GP
##
## Cash Credit/Debit Card Mobile Payment App
## Female 112 188 183
## Male 230 103 184
addmargins(table(dldt$gender, dldt$preferred_payment_method))
##
## Cash Credit/Debit Card Mobile Payment App Sum
## Female 112 188 183 483
## Male 230 103 184 517
## Sum 342 291 367 1000
Biểu đồ
ggplot(
dldt %>%
group_by(gender, preferred_payment_method) %>%
summarise(count = n()) %>%
ungroup(),
aes(x = gender, y = count, fill = preferred_payment_method)
) +
geom_col(position = position_dodge()) +
geom_text(aes(label = count), position = position_dodge(width = 0.9), vjust = -0.5) +
labs(
title = "Số lượng sinh viên theo giới tính và phương thức thanh toán ưa thích",
y = "Số lượng",
x = "Giới tính",
fill = "Phương thức ưa thích"
) +
theme_minimal()
## `summarise()` has grouped output by 'gender'. You can override using the
## `.groups` argument.
Nhận xét
Khi xét theo giới tính, có thể thấy sự lựa chọn phương thức thanh toán phân bố như sau:
Nhìn chung, từ bảng số liệu có thể thấy sự phân bố phương thức thanh toán giữa nam và nữ có sự khác biệt rõ rệt. Cụ thể, nữ giới có xu hướng sử dụng Credit/Debit Card nhiều hơn, trong khi nam giới lại chuộng thanh toán bằng tiền mặt (Cash). Sự khác biệt này cho thấy giới tính có thể ảnh hưởng đến lựa chọn phương thức thanh toán. Để xác nhận điều này, cần thực hiện kiểm định thống kê (ví dụ như kiểm định Chi-square).
chisq.test(GP)
##
## Pearson's Chi-squared test
##
## data: GP
## X-squared = 64.463, df = 2, p-value = 1.005e-14
Giả thuyết kiểm định:
Giải thích ý nghĩa kiểm định:
Kết quả kiểm định:
Kết luận thống kê:
Vì p-value = 1.005e-14 < 0.05, ta bác bỏ giả thuyết H₀. Do đó, có thể kết luận rằng giới tính ảnh hưởng đến lựa chọn phương thức thanh toán. Nói cách khác, cách sinh viên chọn phương thức thanh toán có khác biệt đáng kể giữa các nhóm giới tính trong tập dữ liệu này.
Giả thuyết H₀ (H0): Tỷ lệ sinh viên nữ chọn thanh toán bằng tiền mặt bằng với tỷ lệ sinh viên nam chọn thanh toán bằng tiền mặt (p₁ = p₂).
Giả thuyết H₁ (H1): Tỷ lệ sinh viên nữ chọn thanh toán bằng tiền mặt khác với tỷ lệ sinh viên nam (p₁ ≠ p₂).
Quy tắc quyết định:
Nếu p-value < 0.05 → bác bỏ H₀
Nếu p-value ≥ 0.05 → không đủ cơ sở bác bỏ H₀
# Lấy số người chọn Cash theo giới tính
n_female <- GP["Female", "Cash"]
n_male <- GP["Male", "Cash"]
# Tổng số người nam/nữ chỉ xét Cash và Mobile Payment App
total_female <- GP["Female", "Cash"] + GP["Female", "Mobile Payment App"]
total_male <- GP["Male", "Cash"] + GP["Male", "Mobile Payment App"]
# Kiểm định chênh lệch tỷ lệ
prop.test(
x = c(n_female, n_male),
n = c(total_female, total_male),
alternative = "two.sided",
conf.level = 0.95
)
##
## 2-sample test for equality of proportions with continuity correction
##
## data: c(n_female, n_male) out of c(total_female, total_male)
## X-squared = 20.646, df = 1, p-value = 5.526e-06
## alternative hypothesis: two.sided
## 95 percent confidence interval:
## -0.25199541 -0.09979367
## sample estimates:
## prop 1 prop 2
## 0.3796610 0.5555556
→ Kết quả: p-value = 5.526e-06 < 0.05 →
bác bỏ giả thuyết H₀.
Điều này cho thấy có thể khẳng định rằng giới tính có ảnh hưởng
đến tỷ lệ sinh viên chọn thanh toán bằng tiền mặt.
Tỷ lệ thực tế trong mẫu là khoảng *37.97% ở nữ và 55.56% ở nam**,cho thấy có sự khác biệt rõ rệt giữa hai nhóm giới tính về xu hướng chọn phương thức thanh toán này.
Trong phân tích thống kê, các chỉ số như Relative Risk (RR) và Odds Ratio (OR) chỉ được áp dụng hợp lý trong bối cảnh của bảng 2x2, tức là khi so sánh hai nhóm phân loại trong biến độc lập và hai mức kết quả trong biến phụ thuộc.
Do đó, để đảm bảo điều kiện áp dụng và diễn giải có ý nghĩa:
Việc giới hạn phân tích vào hai nhóm này giúp:
sub_data <- subset(dldt, gender %in% c("Male", "Female") & preferred_payment_method %in% c("Cash", "Mobile Payment App"))
table(sub_data$gender, sub_data$preferred_payment_method)
##
## Cash Mobile Payment App
## Female 112 183
## Male 230 184
Sau khi lọc, ta thu được bảng chéo giữa giới tính và năm học. Tiếp theo, ta tính toán Relative Risk để so sánh xác suất là thanh toán tiền mặt giữa hai nhóm giới tính:
library(epitools)
riskratio(table(sub_data$gender, sub_data$preferred_payment_method))
## $data
##
## Cash Mobile Payment App Total
## Female 112 183 295
## Male 230 184 414
## Total 342 367 709
##
## $measure
## risk ratio with 95% C.I.
## estimate lower upper
## Female 1.0000000 NA NA
## Male 0.7164542 0.6229259 0.8240251
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## Female NA NA NA
## Male 3.795396e-06 4.545244e-06 3.837678e-06
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
Điều này cho thấy:
Nam giới có vẻ ít chọn phương thức thanh toán bằng ví điện tử hơn so với nữ giới.
Vì khoảng tin cậy 95% không bao gồm giá trị 1, ta có thể kết luận rằng có sự khác biệt có ý nghĩa thống kê giữa nam và nữ trong việc lựa chọn ví điện tử.
Cụ thể, tỷ lệ chọn ví điện tử ở nam thấp hơn đáng kể so với nữ, cho thấy giới tính là một yếu tố ảnh hưởng đến xu hướng sử dụng phương thức thanh toán hiện đại này.
oddsratio(sub_data$gender, sub_data$preferred_payment_method)
## $data
## Outcome
## Predictor Cash Mobile Payment App Total
## Female 112 183 295
## Male 230 184 414
## Total 342 367 709
##
## $measure
## odds ratio with 95% C.I.
## Predictor estimate lower upper
## Female 1.0000000 NA NA
## Male 0.4903417 0.3607397 0.664281
##
## $p.value
## two-sided
## Predictor midp.exact fisher.exact chi.square
## Female NA NA NA
## Male 3.795396e-06 4.545244e-06 3.837678e-06
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
Nhận xét:
Odds ratio = 0.4903 cho thấy nữ giới có xu hướng chọn
thanh toán bằng tiền mặt (so với ví điện tử) thấp hơn so với nam
giới.
Nói cách khác, khả năng chọn tiền mặt ở nữ giới chỉ bằng khoảng
49% so với nam giới.
Khoảng tin cậy 95% cho odds ratio không bao gồm giá trị 1, cho thấy có sự khác biệt có ý nghĩa thống kê giữa hai nhóm giới tính trong lựa chọn giữa Cash và Mobile Payment App.
Điều này cho thấy giới tính có thể là yếu tố ảnh hưởng đến xu hướng lựa chọn hình thức thanh toán trong mẫu khảo sát này.
Kết luận:
Trong mẫu khảo sát này, giới tính có ảnh hưởng rõ rệt đến việc
lựa chọn giữa tiền mặt và ví điện tử. Cụ thể, nữ giới
có xu hướng sử dụng ví điện tử nhiều hơn, trong khi nam
giới có xu hướng chọn tiền mặt nhiều hơn.
Bảng tần số
YP <- table(dldt$year_in_school, dldt$preferred_payment_method)
YP
##
## Cash Credit/Debit Card Mobile Payment App
## Freshman 74 92 87
## Junior 77 72 98
## Senior 95 68 91
## Sophomore 96 59 91
Biểu đồ
ggplot(
dldt %>%
group_by(year_in_school, preferred_payment_method) %>%
summarise(count = n()) %>%
ungroup(),
aes(x = year_in_school, y = count, fill = preferred_payment_method)
) +
geom_col(position = position_dodge()) +
geom_text(aes(label = count), position = position_dodge(width = 0.9), vjust = -0.5) +
labs(
title = "Số lượng sinh viên theo năm học và phương thức thanh toán ưa thích",
y = "Số lượng",
x = "Năm học",
fill = "Phương thức ưa thích"
) +
theme_minimal()
## `summarise()` has grouped output by 'year_in_school'. You can override using
## the `.groups` argument.
Nhận xét
Khi xét theo năm học, có thể thấy sự lựa chọn phương thức thanh toán phân bố như sau:
Nhìn chung, từ bảng số liệu có thể thấy nhóm sinh viên năm nhất (Freshman) có xu hướng sử dụng Credit/Debit Card cao hơn so với các nhóm khác, trong khi nhóm Sophomore và Senior có tỷ lệ chọn Cash cao hơn.
Phân bố giữa ba phương thức thanh toán ở các nhóm năm học không hoàn toàn giống nhau, cho thấy năm học có thể ảnh hưởng đến xu hướng lựa chọn phương thức thanh toán. Tuy nhiên, cần thực hiện kiểm định thống kê để xác định liệu sự khác biệt này có ý nghĩa hay không.
chisq.test(YP)
##
## Pearson's Chi-squared test
##
## data: YP
## X-squared = 13.207, df = 6, p-value = 0.03987
Giả thuyết kiểm định:
Giải thích ý nghĩa kiểm định:
Kết quả kiểm định:
Kết luận thống kê:
Vì p-value = 0.03987 < 0.05, ta bác bỏ giả thuyết H₀. Do đó, có đủ bằng chứng thống kê để kết luận rằng năm học có ảnh hưởng đến lựa chọn phương thức thanh toán.
Nói cách khác, cách sinh viên chọn phương thức thanh toán có sự khác biệt đáng kể giữa các nhóm năm học trong tập dữ liệu này.
Giả thuyết H₀ (H0): Tỷ lệ sinh viên năm nhất (Freshman) chọn thanh toán bằng Credit/Debit Card nhỏ hơn hoặc bằng tỷ lệ sinh viên năm tư (Senior) chọn phương thức này (p₁ ≤ p₂).
Giả thuyết H₁ (H1): Tỷ lệ sinh viên năm nhất (Freshman) chọn thanh toán bằng Credit/Debit Card lớn hơn so với sinh viên năm tư (p₁ > p₂).
Quy tắc quyết định:
# Lấy số sinh viên chọn Credit/Debit Card theo năm học
n_freshman <- YP["Freshman", "Credit/Debit Card"]
n_senior <- YP["Senior", "Credit/Debit Card"]
# Tổng số sinh viên Freshman và Senior chọn Credit/Debit Card hoặc Mobile Payment App
total_freshman <- YP["Freshman", "Credit/Debit Card"] + YP["Freshman", "Mobile Payment App"]
total_senior <- YP["Senior", "Credit/Debit Card"] + YP["Senior", "Mobile Payment App"]
# Kiểm định chênh lệch tỷ lệ chọn Credit/Debit Card giữa Freshman và Senior
prop.test(
x = c(n_freshman, n_senior),
n = c(total_freshman, total_senior),
alternative = "greater",
conf.level = 0.95
)
##
## 2-sample test for equality of proportions with continuity correction
##
## data: c(n_freshman, n_senior) out of c(total_freshman, total_senior)
## X-squared = 2.181, df = 1, p-value = 0.06986
## alternative hypothesis: greater
## 95 percent confidence interval:
## -0.008755192 1.000000000
## sample estimates:
## prop 1 prop 2
## 0.5139665 0.4276730
→ Kết quả: p-value = 0.06986 > 0.05 →
không đủ cơ sở để bác bỏ giả thuyết H₀.
Điều này cho thấy chưa có đủ bằng chứng thống kê để kết luận
rằng sinh viên năm nhất có tỷ lệ chọn thanh toán bằng Credit/Debit Card
cao hơn sinh viên năm tư.
Tỷ lệ thực tế trong mẫu là khoảng 51.40% ở năm nhất (Freshman) và 42.77% ở năm tư (Senior), cho thấy sự khác biệt không đáng kể giữa hai nhóm về xu hướng lựa chọn phương thức thanh toán này.
sub_data <- subset(dldt, year_in_school %in% c("Freshman", "Senior") & preferred_payment_method %in% c("Cash", "Credit/Debit Card"))
table(sub_data$year_in_school, sub_data$preferred_payment_method)
##
## Cash Credit/Debit Card
## Freshman 74 92
## Senior 95 68
Sau khi lọc, ta thu được bảng chéo giữa năm học và phương thức thanh toán ưa thích. Tiếp theo, ta tính toán Relative Risk để so sánh xác suất là thanh toán bằng thẻ giữa hai nhóm năm học:
library(epitools)
riskratio(table(sub_data$year_in_school, sub_data$preferred_payment_method))
## $data
##
## Cash Credit/Debit Card Total
## Freshman 74 92 166
## Senior 95 68 163
## Total 169 160 329
##
## $measure
## risk ratio with 95% C.I.
## estimate lower upper
## Freshman 1.0000000 NA NA
## Senior 0.7527341 0.5998569 0.9445729
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## Freshman NA NA NA
## Senior 0.01333132 0.01523654 0.01290107
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
Nhận xét:
Sinh viên năm tư có vẻ chọn phương thức thanh toán bằng thẻ (Credit/Debit Card) nhiều hơn so với sinh viên năm nhất.
Tuy nhiên, khoảng tin cậy 95% cho risk ratio là [0.916 ; 1.349], bao gồm giá trị 1, cho thấy không thể kết luận chắc chắn rằng có sự khác biệt thật sự giữa hai nhóm.
Nói cách khác, không loại trừ khả năng rằng sinh viên năm nhất và năm tư có tỷ lệ chọn thẻ tương đương, và năm học có thể không phải là yếu tố ảnh hưởng rõ rệt đến việc lựa chọn phương thức thanh toán này.
oddsratio(table(sub_data$year_in_school, sub_data$preferred_payment_method), rev = 'c')
## $data
##
## Credit/Debit Card Cash Total
## Freshman 92 74 166
## Senior 68 95 163
## Total 160 169 329
##
## $measure
## odds ratio with 95% C.I.
## estimate lower upper
## Freshman 1.00000 NA NA
## Senior 1.73296 1.120811 2.69155
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## Freshman NA NA NA
## Senior 0.01333132 0.01523654 0.01290107
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
Nhận xét:
Odds ratio = 1.733 cho thấy sinh viên năm nhất có xu
hướng chọn thanh toán bằng Credit/Debit Card cao hơn so với
sinh viên năm tư.
Nói cách khác, khả năng chọn thẻ ở sinh viên năm nhất cao hơn
khoảng 73.3% so với sinh viên năm tư.
Khoảng tin cậy 95% cho odds ratio là (1.1208 ; 2.6916), không bao gồm giá trị 1, cho thấy sự khác biệt này có ý nghĩa thống kê.
Kết luận:
Có đủ bằng chứng để kết luận rằng năm học (Freshman vs
Senior) có ảnh hưởng đến xu hướng lựa chọn Credit/Debit
Card so với Cash, với sinh viên năm nhất có xu hướng sử dụng
thẻ nhiều hơn.
Bảng tần số
MP <- table(dldt$major, dldt$preferred_payment_method)
MP
##
## Cash Credit/Debit Card Mobile Payment App
## Biology 80 59 89
## Computer Science 69 52 71
## Economics 67 62 75
## Engineering 63 64 65
## Psychology 63 54 67
Biểu đồ
ggplot(
dldt %>%
group_by(major, preferred_payment_method) %>%
summarise(count = n()) %>%
ungroup(),
aes(x = major, y = count, fill = preferred_payment_method)
) +
geom_col(position = position_dodge()) +
geom_text(aes(label = count), position = position_dodge(width = 0.9), vjust = -0.5) +
labs(
title = "Số lượng sinh viên theo ngành học và phương thức thanh toán ưa thích",
y = "Số lượng",
x = "Ngành học",
fill = "Phương thức ưa thích"
) +
theme_minimal()
## `summarise()` has grouped output by 'major'. You can override using the
## `.groups` argument.
Nhận xét
Khi xét theo ngành học, có thể thấy sự lựa chọn phương thức thanh toán được phân bố như sau:
Tổng quan từ bảng số liệu cho thấy:
Những khác biệt này gợi ý rằng ngành học có thể ảnh hưởng đến xu hướng lựa chọn phương thức thanh toán, tuy nhiên để khẳng định điều đó cần thực hiện kiểm định thống kê nhằm đảm bảo ý nghĩa thống kê của sự khác biệt.
chisq.test(MP)
##
## Pearson's Chi-squared test
##
## data: MP
## X-squared = 3.5964, df = 8, p-value = 0.8916
Giả thuyết kiểm định:
Giải thích ý nghĩa kiểm định:
Kết quả kiểm định:
Kết luận thống kê:
Vì p-value = 0.8916 > 0.05, ta không đủ
bằng chứng để bác bỏ giả thuyết H₀.
Điều này cho thấy chưa có đủ bằng chứng thống kê để kết luận
rằng ngành học ảnh hưởng đến lựa chọn phương thức thanh
toán.
Nói cách khác, sự phân bố phương thức thanh toán không có sự khác biệt đáng kể giữa các nhóm ngành học trong bộ dữ liệu này.
Giả thuyết H₀ (H0): Tỷ lệ sinh viên ngành Economics chọn thanh toán bằng Credit/Debit Card lớn hơn hoặc bằng tỷ lệ sinh viên ngành Biology chọn phương thức này (p₁ ≥ p₂).
Giả thuyết H₁ (H1): Tỷ lệ sinh viên ngành Economics chọn thanh toán bằng Credit/Debit Card nhỏ hơn so với ngành Biology (p₁ < p₂).
Quy tắc quyết định:
# Lấy số sinh viên chọn Credit/Debit Card theo ngành học
n_economics <- MP["Economics", "Credit/Debit Card"]
n_biology <- MP["Biology", "Credit/Debit Card"]
# Tổng số sinh viên ngành Economics và Biology chọn Credit/Debit Card hoặc Mobile Payment App
total_economics <- MP["Economics", "Credit/Debit Card"] + MP["Economics", "Mobile Payment App"]
total_biology <- MP["Biology", "Credit/Debit Card"] + MP["Biology", "Mobile Payment App"]
# Kiểm định chênh lệch tỷ lệ chọn Credit/Debit Card giữa Economics và Biology
prop.test(
x = c(n_economics, n_biology),
n = c(total_economics, total_biology),
alternative = "less",
conf.level = 0.95
)
##
## 2-sample test for equality of proportions with continuity correction
##
## data: c(n_economics, n_biology) out of c(total_economics, total_biology)
## X-squared = 0.63994, df = 1, p-value = 0.7881
## alternative hypothesis: less
## 95 percent confidence interval:
## -1.0000000 0.1572412
## sample estimates:
## prop 1 prop 2
## 0.4525547 0.3986486
→ Kết quả: p-value = 0.7881 > 0.05 →
không đủ cơ sở để bác bỏ giả thuyết H₀.
Điều này cho thấy chưa có đủ bằng chứng thống kê để kết luận
rằng sinh viên ngành Economics có tỷ lệ chọn thanh toán bằng
Credit/Debit Card thấp hơn sinh viên ngành Biology.
Tỷ lệ thực tế trong mẫu là khoảng 45.26% ở ngành Economics và 39.86% ở ngành Biology, cho thấy sự khác biệt là rất nhỏ và không có ý nghĩa thống kê về xu hướng lựa chọn phương thức thanh toán giữa hai nhóm ngành này.
sub_data2 <- subset(dldt, major %in% c("Biology", "Economics") & preferred_payment_method %in% c("Credit/Debit Card", "Mobile Payment App"))
table(sub_data2$major, sub_data2$preferred_payment_method)
##
## Credit/Debit Card Mobile Payment App
## Biology 59 89
## Economics 62 75
Sau khi lọc, ta thu được bảng chéo giữa ngành học và phương thức thanh toán ưa thích. Tiếp theo, ta tính toán Relative Risk để so sánh xác suất là thanh toán bằng ví điện tử giữa hai nhóm năm học:
library(epitools)
riskratio(table(sub_data2$major, sub_data2$preferred_payment_method))
## $data
##
## Credit/Debit Card Mobile Payment App Total
## Biology 59 89 148
## Economics 62 75 137
## Total 121 164 285
##
## $measure
## risk ratio with 95% C.I.
## estimate lower upper
## Biology 1.0000000 NA NA
## Economics 0.9103584 0.7446208 1.112986
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## Biology NA NA NA
## Economics 0.3610816 0.4015856 0.3576292
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
Nhận xét:
Tỷ lệ sinh viên ngành Economics chọn thanh toán bằng Mobile Payment App có xu hướng thấp hơn một chút so với sinh viên ngành Biology.
Tuy nhiên, khoảng tin cậy 95% bao gồm giá trị 1, cho thấy không thể kết luận có sự khác biệt có ý nghĩa thống kê giữa hai nhóm.
Kết luận:
Không có đủ bằng chứng để khẳng định rằng ngành học (Economics
so với Biology) ảnh hưởng đến xu hướng lựa chọn Mobile
Payment App.
oddsratio(table(sub_data2$major, sub_data2$preferred_payment_method), rev = 'both')
## $data
##
## Mobile Payment App Credit/Debit Card Total
## Economics 75 62 137
## Biology 89 59 148
## Total 164 121 285
##
## $measure
## odds ratio with 95% C.I.
## estimate lower upper
## Economics 1.0000000 NA NA
## Biology 0.8027384 0.5000478 1.286324
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## Economics NA NA NA
## Biology 0.3610816 0.4015856 0.3576292
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
Nhận xét:
Odds ratio = 0.8027 cho thấy sinh viên ngành Economics có
xu hướng chọn thanh toán bằng Mobile Payment App (so với Credit/Debit
Card) thấp hơn so với sinh viên ngành Biology.
Nói cách khác, khả năng chọn Mobile Payment App so với thẻ ở
sinh viên Economics chỉ bằng khoảng 80.3% so với nhóm
Biology.
Tuy nhiên, khoảng tin cậy 95% là [0.5 ; 1.2863] bao gồm giá trị 1, cho thấy không thể kết luận có sự khác biệt có ý nghĩa thống kê giữa hai nhóm.
Kết luận:
Trong dữ liệu khảo sát, ngành học (Economics so với
Biology) không cho thấy ảnh hưởng rõ rệt đến
mức ưu tiên giữa Mobile Payment App và
Credit/Debit Card.
Mục tiêu:
Phần này nhằm phân tích xem giới tính của sinh viên có ảnh hưởng như thế nào đến khả năng lựa chọn phương thức thanh toán bằng tiền mặt (Cash). Cụ thể:
Biến phụ thuộc là preferred_payment_method, được mã hóa lại thành biến nhị phân payment_binary, với:
1 nếu sinh viên chọn Cash
0 nếu chọn phương thức khác (Credit/Debit Card hoặc Mobile Payment App)
Biến giải thích là gender, phân loại thành hai nhóm: male (0) và female (1).
Việc ước lượng được thực hiện bằng phương pháp Maximum Likelihood Estimation, sử dụng hàm liên kết logit để liên hệ giữa xác suất xảy ra sự kiện (chọn Cash) và giới tính của sinh viên.
Công thức tổng quát của mô hình như sau:
\[ \log\left( \frac{P(\text{payment\_binary} = 1)}{1 - P(\text{payment\_binary} = 1)} \right) = \beta_0 + \beta_1 \cdot \text{gender} \]
Trong đó:
gender, phản ánh mức thay đổi log-odds khi chuyển từ nam
sang nữ.data <- data[data$gender %in% c("Male", "Female"), ]
data$payment_binary <- ifelse(data$preferred_payment_method == "Cash", 1, 0)
# Mã hóa giới tính: male = 0, female = 1
data$gender <- factor(data$gender, levels = c("Male", "Female"))
# Hồi quy logit
model_logit <- glm(payment_binary ~ gender, data = data, family = binomial(link = "logit"))
# Kết quả hồi quy
summary(model_logit)
##
## Call:
## glm(formula = payment_binary ~ gender, family = binomial(link = "logit"),
## data = data)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -0.2214 0.0885 -2.502 0.0124 *
## genderFemale -0.9763 0.1395 -6.999 2.57e-12 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 1284.7 on 999 degrees of freedom
## Residual deviance: 1233.5 on 998 degrees of freedom
## AIC: 1237.5
##
## Number of Fisher Scoring iterations: 4
Nhận xét:
Kết quả từ mô hình hồi quy logistic nhị phân cho thấy hệ số chặn
(Intercept) là -0.2214, còn hệ số của biến
genderFemale là -0.9763, với ý nghĩa
thống kê rất cao (p-value < 0.001). Điều này cho
thấy rằng khi giới tính là nữ, xác suất chọn
thanh toán bằng tiền mặt (cash) giảm đáng
kể so với nam giới.
Nếu chuyển hệ số logit sang tỷ số odds (odds ratio), ta được:
\[ \exp(-0.9763) \approx 0.376 \]
→ Tức là, nữ giới có khả năng chọn thanh toán bằng tiền mặt thấp hơn khoảng 62.4% so với nam giới.
Công thức hồi quy từ mô hình:
\[ \log \left( \frac{P(\text{payment} = \text{"cash"})}{1 - P(\text{payment} = \text{"cash"})} \right) = -0.2214 - 0.9763 \cdot \text{genderFemale} \]
Về mức độ phù hợp của mô hình, sai số log-likelihood đã giảm từ 1284.7 (null deviance) xuống 1233.5 (residual deviance) khi thêm biến giới tính. Giá trị AIC = 1237.5 cho thấy mô hình có mức phù hợp tương đối tốt và có thể dùng để so sánh với các mô hình khác trong phần sau.
Mục tiêu:
Mục tiêu của phần này là kiểm tra xem năm học (Year_in_school) có ảnh hưởng đến xác suất sinh viên lựa chọn phương thức thanh toán bằng tiền mặt (Cash) hay không.
preferred_payment_method, được mã hóa
thành biến nhị phân payment_binary, trong đó:
payment_binary = 1 nếu sinh viên chọn
Cashpayment_binary = 0 nếu sinh viên chọn
Credit/Debit Card hoặc Mobile Payment
AppYear_in_school, bao gồm bốn mức:
Freshman, Sophomore, Junior, Senior.Mô hình được ước lượng bằng phương pháp Maximum Likelihood Estimation với hàm liên kết logit, giúp đánh giá mối quan hệ giữa năm học và xác suất chọn Cash của sinh viên.
Công thức tổng quát của mô hình:
\[ \log \left( \frac{P(\text{payment\_binary} = 1)}{1 - P(\text{payment\_binary} = 1)} \right) = \beta_0 + \beta_1 \cdot \text{Sophomore} + \beta_2 \cdot \text{Junior} + \beta_3 \cdot \text{Senior} \]
Trong đó:
Mô hình cho phép xác định liệu sinh viên ở các năm học khác nhau có xu hướng lựa chọn hình thức thanh toán truyền thống (Cash) khác biệt đáng kể hay không.
# Chuyển biến preferred_payment_method thành biến nhị phân
# 1 nếu là Cash, 0 nếu là phương thức khác
data$payment_binary <- ifelse(data$preferred_payment_method == "Cash", 1, 0)
# Đảm bảo Year_in_school là factor, và đặt Freshman làm nhóm tham chiếu
data$year_in_school <- factor(data$year_in_school,
levels = c("Freshman", "Sophomore", "Junior", "Senior"))
# Chạy mô hình logit
model_logit_year <- glm(payment_binary ~ year_in_school,
data = data,
family = binomial(link = "logit"))
# Xem kết quả
summary(model_logit_year)
##
## Call:
## glm(formula = payment_binary ~ year_in_school, family = binomial(link = "logit"),
## data = data)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -0.88332 0.13820 -6.391 1.64e-10 ***
## year_in_schoolSophomore 0.43703 0.19022 2.298 0.0216 *
## year_in_schoolJunior 0.09133 0.19486 0.469 0.6393
## year_in_schoolSenior 0.36829 0.18951 1.943 0.0520 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 1284.7 on 999 degrees of freedom
## Residual deviance: 1277.2 on 996 degrees of freedom
## AIC: 1285.2
##
## Number of Fisher Scoring iterations: 4
# Nếu muốn xem odds ratio:
exp(coef(model_logit_year))
## (Intercept) year_in_schoolSophomore year_in_schoolJunior
## 0.4134078 1.5481081 1.0956280
## year_in_schoolSenior
## 1.4452660
Nhận xét: Mô hình hồi quy logistic nhị phân được xây dựng nhằm đánh giá ảnh hưởng của năm học đến khả năng lựa chọn phương thức thanh toán bằng tiền mặt (Cash). Nhóm tham chiếu trong mô hình là sinh viên năm nhất (Freshman).
Kết quả hồi quy cho thấy hệ số chặn (Intercept) là
-0.88332, thể hiện log-odds chọn Cash đối với sinh viên
năm nhất. So với nhóm này:
\[ \exp(0.43703) \approx 1.55 \]
→ Tức là sinh viên năm hai có khả năng chọn Cash cao hơn khoảng 55% so với sinh viên năm nhất.
Sinh viên năm ba (Junior) có hệ số 0.09133, không có ý nghĩa thống kê (p = 0.6393). Odds ratio tương ứng là khoảng 1.10, cho thấy ảnh hưởng không rõ rệt.
Sinh viên năm tư (Senior) có hệ số 0.36829, gần đạt ngưỡng ý nghĩa thống kê (p = 0.0520). Odds ratio là khoảng 1.45, ngụ ý rằng nhóm này có khả năng chọn Cash cao hơn 45% so với nhóm năm nhất, nhưng cần thận trọng khi diễn giải vì chưa đủ bằng chứng thống kê mạnh.
Mô hình hồi quy ước lượng như sau:
\[ \log \left( \frac{P(\text{Cash})}{1 - P(\text{Cash})} \right) = -0.88332 + 0.43703 \cdot \text{Sophomore} + 0.09133 \cdot \text{Junior} + 0.36829 \cdot \text{Senior} \]
Về mức độ phù hợp, độ lệch còn lại (Residual Deviance) giảm nhẹ từ 1284.7 xuống 1277.2, cho thấy các biến giải thích giúp cải thiện mô hình. Giá trị AIC = 1285.2 là cơ sở để so sánh với các mô hình khác trong những phân tích tiếp theo.
Tóm lại, kết quả gợi ý rằng năm học có thể ảnh hưởng đến xu hướng lựa chọn thanh toán bằng tiền mặt, đặc biệt là với sinh viên năm hai, tuy nhiên ảnh hưởng từ các nhóm còn lại cần xem xét kỹ hơn.
Mục tiêu:
Phần này nhằm xây dựng mô hình hồi quy logit đa biến để đánh giá tác động đồng thời của giới tính, thu nhập hàng tháng và mức học phí đến khả năng sinh viên lựa chọn phương thức thanh toán bằng tiền mặt (Cash).
Trong đó, hai biến định lượng monthly_income và tuition được phân nhóm thành ba mức (thấp, trung bình, cao) nhằm:
Đảm bảo điều kiện áp dụng kiểm định Chi-squared với biến phụ thuộc định tính.
Kiểm tra sơ bộ xem các nhóm giá trị khác nhau của từng biến có liên hệ thống kê đáng kể với lựa chọn phương thức thanh toán hay không.
Sau khi xác định được các biến có mối liên hệ đáng kể, ta đưa tất cả vào mô hình logit để lượng hóa ảnh hưởng của từng yếu tố, từ đó làm rõ vai trò của đặc điểm nhân khẩu học và chi tiêu trong hành vi lựa chọn phương thức thanh toán của sinh viên.
Giả thuyết kiểm định:
Giải thích ý nghĩa kiểm định:
data$income_group <- cut(data$monthly_income,
breaks = quantile(data$monthly_income, probs = c(0, 1/3, 2/3, 1), na.rm = TRUE),
labels = c("Low", "Medium", "High"),
include.lowest = TRUE)
chisq.test(table(data$income_group, data$preferred_payment_method))
##
## Pearson's Chi-squared test
##
## data: table(data$income_group, data$preferred_payment_method)
## X-squared = 531.9, df = 4, p-value < 2.2e-16
Kết quả kiểm định:
Kết luận thống kê:
Vì p-value < 0.05, ta bác bỏ giả thuyết
H₀.
Điều này cho thấy có đủ bằng chứng thống kê để kết luận rằng thu
nhập hàng tháng có ảnh hưởng đến lựa chọn phương thức thanh
toán.
Nói cách khác, cách sinh viên lựa chọn phương thức thanh toán khác biệt đáng kể giữa các nhóm thu nhập khác nhau trong bộ dữ liệu này.
Giả thuyết kiểm định:
Giải thích ý nghĩa kiểm định:
data$tuition_group <- cut(data$tuition,
breaks = quantile(data$tuition, probs = c(0, 1/3, 2/3, 1), na.rm = TRUE),
labels = c("Low", "Medium", "High"),
include.lowest = TRUE)
chisq.test(table(data$tuition_group, data$preferred_payment_method))
##
## Pearson's Chi-squared test
##
## data: table(data$tuition_group, data$preferred_payment_method)
## X-squared = 1014.7, df = 4, p-value < 2.2e-16
Kết quả kiểm định:
Kết luận thống kê:
Vì p-value < 0.05, ta bác bỏ giả thuyết
H₀.
Điều này cho thấy có đủ bằng chứng thống kê để kết luận rằng mức
học phí có ảnh hưởng đến lựa chọn phương thức thanh toán.
Nói cách khác, cách sinh viên lựa chọn phương thức thanh toán khác biệt đáng kể giữa các nhóm mức học phí khác nhau trong bộ dữ liệu này.
Sau khi xác định được hai biến định lượng có mối liên hệ thống kê với biến phụ thuộc thông qua kiểm định Chi-squared, ta tiến hành xây dựng mô hình hồi quy logistic đa biến nhằm phân tích các yếu tố ảnh hưởng đến xu hướng lựa chọn phương thức thanh toán bằng tiền mặt của sinh viên.
Cấu trúc mô hình như sau:
Biến phụ thuộc:
preferred_payment_method, được mã hóa nhị phân thành
payment_binary
Các biến giải thích:
gender (giới tính)income_group (nhóm thu nhập hàng tháng – chia thành 3
mức)tuition_group (nhóm học phí – chia thành 3 mức)Mô hình được ước lượng bằng phương pháp Maximum Likelihood Estimation (MLE) với hàm liên kết logit, cho phép ước tính xác suất một sinh viên lựa chọn Cash dưới ảnh hưởng đồng thời của giới tính, thu nhập và mức học phí.
# Mô hình logit đa biến
model_logit_multi <- glm(payment_binary ~ gender + monthly_income + tuition,
data = data,
family = binomial(link = "logit"))
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
summary(model_logit_multi)
##
## Call:
## glm(formula = payment_binary ~ gender + monthly_income + tuition,
## family = binomial(link = "logit"), data = data)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 36.8420268 4.2158493 8.739 < 2e-16 ***
## genderFemale -0.3164211 0.3942190 -0.803 0.422
## monthly_income -0.0066120 0.0011097 -5.958 2.55e-09 ***
## tuition -0.0058609 0.0007313 -8.015 1.10e-15 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 1284.71 on 999 degrees of freedom
## Residual deviance: 180.59 on 996 degrees of freedom
## AIC: 188.59
##
## Number of Fisher Scoring iterations: 10
Nhận xét:
Kết quả hồi quy từ mô hình logit nhị phân cho thấy hành vi lựa chọn phương thức thanh toán bằng tiền mặt (Cash) của sinh viên bị ảnh hưởng đáng kể bởi hai yếu tố tài chính là thu nhập hàng tháng và mức học phí, trong khi yếu tố giới tính không thể hiện tác động rõ ràng trong mô hình này.
Hệ số chặn (Intercept) có giá trị dương rất lớn (36.842) và có ý nghĩa thống kê cao (p < 0.001), phản ánh log-odds lựa chọn Cash ở nhóm tham chiếu – tức sinh viên nam với mức thu nhập và học phí bằng 0. Đây là giá trị kỹ thuật ban đầu, mang tính tham khảo.
Biến monthly_income có hệ số
-0.0066, với giá trị p gần bằng 0 (p < 0.001), cho
thấy khi thu nhập tăng, xác suất sinh viên chọn thanh
toán bằng tiền mặt giảm đáng kể. Diễn giải theo xu
hướng thực tế, sinh viên có thu nhập cao hơn thường tiếp cận với các
hình thức thanh toán hiện đại như thẻ ngân hàng hoặc ứng dụng ví điện
tử.
Tương tự, biến tuition có hệ số âm
-0.0059 và mức ý nghĩa thống kê cao (p < 0.001), cho
thấy mức học phí cao hơn cũng liên quan đến khả
năng chọn Cash thấp hơn. Điều này có thể phản ánh rằng sinh
viên có học phí cao thường thuộc nhóm có điều kiện tài chính tốt hơn và
quen thuộc với phương thức thanh toán phi tiền mặt.
Trong khi đó, biến genderFemale có
hệ số -0.3164, tuy nhiên không có ý nghĩa thống
kê (p = 0.422), cho thấy không có sự khác biệt rõ rệt
giữa nam và nữ trong xu hướng sử dụng tiền mặt.
Ngoài ra, giá trị AIC = 188.6 và Residual Deviance giảm mạnh từ 1284.7 xuống 180.6 cho thấy mô hình phù hợp tốt với dữ liệu. Điều này khẳng định rằng các yếu tố định lượng tài chính có vai trò quan trọng hơn giới tính trong việc lý giải hành vi thanh toán của sinh viên.
Mô hình Probit là một dạng hồi quy nhị phân được sử dụng khi biến phụ thuộc chỉ nhận giá trị 0 hoặc 1. Mục đích của mô hình là ước lượng xác suất xảy ra sự kiện \(y = 1\), thông qua hàm phân phối tích lũy của chuẩn tắc (standard normal CDF):
\[ P(y = 1 \mid x) = \Phi(x'\beta) \]
Trong đó:
Sử dụng mô hình OLS cho biến nhị phân có nhiều hạn chế:
Các tham số \(\beta\) được ước lượng bằng phương pháp tối đa hóa hàm hợp lý (Maximum Likelihood Estimation):
\[ \log L(\beta) = \sum_{i=1}^{n} \left[ y_i \log \Phi(x_i^\top \beta) + (1 - y_i) \log (1 - \Phi(x_i^\top \beta)) \right] \]
Tác động cận biên thể hiện mức thay đổi của xác suất khi một biến độc lập thay đổi một đơn vị:
\[ \frac{\partial P(y = 1 \mid x)}{\partial x_j} = \phi(x'\beta) \cdot \beta_j \]
Trong đó:
Các cách đo lường phổ biến:
\[ R^2 = 1 - \frac{L_{\text{unrestricted}}}{L_{\text{restricted}}} \]
Chỉ số này không tương đương với \(R^2\) trong mô hình OLS nhưng vẫn hữu ích trong việc so sánh mô hình.
| Tiêu chí | Probit (Φ) | Logit (Λ) |
|---|---|---|
| Hàm phân phối | Chuẩn chuẩn hóa (Φ) | Logistic (Λ) |
| Hệ số | Nhỏ hơn | Lớn hơn khoảng 1.6 lần |
| Tác động cận biên | Gần giống Logit | Gần giống Probit |
| Diễn giải hệ số | Khó diễn giải trực tiếp | Có thể chuyển sang Odds Ratio |
Tóm lại: Việc lựa chọn giữa Probit và Logit phụ thuộc vào mục tiêu nghiên cứu và sở thích của nhà phân tích. Trong thực tế, hai mô hình thường cho kết quả khá tương đồng về xác suất và tác động.
Mục tiêu:
Phần này nhằm phân tích xem giới tính của sinh viên có ảnh hưởng đến xác suất lựa chọn phương thức thanh toán bằng tiền mặt (Cash) hay không, bằng cách sử dụng mô hình Probit.
Cụ thể:
preferred_payment_method, đã được mã hóa thành biến nhị
phân payment_binary, trong đó:
gender, gồm hai giá
trị:
Việc ước lượng được thực hiện bằng phương pháp tối đa hóa hàm khả năng (Maximum Likelihood Estimation), sử dụng hàm liên kết Probit, nhằm mô hình hóa xác suất lựa chọn Cash dưới ảnh hưởng của giới tính sinh viên.
Công thức tổng quát của mô hình Probit:
\[ P(\text{payment\_binary} = 1) = \Phi(\beta_0 + \beta_1 \cdot \text{gender}) \]
Trong đó:
gender, phản ánh ảnh hưởng của việc là nữ đối với xác
suất lựa chọn thanh toán bằng tiền mặt.# Hồi quy probit
model_probit <- glm(payment_binary ~ gender, data = data, family = binomial(link = "probit"))
# Kết quả hồi quy
summary(model_probit)
##
## Call:
## glm(formula = payment_binary ~ gender, family = binomial(link = "probit"),
## data = data)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -0.13862 0.05531 -2.506 0.0122 *
## genderFemale -0.59403 0.08380 -7.088 1.36e-12 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 1284.7 on 999 degrees of freedom
## Residual deviance: 1233.5 on 998 degrees of freedom
## AIC: 1237.5
##
## Number of Fisher Scoring iterations: 4
Nhận xét:
Kết quả từ mô hình Probit nhị phân cho thấy giới tính có ảnh hưởng
đáng kể đến xác suất sinh viên lựa chọn phương thức thanh toán bằng tiền
mặt. Hệ số chặn (Intercept) có giá trị
-0.1386, đại diện cho logit chuẩn hóa khi sinh viên là
nam. Trong khi đó, hệ số của biến genderFemale là
-0.5940, và có ý nghĩa thống kê rất cao
(p-value < 0.001), cho thấy sinh viên nữ có xác suất
chọn Cash thấp hơn đáng kể so với sinh viên nam.
Mặc dù hệ số Probit không thể trực tiếp diễn giải như hệ số Logit hay
Odds Ratio, dấu âm của hệ số vẫn cho thấy chiều hướng tác động tiêu cực
của biến genderFemale đến xác suất chọn Cash. Nghĩa là,
sinh viên nữ ít có khả năng sử dụng tiền mặt hơn nam giới khi chi
tiêu.
Công thức mô hình có thể biểu diễn như sau:
\[ P(\text{payment\_binary} = 1) = \Phi(-0.1386 - 0.5940 \cdot \text{genderFemale}) \]
Trong đó \(\Phi(.)\) là hàm phân phối tích lũy chuẩn.
Về mức độ phù hợp của mô hình, residual deviance đã giảm từ 1284.7 xuống 1233.5, cho thấy biến giới tính đã góp phần giải thích đáng kể xác suất lựa chọn phương thức thanh toán. Giá trị AIC = 1237.5 cũng cung cấp cơ sở để so sánh với các mô hình khác về sau.
Mục tiêu:
Phần này nhằm đánh giá xem năm học (Year_in_school) có ảnh hưởng đến xác suất sinh viên chọn thanh toán bằng tiền mặt (Cash) hay không.
preferred_payment_method, đã được mã
hóa thành biến nhị phân payment_binary, với:
payment_binary = 1: nếu sinh viên chọn
Cashpayment_binary = 0: nếu sinh viên chọn
Credit/Debit Card hoặc Mobile Payment
AppYear_in_school, một biến phân loại
với bốn mức: Freshman, Sophomore,
Junior, và Senior.Việc ước lượng được thực hiện thông qua phương pháp Maximum Likelihood Estimation, sử dụng hàm liên kết Probit, nhằm mô hình hóa mối liên hệ giữa năm học và xác suất sinh viên chọn phương thức thanh toán bằng tiền mặt.
Công thức tổng quát của mô hình Probit:
\[ P(\text{payment\_binary} = 1) = \Phi(\beta_0 + \beta_1 \cdot \text{Sophomore} + \beta_2 \cdot \text{Junior} + \beta_3 \cdot \text{Senior}) \]
Trong đó:
Mô hình cho phép kiểm định xem các nhóm sinh viên theo năm học có sự khác biệt đáng kể nào về hành vi thanh toán bằng tiền mặt hay không, từ đó cung cấp cái nhìn định lượng về xu hướng chi tiêu theo quá trình học tập trong trường đại học.
# Chạy mô hình probit
model_probit_year <- glm(payment_binary ~ year_in_school,
data = data,
family = binomial(link = "probit"))
# Xem kết quả
summary(model_probit_year)
##
## Call:
## glm(formula = payment_binary ~ year_in_school, family = binomial(link = "probit"),
## data = data)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -0.54612 0.08322 -6.563 5.29e-11 ***
## year_in_schoolSophomore 0.26744 0.11616 2.302 0.0213 *
## year_in_schoolJunior 0.05520 0.11777 0.469 0.6393
## year_in_schoolSenior 0.22489 0.11553 1.947 0.0516 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 1284.7 on 999 degrees of freedom
## Residual deviance: 1277.2 on 996 degrees of freedom
## AIC: 1285.2
##
## Number of Fisher Scoring iterations: 4
Nhận xét:
Mô hình Probit được ước lượng với biến phụ thuộc là
payment_binary (1 = Cash, 0 = phương thức khác) và biến
giải thích là year_in_school cho thấy một số điểm đáng chú
ý về ảnh hưởng của năm học đến khả năng lựa chọn phương thức thanh toán
bằng tiền mặt của sinh viên.
Hệ số chặn (Intercept) có giá trị -0.5461, đại diện cho logit chuẩn hóa của xác suất chọn Cash đối với sinh viên năm nhất (Freshman) – nhóm tham chiếu trong mô hình.
So với nhóm Freshman:
Đánh giá mô hình:
Giá trị Residual Deviance giảm nhẹ từ
1284.7 xuống 1277.2 sau khi đưa biến
year_in_school vào mô hình, cho thấy mô hình có cải thiện
nhỏ về khả năng giải thích so với mô hình rỗng. AIC =
1285.2 có thể được dùng để so sánh với các mô hình khác có thêm
biến giải thích.
Tóm lại, mô hình cho thấy năm học có thể ảnh hưởng đến hành vi chọn phương thức thanh toán, trong đó sinh viên năm hai (Sophomore) có xu hướng dùng tiền mặt nhiều hơn đáng kể so với năm nhất, trong khi các nhóm Junior và Senior chưa có bằng chứng thống kê đủ mạnh để khẳng định sự khác biệt.