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

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.


Đọ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
data <- read_xlsx("F:/PTDLDT/student_spending_modified.xlsx")
datatable(data)

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)

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] "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á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)

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]

Biến Gender

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.

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

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


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


Biến Year in school

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.


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

Ướ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.


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


Biến Major

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


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

Ướ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] "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().

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


Biến Preferred Payment Method

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.


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

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

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

Biến Gender

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


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.


Ướ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.


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.


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.


Biến Year_in_school

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.


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.


Ướ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.


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.


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.


Biến Major

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

  • Ngành Biology80 sinh viên chọn Cash, 59 chọn Credit/Debit Card, và 89 chọn Mobile Payment App.
  • Ngành Computer Science69 sinh viên chọn Cash, 52 chọn Credit/Debit Card, và 71 chọn Mobile Payment App.
  • Ngành Economics67 sinh viên chọn Cash, 62 chọn Credit/Debit Card, và 75 chọn Mobile Payment App.
  • Ngành Engineering63 sinh viên chọn Cash, 64 chọn Credit/Debit Card, và 65 chọn Mobile Payment App.
  • Ngành Psychology63 sinh viên chọn Cash, 54 chọn Credit/Debit Card, và 67 chọn Mobile Payment App.

Tổng quan từ bảng số liệu cho thấy:

  • Ở hầu hết các ngành, Mobile Payment App là phương thức được chọn nhiều nhất.
  • Ngành Biology có tỷ lệ chọn Mobile Payment App cao vượt trội so với hai phương thức còn lại.
  • Sinh viên ngành Engineering có sự phân bổ khá đồng đều giữa cả ba phương thức thanh toán.
  • Các ngành như Computer SciencePsychology cũng cho thấy xu hướng nghiêng nhẹ về Mobile Payment App, nhưng chênh lệch không lớn.
  • Credit/Debit Card ít khi là lựa chọn ưu tiên hàng đầu trong bất kỳ ngành nào.

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.


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

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:

  • 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: 3.5964
  • Bậc tự do (df): 8
  • Giá trị p (p-value): 0.8916

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

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.


Ướ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 = 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 Economics39.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.


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                  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"
  • RR = 0.9104

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.


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

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 AppCredit/Debit Card.


4. Mô hình Logit

4.1 Mô hình Logit với dữ liệu nhị phâ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 Mô hình Logit với dữ liệu không phải nhị phân

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.

  • Biến phụ thuộc là 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 Cash
    • payment_binary = 0 nếu sinh viên chọn Credit/Debit Card hoặc Mobile Payment App
  • Biến độc lập là Year_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ọcxá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 đó:

  • \(P(\text{payment\_binary} = 1)\): xác suất sinh viên chọn Cash
  • \(\beta_0\): hệ số log-odds tương ứng với nhóm tham chiếu Freshman
  • \(\beta_1, \beta_2, \beta_3\): phản ánh sự thay đổi log-odds khi sinh viên thuộc các năm học Sophomore, Junior, hoặc Senior, so với nhóm Freshman.

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:

  • Sinh viên năm hai (Sophomore) có hệ số ước lượng 0.43703 và p-value = 0.0216, có ý nghĩa thống kê ở mức 5%, cho thấy khả năng chọn tiền mặt cao hơn đáng kể so với năm nhất. Odds ratio tương ứng là:

\[ \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.

4.3 Mô hình 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.3.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.3.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.3.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)
    • 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á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 Giới thiệu mô hình

  1. Khái niệm mô hình Probit

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

  • \(\Phi(.)\): hàm phân phối tích lũy của phân phối chuẩn.
  • \(x'\beta\): là tổ hợp tuyến tính của các biến độc lập.
  • \(y = 1\): biểu thị sự kiện xảy ra (ví dụ: một cá nhân mua hàng, chọn một phương thức, v.v.).
  1. Tại sao không dùng hồi quy tuyến tính (OLS)?

Sử dụng mô hình OLS cho biến nhị phân có nhiều hạn chế:

  • Kết quả dự báo có thể nằm ngoài khoảng xác suất hợp lệ \([0, 1]\).
  • Mô hình không phản ánh đúng bản chất phi tuyến của xác suất.
  • Giả định về sai số có phân phối chuẩn không còn phù hợp trong trường hợp nhị phân.
  1. Ưu điểm của mô hình Probit
  • Đảm bảo xác suất dự đoán luôn nằm trong khoảng hợp lệ từ 0 đến 1.
  • Phù hợp với dữ liệu thực tế khi giả định sai số có phân phối chuẩn.
  • Cho phép tính toán tác động cận biên, giúp hiểu rõ ảnh hưởng của từng biến.
  1. Phương pháp ước lượng

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] \]

  1. Diễn giải hệ số
  • Dấu của hệ số \(\beta\) cho thấy chiều hướng tác động:
    • Nếu \(\beta > 0\): khi giá trị biến độc lập tăng thì xác suất xảy ra sự kiện cũng tăng.
  • Tuy nhiên, không nên diễn giải trực tiếp độ lớn của hệ số do mô hình sử dụng hàm phi tuyến.
  1. Tính tác động cận biên

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

  • \(\phi(.)\): là hàm mật độ chuẩn chuẩn hóa.
  • Tác động phụ thuộc vào giá trị cụ thể của các biến.

Các cách đo lường phổ biến:

  • Marginal Effect at the Mean (MEM): tính tại giá trị trung bình của các biến độc lập.
  • Average Marginal Effect (AME): trung bình tác động cận biên trên toàn bộ mẫu.
  1. Đánh giá mức độ phù hợp của mô hình
  • Tỷ lệ dự đoán đúng: so sánh giữa xác suất dự đoán (ví dụ > 0.5) và giá trị thực tế.
  • Pseudo R-squared (McFadden R²):

\[ 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.

  1. So sánh giữa Probit và Logit
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.


5.2 Mô hình Probit với dữ liệu nhị phâ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 đế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ể:

  • Biến phụ thuộcpreferred_payment_method, đã được mã hóa thành biến nhị phân payment_binary, trong đó:
    • 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 hai giá trị:
    • 0 nếu là nam,
    • 1 nếu là nữ.

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

  • \(\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.3 Mô hình Probit với dữ liệu không phải nhị phân

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.

  • Biến phụ thuộc là 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 Cash
    • payment_binary = 0: nếu sinh viên chọn Credit/Debit Card hoặc Mobile Payment App
  • Biến giải thích là Year_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 đó:

  • \(\Phi(.)\)hàm phân phối tích lũy chuẩn
  • \(\beta_0\): logit chuẩn hóa đối với nhóm tham chiếu Freshman
  • \(\beta_1, \beta_2, \beta_3\): phản ánh mức thay đổi xác suất chọn Cash khi sinh viên thuộc năm học Sophomore, Junior, hoặc Senior so với nhóm Freshman

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óm Sophomore có hệ số 0.2674 và có ý nghĩa thống kê (p = 0.0213 < 0.05), cho thấy sinh viên năm hai có xu hướng tăng xác suất chọn Cash so với năm nhất.
    • Nhóm Junior có hệ số dương nhẹ 0.0552 nhưng không có ý nghĩa thống kê (p = 0.6393), cho thấy không có khác biệt rõ ràng so với Freshman.
    • Nhóm Senior có hệ số 0.2249, với p-value ở mức biên (p = 0.0516), gợi ý một xu hướng tăng xác suất chọn Cash, nhưng chưa đạt ngưỡng ý nghĩa 0.05.

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