1. Giới thiệu về bộ dữ liệu

1.1 Nguồn của bộ dữ liệu

  • 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.


1.2 Đọc dữ liệu

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
library(DescTools)
## 
## Attaching package: 'DescTools'
## The following objects are masked from 'package:psych':
## 
##     AUC, ICC, SD
data <- read_xlsx("F:/PTDLDT/student_spending_modified.xlsx")
datatable(data)

1.3 Tên các biến và ý nghĩa

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)

1.4 Cấu trúc của dữ liệu

Để 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] "Economics" "Economics" "Psychology" "Economics" ...
##  $ 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] 62 78 241 187 124 277 124 121 195 225 ...
##  $ 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át18 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)

1.5 Xác định biến phụ thuộc

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.

2. Phân tích mô tả 1 biến

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]

2.1 Biến Gender

2.1.1 Tần số và tần suất

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:

  • Male (Nam): chiếm khoảng 51.7%
  • Female (Nữ): chiếm khoảng 48.3%

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.

2.1.2 Ước lượng khoảng và kiểm định giả thuyết

2.1.2.1 Ước lượng khoảng tin cậy 95% cho sinh viên nữ

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%.


2.1.2.2 Đặt giả thuyết và Kiểm định

  • 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.


2.2 Biến Year in school

2.2.1 Tần số và tần suất

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.


2.2.2 Ước lượng khoảng và kiểm định giả thuyết

2.2.2.1 Ước lượng khoảng tin cậy 95% cho sinh viên năm nhất

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.


2.2.2.2 Đặt giả thuyết và Kiểm định

  • 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.


2.3 Biến Major

2.3.1 Tần số và tần suất

Bảng tần số

tanso_major <- table(dldt$major)
tanso_major
## 
##          Biology Computer Science        Economics      Engineering 
##              210              160              375              132 
##       Psychology 
##              123

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.210            0.160            0.375            0.132 
##       Psychology 
##            0.123

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 21%

  • Computer Science: chiếm khoảng 16%

  • Economics: chiếm khoảng 37.5%

  • Engineering: chiếm khoảng 13.2%

  • Psychology: chiếm khoảng 12.3%

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.


2.3.2 Ước lượng khoảng và kiểm định giả thuyết

2.3.2.1 Ước lượng khoảng tin cậy 95% cho chuyên ngành phổ biến nhất

most_common_major <- names(which.max(tanso_major))
most_common_major
## [1] "Economics"
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 = 62.001, df = 1, p-value = 3.433e-15
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
##  0.3450362 0.4059364
## sample estimates:
##     p 
## 0.375

Tỷ lệ ước lượng: Khoảng 37.5% sinh viên thuộc chuyên ngành phổ biến nhất (Economics).

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().

2.3.2.2 Kiểm định giả thuyết một phía (greater)

  • 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 = 190.31, df = 1, p-value < 2.2e-16
## alternative hypothesis: true p is greater than 0.2
## 95 percent confidence interval:
##  0.3496955 1.0000000
## sample estimates:
##     p 
## 0.375

Kết quả: p-value = < 2.2e-16 < 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 37.5%, cao hơn so với giả định ban đầu.


2.4 Biến Preferred Payment Method

2.4.1 Tần số và tần suất

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.


2.4.2 Ước lượng khoảng và kiểm định giả thuyết

2.4.2.1 Ước lượng khoảng tin cậy 95% cho phương thức phổ biến nhất

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).

2.4.2.2 Kiểm định giả thuyết một phía (greater)

  • 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.


3. Phân tích thống kê suy diễn với biến phụ thuộc Preffered Payment Method

3.1 Biến Gender

3.1.1 Tần số chéo

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:

  • Trong nhóm nữ giới, có 112 sinh viên chọn Cash, 188 chọn Credit/Debit Card, và 183 chọn Mobile Payment App.
  • Nhóm nam giới230 sinh viên chọn Cash, 103 chọn Credit/Debit Card, và 184 chọn Mobile Payment App.

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).


3.1.2 Kiểm định chi bình phương

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:

  • H₀ (Giả thuyết không): Giới tính và phương thức thanh toán độc lập nhau (giới tính không ảnh hưởng đến việc lựa chọn phương thức thanh toán).
  • H₁ (Giả thuyết thay thế):mối liên hệ giữa giới tính và phương thức thanh toán (giới tính ảnh hưởng đến lựa chọn phương thức thanh toán).

Giải thích ý nghĩa kiểm định:

  • Nếu p-value < 0.05 → Có mối liên hệ giữa giới tính và phương thức thanh toán (giới tính có thể ảnh hưởng).
  • Nếu p-value ≥ 0.05 → Không có đủ bằng chứng để kết luận hai biến có liên hệ.

Kết quả kiểm định:

  • Giá trị thống kê Chi-squared: 64.463
  • Bậc tự do (df): 2
  • Giá trị p (p-value): 1.005e-14

Kết luận thống kê:

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.


3.1.3 Ước lượng khoảng và kiểm định giả thuyết

  • 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ữ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.


3.1.4 Rủi ro tương đối Relative Risk

Trong phân tích thống kê, các chỉ số như Relative Risk (RR)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ậphai 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:

  • Ta tập trung phân tích hai giới tính chínhMaleFemale, vì đây là hai nhóm hiện có trong tập dữ liệu sau khi xử lý.
  • Đồng thời, chỉ xét hai phương thức thanh toán phổ biến và mang tính đối lậpCash (truyền thống) và Mobile Payment App (hiện đại), nhằm làm rõ sự khác biệt trong xu hướng lựa chọn giữa các nhóm giới tính.

Việc giới hạn phân tích vào hai nhóm này giúp:

  • Đảm bảo điều kiện mô hình thống kê.
  • Tập trung so sánh sự khác biệt rõ nét giữa hành vi thanh toán truyền thống và hiện đại, từ góc độ giới tính.
  • Tránh nhiễu số liệu và cải thiện độ chính xác của ước lượng RR và OR, cũng như các kiểm định liên quan.
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"
  • RR = 0.71645

Đ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.

  • 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.


3.1.5 Tỷ số chênh Odd Ratio

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"
  • Odds Ratio (OR) = 0.4903417

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 CashMobile 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.


3.2 Biến Year_in_school

3.2.1 Tần số chéo

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óm Freshman74 sinh viên chọn Cash, 92 chọn Credit/Debit Card, và 87 chọn Mobile Payment App.
  • Nhóm Sophomore96 sinh viên chọn Cash, 59 chọn Credit/Debit Card, và 91 chọn Mobile Payment App.
  • Nhóm Junior77 sinh viên chọn Cash, 72 chọn Credit/Debit Card, và 98 chọn Mobile Payment App.
  • Nhóm Senior95 sinh viên chọn Cash, 68 chọn Credit/Debit Card, và 91 chọn Mobile Payment App.

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 SophomoreSenior 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.


3.2.2 Kiểm định chi bình phươ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:

  • H₀ (Giả thuyết không): Năm học và phương thức thanh toán độc lập nhau (năm học không ảnh hưởng đến việc lựa chọn phương thức thanh toán).
  • H₁ (Giả thuyết thay thế):mối liên hệ giữa năm học và phương thức thanh toán (năm học ảnh hưởng đến lựa chọn phương thức thanh toán).

Giải thích ý nghĩa kiểm định:

  • Nếu p-value < 0.05 → Có mối liên hệ giữa năm học và phương thức thanh toán (năm học có thể ảnh hưởng).
  • Nếu p-value ≥ 0.05 → Không có đủ bằng chứng để kết luận hai biến có liên hệ.

Kết quả kiểm định:

  • Giá trị thống kê Chi-squared: 13.207
  • Bậc tự do (df): 6
  • Giá trị p (p-value): 0.03987

Kết luận thống kê:

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.


3.2.3 Ước lượng khoảng và kiểm định giả thuyết

  • 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:

  • 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ố 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)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.


3.2.4 Rủi ro tương đối Relative Risk

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.


3.2.5 Tỷ số chênh Odd Ratio

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"
  • Odds Ratio (OR) = 1.73296

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.


3.3 Biến Major

3.3.1 Tần số chéo

Bảng tần số

MP <- table(dldt$major, dldt$preferred_payment_method)
MP
##                   
##                    Cash Credit/Debit Card Mobile Payment App
##   Biology            77                20                113
##   Computer Science   49                23                 88
##   Economics          80               224                 71
##   Engineering        70                19                 43
##   Psychology         66                 5                 52

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 phân bố không đồng đều:

  • Ngành Biology có số sinh viên chọn Mobile Payment App (113) vượt trội so với Cash (77) và Credit/Debit Card (20).
  • Ngành Computer Science cũng có xu hướng ưu tiên Mobile Payment App (88), cao hơn đáng kể so với Cash (49) và Credit/Debit Card (23).
  • Ngược lại, ngành Economics có số sinh viên chọn Credit/Debit Card (224) nhiều nhất, vượt xa hai phương thức còn lại.
  • Ngành Engineering có sự phân bố tương đối lệch về Cash (70), trong khi Mobile Payment App (43) và Credit/Debit Card (19) thấp hơn.
  • Ngành Psychology có xu hướng chọn Mobile Payment App (52) và Cash (66), trong khi Credit/Debit Card chỉ có 5 sinh viên lựa chọn.

Tổng quan:

  • Mobile Payment App là phương thức phổ biến nhất ở nhiều ngành, đặc biệt là BiologyComputer Science.
  • Credit/Debit Card chỉ chiếm ưu thế rõ rệt trong ngành Economics.
  • Các kết quả cho thấy ngành học có thể ảnh hưởng đến xu hướng lựa chọn phương thức thanh toán, nhưng để xác định mức độ ảnh hưởng một cách khách quan cần thực hiện kiểm định thống kê phù hợp.

3.3.2 Kiểm định chi bình phương

chisq.test(MP)
## 
##  Pearson's Chi-squared test
## 
## data:  MP
## X-squared = 308.49, df = 8, p-value < 2.2e-16

Giả thuyết kiểm định:

  • H₀ (Giả thuyết không): Ngành học và phương thức thanh toán độc lập nhau (ngành học không ảnh hưởng đến việc lựa chọn phương thức thanh toán).
  • H₁ (Giả thuyết thay thế):mối liên hệ giữa ngành học và phương thức thanh toán (ngành học ảnh hưởng đến lựa chọn phương thức thanh toán).

Giải thích ý nghĩa kiểm định:

  • Nếu p-value < 0.05 → Có mối liên hệ giữa ngành học và phương thức thanh toán (ngành học có thể ảnh hưởng).
  • Nếu p-value ≥ 0.05 → Không có đủ bằng chứng để kết luận hai biến có liên hệ.

Kết quả kiểm định:

  • Giá trị thống kê Chi-squared: 308.49
  • Bậc tự do (df): 8
  • Giá trị p (p-value): < 2.2e-16

Kết luận thống kê:

p-value < 0.05, ta bác bỏ giả thuyết H₀.
Điều này cho thấy có sự khác biệt có ý nghĩa thống kê trong phân bố phương thức thanh toán giữa các nhóm ngành học.

Nói cách khác, ngành học có ảnh hưởng đáng kể đến lựa chọn phương thức thanh toán của sinh viên trong bộ dữ liệu này..


3.3.3 Ước lượng khoảng và kiểm định giả thuyết

  • 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:

  • 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ố 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 = 136.22, df = 1, p-value = 1
## alternative hypothesis: less
## 95 percent confidence interval:
##  -1.0000000  0.6797846
## sample estimates:
##    prop 1    prop 2 
## 0.7593220 0.1503759

Kết quả: p-value = 1 > 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 75.93% ở ngành Economics15.04% ở ngành Biology, cho thấy mặc dù tỷ lệ ở nhóm Economics cao hơn rõ rệt, nhưng sự khác biệt này không đạt ý nghĩa thống kê theo kiểm định tỉ lệ với giả thuyết một phía..


3.3.4 Rủi ro tương đối Relative Risk

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                  20                113
##   Economics               224                 71

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                  20                113   133
##   Economics               224                 71   295
##   Total                   244                184   428
## 
## $measure
##            risk ratio with 95% C.I.
##              estimate     lower     upper
##   Biology   1.0000000        NA        NA
##   Economics 0.2832758 0.2284895 0.3511986
## 
## $p.value
##            two-sided
##             midp.exact fisher.exact   chi.square
##   Biology           NA           NA           NA
##   Economics          0 2.070183e-33 5.130155e-32
## 
## $correction
## [1] FALSE
## 
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
  • RR = 0.2833

Nhận xét:

  • Tỷ lệ sinh viên ngành Economics sử dụng Mobile Payment App chỉ bằng khoảng 28.3% so với sinh viên ngành Biology, cho thấy một sự chênh lệch tương đối lớn về tỷ lệ sử dụng giữa hai nhóm ngành.

  • Tuy nhiên, vì khoảng tin cậy 95% của RR là [0.2285 ; 0.3512] và không chứa giá trị 1, nên sự khác biệt này có ý nghĩa thống kê.

Kết luận:
Kết quả cho thấy ngành học (Economics so với Biology) có ảnh hưởng đáng kể đến xu hướng lựa chọn Mobile Payment App.


3.3.5 Tỷ số chênh Odd Ratio

oddsratio(table(sub_data2$major, sub_data2$preferred_payment_method), rev = 'both')
## $data
##            
##             Mobile Payment App Credit/Debit Card Total
##   Economics                 71               224   295
##   Biology                  113                20   133
##   Total                    184               244   428
## 
## $measure
##            odds ratio with 95% C.I.
##               estimate      lower      upper
##   Economics 1.00000000         NA         NA
##   Biology   0.05689156 0.03214652 0.09636029
## 
## $p.value
##            two-sided
##             midp.exact fisher.exact   chi.square
##   Economics         NA           NA           NA
##   Biology            0 2.070183e-33 5.130155e-32
## 
## $correction
## [1] FALSE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
  • Odds Ratio (OR) = 0.0569

Nhận xét:

  • Odds ratio = 0.0569 cho thấy sinh viên ngành Economics có xu hướng chọn Mobile Payment App (so với Credit/Debit Card) thấp hơn rất nhiều so với sinh viên ngành Biology.

  • Đồng thời, khoảng tin cậy 95% không bao gồm giá trị 1, cho thấy sự khác biệt này là có ý nghĩa thống kê.

Kết luận:
Kết quả chỉ ra rằng ngành học (Economics so với Biology)ảnh hưởng rõ rệt đến xu hướng lựa chọn giữa Mobile Payment AppCredit/Debit Card..


4. Mô hình Logit

4.1 Hồi quy Logit đơn biến

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 đó:

  • \(P(\text{payment\_binary} = 1)\): xác suất sinh viên chọn Cash.
  • \(\beta_0\): hệ số chặn (intercept), thể hiện log-odds khi sinh viên là nam.
  • \(\beta_1\): hệ số của biến 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-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.


4.2 Hồi quy Logit đa biế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.

4.2.1 Kiểm định mối liên hệ giữa monthly_income và preferred_payment_method

Giả thuyết kiểm định:

  • H₀ (Giả thuyết không): Thu nhập hàng tháng và phương thức thanh toán độc lập nhau (thu nhập hàng tháng không ảnh hưởng đến lựa chọn phương thức thanh toán).
  • H₁ (Giả thuyết thay thế):mối liên hệ giữa thu nhập hàng tháng và phương thức thanh toán (thu nhập hàng tháng ảnh hưởng đến lựa chọn thanh toán).

Giải thích ý nghĩa kiểm định:

  • Nếu p-value < 0.05 → Có thể bác bỏ H₀, cho thấy có mối liên hệ thống kê giữa thu nhập hàng tháng và phương thức thanh toán.
  • Nếu p-value ≥ 0.05Không đủ bằng chứng để bác bỏ H₀, tức là chưa thể kết luận thu nhập hàng tháng ảnh hưởng đến phương thức thanh toán.
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:

  • Giá trị thống kê Chi-squared: 531.9
  • Bậc tự do (df): 4
  • Giá trị p (p-value): < 2.2e-16

Kết luận thống kê:

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.

4.2.2 Kiểm định mối liên hệ giữa tuition và preferred_payment_method

Giả thuyết kiểm định:

  • H₀ (Giả thuyết không): Mức học phí và phương thức thanh toán độc lập nhau (mức học phí không ảnh hưởng đến lựa chọn phương thức thanh toán).
  • H₁ (Giả thuyết thay thế):mối liên hệ giữa mức học phí và phương thức thanh toán (mức học phí ảnh hưởng đến lựa chọn thanh toán).

Giải thích ý nghĩa kiểm định:

  • Nếu p-value < 0.05 → Có thể bác bỏ H₀, cho thấy có mối liên hệ thống kê giữa mức học phí và phương thức thanh toán.
  • Nếu p-value ≥ 0.05Không đủ bằng chứng để bác bỏ H₀, tức là chưa thể kết luận mức học phí ảnh hưởng đến phương thức thanh toán.
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:

  • Giá trị thống kê Chi-squared: 1014.7
  • Bậc tự do (df): 4
  • Giá trị p (p-value): < 2.2e-16

Kết luận thống kê:

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.

4.2.3 Xây dựng mô hình logit đa biến

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

    • 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)
  • Các biến giải thích:

    • gender (giới tính)
    • monthly_income (thu nhập hàng tháng)
    • tuition (học phí)

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ángmứ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.6Residual 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.


5. Mô hình Probit

5.1 Hồi quy Probit đơn biến

Mục tiêu:

Phần này nhằm đánh giá xem giới tính có ảnh hưởng như thế nào đế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), thông qua mô hình hồi quy nhị phân Probit.

  • Biến phụ thuộcpreferred_payment_method, được mã hóa thành payment_binary:
    • 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íchgender, gồm:
    • 0 nếu là nam,
    • 1 nếu là nữ.

Mô hình Probit được sử dụng nhằm ước lượng xác suất lựa chọn Cash theo giới tính, với giả định rằng sai số trong mô hình tuân theo phân phối chuẩn chuẩn hóa. Các hệ số được ước lượng bằng phương pháp tối đa hóa hàm khả năng (MLE).

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 đó:

  • \(\Phi(.)\): là hàm phân phối tích lũy chuẩn chuẩn hóa (standard normal CDF).
  • \(\beta_0\): hệ số chặn, đại diện cho xác suất chọn Cash khi sinh viên là nam.
  • \(\beta_1\): hệ số ước lượng cho biến 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-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.


5.2 Hồi quy Probit đa biến

# Mô hình logit đa biến
model_probit_multi <- glm(payment_binary ~ gender + monthly_income + tuition,
                         data = data,
                         family = binomial(link = "probit"))
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
summary(model_probit_multi)
## 
## Call:
## glm(formula = payment_binary ~ gender + monthly_income + tuition, 
##     family = binomial(link = "probit"), data = data)
## 
## Coefficients:
##                  Estimate Std. Error z value Pr(>|z|)    
## (Intercept)    20.6081758  2.1752204   9.474  < 2e-16 ***
## genderFemale   -0.1720241  0.2202715  -0.781    0.435    
## monthly_income -0.0037296  0.0005923  -6.297 3.04e-10 ***
## tuition        -0.0032771  0.0003809  -8.604  < 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: 1284.71  on 999  degrees of freedom
## Residual deviance:  179.59  on 996  degrees of freedom
## AIC: 187.59
## 
## Number of Fisher Scoring iterations: 11

Nhận xét:

Kết quả hồi quy từ mô hình probit 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 có ý nghĩa thống kê.

  • Hệ số chặn (intercept) có giá trị rất lớn (20.61) và có ý nghĩa thống kê cao (p < 0.001). Đây là mức xác suất khởi điểm trong mô hình, đại diện cho sinh viên nam với mức thu nhập và học phí bằng 0 trong thang đo chuẩn hóa của Probit.

  • Biến monthly_income có hệ số âm (-0.0037), với p-value rất nhỏ (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. Kết quả này phản ánh thực tế rằng sinh viên có thu nhập cao thường sử dụng các phương thức thanh toán hiện đại hơn như thẻ ngân hàng hoặc ví điện tử.

  • Biến tuition cũng có hệ số âm (-0.0033) và có ý nghĩa thống kê cao (p < 0.001), cho thấy sinh viên có học phí cao hơn có xu hướng không sử dụng tiền mặt. Điều này có thể xuất phát từ việc họ thuộc nhóm có điều kiện tài chính tốt và quen thuộc hơn với các phương thức thanh toán phi tiền mặt.

  • Trong khi đó, biến genderFemale có hệ số âm (-0.1720), nhưng không có ý nghĩa thống kê (p = 0.435), cho thấy không có sự khác biệt rõ rệt giữa nam và nữ trong hành vi lựa chọn phương thức thanh toán bằng tiền mặt.

  • Xét về độ phù hợp của mô hình, residual deviance giảm mạnh từ 1284.71 xuống còn 179.59 và AIC đạt 187.59, cho thấy mô hình probit này phù hợp tốt với dữ liệu và có thể giải thích hành vi thanh toán của sinh viên chủ yếu dựa trên các yếu tố tài chính hơn là giới tính.


6. Mô hình Cloglog

Hồi quy Cloglog (complementary log-log) là một dạng mở rộng của mô hình hồi quy nhị phân, tương tự như Logit và Probit, nhưng sử dụng một hàm liên kết không đối xứng. Mô hình này đặc biệt hữu ích trong các tình huống mà xác suất xảy ra của biến phụ thuộc rất thấp (sự kiện hiếm gặp) hoặc rất cao (gần như chắc chắn).

Không giống như Logit hay Probit – vốn có hàm liên kết đối xứng – hàm liên kết trong Cloglog nghiêng về một phía, giúp mô hình phản ánh tốt hơn các tình huống mất cân bằng về phân phối nhị phân của biến phụ thuộc.

Cấu trúc toán học

Hàm liên kết của mô hình Cloglog được thể hiện như sau:

\[ \log[-\log(1 - P(Y = 1))] = \beta_0 + \beta_1 X_1 + \beta_2 X_2 + \cdots + \beta_k X_k \]

Từ đó, ta có thể suy ra xác suất xảy ra sự kiện:

\[ P(Y = 1 \mid X) = 1 - \exp\left[-\exp(\beta_0 + \beta_1 X_1 + \cdots + \beta_k X_k)\right] \]

Do đặc điểm bất đối xứng của hàm liên kết, mô hình Cloglog thường được lựa chọn trong những trường hợp mà Logit và Probit không mô phỏng tốt các tình huống xác suất phân bố lệch.

6.1 Hồi quy Cloglog đơn biến

Công thức tổng quát của mô hình Cloglog:

\[ \log[-\log(1 - P(\text{payment\_binary} = 1))] = \beta_0 + \beta_1 \cdot \text{gender} \]

Hay tương đương với:

\[ P(\text{payment\_binary} = 1) = 1 - \exp\left[-\exp(\beta_0 + \beta_1 \cdot \text{gender})\right] \]

Trong đó:

  • \(\beta_0\): hệ số chặn, đại diện cho log-hazard khi sinh viên là nam.
  • \(\beta_1\): hệ số của biến 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_cloglog <- glm(payment_binary ~ gender, data = data, family = binomial(link = "cloglog"))

# Kết quả hồi quy
summary(model_cloglog)
## 
## Call:
## glm(formula = payment_binary ~ gender, family = binomial(link = "cloglog"), 
##     data = data)
## 
## Coefficients:
##              Estimate Std. Error z value Pr(>|z|)    
## (Intercept)  -0.53008    0.06689  -7.924 2.30e-15 ***
## genderFemale -0.80243    0.11600  -6.918 4.59e-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: 5

Nhận xét

Kết quả từ mô hình hồi quy nhị phân với hàm liên kết Cloglog 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 (Cash).

  • Hệ số chặn (Intercept)-0.53008, đại diện cho log-hazard khi sinh viên là nam (nhóm tham chiếu).
  • Hệ số của biến genderFemale-0.80243 và có ý nghĩa thống kê rất cao (p-value < 0.001), cho thấy rằng 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.

Trong mô hình Cloglog, các hệ số thể hiện ảnh hưởng lên log[-log(1 - P)], vì vậy không thể diễn giải trực tiếp như odds ratio. Tuy nhiên, dấu âm của hệ số cho thấy chiều hướng tác động tiêu cực – tức là khi giới tính chuyển từ nam sang nữ, xác suất chọn Cash giảm.

Công thức mô hình có thể biểu diễn như sau:

\[ \log[-\log(1 - P(\text{payment\_binary} = 1))] = -0.53008 - 0.80243 \cdot \text{genderFemale} \]

Hay viết lại theo xác suất:

\[ P(\text{payment\_binary} = 1) = 1 - \exp\left[-\exp(-0.53008 - 0.80243 \cdot \text{genderFemale})\right] \]

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 có đóng góp vào việc lý giải hành vi chọn phương thức thanh toán. Giá trị AIC = 1237.5 cũng phản ánh mức độ phù hợp của mô hình khi so sánh với các mô hình khác.

6.2 Hồi quy Cloglog đa biến

# Mô hình logit đa biến
model_cloglog_multi <- glm(payment_binary ~ gender + monthly_income + tuition,
                         data = data,
                         family = binomial(link = "cloglog"))
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
summary(model_cloglog_multi)
## 
## Call:
## glm(formula = payment_binary ~ gender + monthly_income + tuition, 
##     family = binomial(link = "cloglog"), data = data)
## 
## Coefficients:
##                  Estimate Std. Error z value Pr(>|z|)    
## (Intercept)    21.1915286  2.2116004   9.582  < 2e-16 ***
## genderFemale   -0.0930571  0.2292175  -0.406    0.685    
## monthly_income -0.0038647  0.0006239  -6.195 5.83e-10 ***
## tuition        -0.0034742  0.0003911  -8.884  < 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: 1284.71  on 999  degrees of freedom
## Residual deviance:  189.73  on 996  degrees of freedom
## AIC: 197.73
## 
## Number of Fisher Scoring iterations: 11

Nhận xét

Kết quả từ mô hình hồi quy nhị phân với hàm liên kết Cloglog 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 chịu ảnh hưởng đáng kể từ hai yếu tố tài chính là thu nhập hàng thángmức học phí, trong khi yếu tố giới tính không có tác động đáng kể về mặt thống kê.

  • Hệ số chặn (Intercept) có giá trị rất lớn (21.19) và có ý nghĩa thống kê cao (p < 0.001). Hệ số này đại diện cho log[-log(1 - P)] khi sinh viên là nam và có thu nhập, học phí bằng 0 – một giá trị kỹ thuật thể hiện mức khởi điểm của mô hình trong không gian log-hazard.

  • Biến monthly_income có hệ số âm (-0.0039) với p-value rất nhỏ (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ể. Điều này phù hợp với thực tế rằng sinh viên có thu nhập cao thường sử dụng các phương thức hiện đại như thẻ hoặc ví điện tử.

  • Biến tuition cũng có hệ số âm (-0.0035) và có ý nghĩa thống kê cao (p < 0.001), cho thấy sinh viên có học phí cao hơn có xu hướng ít sử dụng tiền mặt hơn. Kết quả này cho thấy học phí có thể đại diện cho điều kiện tài chính và mức độ quen thuộc với các phương thức thanh toán phi tiền mặt.

  • Biến genderFemale có hệ số âm nhỏ (-0.0931) và không có ý nghĩa thống kê (p = 0.685), cho thấy không có sự khác biệt đáng kể giữa nam và nữ trong xác suất lựa chọn thanh toán bằng tiền mặt trong mô hình này.

  • Residual deviance giảm mạnh từ 1284.71 xuống 189.73 sau khi đưa các biến vào mô hình, cùng với giá trị AIC = 197.73 phản ánh mức độ phù hợp cao của mô hình Cloglog với dữ liệu. Nhìn chung, các yếu tố tài chính có vai trò quan trọng hơn giới tính trong việc giải thích hành vi thanh toán của sinh viên.

7. Đánh giá mô hình

7.1 Tiêu chí AIC

AIC(model_logit_multi)
## [1] 188.5944
AIC(model_probit_multi)
## [1] 187.5895
AIC(model_cloglog_multi)
## [1] 197.7313

Trong ba mô hình được so sánh, mô hình Probit có giá trị AIC thấp nhất (187.5895), cho thấy đây là lựa chọn phù hợp nhất theo tiêu chí đánh giá AIC.

7.2 Tiêu chí Brier Score

BrierScore(model_logit_multi)
## [1] 0.02830116
BrierScore(model_probit_multi)
## [1] 0.0283894
BrierScore(model_cloglog_multi)
## [1] 0.02950196

Chỉ số Brier Score của ba mô hình hồi quy nhị phân như sau:

  • Logit: 0.02830
  • Probit: 0.02839
  • Cloglog: 0.02950

Brier Score phản ánh sai số trung bình bình phương giữa xác suất dự đoán và kết quả thực tế (0 hoặc 1). Giá trị càng thấp cho thấy mô hình dự báo xác suất càng chính xác.

Trong kết quả trên, mô hình logit đạt Brier Score thấp nhất, cho thấy khả năng dự đoán xác suất chính xác hơn hai mô hình còn lại. Probit có hiệu năng tương đương với logit nhưng kém hơn một chút. Trong khi đó, cloglog là mô hình có độ chính xác thấp nhất trong ba mô hình xét theo tiêu chí Brier.

Tuy sự chênh lệch là khá nhỏ, đặc biệt giữa logit và probit, nhưng vẫn có thể kết luận rằng*logit là mô hình hiệu quả nhất về mặt dự báo xác suất trong trường hợp này.

7.3 Ma trận nhầm lẫn

  • Ma trận nhầm lẫn của mô hình logit
# Tính xác suất dự đoán từ mô hình logit đa biến
prob <- predict(model_logit_multi, type = "response")

# Đảm bảo cùng độ dài với dữ liệu ban đầu (loại NA nếu có)
actual <- model_logit_multi$y  # Đây là y gốc đã dùng trong mô hình
predicted <- ifelse(prob >= 0.5, 1, 0)

# Tạo ma trận nhầm lẫn
conf_mat <- table(Predicted = predicted, Actual = actual)
print(conf_mat)
##          Actual
## Predicted   0   1
##         0 636  15
##         1  22 327
library(caret)
## Loading required package: lattice
## 
## Attaching package: 'caret'
## The following objects are masked from 'package:DescTools':
## 
##     MAE, RMSE
confusionMatrix(as.factor(predicted), as.factor(actual), positive = "1")
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction   0   1
##          0 636  15
##          1  22 327
##                                           
##                Accuracy : 0.963           
##                  95% CI : (0.9494, 0.9738)
##     No Information Rate : 0.658           
##     P-Value [Acc > NIR] : <2e-16          
##                                           
##                   Kappa : 0.9182          
##                                           
##  Mcnemar's Test P-Value : 0.3239          
##                                           
##             Sensitivity : 0.9561          
##             Specificity : 0.9666          
##          Pos Pred Value : 0.9370          
##          Neg Pred Value : 0.9770          
##              Prevalence : 0.3420          
##          Detection Rate : 0.3270          
##    Detection Prevalence : 0.3490          
##       Balanced Accuracy : 0.9614          
##                                           
##        'Positive' Class : 1               
## 
  • Ma trận nhầm lẫn của mô hình probit
# Dự đoán xác suất từ mô hình Probit
predicted_probit <- ifelse(predict(model_probit_multi, type = "response") >= 0.5, 1, 0)

# Lấy giá trị thực tế tương ứng với mô hình đã sử dụng
actual_probit <- model_probit_multi$y

# Ma trận nhầm lẫn đơn giản
conf_mat_probit <- table(Predicted = predicted_probit, Actual = actual_probit)
print(conf_mat_probit)
##          Actual
## Predicted   0   1
##         0 636  15
##         1  22 327
# Ma trận nhầm lẫn chi tiết dùng gói caret
library(caret)
confusionMatrix(as.factor(predicted_probit), as.factor(actual_probit), positive = "1")
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction   0   1
##          0 636  15
##          1  22 327
##                                           
##                Accuracy : 0.963           
##                  95% CI : (0.9494, 0.9738)
##     No Information Rate : 0.658           
##     P-Value [Acc > NIR] : <2e-16          
##                                           
##                   Kappa : 0.9182          
##                                           
##  Mcnemar's Test P-Value : 0.3239          
##                                           
##             Sensitivity : 0.9561          
##             Specificity : 0.9666          
##          Pos Pred Value : 0.9370          
##          Neg Pred Value : 0.9770          
##              Prevalence : 0.3420          
##          Detection Rate : 0.3270          
##    Detection Prevalence : 0.3490          
##       Balanced Accuracy : 0.9614          
##                                           
##        'Positive' Class : 1               
## 
  • Ma trận nhầm lẫn của mô hình cloglog
# Dự đoán xác suất từ mô hình cloglog
predicted_cloglog <- ifelse(predict(model_cloglog_multi, type = "response") >= 0.5, 1, 0)

# Giá trị thực tế
actual_cloglog <- model_cloglog_multi$y

# Ma trận nhầm lẫn dạng bảng đếm
conf_mat_cloglog <- table(Predicted = predicted_cloglog, Actual = actual_cloglog)
print(conf_mat_cloglog)
##          Actual
## Predicted   0   1
##         0 639  19
##         1  19 323
library(caret)
confusionMatrix(as.factor(predicted_cloglog), as.factor(actual_cloglog), positive = "1")
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction   0   1
##          0 639  19
##          1  19 323
##                                          
##                Accuracy : 0.962          
##                  95% CI : (0.9482, 0.973)
##     No Information Rate : 0.658          
##     P-Value [Acc > NIR] : <2e-16         
##                                          
##                   Kappa : 0.9156         
##                                          
##  Mcnemar's Test P-Value : 1              
##                                          
##             Sensitivity : 0.9444         
##             Specificity : 0.9711         
##          Pos Pred Value : 0.9444         
##          Neg Pred Value : 0.9711         
##              Prevalence : 0.3420         
##          Detection Rate : 0.3230         
##    Detection Prevalence : 0.3420         
##       Balanced Accuracy : 0.9578         
##                                          
##        'Positive' Class : 1              
## 

Kết quả từ ma trận nhầm lẫn của ba mô hình hồi quy nhị phân (Logit, Probit và Cloglog) cho thấy hiệu suất dự đoán rất cao và khá tương đồng giữa các mô hình.

  • Mô hình Logit và Probit cho kết quả giống hệt nhau:
    • Accuracy đạt 96.3%, phản ánh tỷ lệ dự đoán đúng rất cao.
    • Sensitivity (khả năng phát hiện đúng nhóm chọn thanh toán bằng tiền mặt) là 95.6%, cho thấy mô hình nhận diện tốt các sinh viên có hành vi sử dụng tiền mặt.
    • Specificity đạt 96.7%, nghĩa là mô hình cũng rất hiệu quả trong việc nhận diện nhóm không dùng tiền mặt.
    • Kappa là 0.9182, thể hiện mức độ đồng thuận cao giữa dự đoán và thực tế.
    • P-value của McNemar’s Test là 0.3239, không có sai lệch đáng kể giữa nhóm dự đoán sai dương và sai âm.
  • Mô hình Cloglog có hiệu suất gần tương đương:
    • Accuracy là 96.2%, chênh lệch không đáng kể so với hai mô hình kia.
    • Sensitivity giảm nhẹ còn 94.4%, tức mô hình hơi kém hơn một chút trong việc nhận diện sinh viên chọn tiền mặt.
    • Specificity tăng lên 97.1%, cho thấy mô hình có xu hướng phân biệt tốt hơn nhóm không chọn tiền mặt.
    • Kappa vẫn duy trì ở mức cao (0.9156), khẳng định tính nhất quán giữa dự đoán và quan sát.
    • P-value của McNemar’s Test = 1, xác nhận không có sự chênh lệch có ý nghĩa giữa hai loại lỗi.

Tổng kết Cả ba mô hình đều hoạt động hiệu quả với độ chính xác cao. Mô hình LogitProbit có xu hướng cân bằng giữa khả năng phát hiện và phân biệt, trong khi Cloglog có phần ưu thế hơn trong việc nhận diện đúng nhóm không dùng tiền mặt. Tuy nhiên, sự khác biệt giữa các mô hình là rất nhỏ, cho thấy các yếu tố được đưa vào mô hình đã giải thích tốt hành vi lựa chọn phương thức thanh toán của sinh viên.

8. Mô hình Logit đa thức

Ở các phần trước, chúng ta đã tập trung phân tích yếu tố ảnh hưởng đến sự lựa chọn phương thức thanh toán bằng tiền mặt (Cash) của sinh viên, thông qua các biến giải thích như giới tính, thu nhập hàng thángmức học phí. Tuy nhiên, việc chỉ xem xét một lựa chọn nhị phân (Cash hoặc không Cash) có thể làm mất đi thông tin chi tiết về hành vi lựa chọn thực tế.

Do đó, trong phần này, chúng ta mở rộng phân tích bằng cách xem xét đầy đủ ba phương thức thanh toán phổ biến mà sinh viên có thể lựa chọn, bao gồm: Cash, Credit/Debit Card, và Mobile Payment App. Mô hình logit đa thức (Multinomial Logit Model) được sử dụng để đánh giá xác suất sinh viên lựa chọn từng phương thức thanh toán, dựa trên các yếu tố cá nhân như giới tính, thu nhập hàng tháng và mức học phí.

Việc áp dụng mô hình logit đa thức không chỉ giúp phản ánh sự đa dạng trong hành vi thanh toán, mà còn cho phép so sánh tác động của từng biến độc lập đến xác suất lựa chọn mỗi hình thức thanh toán cụ thể.

library(nnet)

# Đảm bảo biến phụ thuộc là factor (định danh đa thức)
data$preferred_payment_method <- as.factor(data$preferred_payment_method)

# Kiểm tra thứ tự các cấp để biết đâu là category tham chiếu (mặc định là cấp đầu tiên)
levels(data$preferred_payment_method)
## [1] "Cash"               "Credit/Debit Card"  "Mobile Payment App"
# Thiết lập "Cash" làm nhóm tham chiếu nếu muốn (tùy theo mục tiêu)
data$preferred_payment_method <- relevel(data$preferred_payment_method, ref = "Cash")

# Chạy mô hình logit đa thức
model_mlogit <- multinom(preferred_payment_method ~ gender + monthly_income + tuition, data = data)
## # weights:  15 (8 variable)
## initial  value 1098.612289 
## iter  10 value 345.607162
## iter  20 value 242.859169
## iter  30 value 235.050066
## final  value 234.910803 
## converged
# Tóm tắt kết quả mô hình
summary(model_mlogit)
## Call:
## multinom(formula = preferred_payment_method ~ gender + monthly_income + 
##     tuition, data = data)
## 
## Coefficients:
##                    (Intercept) genderFemale monthly_income     tuition
## Credit/Debit Card    -61.56210    0.9617162     0.01425371 0.007853918
## Mobile Payment App   -36.82023    0.3157400     0.00660174 0.005858134
## 
## Std. Errors:
##                     (Intercept) genderFemale monthly_income      tuition
## Credit/Debit Card  3.046174e-07 1.163316e-07   0.0011600724 0.0001811064
## Mobile Payment App 1.223700e-07 8.876745e-07   0.0009672455 0.0001550460
## 
## Residual Deviance: 469.8216 
## AIC: 485.8216
# Tính giá trị p từ z
z <- summary(model_mlogit)$coefficients / summary(model_mlogit)$standard.errors
p_values <- 2 * (1 - pnorm(abs(z)))
print(p_values)
##                    (Intercept) genderFemale monthly_income tuition
## Credit/Debit Card            0            0   0.000000e+00       0
## Mobile Payment App           0            0   8.774315e-12       0

Mô hình logit đa thức được sử dụng để phân tích các yếu tố ảnh hưởng đến sự lựa chọn phương thức thanh toán của sinh viên, với ba lựa chọn: Cash (làm nhóm tham chiếu), Credit/Debit Card, và Mobile Payment App. Các biến độc lập bao gồm: giới tính, thu nhập hàng tháng, và mức học phí.

Kết quả ước lượng cho thấy:

  • Với nhóm Credit/Debit Card (so với Cash):

    • Hệ số chặn âm (-60.60), cho thấy xác suất lựa chọn thẻ là rất thấp trong điều kiện cơ sở (nam, thu nhập và học phí bằng 0).
    • Biến genderMale có hệ số âm (-0.96) và có ý nghĩa thống kê cao (p ≈ 0), cho thấy nam giới ít có xu hướng chọn Credit/Debit Card hơn nữ giới.
    • Cả monthly_incometuition đều có hệ số dương và ý nghĩa thống kê rất cao (p < 0.001), cho thấy sinh viên có thu nhập và học phí cao hơn có xác suất lựa chọn thẻ nhiều hơn.
  • Với nhóm Mobile Payment App (so với Cash):

    • Hệ số chặn cũng âm (-36.50), phản ánh xác suất lựa chọn hình thức này thấp trong điều kiện cơ sở.
    • Biến genderMale có hệ số âm (-0.32) và ý nghĩa thống kê cao, cho thấy nam giới ít có xu hướng chọn ví điện tử hơn nữ giới.
    • monthly_incometuition đều có ảnh hưởng tích cực và có ý nghĩa thống kê cao, cho thấy sinh viên có điều kiện tài chính tốt hơn có xu hướng sử dụng ví điện tử.

Tổng kết:
Kết quả mô hình cho thấy giới tính và điều kiện tài chính (thu nhập, học phí) đều ảnh hưởng đáng kể đến hành vi lựa chọn phương thức thanh toán. Nữ giới và những sinh viên có thu nhập hoặc học phí cao hơn có xu hướng ưu tiên các hình thức thanh toán hiện đại hơn thay vì tiền mặt.