CHƯƠNG 1 : TỔNG QUAN NGHIÊN CỨU

1.1 Giới Thiệu Bộ Dữ Liệu

Bộ dữ liệu được lấy từ trang web kaggle.com trong một chiến dịch tiếp thị qua điện thoại được thực hiện bởi một ngân hàng Bồ Đào Nha nhằm khuyến khích khách hàng mở tài khoản tiền gửi có kỳ hạn. Dữ liệu được thu thập trong giai đoạn chiến dịch thông qua các cuộc gọi điện thoại trực tiếp với khách hàng. Mỗi quan sát trong dữ liệu đại diện cho một khách hàng cá nhân đã được liên hệ trong chiến dịch. Các biến trong dữ liệu ghi nhận thông tin về đặc khách hàng (như tuổi, trình độ học vấn, tình trạng hôn nhân), tình hình tài chính (như số dư tài khoản, nợ vay), cách thức liên lạc, mức độ tương tác trong chiến dịch, và kết quả cuối cùng liệu khách hàng có đồng ý gửi tiền có kỳ hạn hay không. Dữ liệu bao gồm 2.675 quan sát, ba biến được lựa chọn để phân tích bao gồm một biến phụ thuộc (Deposit) và hai biến độc lập (age, education). Cụ thể:

Biến age : Độ tuổi của khách hàng
Biến age là biến định lượng, phản ánh độ tuổi của khách hàng tại thời tham gia khảo sát. Biến này được sử dụng để phân tích xem độ tuổi có ảnh hưởng như thế nào đến hành vi gửi tiền có kỳ hạn của khách hàng.

Biến education : Trình độ học vấn của khách hàng
Biến education thể hiện trình độ học vấn cao nhất của khách hàng, bao gồm ba

Primary : tiểu học,

Secondary : trung học

Tertiary : đại học.

Trình độ học vấn có thể liên quan đến nhận thức tài chính và mức độ phản ứng trước các chiến dịch tiếp thị ngân hàng.

Biến deposit: Quyết định đăng ký tiền gửi có kỳ hạn của khách hàng
Biến deposit là biến phụ thuộc trong mô hình nghiên cứu. Đây là biến định tính nhị phân với hai giá trị “yes” và “no”, thể hiện kết quả của chiến dịch tiếp thị: khách hàng có đồng ý gửi tiền có kỳ hạn hay không.

# Đọc dữ liệu
data <- read.csv("C:/Users/Welcome !/OneDrive - UFM/Desktop/bank1.csv")
dim(data)
## [1] 2675   17
#Chuyển đổi các biến cần thiết sang kiểu factor**
data[] <- lapply(data, function(x) if (is.character(x)) as.factor(x) else x)

qual_data <- data[sapply(data, is.factor)]

1.2 Bối cảnh nghiên cứu

Trong bối cảnh nền kinh tế ngày càng phát triển và hệ thống tài chính – ngân hàng ngày càng đa dạng hóa các sản phẩm, dịch vụ, việc hiểu rõ hành vi và động cơ của khách hàng trong việc lựa chọn sản phẩm gửi tiền kỳ hạn trở thành vấn đề quan trọng đối với các ngân hàng thương mại. Gửi tiền kỳ hạn không chỉ là một hình thức tiết kiệm phổ biến mà còn là kênh huy động vốn chủ lực của các tổ chức tín dụng, góp phần đảm bảo khả năng thanh khoản và ổn định tài chính.

Đối với sinh viên ngành Toán kinh tế, việc tiếp cận và phân tích các yếu tố ảnh hưởng đến quyết định tài chính của cá nhân – cụ thể là hành vi gửi tiền kỳ hạn – là một ứng dụng thực tiễn của kiến thức đã học, đặc biệt trong môn Phân tích dữ liệu định tính. Thông qua việc sử dụng các phương pháp phân tích định tính như hồi quy logistic, hồi quy Poisson và mô hình phân loại, sinh viên có thể khám phá mối quan hệ giữa các yếu tố như độ tuổi, giới tính, thu nhập, trình độ học vấn, nhận thức về lãi suất hay kinh nghiệm tài chính đối với khả năng lựa chọn sản phẩm gửi tiết kiệm có kỳ hạn.

Việc thực hiện đề tài này không chỉ giúp sinh viên rèn luyện kỹ năng phân tích dữ liệu, xây dựng và đánh giá mô hình mà còn góp phần hiểu rõ hơn về hành vi kinh tế của khách hàng trong lĩnh vực tài chính – ngân hàng. Đây cũng là cơ sở để sinh viên vận dụng các công cụ định lượng vào các vấn đề kinh tế thực tế, đồng thời nâng cao năng lực nghiên cứu khoa học và tư duy phản biện trong học tập và nghề nghiệp sau này.

1.3 Mục tiêu nghiên cứu

Mục tiêu của nghiên cứu là phân tích và đánh giá mức độ tác động của các yếu tố độ tuổi, trình độ học vấn, đến hành vi gửi tiền kỳ hạn của khách hàng. Thông qua thống kê mô tả để tổng quan đặc mẫu khảo sát, và phân tích suy diễn nhằm kiểm định sự ảnh hưởng của các biến độc lập đến biến phụ thucộ.

1.4 Câu hỏi nghiên cứu

Bài tiểu luận đặt ra các câu hỏi nghiên cứu sau:

  • Có sự khác biệt trong hành vi gửi tiền kỳ hạn giữa các nhóm độ tuổi khác nhau không?

  • Trình độ học vấn có tác động như thế nào đến quyết định gửi tiền kỳ hạn?

1.5. Phương pháp nghiên cứu

Phương pháp nghiên cứu được sử dụng trong bài tiểu luận bao gồm thống kê mô tả và thống kê suy diễn nhằm phân tích các yếu tố ảnh hưởng đến quyết định gửi tiền kỳ hạn của khách hàng. Biến phụ thuộc trong nghiên cứu là hành vi gửi tiền kỳ hạn, trong khi các biến độc lập bao gồm độ tuổi của khách hàng, trình độ học vấn.

Ở bước thống kê mô tả, bài nghiên cứu tiến hành lập bảng tần suất, tính tỷ lệ tương đối (RR), tỷ lệ chênh odds (OR) và trực quan hóa dữ liệu bằng các biểu đồ nhằm khái quát đặc điểm của mẫu khảo sát. Tiếp theo, thống kê suy diễn được sử dụng để kiểm định tính độc lập giữa các biến thông qua kiểm định Chi-square, xây dựng khoảng ước lượng cho tỷ lệ, và thực hiện mô hình hồi quy (logistic hoặc hồi quy nhị phân) nhằm đánh giá mức độ tác động của từng yếu tố đến quyết định gửi tiền kỳ hạn của khách hàng.

1.6 Bố cục đề tài

Đề tài được chia thành ba chương chính nhằm đảm bảo tính logic và hệ thống trong quá trình nghiên cứu.

Chương 1: Tổng quan nghiên cứu

Trình bày bối cảnh và lý do chọn đề tài, giúp người đọc hiểu rõ vấn đề nghiên cứu được đặt trong điều kiện nào và tại sao lại cần thiết. Ngoài ra, chương này cũng giới thiệu bộ dữ liệu sử dụng, xác định rõ mục tiêu nghiên cứu, phương pháp tiếp cận và phân tích dữ liệu, đồng thời nêu ra các câu hỏi nghiên cứu cần giải quyết. Cuối chương là phần trình bày bố cục tổng thể của đề tài.

Chương 2: Phân tích các yếu tố ảnh hưởng đến quyết định gửi tiền kỳ hạn của khách hàng

Cơ sở lý thuyết và tổng quan tài liệu cung cấp các lý thuyết nền tảng liên quan đến đề tài, mô hình nghiên cứu.Phân tích dữ liệu và kết quả nghiên cứu thực hiện thống kê mô tả đặc điểm dữ liệu, áp dụng các phương pháp phân tích phù hợp nhằm kiểm định giả thuyết, phân tích mối liên hệ giữa các biến và trả lời các câu hỏi nghiên cứu đã đặt ra

Chương 3: Kết luận

Chương này trình bày những kết luận.. Bên cạnh đó, chương cũng đề cập đến những hạn chế còn tồn tại của nghiên cứu và đề xuất các hướng nghiên cứu tiếp theo nhằm khắc phục các điểm chưa hoàn thiện và mở rộng phạm vi nghiên cứu trong tương lai.


CHƯƠNG 2: PHÂN TÍCH CÁC YẾU TỐ ẢNH HƯỞNG ĐẾN QUYẾT ĐỊNH GỬI TIỀN KỲ HẠN CỦA KHÁCH HÀNG

2.1 Phân tích độ tuổi tác động đến quyết định gửi tiền kỳ hạn của khách hàng

Trong nghiên cứu này, tác giả phân nhóm độ tuổi của khách hàng thành ba nhóm tuổi như sau để phản ánh đặc điểm hành vi tài chính theo từng giai đoạn, đồng thời thuận tiện cho việc phân tích dữ liệu định tính. Việc chia nhóm dựa trên giả định rằng mỗi giai đoạn tuổi có mức độ ổn định tài chính, nhu cầu tiết kiệm và xu hướng chấp nhận rủi ro khác nhau. Cụ thể:

Nhóm tuổi Khoảng tuổi (năm) Mô tả đặc điểm chính
Nhóm 1: Trẻ tuổi 18–35 Nhóm người trẻ, mới đi làm, tích lũy thấp, chấp nhận rủi ro cao hơn
Nhóm 2 : Trung niên 36–55 Nhóm trung niên, thu nhập ổn định, nhu cầu tiết kiệm cao
Nhóm 3 : Cao tuổi 56–88 Nhóm người cao tuổi, ưu tiên an toàn và tính thanh khoản
# Giả sử có biến tuổi 'age' trong tập dữ liệu 'data'
# Phân nhóm tuổi thành 3 nhóm: Trẻ tuổi, Trung niên, Cao tuổi
data$age_group <- cut(data$age, breaks = c(17, 35, 55, 88), labels = c("Tre tuoi", "Trung nien", "Cao tuoi"), right = TRUE, include.lowest = TRUE)

# Hiển thị bảng tần suất theo nhóm tuổi
table(data$age_group)
## 
##   Tre tuoi Trung nien   Cao tuoi 
##       1083       1173        419

2.1.1 Bảng tần số - tần suất cho biến gửi tiền kỳ hạn (deposit)

Đầu tiên, tác giả sẽ lập bảng tần số cho biến deposit nhằm mục đích để nắm bắt được số lượng quyết định trong mỗi nhóm. Kết quả này cung cấp một cái nhìn tổng quan về cách mức lương được phân phối trong dữ liệu.

# Tạo bảng tần số
freq_table <- table(data$deposit)

# Chuyển sang data frame
df_freq <- as.data.frame(freq_table)
colnames(df_freq) <- c("Biểu hiện", "Tần số")

# Thêm cột tần suất (%)
df_freq$`Tần suất (%)` <- round(100 * df_freq$`Tần số` / sum(df_freq$`Tần số`), 2)
library(knitr)
## Warning: package 'knitr' was built under R version 4.5.1
library(kableExtra)

df_freq %>%
  kbl(align = "c", caption = "Bảng tần số và tần suất") %>%
  kable_styling(full_width = TRUE, font_size = 16, position = "center")
Bảng tần số và tần suất
Biểu hiện Tần số Tần suất (%)
no 889 33.23
yes 1786 66.77

Tiếp theo, với bảng tần suất đó, tác giả tiến hành vẽ biểu đồ cột cho biến deposit để trực quan hóa tỷ lệ xuất hiện của từng mức giá trị, từ đó giúp dễ dàng so sánh sự phổ biến của các nhóm tiền gửi khác nhau trong tập dữ liệu. Biểu đồ này hỗ trợ quá trình phân tích định tính, cung cấp nền tảng cho các bước phân tích sâu hơn trong nghiên cứu.

# Thư viện cần dùng
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following object is masked from 'package:kableExtra':
## 
##     group_rows
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(ggplot2)
library(knitr)
library(kableExtra)

# Tạo bảng tần số
df_freq <- as.data.frame(table(data$deposit))
colnames(df_freq) <- c("Biểu hiện", "Số lượng")

ggplot(df_freq, aes(x = `Biểu hiện`, y = `Số lượng`, fill = `Biểu hiện`)) +
  geom_bar(stat = "identity", width = 0.6) +
  geom_text(aes(label = `Số lượng`), vjust = -0.3, size = 5) +
  scale_fill_manual(values = c("#6BAED6", "#2171B5", "#08306B")) +  # Tông lạnh, màu trầm
  labs(title = "Biểu đồ tần số của biến deposit", x = "Biểu hiện", y = "Số lượng") +
  theme_minimal(base_size = 14)

Biến “deposit” phản ánh quyết định của khách hàng về việc có gửi tiền kỳ hạn hay không, trong đó giá trị “yes” biểu thị khách hàng đồng ý gửi tiền kỳ hạn, còn “no” biểu thị khách hàng từ chối. Qua bảng tần số và biểu đồ cột minh họa cho biến , ta có thể thấy sự phân bố giữa hai nhóm khách hàng là không đồng đều.

Cụ thể, số lượng khách hàng không đồng ý gửi tiền kỳ hạn chiếm tỷ lệ lớn hơn so với nhóm đồng ý. Việc phần lớn khách hàng từ chối gửi tiền kỳ hạn có thể phản ánh sự thiếu hấp dẫn trong các sản phẩm tiền gửi hiện tại có thể là do mức lãi suất chưa đủ cạnh tranh, thời hạn gửi chưa linh hoạt, hoặc thông tin truyền thông về sản phẩm chưa rõ ràng và chưa tạo được niềm tin nơi khách hàng.

# Tạo bảng tần suất dạng table để dùng cho biểu đồ tròn
table_deposit <- table(data$deposit)

# Tạo nhãn với phần trăm
labels <- paste0(names(table_deposit), ": ", round(100 * prop.table(table_deposit), 2), "%")

# Màu trầm lạnh
colors <- c("#99CCCC", "#336666")

# Vẽ biểu đồ tròn
pie(table_deposit,
    labels = labels,
    col = colors,
    main = "Tỷ lệ khách hàng gửi tiền kỳ hạn"
)
legend("topright", legend = names(table_deposit), fill = colors, title = "Biểu hiện")

Biểu đồ tròn thể hiện tỷ lệ khách hàng đồng ý và không đồng ý gửi tiền kỳ hạn. Dễ dàng nhận thấy, nhóm khách hàng đồng ý gửi tiền kỳ hạn chiếm tỷ lệ chủ đạo với 66.77%, trong khi nhóm không đồng ý chỉ chiếm 33.23%.Kết quả này phản ánh xu hướng tích cực của khách hàng đối với sản phẩm tiền gửi kỳ hạn, cho thấy mức độ quan tâm và tin tưởng tương đối cao vào dịch vụ ngân hàng.

Tuy nhiên, tỷ lệ từ chối vẫn chiếm khoảng một phần ba tổng số khách, đây là một tỷ lệ không nhỏ và cần được phân tích thêm để xác định nguyên nhân và đề xuất các biện pháp cải thiện trong chiến lược marketing hoặc chính sách sản phẩm.

2.1.2 Bảng tuần số - tần suất cho biến age

library(dplyr)
library(ggplot2)
library(kableExtra)
library(scales)

# Phân nhóm tuổi
data$age_group <- cut(data$age, breaks = c(17, 35, 55, 88), labels = c("Tre tuoi", "Trung nien", "Cao tuoi"), right = TRUE, include.lowest = TRUE)

# Tạo bảng tần số
age_freq_table <- data %>%
  count(age_group) %>%
  mutate(Tan_suat = round(n / sum(n) * 100, 2))

# In bảng tần suất có kẻ bảng
age_freq_table %>%
  kbl(align = "c", col.names = c("Nhóm tuổi", "Tần số", "Tần suất (%)")) %>%
  kable_styling(full_width = TRUE, font_size = 16, position = "center")
Nhóm tuổi Tần số Tần suất (%)
Tre tuoi 1083 40.49
Trung nien 1173 43.85
Cao tuoi 419 15.66
# Vẽ biểu đồ cột
ggplot(age_freq_table, aes(x = age_group, y = n, fill = age_group)) +
  geom_col(width = 0.6, show.legend = FALSE) +
  geom_text(aes(label = n), vjust = -0.5, size = 5) +
  scale_fill_manual(values = c("#5F9EA0", "#4682B4", "#708090")) +
  labs(title = "Biểu đồ cột phân bố nhóm tuổi", x = "Nhóm tuổi", y = "Tần số") +
  theme_minimal(base_size = 14)

Tác giả đã tiến hành thống kê biến độ tuổi (age) của khách hàng bằng bảng tần số, sau đó trực quan hóa thông tin qua biểu đồ cột nhằm thể hiện sự phân bố số lượng khách hàng theo ba nhóm tuổi: Trẻ tuổi (18–35), Trung niên (36–55) và Cao tuổi (56–88). Kết quả từ biểu đồ cột cho thấy nhóm Trung niên chiếm số lượng lớn nhất với 1.173 người, theo sau là nhóm Trẻ tuổi với 1.083 người, trong khi nhóm Cao tuổi có tần số thấp nhất, chỉ 419 người. Điều này phản ánh rằng phần lớn khách hàng tham gia khảo sát thuộc độ tuổi lao động ổn định, trong giai đoạn trung niên hoặc trẻ tuổi.

# Vẽ biểu đồ tròn tần suất
age_freq_table %>%
  mutate(label = paste0(age_group, " (", Tan_suat, "%)")) %>%
  ggplot(aes(x = "", y = Tan_suat, fill = age_group)) +
  geom_bar(stat = "identity", width = 1, color = "white") +
  coord_polar("y", start = 0) +
  geom_text(aes(label = paste0(Tan_suat, "%")), position = position_stack(vjust = 0.5), size = 5) +
  scale_fill_manual(values = c("#5F9EA0", "#4682B4", "#708090")) +
  labs(title = "Biểu đồ tròn thể hiện tần suất nhóm tuổi", fill = "Nhóm tuổi") +
  theme_void(base_size = 14)

Tiếp theo, nhằm làm rõ hơn tỷ trọng từng nhóm tuổi trong tổng thể dữ liệu, tác giả thể hiện tần suất của biến độ tuổi thông qua biểu đồ tròn. Qua đó, có thể thấy nhóm Trung niên chiếm tỷ lệ cao nhất (43,85%), tiếp đến là nhóm Trẻ tuổi (40,49%) và cuối cùng là nhóm Cao tuổi (15,66%). Biểu đồ này nhấn mạnh sự chênh lệch không giữa hai nhóm tuổi chiếm đa số và cho thấy nhóm khách hàng cao tuổi ít có xu hướng gửi tiền kỳ hạn hơn.

Tổng thể, hai biểu đồ đã phản ánh trực quan và rõ ràng đặc điểm phân bố của độ tuổi khách hàng trong khảo sát. Điều này là cơ sở quan trọng để phân tích mối quan hệ giữa độ tuổi và quyết định gửi tiền kỳ hạn, đồng thời giúp xác định nhóm tuổi mục tiêu trong chiến lược marketing của ngân hàng.

2.1.3 Thống kê mô tả cho 2 biến độ tuổi và quyết định gửi tiền kỳ hạn

# Tạo bảng tần số chéo
table_cross <- table(data$age_group, data$deposit)

# Chuyển thành data frame cho dễ xử lý
df_cross <- as.data.frame(table_cross)
colnames(df_cross) <- c("Nhóm tuổi", "Gửi tiền kỳ hạn", "Tần số")

# Hiển thị bảng tần số chéo với kẻ ô
library(knitr)
library(kableExtra)

table_cross %>%
  kbl(align = "c", caption = "Bảng tần số chéo giữa Nhóm tuổi và Gửi tiền kỳ hạn") %>%
  kable_styling(full_width = TRUE, font_size = 16, position = "center",
                bootstrap_options = c("striped", "hover", "bordered", "condensed"))
Bảng tần số chéo giữa Nhóm tuổi và Gửi tiền kỳ hạn
no yes
Tre tuoi 360 723
Trung nien 442 731
Cao tuoi 87 332
library(ggplot2)

# Vẽ biểu đồ cột
ggplot(df_cross, aes(x = `Nhóm tuổi`, y = `Tần số`, fill = `Gửi tiền kỳ hạn`)) +
  geom_bar(stat = "identity", position = position_dodge(width = 0.8), width = 0.7) +
  geom_text(aes(label = `Tần số`), 
            position = position_dodge(width = 0.8), 
            vjust = -0.3, size = 4, color = "black") +
  scale_fill_manual(values = c("#CC9999", "#6C8EBF", "#669966", "#355C7D")) +  # tone lạnh, màu trầm
  labs(
    title = "Biểu đồ tần số chéo giữa Nhóm tuổi và Gửi tiền kỳ hạn",
    x = "Nhóm tuổi",
    y = "Tần số",
    fill = "Gửi tiền kỳ hạn"
  ) +
  theme_minimal(base_size = 14) +
  theme(
    legend.position = "right",
    plot.title = element_text(hjust = 0.5, face = "bold"),
    panel.grid.major.x = element_blank()
  )

Tác giả thống kê biến độ tuổi ảnh hưởng đến biến gửi tiền kỳ hạn bằng bảng tần số chéo và vẽ biểu đồ cột để trực quan hóa số lượng khách hàng ở từng nhóm độ tuổi (Trẻ tuổi: 18–35, Trung niên: 36–55, Cao tuổi: 56–88) theo hai lựa chọn là gửi tiền kỳ hạn (yes) và không gửi tiền kỳ hạn (no).

Kết quả biểu đồ cột cho thấy nhóm “Trẻ tuổi” và “Trung niên” đều có số lượng khách hàng gửi tiền kỳ hạn khá cao (lần lượt là 723 và 731 người), trong khi nhóm “Cao tuổi” có số lượng thấp hơn (332 người). Ở cả ba nhóm tuổi, số lượng khách hàng lựa chọn gửi tiền kỳ hạn đều cao hơn so với nhóm không gửi, cho thấy xu hướng tích cực trong hành vi tiết kiệm có kỳ hạn.

# Tạo biến age_group nếu chưa có
data$age_group <- cut(data$age, breaks = c(17, 35, 55, 88), labels = c("Tre tuoi", "Trung nien", "Cao tuoi"), right = TRUE, include.lowest = TRUE)


# Bảng tần số chéo
table_cross <- table(data$age_group, data$deposit)

# Bảng tần suất chéo (toàn bộ bảng, theo tổng)
table_prop <- prop.table(table_cross) * 100  # tính phần trăm

# Hiển thị bảng tần suất bằng kableExtra
library(knitr)
library(kableExtra)

table_prop %>%
  round(2) %>%
  kbl(align = "c", caption = "Bảng tần suất chéo giữa Nhóm tuổi và Gửi tiền kỳ hạn (%)") %>%
  kable_styling(full_width = TRUE, font_size = 16, position = "center",
                bootstrap_options = c("striped", "hover", "bordered", "condensed"))
Bảng tần suất chéo giữa Nhóm tuổi và Gửi tiền kỳ hạn (%)
no yes
Tre tuoi 13.46 27.03
Trung nien 16.52 27.33
Cao tuoi 3.25 12.41
# Chuyển sang data frame để vẽ biểu đồ
df_prop <- as.data.frame(table_prop)
colnames(df_prop) <- c("Nhóm tuổi", "Gửi tiền kỳ hạn", "Tần suất")
df_prop$`Tần suất` <- round(df_prop$`Tần suất`, 2)

# Tạo nhãn hiển thị phần trăm
df_prop$label <- paste0(df_prop$`Tần suất`, "%")
library(ggplot2)

ggplot(df_prop, aes(x = `Nhóm tuổi`, y = `Tần suất`, fill = `Gửi tiền kỳ hạn`)) +
  geom_col(position = position_dodge(width = 0.8), width = 0.7) +
  geom_text(aes(label = label),
            position = position_dodge(width = 0.8),
            vjust = -0.5, size = 4, color = "black") +
  scale_fill_manual(
    values = c("#9999CC", "#5A7684", "#9CBFA7", "#556B8B", "#476A6F", "#708090")
  ) +
  labs(
    title = "Biểu đồ cột tần suất chéo giữa Nhóm tuổi và Gửi tiền kỳ hạn",
    x = "Nhóm tuổi",
    y = "Tần suất (%)",
    fill = "Gửi tiền kỳ hạn"
  ) +
  theme_minimal(base_size = 14) +
  theme(
    plot.title = element_text(hjust = 0.5, face = "bold"),
    legend.position = "right",
    panel.grid.major.x = element_blank()
  )

Tiếp theo, tác giả thể hiện tần suất chéo để làm rõ hơn về hành vi gửi tiền kỳ hạn trong từng nhóm độ tuổi, qua đó loại bỏ ảnh hưởng của số lượng mẫu không đồng đều giữa các nhóm tuổi. Qua biểu đồ tần suất ta thấy tỷ lệ gửi tiền kỳ hạn cao nhất rơi vào nhóm khách hàng độ tuổi Trung niên (27.33%), tiếp theo là nhóm “Trẻ tuổi” (27.03%), và thấp nhất là nhóm “Cao tuổi” (12.41%). Đồng thời, tỷ lệ không gửi tiền kỳ hạn cũng cao nhất ở nhóm “Trung niên” (16.52%) và thấp nhất ở nhóm “Cao tuổi” (3.25%).

Điều này cho thấy, mặc dù nhóm “Cao tuổi” có tỷ lệ tham gia thấp, nhưng trong nhóm này, tỷ lệ lựa chọn gửi tiền kỳ hạn vẫn chiếm phần lớn , song mức độ tích cực nhất vẫn tập trung ở nhóm “Trung niên”.

2.1.4 Phân tích Relative Risk giữa độ tuổi và quyết định gửi tiền kỳ hạn

Trong phần này tác giả sẽ thực hiện tính Relative Risk nhằm phân tích sự ảnh hưởng của từng độ tuổi lên quyết định gửi tiền kỳ hạn.

library(dplyr)
library(knitr)
library(kableExtra)

# Tạo bảng tần số và tính các tỷ lệ, RR
rr_table <- data %>%
  group_by(age_group) %>%
  summarise(
    Tong = n(),
    Co = sum(deposit == "yes"),
    Khong = sum(deposit == "no")
  ) %>%
  mutate(
    Ti_le_Co = round(Co / Tong * 100, 2),
    Ti_le_Khong = round(Khong / Tong * 100, 2),
    RR_Co = round((Co / Tong) / (Co[Tong == max(Tong)] / Tong[Tong == max(Tong)]), 2),
    RR_Khong = round((Khong / Tong) / (Khong[Tong == max(Tong)] / Tong[Tong == max(Tong)]), 2)
  )

# Bảng : Thống kê tổng số KH, số KH gửi và không gửi, tỷ lệ %
rr_table %>%
  select(age_group, Tong, Co, Khong, Ti_le_Co, Ti_le_Khong) %>%
  rename(
    "Nhóm tuổi" = age_group,
    "Tổng số KH" = Tong,
    "KH có gửi tiền" = Co,
    "KH không gửi tiền" = Khong,
    "Tỷ lệ KH có gửi (%)" = Ti_le_Co,
    "Tỷ lệ KH không gửi (%)" = Ti_le_Khong
  ) %>%
  kbl(align = "c", caption = "Bảng Thống kê gửi tiền theo nhóm tuổi") %>%
  kable_styling(full_width = TRUE, font_size = 16, position = "center",
                bootstrap_options = c("striped", "hover", "bordered", "condensed"))
Bảng Thống kê gửi tiền theo nhóm tuổi
Nhóm tuổi Tổng số KH KH có gửi tiền KH không gửi tiền Tỷ lệ KH có gửi (%) Tỷ lệ KH không gửi (%)
Tre tuoi 1083 723 360 66.76 33.24
Trung nien 1173 731 442 62.32 37.68
Cao tuoi 419 332 87 79.24 20.76

Dựa trên bảng tần số đã trình bày ở phần trước, tác giả tiến hành tính toán Tỷ số nguy cơ tương đối (Relative Risk – RR), trong đó biến độc lập là nhóm độ tuổi của khách hàng, còn biến phụ thuộc là quyết định gửi tiền kỳ hạn (biểu hiện bằng hai giá trị: có gửi tiền và không gửi tiền).

Trong phân tích này, nhóm trung niên được chọn làm nhóm tham chiếu. Đầu tiên, tính tỷ lệ khách hàng có gửi tiền kỳ hạn và không gửi tiền kỳ hạn trên tổng số khách hàng trong từng nhóm tuổi. Sau đó, tỷ số nguy cơ của từng nhóm tuổi được xác định bằng cách so sánh tỷ lệ của nhóm đó với tỷ lệ của nhóm tham chiếu. Cụ thể:

  • RR có gửi = (Tỷ lệ khách hàng có gửi tiền trong nhóm tuổi đang xét) / (Tỷ lệ khách hàng có gửi tiền trong nhóm trung niên).

  • RR không gửi = (Tỷ lệ khách hàng không gửi tiền trong nhóm tuổi đang xét) / (Tỷ lệ khách hàng không gửi tiền trong nhóm trung niên).

# Bảng 2: Relative Risk (RR)
rr_table %>%
  select(age_group, RR_Co, RR_Khong) %>%
  rename(
    "Nhóm tuổi" = age_group,
    "RR có gửi" = RR_Co,
    "RR không gửi" = RR_Khong
  ) %>%
  kbl(align = "c", caption = "Bảng Tỷ số RR theo nhóm tuổi") %>%
  kable_styling(full_width = TRUE, font_size = 16, position = "center",
                bootstrap_options = c("striped", "hover", "bordered", "condensed"))
Bảng Tỷ số RR theo nhóm tuổi
Nhóm tuổi RR có gửi RR không gửi
Tre tuoi 1.07 0.88
Trung nien 1.00 1.00
Cao tuoi 1.27 0.55

🔹 Nhận xét Tỷ lệ Relative Risk “có gửi tiền kỳ hạn” theo nhóm tuổi:

Nhóm trẻ tuổi: Kết quả RR là 1.07, điều này cho thấy khách hàng trẻ tuổi (18–35 tuổi) có xác suất gửi tiền kỳ hạn cao hơn khoảng 1.07 lần so với nhóm trung niên (36–55 tuổi) – nhóm được chọn làm tham chiếu. Nói cách khác, khách hàng trẻ tuổi có xu hướng gửi tiền kỳ hạn cao hơn nhẹ so với nhóm trung niên.

Nhóm cao tuổi: Chỉ số RR là 1.27, cho thấy khách hàng cao tuổi (56–88 tuổi) có khả năng gửi tiền kỳ hạn cao gấp 1.27 lần so với khách hàng trung niên. Đây là nhóm có RR cao nhất trong ba nhóm tuổi, phản ánh xu hướng ưu tiên gửi tiền kỳ hạn mạnh mẽ hơn ở nhóm khách hàng lớn tuổi.

🔹 Nhận xét Tỷ lệ Relative Risk “không gửi tiền kỳ hạn” theo nhóm tuổi:

Nhóm trẻ tuổi: RR là 0.88, nghĩa là khách hàng trẻ tuổi có khả năng không gửi tiền kỳ hạn thấp hơn khoảng 12% so với nhóm trung niên. Điều này củng cố nhận định trước rằng họ có xu hướng gửi tiền kỳ hạn nhiều hơn.

Nhóm cao tuổi: Với chỉ số RR là 0.55, khách hàng cao tuổi có xác suất không gửi tiền kỳ hạn chỉ bằng 55% so với nhóm trung niên. Nói cách khác, họ ít có khả năng không gửi tiền, và điều này cũng khẳng định rằng nhóm cao tuổi ưu tiên gửi tiền kỳ hạn cao hơn rõ rệt.

2.1.5. Phân tích Odd Ratio độ tuổi và quyết định gửi tiền kỳ hạn

Odds Ratio (tỷ số chênh odds) là một chỉ số thống kê dùng để so sánh khả năng xảy ra một sự kiện giữa hai nhóm. Trong nghiên cứu này, Odds Ratio giúp xác định mức độ ảnh hưởng của các nhóm tuổi đến quyết định gửi tiền kỳ hạn của khách hàng. Cụ thể, nó cho biết xác suất khách hàng thuộc một nhóm tuổi gửi tiền kỳ hạn cao hơn hay thấp hơn so với nhóm tham chiếu.

Trong phần này, để hiểu sâu hơn về mức độ ảnh hưởng của độ tuổi đến quyết định gửi tiền kỳ hạn, tác giả tiến hành tính Odds Ratio giữa hai biến: nhóm tuổi và hành vi gửi tiền. Nhóm“Trung niên” được chọn làm nhóm tham chiếu. Kết quả được trình bày trong bảng dưới đây:

data$age_group <- factor(data$age_group, levels = c("Trung nien", "Tre tuoi", "Cao tuoi"))
data$deposit <- factor(data$deposit, levels = c("no", "yes"))
library(epitools)
library(knitr)

# Tạo bảng chéo
table_odds <- table(data$age_group, data$deposit)

# Tính odds ratio
or_result <- oddsratio(table_odds)

# Chuyển sang data.frame
or_df <- as.data.frame(or_result$measure)

# Thêm tên nhóm tuổi
or_df$age_Group <- rownames(or_df)
rownames(or_df) <- NULL

# Đổi tên cột và sắp xếp lại
colnames(or_df) <- c("OR", "CI_lower", "CI_upper", "Age_Group")
or_df <- or_df[, c("Age_Group", "OR", "CI_lower", "CI_upper")]

# Hiển thị bảng kết quả
kable(or_df, caption = "Bảng Odds Ratio theo nhóm tuổi (Tham chiếu: Trung niên)", digits = 3, align = "c")
Bảng Odds Ratio theo nhóm tuổi (Tham chiếu: Trung niên)
Age_Group OR CI_lower CI_upper
Trung nien 1.000 NA NA
Tre tuoi 1.214 1.021 1.444
Cao tuoi 2.304 1.776 3.014

Từ bảng kết quả tính Odds Ratio, ta có thể đưa ra một số nhận định như sau:

  • Đối với nhóm khách hàng trẻ tuổi:

    Giá trị Odds Ratio là 1.214, với khoảng tin cậy 95% từ 1.021 đến 1.444. Vì khoảng tin cậy không chứa giá trị 1, sự khác biệt là có ý nghĩa thống kê. Điều này cho thấy khách hàng trẻ tuổi có odds (tức là tỷ lệ chênh giữa xác suất gửi và không gửi tiền) cao hơn khoảng 21.4% so với khách hàng trung niên. Nói cách khác, khách hàng trẻ tuổi có xu hướng gửi tiền kỳ hạn nhiều hơn nhóm trung niên.

  • Đối với nhóm khách hàng cao tuổi:

    Giá trị Odds Ratio là 2.304, với khoảng tin cậy 95% từ 1.776 đến 3.014. Khoảng tin cậy này không chứa giá trị 1, cho thấy sự khác biệt là có ý nghĩa thống kê. Điều này có nghĩa là khách hàng cao tuổi có odds gửi tiền cao gấp khoảng 2.3 lần so với nhóm trung niên, cho thấy nhóm này có xu hướng gửi tiền kỳ hạn mạnh hơn rõ rệt.

    Tóm lại, cả hai nhóm tuổi “Trẻ tuổi” và “Cao tuổi” đều có khả năng gửi tiền kỳ hạn cao hơn so với nhóm “Trung niên”, trong đó nhóm “Cao tuổi” có sự khác biệt rõ rệt và mạnh mẽ hơn về mặt thống kê.

2.1.6 Thống kê suy diễn

2.1.6.1 Kiểm định tính độc lập

\[ \begin{cases} H_0: \text{deposit và age_group độc lập nhau} \\ H_1: \text{deposit và age_group không độc lập nhau} \end{cases} \]

# Tạo bảng chéo giữa age_group và deposit
table_chisq <- table(data$age_group, data$deposit)

# Kiểm định Chi-squared
chisq_test <- chisq.test(table_chisq)

# Hiển thị kết quả kiểm định
chisq_test
## 
##  Pearson's Chi-squared test
## 
## data:  table_chisq
## X-squared = 39.82, df = 2, p-value = 2.255e-09

Dựa trên kết quả kiểm định Chi-squared với giá trị thống kê là 39.82, bậc tự do là 2 và p-value rất nhỏ (2.255e-09), ta nhận thấy rằng p-value < 0.05. Do đó, bác bỏ giả thuyết H₀ về tính độc lập giữa hai biến. Nói cách khác, tồn tại mối quan hệ có ý nghĩa thống kê giữa nhóm tuổi của khách hàng và hành vi gửi tiền. Điều này cho thấy hành vi gửi tiền của khách hàng có sự khác biệt giữa các nhóm tuổi khác nhau.

2.1.6.2 Ước lượng tỷ lệ

  • Ước lượng tỷ lệ KH có gửi tiền kỳ hạn nhóm trẻ tuổi
# Lọc dữ liệu nhóm Trẻ tuổi
data_tre <- subset(data, age_group == "Tre tuoi")
# Tính số người gửi tiền và tổng số
x_tre <- sum(data_tre$deposit == "yes")
n_tre <- length(data_tre$deposit)

# Ước lượng tỷ lệ gửi tiền kỳ hạn nhóm Trẻ tuổi
prop.test(x = x_tre, n = n_tre, conf.level = 0.95)
## 
##  1-sample proportions test with continuity correction
## 
## data:  x_tre out of n_tre, null probability 0.5
## X-squared = 121, df = 1, p-value < 2.2e-16
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
##  0.6385153 0.6954606
## sample estimates:
##       p 
## 0.66759

Kết quả cho thấy giá trị thống kê kiểm định là X-squared = 121, với một bậc tự do và giá trị p-value < 2.2e-16. Khoảng tin cậy 95% cho tỷ lệ thực sự nằm trong khoảng từ 0.6385 đến 0.6955, và tỷ lệ KH có gửi tiền kỳ hạn nhóm trẻ tuổi là 66.76%.

  • Ước lượng tỷ lệ KH có gửi tiền kỳ hạn nhóm trung niên
# Lọc dữ liệu nhóm Trung niên
data_trung <- subset(data, age_group == "Trung nien")
x_trung <- sum(data_trung$deposit == "yes")
n_trung <- length(data_trung$deposit)

# Ước lượng tỷ lệ gửi tiền kỳ hạn nhóm Trung niên
prop.test(x = x_trung, n = n_trung, conf.level = 0.95)
## 
##  1-sample proportions test with continuity correction
## 
## data:  x_trung out of n_trung, null probability 0.5
## X-squared = 70.711, df = 1, p-value < 2.2e-16
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
##  0.5946663 0.6508939
## sample estimates:
##         p 
## 0.6231884

Với nhóm Trung niên, kết quả cho thấy X-squared = 70.711, với một bậc tự do và p-value < 2.2e-16. Khoảng tin cậy 95% cho tỷ lệ thực sự nằm trong khoảng từ 0.5947 đến 0.6509, và tỷ lệ ước lượng nhóm KH có gửi tiền kỳ hạn độ tuổi trung niên là 62.32%.

  • Ước lượng tỷ lệ KH có gửi tiền kỳ hạn nhóm cao tuổi
# Lọc dữ liệu nhóm Cao tuổi
data_cao <- subset(data, age_group == "Cao tuoi")
x_cao <- sum(data_cao$deposit == "yes")
n_cao <- length(data_cao$deposit)

# Ước lượng tỷ lệ gửi tiền kỳ hạn nhóm Cao tuổi
prop.test(x = x_cao, n = n_cao, conf.level = 0.95)
## 
##  1-sample proportions test with continuity correction
## 
## data:  x_cao out of n_cao, null probability 0.5
## X-squared = 142.09, df = 1, p-value < 2.2e-16
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
##  0.7496912 0.8295601
## sample estimates:
##         p 
## 0.7923628

Trong nhóm Cao tuổi, kết quả cho thấy giá trị thống kê kiểm định là X-squared = 142.09, với một bậc tự do và p-value < 2.2e-16. Khoảng tin cậy 95% cho tỷ lệ thực sự nằm trong khoảng 0.7497 đến 0.8296, với tỷ lệ ước lượng KH có gửi tiền kỳ hạn nhóm cao tuổi là 79.24%.

2.1.7 Mô hình hồi quy cho dữ liệu nhị phân

- Mô hình xác suất tuyến tính

Đầu tiên, tác giả thực hiện hồi quy tuyến tính cho biến độc lập age_group và biến phụ thuộc deposit, trong đó deposit được mã hóa nhị phân với giá trị 1 nếu khách hàng gửi tiền kỳ hạn và 0 nếu không gửi. Mục tiêu của bước phân tích này là làm tiền đề cho việc triển khai các mô hình hồi quy phi tuyến phù hợp hơn như logistic, probit và cloglog ở bước tiếp theo.

data$deposit <- factor(data$deposit, levels = c("no", "yes"))
data$age_group <- as.factor(data$age_group)  # chắc chắn age_group là factor
model_lpm <- lm(as.numeric(deposit == "yes") ~ age_group, data = data)
summary(model_lpm)
## 
## Call:
## lm(formula = as.numeric(deposit == "yes") ~ age_group, data = data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -0.7924 -0.6232  0.3324  0.3768  0.3768 
## 
## Coefficients:
##                   Estimate Std. Error t value Pr(>|t|)    
## (Intercept)        0.62319    0.01366  45.626  < 2e-16 ***
## age_groupTre tuoi  0.04440    0.01971   2.252   0.0244 *  
## age_groupCao tuoi  0.16917    0.02662   6.354 2.45e-10 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.4678 on 2672 degrees of freedom
## Multiple R-squared:  0.01489,    Adjusted R-squared:  0.01415 
## F-statistic: 20.19 on 2 and 2672 DF,  p-value: 1.986e-09

Hàm hồi quy xác suất tuyến tính được ước lượng như sau:

\[ \hat{\pi} = 0.62319 + 0.04440 \times \text{Tre tuoi} + 0.16917 \times \text{Cao tuoi} \]

Trong đó: \(\hat{\pi}\) là xác suất dự đoán gửi tiền (deposit = 1),

Tre tuoi và Cao tuoi là các biến giả tương ứng với nhóm tuổi trẻ và cao tuổi (trung niên là biến tham chiếu).

Các hệ số hồi quy thu được như sau:

  • Hệ số chặn (β₀) = 0.62319: Tức là trung bình có khoảng 62.3% khách hàng thuộc nhóm trung niên gửi tiền kỳ hạn.

  • Hệ số β₁ nhóm Trẻ tuổi = 0.04440: Nhóm khách hàng trẻ tuổi có xác suất gửi tiền kỳ hạn cao hơn 4.44 phần trăm so với nhóm trung niên. Kết quả này có ý nghĩa thống kê ở mức 5% (p = 0.0244).

  • Hệ số β₂ nhóm Cao tuổi = 0.16917: Nhóm khách hàng cao tuổi có xác suất gửi tiền kỳ hạn cao hơn 16.92 phần trăm so với nhóm trung niên. Sự khác biệt này có ý nghĩa thống kê rất cao (p < 0.001).

    Kết quả hồi quy tuyến tính khẳng định rằng yếu tố độ tuổi có ảnh hưởng đối với hành vi gửi tiền kỳ hạn của khách hàng tại Bồ Đào Nha. Trong ba nhóm độ tuổi, nhóm cao tuổi có xác suất gửi tiền cao nhất, tiếp theo là nhóm trẻ tuổi, trong khi nhóm trung niên có xác suất gửi tiền thấp nhất

    Kết quả này cho thấy khách hàng cao tuổi ưu tiên hình thức tiết kiệm ổn định và ít rủi ro hơn nhằm đảm bảo an toàn tài chính trong giai đoạn về hưu. Nhóm trung niên, dù đang ở độ tuổi có thu nhập ổn định và tích lũy tài chính tốt, lại có xác suất gửi tiền thấp hơn, có thể giải thích rằng họ đang sử dụng vốn cho các mục tiêu khác như đầu tư, giáo dục hoặc chi tiêu lớn trong gia đình. Đáng chú ý, nhóm trẻ tuổi lại cho thấy sự chủ động trong tích lũy tài chính thông qua gửi tiền kỳ hạn, điều này cho thấy xu hướng mới trong hành vi tiết kiệm của thế hệ trẻ.

    Việc xác định được ảnh hưởng có ý nghĩa thống kê của độ tuổi là cơ sở để tiếp tục triển khai các mô hình hồi quy phi tuyến như logistic, probit và cloglog, nhằm phân tích sâu hơn hành vi gửi tiền của khách hàng và lượng hóa xác suất ra quyết định theo từng nhóm tuổi một cách phù hợp và chính xác hơn.

- Mô hình Logistic

model_logit <- glm(deposit ~ age_group, data = data, family = binomial(link = "logit"))
summary(model_logit)
## 
## Call:
## glm(formula = deposit ~ age_group, family = binomial(link = "logit"), 
##     data = data)
## 
## Coefficients:
##                   Estimate Std. Error z value Pr(>|z|)    
## (Intercept)        0.50310    0.06025   8.350  < 2e-16 ***
## age_groupTre tuoi  0.19420    0.08827   2.200   0.0278 *  
## age_groupCao tuoi  0.83612    0.13467   6.209 5.35e-10 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 3401.6  on 2674  degrees of freedom
## Residual deviance: 3359.5  on 2672  degrees of freedom
## AIC: 3365.5
## 
## Number of Fisher Scoring iterations: 4

Hàm liên kết Logistic của mô hình hồi quy được viết như sau:

\[ \log\left(\frac{p}{1 - p}\right) = 0.50310 + 0.19420 \cdot \text{Trẻ tuổi} + 0.83612 \cdot \text{Cao tuổi} \]

Trong đó:

\(p\) là xác suất khách hàng gửi tiền kỳ hạn

\(\beta_0\) là hệ số chặn

\(\beta_1\) là hệ số hồi quy cho nhóm Trẻ tuổi (so với nhóm tham chiếu là Trung niên)

\(\beta_2\) là hệ số hồi quy cho nhóm Cao tuổi (so với nhóm tham chiếu là Trung niên)

Nhóm tham chiếu là Trung nien, do đó các hệ số phản ánh sự khác biệt so với nhóm này

Giá trị p nhỏ hơn 0.05 cho thấy các hệ số đều có ý nghĩa thống kê ở mức 5 phần trăm

  • Hệ số chặn \(\beta_0\) : Khi khách hàng thuộc nhóm Trung niên, log odds gửi tiền là 0.50310, tương đương xác suất khoảng 62.3% (dùng công thức chuyển từ log odds sang xác suất).Nghĩa là khách hàng thuộc nhóm Trung niên có xác suất gửi tiền kỳ hạn khoảng 62.4%.

  • Hệ số nhóm Trẻ tuổi β1 = 0.19420: Khi khách hàng thuộc nhóm Tre tuoi, log odds của việc gửi tiền kỳ hạn tăng 0.19420 so với nhóm Trung nien khi các yếu tố khác không đổi.Khách hàng Trẻ tuổi có xác suất gửi tiền kỳ hạn khoảng 66.7%.

  • Hệ số nhóm Cao tuổi β2 = 0.83612: Khi khách hàng thuộc nhóm Cao tuoi, log odds tăng 0.83612 so với nhóm Trung nien.Khách hàng Cao tuổi có xác suất gửi tiền kỳ hạn khoảng 79.2%. Điều này cho thấy nhóm Cao tuoi có khả năng gửi tiền cao hơn. Khách hàng Cao tuổi có xác suất gửi tiền kỳ hạn khoảng 79.2%

Mô hình hồi quy Logistic cho thấy nhóm tuổi có ảnh hưởng đến xác suất gửi tiền kỳ hạn. Đặc biệt, nhóm Cao tuoi có xu hướng gửi tiền kỳ hạn cao hơn rõ rệt so với Trung nien. Nhóm Tre tuoi cũng có xác suất cao hơn nhưng mức độ ảnh hưởng không mạnh bằng nhóm Cao tuoi. Tất cả các hệ số trong mô hình đều có ý nghĩa thống kê ở mức 5 phần trăm, chứng tỏ mô hình phù hợp và đáng tin cậy trong việc phân tích hành vi gửi tiền của khách hàng theo độ tuổi.

- Mô hình Probit

Mục tiêu của mô hình Probit là ước lượng xác suất một cá nhân quyết định gửi tiền vào ngân hàng dựa trên biến độc lập là nhóm tuổi (gồm ba nhóm: Trẻ tuổi, Trung niên, và Cao tuổi). Biến phụ thuộc là deposit, được mã hóa dạng nhị phân (1 = có gửi tiền, 0 = không gửi tiền). Biến giải thích là age_group (đã được biến đổi thành biến phân loại gồm các biến giả).

model_probit <- glm(deposit ~ age_group, data = data, family = binomial(link = "probit"))
summary(model_probit)
## 
## Call:
## glm(formula = deposit ~ age_group, family = binomial(link = "probit"), 
##     data = data)
## 
## Coefficients:
##                   Estimate Std. Error z value Pr(>|z|)    
## (Intercept)        0.31387    0.03726   8.424  < 2e-16 ***
## age_groupTre tuoi  0.11940    0.05423   2.202   0.0277 *  
## age_groupCao tuoi  0.50078    0.07861   6.371 1.88e-10 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 3401.6  on 2674  degrees of freedom
## Residual deviance: 3359.5  on 2672  degrees of freedom
## AIC: 3365.5
## 
## Number of Fisher Scoring iterations: 4

Dưới đây là phương trình hồi quy Probit thu được từ mô hình:

\[ \Phi^{-1}(p) = 0.31387 + 0.11940 \cdot \text{Trẻ tuổi} + 0.50078 \cdot \text{Cao tuổi} \]

Trong đó:

\(\Phi^{-1}(p)\) là nghịch đảo của hàm phân phối tích lũy chuẩn còn gọi là hàm Probit biểu diễn mối quan hệ giữa xác suất gửi tiền \(p\) và các biến giải thích.

Biến Trẻ tuổi và Cao tuổi là biến giả:

Trẻ tuổi = 1 nếu khách hàng thuộc nhóm 18–35 tuổi, ngược lại bằng 0.

Cao tuổi = 1 nếu khách hàng thuộc nhóm trên 55 tuổi, ngược lại bằng 0.

Nhóm tham chiếu là Trung niên (từ 36 đến 55 tuổi).

  • Hệ số chặn \(\beta_0 = 0.31387\) có ý nghĩa thống kê rất cao với giá trị p < 0.001.
    Điều này có nghĩa là khi khách hàng thuộc nhóm Trung niên, thì giá trị z-score là 0.31387, tương ứng với xác suất gửi tiền kỳ hạn là: \[\Phi(0.31387) \approx 0.623 \Rightarrow 62.3\%\]

  • Hệ số \(\beta_1 = 0.11940\) ứng với nhóm Trẻ tuổi và có ý nghĩa thống kê ở mức 5% (p = 0.0277).
    Khi khách hàng thuộc nhóm Trẻ tuổi (giữ các yếu tố khác không đổi), chênh lệch z-score so với Trung niên là 0.11940.
    Do đó:\[\Phi(0.31387 + 0.11940) = \Phi(0.43327) \approx 0.667 \Rightarrow 66.7\%\]

  • Hệ số \(\beta_2 = 0.50078\) ứng với nhóm Cao tuổi và có ý nghĩa thống kê rất cao (p < 0.001).
    Khi khách hàng thuộc nhóm Cao tuổi, chênh lệch z-score so với Trung niên là 0.50078.
    Từ đó suy ra:\[\Phi(0.31387 + 0.50078) = \Phi(0.81465) \approx 0.792 \Rightarrow 79.2\%\]

Khách hàng cao tuổi có xác suất gửi tiền cao hơn khoảng 16.9% so với nhóm Trung niên.

Kết quả từ mô hình hồi quy Probit cho thấy rằng tuổi tác ảnh hưởng đến hành vi gửi tiền kỳ hạn của khách hàng:

Nhóm Cao tuổi có xác suất gửi tiền cao nhất (≈79.2%), cho thấy sự ổn định tài chính hoặc xu hướng tiết kiệm cao hơn ở nhóm này.

Nhóm Trẻ tuổi cũng có xác suất gửi tiền cao hơn nhóm Trung niên, mặc dù mức độ ảnh hưởng không quá lớn (≈66.7%).

Nhóm Trung niên có xác suất thấp nhất (≈62.3%) trong ba nhóm.

Từ đó, ta có thể rút ra rằng: càng lớn tuổi thì xác suất khách hàng gửi tiền kỳ hạn càng cao. Đây là một yếu tố quan trọng mà ngân hàng có thể tận dụng để điều chỉnh chiến lược tiếp thị, đặc biệt khi xây dựng các gói tiết kiệm phù hợp với từng phân khúc khách hàng.

- Mô hình Cloglog

Trong nghiên cứu này, tác giả đã thực hiện hồi quy mô hình Logistic và Probit để phân tích các yếu tố ảnh hưởng đến quyết định gửi tiền có kỳ hạn của khách hàng. Tiếp theo, tác giả áp dụng mô hình hồi quy Cloglog (Complementary Log-log) nhằm đánh giá sự ảnh hưởng của biến độ tuổi (age_group) đến xác suất gửi tiền có kỳ hạn (deposit).

Mô hình Cloglog được xây dựng như sau: \[ \text{cloglog}(p) = \log(-\log(1 - p)) = \beta_0 + \beta_1 \cdot \text{Trẻ tuổi} + \beta_2 \cdot \text{Cao tuổi} \]

Chú thích công thức:

  • \(p\): Xác suất khách hàng gửi tiền có kỳ hạn

  • Trẻ tuổi, Cao tuổi: Biến giả đại diện cho nhóm tuổi của khách hàng, nhóm Trung niên là nhóm tham chiếu.

  • \(\beta_0\): Hệ số chặn (Intercept).

  • \(\beta_1, \beta_2\): Hệ số hồi quy tương ứng với nhóm tuổi.

model_cloglog <- glm(deposit ~ age_group, data = data, family = binomial(link = "cloglog"))
summary(model_cloglog)
## 
## Call:
## glm(formula = deposit ~ age_group, family = binomial(link = "cloglog"), 
##     data = data)
## 
## Coefficients:
##                   Estimate Std. Error z value Pr(>|z|)    
## (Intercept)       -0.02428    0.03847  -0.631   0.5279    
## age_groupTre tuoi  0.12085    0.05485   2.203   0.0276 *  
## age_groupCao tuoi  0.47661    0.07187   6.631 3.33e-11 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 3401.6  on 2674  degrees of freedom
## Residual deviance: 3359.5  on 2672  degrees of freedom
## AIC: 3365.5
## 
## Number of Fisher Scoring iterations: 5

Sau khi ước lượng mô hình, ta thu được công thức hồi quy với hệ số cụ thể như sau:

\[ \text{cloglog}(p) = -0.02428 + 0.12085 \cdot \text{Trẻ tuổi} + 0.47661 \cdot \text{Cao tuổi} \] - Hệ số \(\beta_0\)= -0.02428 \[ \eta = \beta_0 = -0.02428 \]

Xác suất:\[ p = 1 - \exp(-\exp(\eta)) \approx 1 - \exp(-\exp(-0.02428)) \approx 0.6238 \]

→ Xác suất gửi tiền khách hàng có đột tuổi trung niên khoảng 62.4%

  • Hệ số \(\beta_1\) của nhóm Trẻ tuổi là 0.12085

\[ \eta = \beta_0 + \beta_1 = -0.02428 + 0.12085 = 0.09657 \]

\[ p = 1 - \exp(-\exp(0.09657)) \approx 0.6674 \]

→ Xác suất gửi tiền kỳ hạn khách hàng có nhóm tuổi trẻ khoảng 66.7%

  • Hệ số \(\beta_2\) của nhóm Cao tuổi là 0.47661

\[ \eta = \beta_0 + \beta_2 = -0.02428 + 0.47661 = 0.45233 \] \[ p = 1 - \exp(-\exp(0.45233)) \approx 0.7924 \]

→ Xác suất gửi tiền kỳ hạn khách hàng cao tuổi khoảng 79.2%

Mô hình hồi quy cloglog cho thấy rằng xác suất gửi tiền kỳ hạn tăng dần theo độ tuổi. Nhóm Trung niên có xác suất gửi tiền kỳ hạn khoảng 38.5%, nhóm Trẻ tuổi khoảng 66.7%, trong khi nhóm Cao tuổi có xác suất cao nhất, lên đến 79.3%. Điều này cho thấy nhóm khách hàng cao tuổi có xu hướng lựa chọn gửi tiền kỳ hạn nhiều hơn so với các nhóm khác. Hệ số hồi quy cho nhóm Cao tuổi (β₂ = 0.47661) là có ý nghĩa thống kê (p < 0.001), trong khi hệ số cho nhóm Trẻ tuổi (β₁ = 0.12085) cũng có ý nghĩa thống kê ở mức 5% (p = 0.0276). Điều này củng cố kết luận rằng yếu tố độ tuổi có ảnh hưởng đến quyết định gửi tiền kỳ hạn của khách hàng.

2.1.8 Đánh giá mô hình

2.1.8.1 Chỉ số AIC

Trong quá trình đánh giá và so sánh các mô hình hồi quy nhị phân, chỉ số AIC (Akaike Information Criterion) được sử dụng nhằm xác định mức độ phù hợp của từng mô hình đối với dữ liệu

model_lpm <- lm(as.numeric(deposit == "yes") ~ age_group, data = data)
model_logit <- glm(deposit ~ age_group, data = data, family = binomial(link = "logit"))
model_probit <- glm(deposit ~ age_group, data = data, family = binomial(link = "probit"))
model_cloglog <- glm(deposit ~ age_group, data = data, family = binomial(link = "cloglog"))

# So sánh AIC giữa các mô hình nhị phân
aic_compare <- data.frame(
  Model = c("Logit", "Probit", "Cloglog"),
  AIC   = c(AIC(model_logit), AIC(model_probit), AIC(model_cloglog))
)

print(aic_compare)
##     Model      AIC
## 1   Logit 3365.539
## 2  Probit 3365.539
## 3 Cloglog 3365.539

Kết quả phân tích cho thấy cả ba mô hình gồm Logistic, Probit và Cloglog đều có cùng giá trị AIC là 3365.539. Điều này cho thấy không có sự khác biệt nào về độ phù hợp giữa các mô hình khi chỉ xét riêng tiêu chí AIC. Nói cách khác, cả ba mô hình đều mô tả mối quan hệ giữa biến phụ thuộc deposit và biến độc lập age_group một cách tương đương nhau về mặt thống kê. Do đó, việc lựa chọn mô hình phù hợp hơn không thể chỉ dựa vào chỉ số AIC, mà cần xem xét thêm các yếu tố khác như khả năng diễn giải kết quả, giả định lý thuyết đằng sau mô hình, hoặc đặc điểm phân phối của xác suất sự kiện.

2.1.8.2 Hệ số Brier Score

Bên cạnh chỉ số AIC, Brier Score cũng là một tiêu chí quan trọng giúp đánh giá hiệu quả dự báo của các mô hình phân loại nhị phân. Brier Score đo lường sai số bình phương trung bình giữa xác suất dự đoán và giá trị thực tế, trong đó giá trị càng nhỏ càng cho thấy mô hình dự báo tốt hơn. Trong phân tích này, ba mô hình hồi quy nhị phân gồm Logit, Probit và Cloglog đều cho cùng một giá trị Brier Score là 0.2185859.

model_lpm <- lm(as.numeric(deposit == "yes") ~ age_group, data = data)
model_logit <- glm(deposit ~ age_group, data = data, family = binomial(link = "logit"))
model_probit <- glm(deposit ~ age_group, data = data, family = binomial(link = "probit"))
model_cloglog <- glm(deposit ~ age_group, data = data, family = binomial(link = "cloglog"))

# Tạo biến nhị phân từ biến mục tiêu
y_true <- ifelse(data$deposit == "yes", 1, 0)

# Dự đoán xác suất từ các mô hình
p_logit <- predict(model_logit, type = "response")
p_probit <- predict(model_probit, type = "response")
p_cloglog <- predict(model_cloglog, type = "response")

# Tính Brier Score
brier_logit <- mean((p_logit - y_true)^2)
brier_probit <- mean((p_probit - y_true)^2)
brier_cloglog <- mean((p_cloglog - y_true)^2)

# Hiển thị kết quả
brier_results1 <- data.frame(
  Model = c("Logit", "Probit", "Cloglog"),
  BrierScore = c(brier_logit, brier_probit, brier_cloglog)
)

print(brier_results1)
##     Model BrierScore
## 1   Logit  0.2185859
## 2  Probit  0.2185859
## 3 Cloglog  0.2185859

Điều này cho thấy cả ba mô hình đều có khả năng dự báo tương đương nhau về mặt độ chính xác xác suất. Việc không có sự chênh lệch về Brier Score cũng tương đồng với kết quả AIC đã được phân tích trước đó, cho thấy rằng trong ngữ cảnh dữ liệu hiện tại và với chỉ một biến độc lập là age_group, ba mô hình đều không mang lại sự khác biệt về hiệu năng dự báo.

Từ đó có thể kết luận rằng, trong trường hợp này, không có mô hình nào vượt trội hoàn toàn cả về tiêu chí độ phù hợp (AIC) lẫn độ chính xác dự báo xác suất (Brier Score).

2.2 Phân tích trình độ học vấn tác đông đến quyết định gửi tiền kỳ hạn

2.2.1 Bảng tần số - tần suất cho biến trình độ học vấn

# Tạo bảng tần số và tần suất cho biến education (trình độ học vấn)
freq_table_edu <- table(data$education)
prop_table_edu <- prop.table(freq_table_edu) * 100

education_summary <- data.frame(
  TrinhDoHocVan = names(freq_table_edu),
  TanSo = as.vector(freq_table_edu),
  TanSuat = round(as.vector(prop_table_edu), 2)
)

# Hiển thị bảng với tên cột tiếng Việt và định dạng đẹp
knitr::kable(
  education_summary,
  format = "html",
  align = "c",
  caption = "Bảng tần số - tần suất trình độ học vấn",
  col.names = c("Trình độ học vấn", "Tần số", "Tần suất (%)")
) %>%
  kableExtra::kable_styling(
    full_width = TRUE,
    font_size = 16,
    position = "center",
    bootstrap_options = c("striped", "hover", "bordered", "condensed")
  )
Bảng tần số - tần suất trình độ học vấn
Trình độ học vấn Tần số Tần suất (%)
primary 279 10.43
secondary 1340 50.09
tertiary 1056 39.48
# Thư viện cần thiết
library(ggplot2)
library(dplyr)
library(scales)

# -----------------------
# Tạo bảng tần số - tần suất cho education
freq_edu <- data %>%
  group_by(education) %>%
  summarise(`Tần số` = n()) %>%
  mutate(`Tần suất (%)` = round(`Tần số` / sum(`Tần số`) * 100, 2))



# -----------------------
# Biểu đồ cột tần số - EDUCATION
ggplot(freq_edu, aes(x = education, y = `Tần số`, fill = education)) +
  geom_bar(stat = "identity", width = 0.6) +
  geom_text(aes(label = `Tần số`), vjust = -0.5, size = 5) +
  scale_fill_brewer(palette = "PuBuGn") +
  labs(title = "Biểu đồ cột: Tần số theo Trình độ học vấn",
       x = "Trình độ học vấn", y = "Tần số", fill = "Trình độ học vấn") +
  theme_minimal() +
  theme(legend.position = "right")

Biểu đồ cột thể hiện rõ sự khác biệt về số lượng khách hàng theo từng nhóm trình độ học vấn. Trong đó, nhóm có trình độ trung học (secondary) chiếm ưu thế với 1.340 người, bỏ xa hai nhóm còn lại. Nhóm đại học/cao đẳng (tertiary) đứng thứ hai với 1.056 người, trong khi nhóm tiểu học (primary) có số lượng ít nhất với 279 người.

Các cột biểu diễn có độ cao chênh lệch rõ rệt, cho thấy sự phân bố không đồng đều về học vấn trong tập khách hàng khảo sát. Sự khác biệt này phản ánh xu hướng chung về trình độ học vấn trong cộng đồng khách hàng của ngân hàng.

# Biểu đồ tròn tần suất - EDUCATION
ggplot(freq_edu, aes(x = "", y = `Tần suất (%)`, fill = education)) +
  geom_bar(stat = "identity", width = 1, color = "white") +
  coord_polar("y", start = 0) +
  geom_text(aes(label = paste0(`Tần suất (%)`, "%")), 
            position = position_stack(vjust = 0.5), size = 5) +
  scale_fill_brewer(palette = "PuBuGn") +
labs(title = "Biểu đồ tròn: Tần suất theo Trình độ học vấn",
       fill = "Trình độ học vấn") +
  theme_void() +
  theme(legend.position = "right")

Biểu đồ tròn cho thấy tỷ trọng tương đối giữa các nhóm trình độ học vấn trong tổng thể dữ liệu. Phần lớn khách hàng có trình độ từ trung học trở lên, trong đó nhóm trung học chiếm tỷ lệ cao nhất với 50,09%, gần bằng một nửa tổng số. Nhóm đại học/cao đẳng chiếm 39,48%, cho thấy một bộ phận lớn khách hàng có trình độ học vấn cao hơn phổ thông. Nhóm tiểu học chỉ chiếm 10,43%, là nhóm nhỏ nhất.

Qua biểu đồ tròn, ta dễ dàng hình dung tỷ lệ từng nhóm so với tổng thể, từ đó cho thấy mức độ tiếp cận thông tin và dịch vụ tài chính của khách hàng có thể phụ thuộc vào trình độ học vấn.

2.2.2 Thống kê mô tả cho 2 biến trình độ học vấn và quyết định gửi tiền kỳ hạn

# Cần thư viện kableExtra để định dạng bảng
library(knitr)
library(kableExtra)

# BẢNG TẦN SỐ CHÉO GIỮA education VÀ deposit
table_freq <- table(data$education, data$deposit)

# Chuyển thành data frame cho đẹp
df_freq <- as.data.frame.matrix(table_freq)

# In bảng tần số
kable(df_freq, format = "html", caption = "Bảng tần số giữa trình độ học vấn và quyết định gửi tiền kỳ hạn") %>%
  kable_styling(
    full_width = TRUE,
    font_size = 16,
    position = "center",
    bootstrap_options = c("striped", "hover", "bordered", "condensed")
  )
Bảng tần số giữa trình độ học vấn và quyết định gửi tiền kỳ hạn
no yes
primary 107 172
secondary 502 838
tertiary 280 776
# BẢNG TẦN SUẤT THEO HÀNG (%)
table_row_prop <- prop.table(table_freq, margin = 1) * 100
table_row_prop <- round(table_row_prop, 2)
df_row_prop <- as.data.frame.matrix(table_row_prop)

# In bảng tần suất
kable(df_row_prop, format = "html", caption = "Bảng tần suất theo hàng (%) giữa trình độ học vấn và quyết định gửi tiền kỳ hạn") %>%
  kable_styling(
    full_width = TRUE,
    font_size = 16,
    position = "center",
    bootstrap_options = c("striped", "hover", "bordered", "condensed")
  )
Bảng tần suất theo hàng (%) giữa trình độ học vấn và quyết định gửi tiền kỳ hạn
no yes
primary 38.35 61.65
secondary 37.46 62.54
tertiary 26.52 73.48
library(ggplot2)
library(reshape2)
library(scales)
table_freq1 <- table(data$education, data$deposit)
df_freq1 <- as.data.frame(table_freq1)
colnames(df_freq1) <- c("Education", "Deposit", "Frequency")

ggplot(df_freq1, aes(x = Education, y = Frequency, fill = Deposit)) +
  geom_bar(stat = "identity", position = "dodge") +
  geom_text(aes(label = Frequency), position = position_dodge(0.9), vjust = -0.5, size = 4) +
  scale_fill_manual(values = c("#AEC6CF", "#FFD1DC")) +  # pastel colors
  theme_minimal() +
  theme(legend.position = "right") +
  labs(title = "Tần số chéo: Trình độ học vấn và Gửi tiền kỳ hạn", x = "Trình độ học vấn", y = "Tần số")

Biểu đồ tần số cho thấy số lượng khách hàng có trình độ secondary là nhiều nhất, với tổng cộng 1.340 người, tiếp theo là nhóm tertiary với 1.056 người và primary là ít nhất với 279 người. Trong cả ba nhóm, số lượng khách hàng gửi tiền kỳ hạn (deposit = “yes”) luôn cao hơn số không gửi (deposit = “no”). Đặc biệt, nhóm secondary có số lượng khách hàng gửi tiền cao nhất (838 người), tiếp đến là nhóm tertiary (776 người).

Tuy nhiên, cũng chính nhóm secondary có số khách hàng không gửi tiền lớn nhất (502 người). Điều này phản ánh rằng, số lượng tuyệt đối người gửi tiền chịu ảnh hưởng nhiều bởi quy mô nhóm học vấn.

df_prop1 <- prop.table(table_freq1, margin = 1) * 100
df_prop1 <- as.data.frame(df_prop1)
colnames(df_prop1) <- c("Education", "Deposit", "Percentage")

ggplot(df_prop1, aes(x = Education, y = Percentage, fill = Deposit)) +
  geom_bar(stat = "identity", position = "dodge") +
  geom_text(aes(label = paste0(round(Percentage, 1), "%")), 
            position = position_dodge(0.9), vjust = -0.5, size = 4) +
  scale_fill_manual(values = c("#FFB", "#B39EB5")) +  # pastel colors
  theme_minimal() +
  theme(legend.position = "right") +
  labs(title = "Tần suất theo hàng (%): Trình độ học vấn và Gửi tiền kỳ hạn", x = "Trình độ học vấn", y = "Tần suất (%)")

Biểu đồ tần suất theo hàng làm rõ sự khác biệt về tỷ lệ gửi tiền giữa các nhóm trình độ học vấn. Nhóm tertiary có tỷ lệ gửi tiền cao nhất, chiếm 73.48%, cho thấy nhóm khách hàng có trình độ học vấn cao có xu hướng gửi tiền kỳ hạn nhiều hơn. Trong khi đó, nhóm primary và secondary có tỷ lệ gửi tiền thấp hơn, lần lượt là 61.65% và 62.54%. Tỷ lệ giữa hai nhóm này khá tương đồng, nhưng vẫn thấp hơn nhóm có học vấn cao. Do đó, có thể bước đầu nhận định rằng trình độ học vấn càng cao thì khả năng gửi tiền kỳ hạn càng lớn.

Từ cả hai biểu đồ, ta thấy rằng số lượng khách hàng và tỷ lệ gửi tiền kỳ hạn có sự khác biệt theo trình độ học vấn. Dù nhóm secondary chiếm số lượng lớn nhất, nhưng nhóm tertiary lại có tỷ lệ gửi tiền cao nhất. Điều này gợi ý rằng, chất lượng (mức học vấn) có thể có ảnh hưởng đến hành vi tài chính, không chỉ đơn thuần là số lượng. Đây là dấu hiệu cho thấy nên xem xét thêm yếu tố education trong mô hình hồi quy nhằm lý giải hành vi gửi tiền kỳ hạn.

2.2.4 Phân tích Relative Risk giữa trình độ học vấn và quyết định gửi tiền kỳ hạn

Dựa trên bảng tần số đã trình bày ở phần trước, tác giả tiến hành tính toán Tỷ số nguy cơ tương đối (Relative Risk – RR), trong đó biến độc lập là trình độ học vấn, còn biến phụ thuộc là quyết định gửi tiền kỳ hạn (biểu hiện bằng hai giá trị: có gửi tiền và không gửi tiền).

Trong phân tích này, nhóm tiểu học được chọn làm nhóm tham chiếu. Đầu tiên, tính tỷ lệ khách hàng có gửi tiền kỳ hạn và không gửi tiền kỳ hạn trên tổng số khách hàng trong từng nhóm trình độ học vấn. Sau đó, tỷ số RR của từng nhóm tuổi được xác định bằng cách so sánh tỷ lệ của nhóm đó với tỷ lệ của nhóm tham chiếu. Cụ thể:

RR có gửi = (Tỷ lệ khách hàng có gửi tiền trong nhóm tuổi đang xét) / (Tỷ lệ khách hàng có gửi tiền trong nhóm trình độ học vấn tiểu học ).

RR không gửi = (Tỷ lệ khách hàng không gửi tiền trong nhóm tuổi đang xét) / (Tỷ lệ khách hàng không gửi tiền trong nhóm trình độ học vấn tiểu học).

# Thư viện cần thiết
library(dplyr)
library(knitr)
library(kableExtra)

# Tạo bảng tần số giữa education và deposit
freq_table <- table(data$education, data$deposit)
freq_df <- as.data.frame.matrix(freq_table)

# Đổi tên cột cho dễ hiểu
colnames(freq_df) <- c("No", "Yes")
freq_df$Education <- rownames(freq_df)

# Tính tổng số KH mỗi nhóm
freq_df$Total <- freq_df$No + freq_df$Yes

# Tính tỷ lệ
freq_df$Rate_Yes <- freq_df$Yes / freq_df$Total
freq_df$Rate_No <- freq_df$No / freq_df$Total

# Tính RR theo nhóm tham chiếu là "primary"
ref_yes <- freq_df$Rate_Yes[freq_df$Education == "primary"]
ref_no <- freq_df$Rate_No[freq_df$Education == "primary"]

freq_df$RR_Yes <- round(freq_df$Rate_Yes / ref_yes, 2)
freq_df$RR_No <- round(freq_df$Rate_No / ref_no, 2)

# Chọn và sắp xếp lại các cột theo yêu cầu
result <- freq_df %>%
  select(Education,
         Total,
         Yes,
         No,
         Rate_Yes,
         Rate_No,
         RR_Yes,
         RR_No) %>%
  rename(
    "Trình độ học vấn" = Education,
    "Tổng số KH" = Total,
    "KH có gửi tiền" = Yes,
    "KH không gửi tiền" = No,
    "Tỷ lệ có gửi" = Rate_Yes,
    "Tỷ lệ không gửi" = Rate_No,
    "RR có gửi" = RR_Yes,
    "RR không gửi" = RR_No
  )

# In bảng với kable và định dạng đẹp
kable(result, "html", digits = 2, align = "c") %>%
  kable_styling(
    full_width = TRUE,
    font_size = 16,
    position = "center",
    bootstrap_options = c("striped", "hover", "bordered", "condensed")
  )
Trình độ học vấn Tổng số KH KH có gửi tiền KH không gửi tiền Tỷ lệ có gửi Tỷ lệ không gửi RR có gửi RR không gửi
primary primary 279 172 107 0.62 0.38 1.00 1.00
secondary secondary 1340 838 502 0.63 0.37 1.01 0.98
tertiary tertiary 1056 776 280 0.73 0.27 1.19 0.69

🔹 Nhận xét Tỷ lệ Relative Risk “có gửi tiền kỳ hạn” theo trình độ học vấn:

Nhóm học vấn trung học (secondary)

RR là 1.01, tức khách hàng có trình độ học vấn trung học có khả năng gửi tiền kỳ hạn cao hơn 1.01 lần so với nhóm có trình độ tiểu học (primary) – nhóm được chọn làm tham chiếu. Điều này cho thấy mức độ gửi tiền của hai nhóm là gần như tương đương, chỉ chênh lệch rất nhỏ.

Nhóm học vấn cao đẳng/đại học (tertiary)

RR là 1.19, nghĩa là khách hàng có trình độ đại học có khả năng gửi tiền kỳ hạn cao hơn 1.19 lần so với nhóm tiểu học. Đây là nhóm có RR cao nhất trong ba nhóm học vấn, cho thấy xu hướng gửi tiền mạnh mẽ hơn ở khách hàng có học vấn cao.

🔹 Nhận xét Tỷ lệ Relative Risk “không gửi tiền kỳ hạn” theo trình độ học vấn:

Nhóm học vấn trung học (secondary)

RR là 0.98, tức xác suất không gửi tiền kỳ hạn của nhóm này gần bằng so với nhóm tiểu học. Như vậy, mức độ không gửi tiền của hai nhóm là gần tương đương.

Nhóm học vấn cao đẳng/đại học (tertiary)

RR là 0.69, có nghĩa là khả năng không gửi tiền kỳ hạn của nhóm này chỉ bằng 69% so với nhóm tiểu học. Điều này cho thấy khách hàng có trình độ học vấn cao ít có xu hướng không gửi tiền, củng cố kết luận rằng nhóm này ưu tiên gửi tiền kỳ hạn hơn.

2.2.5. Phân tích Odd Ratio trình độ học vấn và quyết định gửi tiền kỳ hạn

install.packages("epitools")
## Warning: package 'epitools' is in use and will not be installed
install.packages("knitr")
## Warning: package 'knitr' is in use and will not be installed
install.packages("kableExtra")
## Warning: package 'kableExtra' is in use and will not be installed
library(epitools)
library(knitr)
library(kableExtra)

# Tạo bảng chéo education vs deposit
tbl_edu <- table(data$education, data$deposit)

# Tính Odds Ratio cho bảng trên
or_edu <- oddsratio(tbl_edu)

# Đổi tên các cột
colnames(or_edu$measure) <- c("OR", "CI_lower", "CI_upper")

# Hiển thị bảng kết quả OR cho education
or_edu$measure %>%
  kable(digits = 3, caption = "Odds Ratio giữa Education và Deposit") %>%
  kable_styling(
full_width = TRUE,
    font_size = 16,
    position = "center",
    bootstrap_options = c("striped", "hover", "bordered", "condensed")
  )
Odds Ratio giữa Education và Deposit
OR CI_lower CI_upper
primary 1.000 NA NA
secondary 1.039 0.795 1.353
tertiary 1.724 1.304 2.273

Từ bảng kết quả tính Odds Ratio, ta có thể đưa ra một số nhận định như sau:

Nhóm trình độ trung học (secondary):

Odds Ratio là 1.039 với khoảng tin cậy 95% từ 0.795 đến 1.353. Vì khoảng tin cậy chứa giá trị 1 nên sự khác biệt về khả năng gửi tiền kỳ hạn giữa nhóm có trình độ trung học và nhóm có trình độ tiểu học là không có ý nghĩa thống kê. Do đó, không thể kết luận rằng trình độ trung học ảnh hưởng đến khả năng gửi tiền kỳ hạn.

Nhóm trình độ đại học trở lên (tertiary):

Odds Ratio là 1.724 với khoảng tin cậy 95% từ 1.304 đến 2.273. Vì khoảng tin cậy không chứa giá trị 1 và nằm hoàn toàn phía trên 1, nên sự khác biệt này có ý nghĩa thống kê. Điều này cho thấy khách hàng có trình độ đại học trở lên có khả năng gửi tiền kỳ hạn cao hơn 72.4% so với nhóm có trình độ tiểu học.

Tóm lại: Trong ba nhóm, chỉ có nhóm khách hàng có trình độ đại học trở lên cho thấy sự khác biệt có ý nghĩa thống kê về hành vi gửi tiền kỳ hạn, với khả năng gửi tiền cao hơn đáng kể so với nhóm có trình độ tiểu học. Nhóm có trình độ trung học không có sự khác biệt đáng kể so với nhóm cơ sở.

2.2.6 Thống kê suy diễn

2.2.6.1 Kiểm định tính độc lập

\[ \begin{cases} H_0: \text{deposit và education độc lập nhau} \\ H_1: \text{deposit và education không độc lập nhau} \end{cases} \]

# Tạo bảng tần số chéo
table_chisq_edu <- table(data$deposit, data$education)

# Thực hiện kiểm định Chi-squared
chisq.test(table_chisq_edu)
## 
##  Pearson's Chi-squared test
## 
## data:  table_chisq_edu
## X-squared = 35.576, df = 2, p-value = 1.883e-08

Kết quả kiểm định Chi-squared nhằm đánh giá mối quan hệ giữa hai biến depositeducation cho thấy giá trị thống kê kiểm định là \(\chi^2 = 35.576\) với bậc tự do là 2 và giá trị p tương ứng là 1.883e-08 (rất nhỏ, gần bằng 0).

Với mức ý nghĩa \(\alpha = 0.05\), vì \(p < \alpha\), chúng ta bác bỏ giả thuyết \(H_0\). Do đó, có đủ bằng chứng để kết luận rằng hai biến depositeducation không độc lập nhau. Nói cách khác, trình độ học vấn có mối liên hệ thống kê với quyết định gửi tiền của khách hàng.

2.2.6.2 Ước lượng tỷ lệ

  • Ước lượng tỷ lệ có gửi tiền kỳ hạn của nhóm khách hàng có trình độ học vấn tiểu học
# Lọc nhóm khách hàng có trình độ học vấn tiểu học
primary_data <- subset(data, education == "primary")
# Tính tỷ lệ gửi tiền
prop.test(x = sum(primary_data$deposit == "yes"),
          n = nrow(primary_data),
          p = 0.5,
          alternative = "two.sided",
          correct = FALSE)
## 
##  1-sample proportions test without continuity correction
## 
## data:  sum(primary_data$deposit == "yes") out of nrow(primary_data), null probability 0.5
## X-squared = 15.143, df = 1, p-value = 9.965e-05
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
##  0.5582165 0.6715942
## sample estimates:
##         p 
## 0.6164875

Kết quả kiểm định tỷ lệ một mẫu cho thấy tỷ lệ khách hàng có trình độ học vấn tiểu học thực hiện gửi tiền kỳ hạn là 61.65%.

  • Ước lượng tỷ lệ có gửi tiền kỳ hạn của nhóm khách hàng có trình độ học vấn trung học
# Lọc nhóm khách hàng có trình độ học vấn trung học
secondary_data <- subset(data, education == "secondary")

# Kiểm định
prop.test(x = sum(secondary_data$deposit == "yes"),
          n = nrow(secondary_data),
          p = 0.5,
          alternative = "two.sided",
          correct = FALSE)
## 
##  1-sample proportions test without continuity correction
## 
## data:  sum(secondary_data$deposit == "yes") out of nrow(secondary_data), null probability 0.5
## X-squared = 84.251, df = 1, p-value < 2.2e-16
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
##  0.5991335 0.6508960
## sample estimates:
##         p 
## 0.6253731

Kết quả cho thấy \(\chi^2 = 84.251\), với p-value < 2.2e-16, nhỏ hơn 0.05 rất nhiều.. Khoảng tin cậy 95% nằm trong khoảng 0.5991 đến 0.6509, vàtỷ lệ có gửi tiền kỳ hạn của nhóm khách hàng có trình độ học vấn trung học là 62.54%

  • Ước lượng tỷ lệ có gửi tiền kỳ hạn của nhóm khách hàng có trình độ học vấn đại học
# Lọc nhóm khách hàng có trình độ học vấn đại học
tertiary_data <- subset(data, education == "tertiary")

# Kiểm định
prop.test(x = sum(tertiary_data$deposit == "yes"),
          n = nrow(tertiary_data),
          p = 0.5,
          alternative = "two.sided",
          correct = FALSE)
## 
##  1-sample proportions test without continuity correction
## 
## data:  sum(tertiary_data$deposit == "yes") out of nrow(tertiary_data), null probability 0.5
## X-squared = 232.97, df = 1, p-value < 2.2e-16
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
##  0.7074086 0.7605859
## sample estimates:
##         p 
## 0.7348485

Kết quả kiểm định tỷ lệ một mẫu cho thấy tỷ lệ khách hàng có trình độ học vấn đại học gửi tiền kỳ hạn là 73,5% (p-value < 2.2e-16). Với khoảng tin cậy 95% cho tỷ lệ này nằm trong khoảng từ 70,7% đến 76,1%, ta có đủ bằng chứng thống kê để kết luận rằng khách hàng có trình độ đại học có xu hướng gửi tiền kỳ hạn với tỷ lệ cao hơn đáng kể so với ngẫu nhiên. Điều này phản ánh vai trò quan trọng của trình độ học vấn đối với hành vi tài chính của khách hàng.

2.2.7 Mô hình hồi quy cho dữ liệu nhị phân

- Mô hình xác suất tuyến tính

Đầu tiên, tác giả thực hiện hồi quy tuyến tính giữa biến độc lập education và biến phụ thuộc deposit, trong đó deposit được mã hóa nhị phân với giá trị 1 nếu khách hàng gửi tiền kỳ hạn và 0 nếu không gửi. Mục tiêu của bước phân tích này là kiểm tra mối liên hệ tuyến tính ban đầu giữa trình độ học vấn và xác suất gửi tiền kỳ hạn, trước khi triển khai các mô hình hồi quy phi tuyến như logistic, probit và cloglog ở các bước tiếp theo.

Hàm hồi quy xác suất tuyến tính được ước lượng như sau:

# Đặt "primary" làm nhóm tham chiếu cho education
data$education <- relevel(as.factor(data$education), ref = "primary")

# Đảm bảo biến deposit là factor với 2 mức: "no" và "yes"
data$deposit <- as.factor(data$deposit)

# Mô hình xác suất tuyến tính (LPM)
lpm_model <- lm(I(deposit == "yes") ~ education, data = data)

summary(lpm_model)
## 
## Call:
## lm(formula = I(deposit == "yes") ~ education, data = data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -0.7349 -0.6254  0.2651  0.3746  0.3835 
## 
## Coefficients:
##                    Estimate Std. Error t value Pr(>|t|)    
## (Intercept)        0.616487   0.028029  21.995  < 2e-16 ***
## educationsecondary 0.008886   0.030809   0.288 0.773052    
## educationtertiary  0.118361   0.031515   3.756 0.000177 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.4682 on 2672 degrees of freedom
## Multiple R-squared:  0.0133, Adjusted R-squared:  0.01256 
## F-statistic: 18.01 on 2 and 2672 DF,  p-value: 1.705e-08

\[ \hat{π} = 0.6165 + 0.0089 \times \text{Secondary} + 0.1184 \times \text{Tertiary} \]

Trong đó:

  • \(\hat{π}\) là xác suất dự đoán khách hàng gửi tiền kỳ hạn (deposit = 1).

  • SecondaryTertiary là các biến giả đại diện cho nhóm có trình độ trung học và đại học trở lên. Nhóm Primary là biến tham chiếu.

  • Hệ số chặn (β₀ = 0.6165): Trung bình, khoảng 61.65% khách hàng có trình độ tiểu học gửi tiền kỳ hạn.

  • Hệ số Secondary (β₁ = 0.0089): Nhóm khách hàng có trình độ trung học có xác suất gửi tiền cao hơn 0.89 phần trăm so với nhóm tiểu học. Tuy nhiên, kết quả này không có ý nghĩa thống kê (p = 0.773), cho thấy sự khác biệt không .

  • Hệ số Tertiary (β₂ = 0.1184): Nhóm khách hàng có trình độ đại học trở lên có xác suất gửi tiền kỳ hạn cao hơn 11.84 phần trăm so với nhóm tiểu học. Kết quả này có ý nghĩa thống kê (p < 0.001).

    Kết quả hồi quy tuyến tính khẳng định rằng trình độ học vấn có ảnh hưởng đến xác suất gửi tiền kỳ hạn, đặc biệt là ở nhóm khách hàng có trình độ đại học. Điều này cho thấy những người có học vấn cao hơn có xu hướng lập kế hoạch tài chính dài hạn tốt hơn và ưu tiên các hình thức tiết kiệm an toàn như gửi tiền kỳ hạn. Nhóm có trình độ trung học không có sự khác biệt so với nhóm tiểu học.

    Kết quả phân tích này là cơ sở định hướng để triển khai tiếp các mô hình hồi quy phi tuyến như logit, probit và cloglog – nhằm phân tích sâu hơn xác suất gửi tiền theo trình độ học vấn với các giả định phân phối phù hợp hơn cho biến phụ thuộc nhị phân.

- Mô hình Logistic

# Mô hình Logit
logit_model <- glm(deposit ~ education, data = data, family = binomial(link = "logit"))
summary(logit_model)
## 
## Call:
## glm(formula = deposit ~ education, family = binomial(link = "logit"), 
##     data = data)
## 
## Coefficients:
##                    Estimate Std. Error z value Pr(>|z|)    
## (Intercept)         0.47467    0.12312   3.855 0.000116 ***
## educationsecondary  0.03775    0.13544   0.279 0.780452    
## educationtertiary   0.54470    0.14149   3.850 0.000118 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 3401.6  on 2674  degrees of freedom
## Residual deviance: 3365.5  on 2672  degrees of freedom
## AIC: 3371.5
## 
## Number of Fisher Scoring iterations: 4

Hàm liên kết logit của mô hình hồi quy được viết như sau:

\[ \log\left(\frac{p}{1 - p}\right) = 0.47467 + 0.03775 \cdot \text{Trung học} + 0.54470 \cdot \text{Đại học} \]

Trong đó:

\(p\) là xác suất khách hàng gửi tiền kỳ hạn

\(\beta_0\) là hệ số chặn

\(\beta_1\) là hệ số hồi quy cho nhóm Trung học (so với nhóm tham chiếu là Tiểu học)

\(\beta_2\) là hệ số hồi quy cho nhóm Đại học trở lên (so với nhóm tham chiếu là Tiểu học)

  • \(\beta_0 = 0.47467\) \[ \eta = \beta_0 = 0.47467 \] \[ p = \frac{1}{1 + \exp(-\eta)} = \frac{1}{1 + \exp(-0.47467)} \approx 0.6167 \]

Xác suất gửi tiền nhóm khách hàng có trình độ học vấn tiểu học khoảng 61.7%

  • \(\beta_1 = 0.03775\): Khi khách hàng thuộc nhóm Trung học , log odds của việc gửi tiền kỳ hạn chỉ tăng 0.03775 so với nhóm Tiểu học,\[ \eta = \beta_0 + \beta_1 = 0.47467 + 0.03775 = 0.51242 \] \[ p = \frac{1}{1 + \exp(-0.51242)} \approx 0.6254 \]

Xác suất gửi tiền nhóm khách hàng có trình độ học vấn trung học khoảng 62.5%

  • \(\beta_2 = 0.54470\): Khi khách hàng thuộc nhóm Đại học trở lên,

\[ \eta = \beta_0 + \beta_2 = 0.47467 + 0.54470 = 1.01937 \] \[ p = \frac{1}{1 + \exp(-1.01937)} \approx 0.7348 \]

Xác suất gửi tiền nhóm khách hàng có trình độ học vấn đại học khoảng 73.5%

Nhóm Đại học trở lên có xác suất gửi tiền kỳ hạn cao nhất (≈ 73.5%), có ý nghĩa thống kê. Nhóm Trung học có xác suất gửi tiền chỉ cao hơn nhóm Tiểu học một chút (≈ 62.5% vs. 61.7%), nhưng sự khác biệt này - Kết quả cho thấy trình độ học vấn có ảnh hưởng đến hành vi tài chí*. Những người có học vấn cao hơn có xu hướng gửi tiền kỳ hạn nhiều hơn — có thể do thu nhập ổn định hơn

- Mô hình Probit

# Mô hình Probit
probit_model <- glm(deposit ~ education, data = data, family = binomial(link = "probit"))
summary(probit_model)
## 
## Call:
## glm(formula = deposit ~ education, family = binomial(link = "probit"), 
##     data = data)
## 
## Coefficients:
##                    Estimate Std. Error z value Pr(>|z|)    
## (Intercept)         0.29627    0.07624   3.886 0.000102 ***
## educationsecondary  0.02336    0.08384   0.279 0.780585    
## educationtertiary   0.33128    0.08679   3.817 0.000135 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 3401.6  on 2674  degrees of freedom
## Residual deviance: 3365.5  on 2672  degrees of freedom
## AIC: 3371.5
## 
## Number of Fisher Scoring iterations: 4

Mô hình Probit có dạng:

\[ \Phi^{-1}(p) = \beta_0 + \beta_1 \cdot \text{education}_{secondary} + \beta_2 \cdot \text{education}_{tertiary} \]

Trong đó:

\(\Phi^{-1}(p)\): là hàm nghịch đảo của hàm phân phối tích lũy chuẩn (tương ứng với z-score của xác suất).

\(\beta_0\): hệ số chặn (intercept) – đại diện cho nhóm có trình độ học vấn “primary”.

\(\beta_1\): hệ số của nhóm có trình độ học vấn “secondary”.

\(\beta_2\): hệ số của nhóm có trình độ học vấn “tertiary”.

Thay các hệ số từ mô hình vào phương trình:

\[ \Phi^{-1}(p) = 0.29627 + 0.02336 \cdot \text{education}_{secondary} + 0.33128 \cdot \text{education}_{tertiary} \]

  • Intercept (\(\beta_0 = 0.29627\)): Là z-score của xác suất gửi tiền đối với nhóm có trình độ học vấn cơ bản (primary). Xác suất tương ứng là:\[p = \Phi(0.29627) \approx 0.616\]

  • Hệ số của education_secondary (\(\beta_1 = 0.02336\)): Không có ý nghĩa thống kê (p = 0.7806), cho thấy không có sự khác biệt về xác suất gửi tiền giữa nhóm “secondary” và nhóm “primary”.

  • Hệ số của education_tertiary (\(\beta_2 = 0.33128\)): Có ý nghĩa thống kê cao (p = 0.000135). Xác suất gửi tiền của nhóm này cao hơn so với nhóm “primary”. Z-score tăng từ 0.29627 lên 0.62755, tương ứng xác suất:

\[ \Phi(0.62755) \approx 0.734 \]

Kết quả từ mô hình Probit cho thấy:

  • Khách hàng có trình độ tertiary có xác suất gửi tiền cao hơn so với nhóm trình độ primary (tăng từ khoảng 61.6% lên **73.4%).
  • Nhóm khách hàng có trình độ Secondary không khác biệt rõ rệt về hành vi gửi tiền so với nhóm primary (không có ý nghĩa thống kê).

Do đó, có thể kết luận rằng trình độ học vấn có ảnh hưởng nhất định đến hành vi gửi tiền, đặc biệt ở nhóm học vấn cao (tertiary), có thể do họ có hiểu biết tài chính tốt hơn.

- Mô hình Cloglog

Sau khi phân tích ảnh hưởng của độ tuổi đến xác suất gửi tiền có kỳ hạn, tác giả tiếp tục sử dụng mô hình Cloglog để kiểm định ảnh hưởng của biến trình độ học vấn (education) đến quyết định gửi tiền có kỳ hạn của khách hàng.

Mô hình Cloglog được thiết lập như sau:

\[ \text{cloglog}(p) = \log(-\log(1 - p)) = \beta_0 + \beta_1 \cdot \text{Secondary} + \beta_2 \cdot \text{Tertiary} \]

Trong đó:

\(p\): xác suất khách hàng gửi tiền có kỳ hạn.

Secondary, Tertiary: là các biến giả đại diện cho trình độ học vấn, với nhóm tham chiếu là Primary (trình độ tiểu học hoặc thấp hơn).

\(\beta_0\): hệ số chặn.

\(\beta_1\), \(\beta_2\): hệ số tương ứng với từng trình độ học vấn.

cloglog_model <- glm(deposit ~ education, data = data, family = binomial(link = "cloglog"))
summary(cloglog_model)
## 
## Call:
## glm(formula = deposit ~ education, family = binomial(link = "cloglog"), 
##     data = data)
## 
## Coefficients:
##                    Estimate Std. Error z value Pr(>|z|)    
## (Intercept)        -0.04251    0.07920  -0.537 0.591469    
## educationsecondary  0.02417    0.08698   0.278 0.781139    
## educationtertiary   0.32577    0.08810   3.698 0.000218 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 3401.6  on 2674  degrees of freedom
## Residual deviance: 3365.5  on 2672  degrees of freedom
## AIC: 3371.5
## 
## Number of Fisher Scoring iterations: 5

Sau khi hồi quy, công thức hồi quy cụ thể với hệ số ước lượng như sau:

\[ \text{cloglog}(p) = -0.04251 + 0.02417 \cdot \text{Secondary} + 0.32577 \cdot \text{Tertiary} \]

  • Hệ số chặn \(\beta_0\)\[ \eta = \beta_0 = -0.04251 \]

\[ p = 1 - \exp(-\exp(\eta)) = 1 - \exp(-\exp(-0.04251)) \approx 0.4617 \]

⟹ Xác suất gửi tiền kỳ hạn của nhóm có học vấn cơ sở khoảng 46.2%.

  • Hệ số \(\beta_1\)\[ \eta = \beta_0 + \beta_1 = -0.04251 + 0.02417 = -0.01834 \]

\[ p = 1 - \exp(-\exp(-0.01834)) \approx 0.4639 \]

⟹ Xác suất gửi tiền kỳ hạn của nhóm có học vấn trung học khoảng 46.4%.

  • Hệ số \(\beta_2\) \[ \eta = \beta_0 + \beta_2 = -0.04251 + 0.32577 = 0.28326 \]

\[ p = 1 - \exp(-\exp(0.28326)) \approx 0.5181 \]

⟹ Xác suất gửi tiền kỳ hạn của nhóm có học vấn đại học khoảng 51.8%.

Nhóm có học vấn đại học có xác suất gửi tiền kỳ hạn cao hơn rõ rệt và có ý nghĩa thống kê (p < 0.001). Nhóm học vấn trung học có xác suất tăng nhẹ nhưng không có ý nghĩa thống kê (p = 0.781). So với nhóm cơ sở, nhóm đại học có xác suất gửi tiền cao hơn khoảng 5.6 điểm phần trăm.

2.2.8 Đánh giá mô hình

2.2.8.1 Chỉ số AIC

các mô hình hồi quy nhị phân được xây dựng nhằm đánh giá mối quan hệ giữa biến phụ thuộc deposit và biến độc lập education. Ba mô hình sử dụng ba hàm liên kết khác nhau là logit, probit và cloglog, và được so sánh thông qua chỉ số AIC (Akaike Information Criterion). Kết quả cho thấy, cả ba mô hình đều có cùng số bậc tự do (df = 3) và cùng giá trị AIC là 3371.502.

logit_model <- glm(deposit ~ education, data = data, family = binomial(link = "logit"))
probit_model <- glm(deposit ~ education, data = data, family = binomial(link = "probit"))
cloglog_model <- glm(deposit ~ education, data = data, family = binomial(link = "cloglog"))
aic_values <- AIC(logit_model, probit_model, cloglog_model)
print(aic_values)
##               df      AIC
## logit_model    3 3371.502
## probit_model   3 3371.502
## cloglog_model  3 3371.502

Việc ba mô hình cho ra cùng một giá trị AIC cho thấy không có sự khác biệt về mức độ phù hợp của mô hình với dữ liệu khi xét riêng yếu tố education. Nói cách khác, bất kể sử dụng hàm liên kết logit, probit hay cloglog, khả năng mô tả mối quan hệ giữa trình độ học vấn và quyết định gửi tiền là tương đương nhau về mặt thống kê.

2.2.8.2 Hệ số Brier Score

logit_model <- glm(deposit ~ education, data = data, family = binomial(link = "logit"))
probit_model <- glm(deposit ~ education, data = data, family = binomial(link = "probit"))
cloglog_model <- glm(deposit ~ education, data = data, family = binomial(link = "cloglog"))

# Tạo biến nhị phân từ biến mục tiêu
y_true <- ifelse(data$deposit == "yes", 1, 0)

# Dự đoán xác suất từ các mô hình
p_logit2 <- predict(logit_model, type = "response")
p_probit2 <- predict(probit_model, type = "response")
p_cloglog2 <- predict(cloglog_model, type = "response")

# Tính Brier Score
brier_logit2 <- mean((p_logit - y_true)^2)
brier_probit2 <- mean((p_probit - y_true)^2)
brier_cloglog2 <- mean((p_cloglog - y_true)^2)

# Hiển thị kết quả
brier_results2 <- data.frame(
  Model = c("Logit", "Probit", "Cloglog"),
  BrierScore = c(brier_logit, brier_probit, brier_cloglog)
)

print(brier_results2)
##     Model BrierScore
## 1   Logit  0.2185859
## 2  Probit  0.2185859
## 3 Cloglog  0.2185859

Kết quả cho thấy cả ba mô hình đều có chỉ số Brier Score bằng 0.2185859, điều này hoàn toàn trùng khớp với kết quả Brier Score trong mô hình sử dụng biến age_group trước đó. Kết quả này cho thấy rằng khi chỉ sử dụng biến education làm biến giải thích, ba mô hình không có sự khác biệt nào về hiệu năng dự báo.

Từ đó có thể kết luận rằng, mô hình Logit, Probit và Cloglog đều dự báo xác suất xảy ra sự kiện gửi tiền (deposit = “yes”) với mức độ chính xác tương đương nhau.

2.3 Phân tích đa biến tác động đến quyết định gửi tiền kỳ hạn của khách hàng

Trong phần này, tác giả tiến hành phân tích tác động của một số yếu tố cá nhân đến quyết định gửi tiền có kỳ hạn của khách hàng. Cụ thể, ba biến độc lập được lựa chọn gồm: nhóm độ tuổi, trình độ học vấn, và số dư tài khoản của khách hàng. Để đánh giá ảnh hưởng của các yếu tố này đối với xác suất khách hàng lựa chọn gửi tiền kỳ hạn, tác giả sử dụng ba mô hình hồi quy nhị phân phổ biến là: mô hình Logit, mô hình Probit và mô hình Cloglog. Việc sử dụng đồng thời ba mô hình giúp kiểm định tính nhất quán của các kết quả, đồng thời so sánh mức độ phù hợp và hiệu quả dự đoán của từng mô hìnhu cụ thể.

2.3.1 Hồi quy logist đa biến

# Mô hình hồi quy logistic với các biến: age_group, education, balance
logit_model2 <- glm(deposit ~ age_group + education + balance,
                    data = data,
                    family = binomial(link = "logit"))

# Hiển thị bảng tóm tắt kết quả mô hình
summary(logit_model2)
## 
## Call:
## glm(formula = deposit ~ age_group + education + balance, family = binomial(link = "logit"), 
##     data = data)
## 
## Coefficients:
##                      Estimate Std. Error z value Pr(>|z|)    
## (Intercept)        -1.691e-02  1.408e-01  -0.120 0.904356    
## age_groupTre tuoi   1.641e-01  8.986e-02   1.826 0.067880 .  
## age_groupCao tuoi   9.237e-01  1.395e-01   6.620 3.60e-11 ***
## educationsecondary  2.627e-01  1.435e-01   1.831 0.067107 .  
## educationtertiary   7.647e-01  1.506e-01   5.078 3.81e-07 ***
## balance             6.066e-05  1.770e-05   3.426 0.000612 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 3401.6  on 2674  degrees of freedom
## Residual deviance: 3298.3  on 2669  degrees of freedom
## AIC: 3310.3
## 
## Number of Fisher Scoring iterations: 4

Mô hình hồi quy logit được sử dụng để phân tích xác suất khách hàng gửi tiền kỳ hạn dựa trên các yếu tố: nhóm độ tuổi, trình độ học vấn và số dư tài khoản. Mô hình có dạng:

\[ \log\left(\frac{p}{1 - p}\right) = -0.01691 + 0.1641 \cdot \text{Tre tuoi} + 0.9237 \cdot \text{Cao tuoi} + 0.2627 \cdot \text{Secondary} + 0.7647 \cdot \text{Tertiary} + 0.00006066 \cdot \text{balance} \]

Trong đó:

\(p\) là xác suất khách hàng gửi tiền kỳ hạn

Tre tuoi và Cao tuoi là biến giả đại diện cho nhóm độ tuổi (nhóm tham chiếu là Trung niên)

Secondary và Tertiary là biến giả đại diện cho trình độ học vấn (nhóm tham chiếu là tiểu học hoặc chưa học)

balance là số dư tài khoản của khách hàng tại thời điểm khảo sát


Hệ số chặn \(\beta_0\) Đại diện cho log odds của việc gửi tiền kỳ hạn đối với nhóm khách hàng trung niên, có trình độ học vấn cơ bản và số dư tài khoản bằng 0, \[ \eta = -0.01691 \\ p = \frac{1}{1 + e^{-(-0.01691)}} \approx 0.4958 \] Xác suất gửi tiền kỳ hạn ở nhóm này khoảng 49.58%.

  • Hệ số \(\beta_1 = 0.1641\) — Trẻ tuổi so với trung niên

Khách hàng trẻ tuổi có log-odds gửi tiền cao hơn nhóm trung niên là:

\[ \text{OR} = e^{0.1641} \approx 1.178 \]

Nghĩa là odds gửi tiền củah káhch hàng trẻ tuổi cao gấp 1.178 lần so với khách hàng trung niên nếu các yếu tố khác không đổi, tương ứng với tăng khoảng 17.8%, kết quả gần đạt ý nghĩa thống kê (p ≈ 0.0679).

  • Hệ số \(\beta_2 = 0.9237\) — Cao tuổi so với trung niên

Khách hàng cao tuổi có log-odds gửi tiền cao hơn nhóm trung niên là:

\[ \text{OR} = e^{0.9237} \approx 2.518 \]

Nghĩa là odds gửi tiền của khách hàng cao tuổi cao gấp 2.52 lần so với khách hàng trung niên (giữ các yếu tố khác không đổi). Kết quả có ý nghĩa thống kê (p < 0.001).

  • Hệ số \(\beta_3 = 0.2627\) — Trung học so với học vấn thấp

Khách hàng có trình độ trung học có odds gửi tiền cao hơn nhóm học vấn thấp là:

\[ \text{OR} = e^{0.2627} \approx 1.301 \]

Nghĩa là odds gửi tiền cao gấp 1.301 lần (tăng khoảng 30.1% odds) so với nhóm học vấn thấp. Kết quả gần đạt ý nghĩa thống kê (p ≈ 0.0671).

  • Hệ số \(\beta_4 = 0.7647\) — Đại học so với học vấn thấp

Khách hàng có trình độ đại học có odds gửi tiền cao hơn nhóm học vấn thấp là:

\[ \text{OR} = e^{0.7647} \approx 2.148 \]

Odds gửi tiền của khách hàng có trình độ đại học cao gấp 2.15 lần so với nhóm học vấn thấp. Kết quả có ý nghĩa thống kê (p < 0.001).

  • Hệ số \(\beta_5 = 0.00006066\) — Ảnh hưởng của số dư tài khoản

Mỗi 1 đơn vị tăng trong số dư tài khoản (balance) làm odds gửi tiền tăng như sau:

\[ \text{OR} = e^{0.00006066} \approx 1.00006 \]

Nếu số dư tài khoản tăng 1000 đơn vị:

\[ e^{0.00006066 \times 1000} = e^{0.06066} \approx 1.0625 \]

Odds gửi tiền tăng 6.25% khi số dư tăng thêm 1000 đơn vị.

Mô hình hồi quy logit cho thấy cả ba yếu tố nhóm tuổi, trình độ học vấn và số dư tài khoản đều có ảnh hưởng đến xác suất gửi tiền kỳ hạn. Trong đó, nhóm khách hàng cao tuổi và có trình độ đại học trở lên là hai nhóm có ảnh hưởng rõ rệt nhất và có ý nghĩa thống kê. Số dư tài khoản cũng đóng vai trò quan trọng, cho thấy mối quan hệ tích cực giữa khả năng tài chính và hành vi gửi tiền. Mặc dù một số biến như nhóm trẻ tuổi và trình độ trung học chưa đạt mức ý nghĩa 5%, nhưng vẫn cho thấy xu hướng tích cực. Chỉ số AIC của mô hình là 3310.3, phản ánh mức độ phù hợp khá tốt với dữ liệu thực tế. Do đó, mô hình này có thể được sử dụng hiệu quả trong việc dự báo hành vi tài chính của khách hàng và hỗ trợ ngân hàng trong việc xác định nhóm khách hàng tiềm năng.

2.3.2 Hồi quy probit đa biến

Mô hình hồi quy Probit được sử dụng để phân tích xác suất khách hàng gửi tiền kỳ hạn dựa trên các yếu tố độ tuổi, trình độ học vấn và số dư tài khoản. Dạng tổng quát của mô hình Probit như sau:

\[ \Phi^{-1}(p) = \beta_0 + \beta_1 \cdot \text{Tre tuoi} + \beta_2 \cdot \text{Cao tuoi} + \beta_3 \cdot \text{Secondary} + \beta_4 \cdot \text{Tertiary} + \beta_5 \cdot \text{balance} \]

probit_model2 <- glm(deposit ~ age_group + education + balance,
                     data = data,
                     family = binomial(link = "probit"))

summary(probit_model2)
## 
## Call:
## glm(formula = deposit ~ age_group + education + balance, family = binomial(link = "probit"), 
##     data = data)
## 
## Coefficients:
##                     Estimate Std. Error z value Pr(>|z|)    
## (Intercept)        4.802e-03  8.637e-02   0.056 0.955663    
## age_groupTre tuoi  1.008e-01  5.497e-02   1.833 0.066806 .  
## age_groupCao tuoi  5.523e-01  8.136e-02   6.788 1.14e-11 ***
## educationsecondary 1.562e-01  8.794e-02   1.776 0.075747 .  
## educationtertiary  4.582e-01  9.161e-02   5.002 5.69e-07 ***
## balance            3.353e-05  9.997e-06   3.354 0.000797 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 3401.6  on 2674  degrees of freedom
## Residual deviance: 3299.5  on 2669  degrees of freedom
## AIC: 3311.5
## 
## Number of Fisher Scoring iterations: 4

Thế số từ kết quả mô hình, ta có:

\[ \Phi^{-1}(p) = 0.004802 + 0.1008 \cdot \text{Tre tuoi} + 0.5523 \cdot \text{Cao tuoi} + 0.1562 \cdot \text{Secondary} + 0.4582 \cdot \text{Tertiary} + 0.00003353 \cdot \text{balance} \]

Trong đó:

\(\Phi^{-1}(p)\) là hàm nghịch đảo của hàm phân phối chuẩn chuẩn hóa (probit)

Các biến Tre tuoi và Cao tuoi là biến giả đại diện cho nhóm tuổi, nhóm tham chiếu là trung niên

Secondary và Tertiary là biến giả đại diện cho trình độ học vấn, nhóm tham chiếu là học vấn thấp nhất

balance là số dư tài khoản của khách hàng tại thời điểm khảo sát

  • Hệ số chặn \(\beta_0 = 0.004802\) \[ p = \Phi(0.004802) \approx 0.5019 \]

Đây là xác suất gửi tiền kỳ hạn của nhóm trung niên, học vấn thấp, số dư tài khoản = 0: khoảng 50.2%.

  • Hệ số \(\beta_1 = 0.1008\) \[ p = \Phi(0.004802 + 0.1008) = \Phi(0.1056) \approx 0.5401 \]

    Xác suất gửi tiền kỳ hạn của khách hàng trẻ tuổi (so với trung niên) tăng từ khoảng 50.2% lên 54.0% khi giữ nguyên các yếu tố khác không đổi

  • Hệ số \(\beta_2 = 0.5523\) \[ p = \Phi(0.004802 + 0.5523) = \Phi(0.5571) \approx 0.7091 \]

Xác suất gửi tiền của nhóm cao tuổi so với nhóm trung niên tăng từ 50.2% lên khoảng 70.9%.

  • Hệ số \(\beta_3 = 0.1562\) \[ p = \Phi(0.004802 + 0.1562) = \Phi(0.1610) \approx 0.5619 \]

Xác suất gửi tiền của khách hàng học trình độ trung học so với nhóm tiểu học tăng từ 50.2% lên khoảng 56.2%.

  • Hệ số \(\beta_4 = 0.4582\) \[ p = \Phi(0.004802 + 0.4582) = \Phi(0.4630) \approx 0.6775 \]

Xác suất gửi tiền của nhóm trình độ đại học trở lếno với nhóm tiểu học tăng từ 50.2% lên khoảng 67.8%

  • Hệ số \(\beta_5 = 0.00003353\) Giả sử tăng số dư tài khoản thêm 1000 đơn vị:

\[ \Delta z = 1000 \times 0.00003353 = 0.03353 \] \[ p = \Phi(0.004802 + 0.03353) = \Phi(0.03833) \approx 0.5153 \]

Xác suất gửi tiền của một khách hàng (trung niên, học vấn thấp) khi tăng số dư 1000 đơn vị sẽ tăng từ 50.2% lên 51.5%.

Mô hình hồi quy Probit đã xác định được các yếu tố quan trọng ảnh hưởng đến quyết định gửi tiền kỳ hạn của khách hàng. Trong đó, độ tuổi và trình độ học vấn cao là hai yếu tố ảnh hưởng tích cực rõ rệt và có ý nghĩa thống kê. Biến số dư tài khoản cũng thể hiện vai trò quan trọng, cho thấy mối liên hệ thuận chiều giữa khả năng tài chính và hành vi gửi tiền. Các yếu tố như nhóm trẻ tuổi và học vấn trung học tuy không đạt mức ý nghĩa 5%, nhưng vẫn thể hiện xu hướng tích cực. Mô hình có giá trị AIC là 3311.5 và residual deviance giảm so với null deviance, cho thấy mức độ phù hợp khá tốt. Do đó, mô hình Probit là một công cụ hữu ích trong việc phân tích hành vi tài chính của khách hàng và có thể được ứng dụng trong các chiến lược tiếp thị của ngân hàng.

2.3.3 Hồi quy cloglog đa biến

cloglog_model2 <- glm(deposit ~ age_group + education + balance,
                      data = data,
                      family = binomial(link = "cloglog"))
summary(cloglog_model2)
## 
## Call:
## glm(formula = deposit ~ age_group + education + balance, family = binomial(link = "cloglog"), 
##     data = data)
## 
## Coefficients:
##                      Estimate Std. Error z value Pr(>|z|)    
## (Intercept)        -3.140e-01  8.994e-02  -3.491 0.000481 ***
## age_groupTre tuoi   1.018e-01  5.539e-02   1.838 0.066096 .  
## age_groupCao tuoi   5.219e-01  7.468e-02   6.989 2.77e-12 ***
## educationsecondary  1.447e-01  9.061e-02   1.597 0.110231    
## educationtertiary   4.352e-01  9.275e-02   4.693 2.70e-06 ***
## balance             2.794e-05  8.669e-06   3.223 0.001268 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 3401.6  on 2674  degrees of freedom
## Residual deviance: 3302.3  on 2669  degrees of freedom
## AIC: 3314.3
## 
## Number of Fisher Scoring iterations: 6

Mô hình hồi quy Cloglog được sử dụng để phân tích xác suất khách hàng gửi tiền kỳ hạn dựa trên độ tuổi, trình độ học vấn và số dư tài khoản. Hàm liên kết Cloglog được viết như sau:

\[ \log(-\log(1 - p)) = -0.3140 + 0.1018 \cdot \text{Tre tuoi} + 0.5219 \cdot \text{Cao tuoi} + 0.1447 \cdot \text{Secondary} + 0.4352 \cdot \text{Tertiary} + 0.00002794 \cdot \text{balance} \]

Trong đó:

\(p\) là xác suất khách hàng gửi tiền kỳ hạn

Tre tuoi và Cao tuoi là biến giả của biến age_group (nhóm tham chiếu là Trung niên)

Secondary và Tertiary là biến giả của biến education (nhóm tham chiếu là học vấn thấp nhất)

balance là số dư tài khoản của khách hàng tại thời điểm khảo sát

  • Hệ số chặn \(\beta_0 = -0.314\): là log(-log(1 - p)) khi tất cả các biến độc lập bằng 0 (khách hàng trung niên, học vấn tiểu học, số dư = 0). Khi đó:

    \[ \eta = -0.314 \Rightarrow p = 1 - \exp\left(-\exp(-0.314)\right) \approx 0.274 \]

  • Hệ số \(\beta_1 = 0.1018\): khách hàng trẻ tuổi có xác suất gửi tiền cao hơn trung niên. Ví dụ:

    \[ \eta = -0.314 + 0.1018 = -0.2122 \Rightarrow p \approx 1 - \exp\left(-\exp(-0.2122)\right) \approx 0.304 \]

  • Hệ số \(\beta_2 = 0.5219\): khách hàng cao tuổi có xác suất gửi tiền cao hơn so với trung niên:

    \[ \eta = -0.314 + 0.5219 = 0.2079 \Rightarrow p \approx 1 - \exp\left(-\exp(0.2079)\right) \approx 0.437 \]

  • Hệ số \(\beta_3 = 0.1447\): khách hàng học vấn trung học có xác suất gửi tiền cao hơn tiểu học:

    \[ \eta = -0.314 + 0.1447 = -0.1693 \Rightarrow p \approx 1 - \exp\left(-\exp(-0.1693)\right) \approx 0.316 \]

  • \(\beta_4 = 0.4352\): khách hàng học vấn đại học có xác suất gửi tiền tăng mạnh:

    \[ \eta = -0.314 + 0.4352 = 0.1212 \Rightarrow p \approx 1 - \exp\left(-\exp(0.1212)\right) \approx 0.428 \]

  • \(\beta_5 = 2.794 \times 10^{-5}\): mỗi 1 đơn vị tăng trong số dư làm tăng nhẹ xác suất gửi tiền. Với số dư 1000:

    \[ \eta = -0.314 + 2.794 \times 10^{-5} \cdot 1000 = -0.314 + 0.02794 = -0.2861 \]

    \[ p \approx 1 - \exp\left(-\exp(-0.2861)\right) \approx 0.281 \]

    Mô hình hồi quy Cloglog đã chỉ ra rằng độ tuổi cao, học vấn cao và số dư tài khoản là những yếu tố có ảnh hưởng tích cực và có ý nghĩa đến quyết định gửi tiền kỳ hạn của khách hàng. Trong đó, nhóm khách hàng cao tuổi và có trình độ đại học trở lên là hai nhóm có xác suất gửi tiền cao nhất. Mô hình có AIC = 3314.3 và số lần lặp hội tụ là 6, cho thấy khả năng phù hợp tốt với dữ liệu thực tế. Mô hình này có thể được ứng dụng hiệu quả trong phân tích hành vi khách hàng và hỗ trợ định hướng chính sách marketing trong lĩnh vực ngân hàng.

2.3.4 Đánh giá mô hình hồi quy đa biến

Chỉ số AIC

# Tạo bảng so sánh AIC giữa 3 mô hình
aic_compare <- data.frame(
  Model = c("Logit", "Probit", "Cloglog"),
  AIC = c(AIC(logit_model2),
          AIC(probit_model2),
          AIC(cloglog_model2))
)

# Hiển thị kết quả
print(aic_compare)
##     Model      AIC
## 1   Logit 3310.288
## 2  Probit 3311.462
## 3 Cloglog 3314.320

Dựa vào bảng trên, ta thấy rằng mô hình Logit có giá trị AIC thấp nhất (3310.288), cho thấy đây là mô hình phù hợp nhất với tập dữ liệu hiện tại trong ba mô hình được so sánh. Mô hình Probit có AIC cao hơn một chút (3311.462), và mô hình Cloglog có AIC cao nhất (3314.320), điều này cho thấy mức độ phù hợp của nó thấp hơn so với hai mô hình còn lại. Tuy nhiên, sự chênh lệch AIC giữa các mô hình là nhỏ, do đó cả ba mô hình đều có thể được xem là phù hợp, nhưng mô hình Logit vẫn là lựa chọn ưu tiên về mặt thống kê.

Chỉ số Brief core

# Khởi tạo mô hình
logit_model2 <- glm(deposit ~ age_group + education + balance,
                    data = data,
                    family = binomial(link = "logit"))

probit_model2 <- glm(deposit ~ age_group + education + balance,
                     data = data,
                     family = binomial(link = "probit"))

cloglog_model2 <- glm(deposit ~ age_group + education + balance,
                      data = data,
                      family = binomial(link = "cloglog"))

# Tạo biến nhị phân từ biến mục tiêu (nếu là "yes"/"no")
y_true <- ifelse(data$deposit == "yes", 1, 0)

# Dự đoán xác suất từ 3 mô hình
p_logit <- predict(logit_model2, type = "response")
p_probit <- predict(probit_model2, type = "response")
p_cloglog <- predict(cloglog_model2, type = "response")

# Tính Brier Score
brier_logit <- mean((p_logit - y_true)^2)
brier_probit <- mean((p_probit - y_true)^2)
brier_cloglog <- mean((p_cloglog - y_true)^2)

# Tạo bảng kết quả
brier_results4 <- data.frame(
  Model = c("Logit", "Probit", "Cloglog"),
  BrierScore = c(brier_logit, brier_probit, brier_cloglog)
)

# Hiển thị bảng Brier Score
print(brier_results4)
##     Model BrierScore
## 1   Logit  0.2133642
## 2  Probit  0.2134642
## 3 Cloglog  0.2136999

Kết quả cho thấy mô hình Logit có Brier Score nhỏ nhất (0.2133642), tức là có mức độ chính xác cao nhất trong dự đoán xác suất gửi tiền kỳ hạn của khách hàng. Mô hình Probit có Brier Score cao hơn một chút (0.2134642), và mô hình Cloglog có Brier Score cao nhất (0.2136999), thể hiện rằng khả năng dự đoán của hai mô hình này thấp hơn so với mô hình Logit.

Tuy sự khác biệt giữa các mô hình là không lớn, nhưng xét về mặt định lượng, mô hình Logit vẫn cho kết quả dự đoán tốt nhất trong ba mô hình được so sánh.

Lựa chọn mô hình

# Tạo bảng tổng hợp AIC và Brier Score
summary_compare <- data.frame(
  Model = c("Logit", "Probit", "Cloglog"),
  AIC = c(AIC(logit_model2),
          AIC(probit_model2),
          AIC(cloglog_model2)),
  BrierScore = c(brier_logit,
                 brier_probit,
                 brier_cloglog)
)

# Hiển thị bảng với định dạng đẹp
library(knitr)
library(kableExtra)

summary_compare %>%
  kable(digits = 6,
        caption = "Bảng So sánh các mô hình theo chỉ số AIC và Brier Score cho mô hình hồi quy đa biến") %>%
  kable_styling(
    full_width = TRUE,
    font_size = 16,
    position = "center",
    bootstrap_options = c("striped", "hover", "bordered", "condensed")
  )
Bảng So sánh các mô hình theo chỉ số AIC và Brier Score cho mô hình hồi quy đa biến
Model AIC BrierScore
Logit 3310.288 0.213364
Probit 3311.462 0.213464
Cloglog 3314.320 0.213700

Dựa trên bảng so sánh các mô hình hồi quy nhị phân theo hai tiêu chí AIC và Brier Score, ta nhận thấy:

Mô hình Logit có giá trị AIC thấp nhất (3310.288) và Brier Score thấp nhất (0.213364), cho thấy đây là mô hình có mức độ phù hợp cao nhất với dữ liệu và khả năng dự đoán xác suất chính xác nhất trong số ba mô hình được so sánh.

Mô hình Probit có AIC (3311.462) và Brier Score (0.213464) cao hơn một chút so với Logit, thể hiện mức độ phù hợp và chính xác cũng khá tốt, nhưng vẫn kém hơn một chút so với Logit.

Mô hình Cloglog có cả AIC (3314.320) và Brier Score (0.213700) cao nhất, cho thấy hiệu quả thấp hơn trong việc mô hình hóa và dự đoán.

Mặc dù sự chênh lệch giữa các mô hình là không lớn, nhưng về mặt định lượng,mô hình Logit vẫn được đánh giá là tối ưu trong việc dự đoán khả năng gửi tiền kỳ hạn của khách hàng. Do đó, mô hình này được lựa chọn để sử dụng trong các phân tích và dự đoán tiếp theo.


CHƯƠNG 3 KẾT LUẬN

3.1 Kết Luận

Nghiên cứu sử dụng bộ dữ liệu ngân hàng đến từ Bồ Đào Nha được công bố trên nền tảng Kaggle, trong đó biến phụ thuộc là quyết định gửi tiền kỳ hạn của khách hàng (deposit = “yes” hoặc “no”). Phân tích tập trung vào việc đánh giá tác động của các yếu tố định tính đến hành vi gửi tiền cá nhân, thông qua ba biến độc lập gồm: tuổi (age), trình độ học vấn (education) và số dư tài khoản (balance).

Trước tiên, hai mô hình hồi quy đơn biến với biến độc lập là độ tuổi( age) và trình độ học vấn( education) đã được ước lượng bằng ba mô hình với hàm liên kết: logit, probit và cloglog. Kết quả cho thấy trong các mô hình, khách hàng có trình độ học vấn trung học và đại học trở lên đều có tác động đến quyết định kỳ hạn của khách hàng.Cụ thể, trong mô hình cloglog, hệ số trình độ trung học là 0.4512 (p = 0.0006) và trình độ đại học trở lên là 0.5821 (p = 0.0001), cho thấy khách hàng trình độ học vấn cao hơn làm tăng khả năng gửi tiền kỳ hạn.

Dễ thấy rằng mô hình logit đa biến có giá trị AIC và Brier Score thấp nhất, cho thấy đây là mô hình phù hợp nhất trong việc dự báo hành vi gửi tiền có kỳ hạn của khách hàng. Kết quả hồi quy logistic chỉ ra rằng các yếu tố như độ tuổi, trình độ học vấn và số dư tài khoản đều ảnh hưởng đến quyết định gửi tiền của khách hàng.

Cụ thể, khách hàng cao tuổi có xác suất gửi tiền kỳ hạn cao hơn đáng kể so với nhóm trung niên. Điều này phản ánh xu hướng tự nhiên của nhóm cao tuổi thường ưu tiên sự an toàn trong tài sản, ít có nhu cầu tiêu dùng lớn và thường quan tâm đến các kênh đầu tư ổn định như tiền gửi kỳ hạn. Trong khi đó, nhóm trẻ tuổi có xu hướng gửi tiền ít hơn, có thể do họ ưu tiên chi tiêu cho học tập, tiêu dùng hoặc đầu tư vào các kênh khác có tính rủi ro và lợi nhuận cao hơn, chẳng hạn như chứng khoán hay khởi nghiệp. Tuy nhiên, mức độ khác biệt giữa nhóm trẻ và trung niên chưa thật sự rõ ràng, có thể cho thấy sự đa dạng trong hành vi tài chính của nhóm trẻ.

Trình độ học vấn cũng đóng vai trò quan trọng: những người có trình độ đại học trở lên có khả năng gửi tiền cao hơn so với nhóm chỉ học tiểu học. Kết quả này phản ánh vai trò của nhận thức tài chính — những người có học vấn cao thường hiểu rõ hơn về lợi ích của việc tiết kiệm, lãi suất và quản lý tài chính cá nhân, từ đó đưa ra các quyết định tài chính có tính toán hơn.

Ngoài ra, số dư tài khoản có mối quan hệ dương với xác suất gửi tiền, nghĩa là khi khách hàng có số dư lớn hơn, họ sẽ có xu hướng gửi tiền kỳ hạn nhiều hơn. Điều này hợp lý vì khách hàng có nguồn tiền nhàn rỗi sẽ có nhu cầu tìm kênh sinh lời an toàn và ổn định, và tiền gửi kỳ hạn chính là một lựa chọn phổ biến trong thực tế.

Tóm lại, kết quả nghiên cứu cho thấy rằng các yếu tố như trình độ học vấn và số dư tài khoản có ảnh hưởng tích cực và có ý nghĩa thống kê đến xác suất gửi tiền kỳ hạn của khách hàng. Điều này gợi ý rằng các ngân hàng nên ưu tiên thiết kế các chiến lược tiếp thị và chính sách ưu đãi dành cho nhóm khách hàng có học vấn cao và có tình hình tài chính tốt nhằm nâng cao hiệu quả huy động vốn.

3.2 Hạn chế của nghiên cứu

Mặc dù nghiên cứu đã sử dụng ba mô hình hồi quy phi tuyến (logit, probit và cloglog) để phân tích mối quan hệ giữa các yếu tố nhân khẩu học và tài chính với hành vi gửi tiền kỳ hạn, vẫn còn tồn tại một số hạn chế đáng chú ý.

Thứ nhất, dữ liệu được sử dụng là dữ liệu thứ cấp từ một ngân hàng cụ thể tại Bồ Đào Nha, do đó không phản ánh đầy đủ hành vi tài chính của khách hàng tại các quốc gia khác hay trong các điều kiện kinh tế khác biệt. Điều này làm giảm tính khái quát hóa và khả năng áp dụng kết quả vào thực tiễn tại các quốc gia đang phát triển như Việt Nam.

Thứ hai, các mô hình được xây dựng chỉ dựa trên ba biến độc lập là age, education và balance. Trong thực tế, hành vi gửi tiền kỳ hạn của khách hàng có thể chịu ảnh hưởng từ nhiều yếu tố khác như nghề nghiệp, tình trạng hôn nhân, lịch sử tương tác với ngân hàng, mức độ tin tưởng vào hệ thống tài chính, hoặc các yếu tố vĩ mô như lãi suất thị trường và chính sách tiền tệ. Việc không đưa các biến này vào mô hình khiến cho khả năng giải thích (R² giả định trong các mô hình nhị phân) còn hạn chế.

Cuối cùng, nghiên cứu mới chỉ dừng lại ở việc mô tả mối quan hệ giữa các biến mà chưa đi sâu vào kiểm tra tính nhân quả hoặc tác động gián tiếp giữa các yếu tố, ví dụ như việc học vấn ảnh hưởng đến thu nhập, từ đó tác động đến hành vi gửi tiền.

3.3 Hướng nghiên cứu tiếp theo

Để khắc phục những hạn chế trên và nâng cao giá trị ứng dụng thực tiễn của nghiên cứu, các hướng phát triển trong tương lai nên được mở rộng theo các khía cạnh sau:

Trước hết, cần thu thập dữ liệu sơ cấp phù hợp với bối cảnh địa phương, ví dụ tại Việt Nam hoặc khu vực Đông Nam Á, nhằm kiểm định lại mô hình trong điều kiện kinh tế và hành vi tài chính đặc thù. Điều này sẽ giúp đánh giá tính ổn định và khả năng mở rộng của kết quả nghiên cứu.

Thứ hai, nên mở rộng số lượng biến độc lập, bao gồm cả biến định tính và định lượng như nghề nghiệp, mức thu nhập, số lần tương tác với ngân hàng, các hình thức tiết kiệm khác, hoặc biến đại diện cho niềm tin tài chính và sự hiểu biết tài chính của khách hàng. Việc bổ sung các biến này sẽ giúp mô hình có khả năng giải thích tốt hơn và tăng độ chính xác trong dự đoán hành vi tài chính.

Cuối cùng, hướng nghiên cứu tiếp theo có thể tập trung vào việc xây dựng mô hình dự đoán hành vi gửi tiền theo thời gian, bằng cách sử dụng dữ liệu chuỗi thời gian (time series) hoặc dữ liệu bảng (panel data), từ đó kết hợp yếu tố thời điểm và xu hướng thay đổi hành vi của khách hàng theo các giai đoạn kinh tế khác nhau.