Tôi xin cam đoan rằng đề tài “Phân tích các yếu tố học thuật và kỹ năng ảnh hưởng đến cơ hội việc làm của sinh viên” là công trình nghiên cứu do chính tôi thực hiện. Các số liệu, kết quả phân tích và các nhận định trong đề tài là trung thực, có cơ sở khoa học, được thu thập và xử lý theo đúng quy trình nghiên cứu. Tôi khẳng định không sao chép, không vi phạm bản quyền của bất kỳ cá nhân hay tổ chức nào. Mọi trích dẫn trong đề tài đều được ghi rõ nguồn gốc. Tôi xin chịu hoàn toàn trách nhiệm về tính trung thực và nguyên bản của nội dung đề tài này.
Xin chân thành cảm ơn sự tin tưởng và cơ hội được thực hiện bài phân tích “Phân tích các yếu tố học thuật và kỹ năng ảnh hưởng đến cơ hội việc làm của sinh viên”. Sự định hướng rõ ràng và ý tưởng phân tích sắc bén đã là kim chỉ nam quan trọng giúp hoàn thiện báo cáo này một cách khoa học và có giá trị thực tiễn. Đồng thời, xin gửi lời cảm ơn đến cộng đồng mã nguồn mở R và các tác giả của những thư viện đã được sử dụng, những công cụ đã tạo điều kiện thuận lợi để quá trình phân tích dữ liệu trở nên hiệu quả và sâu sắc hơn.
Trong bối cảnh thị trường lao động ngày càng cạnh tranh, việc sinh viên sau khi tốt nghiệp tìm được một công việc phù hợp là một trong những mục tiêu quan trọng nhất của giáo dục đại học. Cơ hội việc làm không chỉ phản ánh chất lượng đào tạo của các trường mà còn là thước đo thành công ban đầu của mỗi cá nhân. Tuy nhiên, không phải mọi sinh viên đều có cơ hội việc làm như nhau. College Student Placement Factors Dataset là bộ dữ liệu thực tế thu thập từ 10000 sinh viên đại học về các yếu tố như năng lực học tập, kinh nghiệm thực tiễn qua thực tập, số lượng dự án đã hoàn thành, và đặc biệt là kỹ năng mềm như giao tiếp, đóng vai trò quyết định đến khả năng được tuyển dụng. Việc hiểu rõ mức độ ảnh hưởng của các yếu tố này sẽ cung cấp cơ sở khoa học giúp sinh viên định hướng phát triển bản thân và các cơ sở giáo dục tối ưu hóa chương trình đào tạo.
Trên thực tế, nhiều sinh viên vẫn tập trung quá nhiều vào thành tích học thuật trên giấy tờ mà chưa chú trọng đúng mức đến việc tích lũy kinh nghiệm thực tế hay trau dồi các kỹ năng cần thiết. Xuất phát từ những lý do trên, đề tài “Phân tích các yếu tố học thuật và kỹ năng ảnh hưởng đến cơ hội việc làm của sinh viên” được lựa chọn với kỳ vọng mang lại những phát hiện có giá trị, giúp sinh viên, nhà trường và cả nhà tuyển dụng có cái nhìn sâu sắc hơn về những yếu tố then chốt quyết định sự thành công trong tuyển dụng.
Mục tiêu của đề tài là phân tích các yếu tố học thuật và kỹ năng ảnh
hưởng đến quyết định tuyển dụng sinh viên. Cụ thể, nghiên cứu tập trung
vào việc xác định mối quan hệ giữa các yếu tố như năng lực học tập
(CGPA
), kinh nghiệm thực tập
(Internship_Experience
), kỹ năng giao tiếp
(Communication_Skills
), và số lượng dự án đã hoàn thành
(Projects_Completed
) với cơ hội việc làm
(Placement
). Trên cơ sở đó, đề tài tiến hành đánh giá mức
độ ảnh hưởng của từng yếu tố đến khả năng được tuyển dụng. Cuối cùng, từ
những phát hiện thực nghiệm, nghiên cứu đề xuất một số khuyến nghị cụ
thể dành cho sinh viên và các đơn vị đào tạo nhằm nâng cao khả năng cạnh
tranh trên thị trường lao động.
Đối tượng nghiên cứu của đề tài là cơ hội việc làm của sinh viên, cụ
thể là quyết định có hoặc không được tuyển dụng, được đo lường thông qua
biến định tính nhị phân Placement
trong tập dữ liệu. Bên
cạnh đó, đề tài xem xét các yếu tố học thuật và kỹ năng bao gồm
CGPA
, Internship_Experience
,
Communication_Skills
, và Projects_Completed
được giả định là các biến độc lập có khả năng ảnh hưởng đến cơ hội việc
làm.
College Student Placement Factors Dataset
được thu thập từ
trang kaggle.Trong nghiên cứu này, phương pháp định lượng được sử dụng nhằm phân
tích mối quan hệ giữa các yếu tố học thuật và kỹ năng
(CGPA
, Internship_Experience
,
Communication_Skills
, Projects_Completed
) với
quyết định tuyển dụng (Placement
).
Ngoài mục lục, danh mục chữ viết tắt, danh mục hình ảnh và bảng biểu, phụ lục cùng tài liệu tham khảo đề tài được chia thành ba chương chính:
Chương 1: Giới thiệu đề tài
Trình bày bối cảnh, lý do chọn đề tài, mục tiêu và câu hỏi nghiên cứu, đối tượng phạm vi nghiên cứu, phương pháp và kết cấu của đề tài.
Chương 2: Cơ sở lý thuyết và phương pháp nghiên cứu
Tổng hợp các khái niệm, lý thuyết liên quan đến các yếu tố ảnh hưởng đến cơ hội việc làm. Trình bày các phương pháp thống kê và mô hình định lượng được sử dụng trong phân tích.
Chương 3: Kết quả nghiên cứu
Phân tích dữ liệu thực nghiệm, trình bày kết quả từ các phương pháp thống kê và mô hình hồi quy, đánh giá mức độ ảnh hưởng của các yếu tố.
Chương 4: Kết luận
Kết luận và đề xuất một số khuyến nghị thực tiễn.
Cơ hội việc làm của sinh viên sau khi tốt nghiệp là một chủ đề phức hợp, chịu ảnh hưởng bởi nhiều yếu tố từ năng lực cá nhân đến điều kiện thị trường. Quyết định tuyển dụng của một doanh nghiệp không chỉ dựa trên kết quả học tập mà còn phụ thuộc vào kinh nghiệm thực tiễn và kỹ năng mềm của ứng viên.
Các đặc điểm học thuật và kỹ năng đóng vai trò quan trọng trong việc lý giải sự khác biệt về cơ hội việc làm giữa các sinh viên. Trong nghiên cứu này, các yếu tố được xem xét bao gồm:
CGPA
): Thể hiện qua
điểm số, phản ánh nền tảng kiến thức và khả năng tiếp thu của sinh viên.
Sinh viên có thành tích học tập tốt thường được nhà tuyển dụng ưu
tiên.Internship_Experience
): Yếu tố thể hiện sự cọ xát
với môi trường làm việc thực tế, giúp sinh viên tích lũy kinh nghiệm, kỹ
năng chuyên môn và hiểu biết về ngành.Communication_Skills
): Một trong những kỹ năng
mềm quan trọng nhất, ảnh hưởng trực tiếp đến khả năng trình bày ý tưởng,
làm việc nhóm và tạo dựng mối quan hệ trong công việc.Projects_Completed
): Phản ánh khả năng áp dụng
kiến thức vào giải quyết các vấn đề cụ thể, thể hiện sự chủ động và kinh
nghiệm thực hành của sinh viên.Mô hình hồi quy nhị phân là công cụ phổ biến được sử dụng để phân tích và dự báo xác suất xảy ra của một sự kiện nhị phân, trong đó biến phụ thuộc chỉ nhận giá trị 0 hoặc 1. Trong bối cảnh nghiên cứu này, biến phụ thuộc là cơ hội việc làm của sinh viên (1 = được tuyển dụng, 0 = không được tuyển dụng). Mục tiêu của các mô hình hồi quy nhị phân là ước lượng xác suất xảy ra sự kiện \(Y=1\) dựa trên các biến độc lập \(X_1, X_2, \dots, X_k\).
Dạng tổng quát của mô hình:
\[ P(Y = 1|X) = G(X\beta) \]
Trong đó:
Sử dụng hàm logistic:
\[ P(Y=1|X) = \frac{e^{X\beta}}{1 + e^{X\beta}} \]
Hàm logit giữ xác suất trong khoảng (0,1) và hệ số \(\beta\) được diễn giải thông qua log(Odds Ratio).
Sử dụng hàm phân phối tích lũy chuẩn hóa:
\[ P(Y=1|X) = \Phi(X\beta) \]
Phù hợp trong các trường hợp dữ liệu giả định có phân phối chuẩn ở sai số.
Sử dụng hàm:
\[ P(Y=1|X) = 1 - e^{-e^{X\beta}} \]
Phù hợp khi xác suất xảy ra sự kiện gần bằng 0 hoặc gần bằng 1.
Mô hình xác suất tuyến tính là một trường hợp đặc biệt của Mô hình Tuyến tính Tổng quát (Generalized Linear Model - GLM), trong đó hàm liên kết là hàm đồng nhất (identity link function). Công thức mô hình được biểu diễn như sau:
\[ P(Y = 1 \mid X) = X\beta \]
Trong đó:
Mô hình này cho phép diễn giải trực tiếp xác suất xảy ra sự kiện \(Y = 1\) như một hàm tuyến tính của các biến giải thích \(X\).
Ưu điểm của mô hình này là đơn giản, dễ ước lượng bằng phương pháp OLS và dễ diễn giải. Tuy nhiên, vì giá trị dự báo có thể nằm ngoài khoảng [0, 1], mô hình này thường không đảm bảo ý nghĩa xác suất. Điều này dẫn đến vi phạm giả định và độ chính xác thấp khi dự đoán hành vi nhị phân.
Trong GLM, mô hình xác suất tuyến tính vẫn được sử dụng như một bước tham chiếu ban đầu để so sánh với các mô hình logit, probit hoặc cloglog.
Các mô hình nhị phân như logit, probit và cloglog đều được ước lượng bằng phương pháp ước lượng hợp lý tối đa (MLE). Đây là phương pháp tìm giá trị tham số \(\beta\) sao cho xác suất tạo ra dữ liệu quan sát là cao nhất. Trong GLMs, hàm hợp lý được xây dựng dựa trên phân phối nhị thức và tối ưu hóa bằng các thuật toán như Newton-Raphson.
Trong các mô hình hồi quy nhị phân thuộc họ GLM như logit, probit và cloglog, tham số \(\beta\) không được ước lượng bằng phương pháp bình phương tối thiểu như trong hồi quy tuyến tính cổ điển, mà thay vào đó sử dụng phương pháp ước lượng hợp lý tối đa (Maximum Likelihood Estimation - MLE).
Phương pháp MLE tìm tập giá trị của \(\beta\) sao cho hàm hợp lý (likelihood function) đạt cực đại – nghĩa là, khả năng tạo ra bộ dữ liệu quan sát từ mô hình là cao nhất. Hàm hợp lý trong trường hợp nhị phân dựa trên phân phối nhị thức:
\[ L(\beta) = \prod_{i=1}^{n} [P_i]^{y_i} [1 - P_i]^{1 - y_i}, \quad \text{trong đó } P_i = G(X_i\beta) \]
Để đơn giản hóa tính toán, ta lấy log của hàm hợp lý để có log-likelihood:
\[ \log L(\beta) = \sum_{i=1}^{n} \left[ y_i \log P_i + (1 - y_i) \log(1 - P_i) \right] \]
Giải bài toán tối đa hóa log-likelihood bằng các thuật toán số học như Newton-Raphson hoặc Fisher Scoring, ta thu được ước lượng \(\hat{\beta}\).
Trong nghiên cứu xã hội, hai chỉ số phổ biến dùng để đo lường mối quan hệ giữa một đặc điểm và một kết quả là Relative Risk (RR) và Odds Ratio (OR). Các chỉ số này giúp đánh giá mức độ khác biệt về khả năng xảy ra một sự kiện giữa các nhóm có hoặc không có một đặc điểm nhất định (ví dụ: có kinh nghiệm thực tập hoặc không).
Relative Risk (RR) – hay còn gọi là nguy cơ tương đối – so sánh xác suất xảy ra sự kiện giữa hai nhóm:
\[ RR = \frac{P_1}{P_0} \]
Trong đó:
Diễn giải:
Odds Ratio (OR) đo lường tỷ lệ odds (khả năng xảy ra so với không xảy ra) giữa hai nhóm:
\[ OR = \frac{P_1 / (1 - P_1)}{P_0 / (1 - P_0)} = \frac{P_1 (1 - P_0)}{P_0 (1 - P_1)} \]
Trong mô hình hồi quy logistic, kết quả hồi quy chính là log(OR):
\[ \log(OR) = X\beta \]
Diễn giải:
# Đọc dữ liệu gốc
data_raw <- read.csv("C:/Users/PHAN THANH TRONG/Downloads/datamont2.csv")
# Xử lý và tạo biến mới theo yêu cầu
data <- data_raw |>
mutate(
# Tạo biến mới cho Communication_Skills theo 3 bậc
Communication_Level = case_when(
Communication_Skills < 5 ~ "Kém",
Communication_Skills >= 5 & Communication_Skills <= 7 ~ "Trung bình",
Communication_Skills >= 8 & Communication_Skills <= 10 ~ "Tốt"
),
# Tạo biến mới cho CGPA theo 4 bậc
CGPA = case_when(
Academic_Performance < 5 ~ "Yếu",
Academic_Performance >= 5 & Academic_Performance < 6.5 ~ "Trung bình",
Academic_Performance >= 6.5 & Academic_Performance < 8 ~ "Khá",
Academic_Performance >= 8 & Academic_Performance <= 10 ~ "Giỏi"
)
)
# Chuyển đổi các biến thành factor và sắp xếp thứ tự
data$CGPA <- factor(data$CGPA, levels = c("Yếu", "Trung bình", "Khá", "Giỏi"))
data$Communication_Level <- factor(data$Communication_Level, levels = c("Kém", "Trung bình", "Tốt"))
data$Internship_Experience <- as.factor(data$Internship_Experience)
data$Placement <- as.factor(data$Placement)
# Hiển thị cấu trúc của bộ dữ liệu sau khi xử lý
str(data[, c("CGPA", "Internship_Experience", "Communication_Level", "Projects_Completed", "Placement")])
## 'data.frame': 10000 obs. of 5 variables:
## $ CGPA : Factor w/ 4 levels "Yếu","Trung bình",..: 4 4 4 2 3 3 2 3 4 1 ...
## $ Internship_Experience: Factor w/ 2 levels "No","Yes": 1 1 1 2 1 1 1 1 1 1 ...
## $ Communication_Level : Factor w/ 3 levels "Kém","Trung bình",..: 3 3 1 2 3 3 3 1 3 3 ...
## $ Projects_Completed : int 4 0 1 1 2 0 2 2 5 1 ...
## $ Placement : Factor w/ 2 levels "No","Yes": 1 1 1 1 1 1 2 2 1 1 ...
Tên biến | Kiểu dữ liệu | Mô tả nội dung |
---|---|---|
CGPA |
Factor | Năng lực học tập được phân loại: “Yếu”, “Trung bình”, “Khá”, “Giỏi”. |
Internship_Experience |
Factor | Sinh viên có kinh nghiệm thực tập không? (Yes ,
No ) |
Communication_Level |
Factor | Kỹ năng giao tiếp được phân loại: “Kém”, “Trung bình”, “Tốt”. |
Projects_Completed |
Numeric | Số lượng dự án đã hoàn thành. |
Placement |
Factor | Sinh viên có được tuyển dụng không? (Yes ,
No ) |
Nhận xét
Bộ dữ liệu sau khi xử lý gồm 5 biến và 10000 quan sát, được chia thành hai nhóm: biến định lượng và biến định tính.
Projects_Completed
. Đây là biến rời rạc, đo lường số lượng
dự án, có thể sử dụng để so sánh giá trị trung bình giữa các nhóm.Placement
, và các biến độc lập
là CGPA
, Internship_Experience
,
Communication_Level
. Các biến này mang thông tin dạng danh
mục, phù hợp cho phân tích tần suất, kiểm định Chi-bình phương và các mô
hình hồi quy nhị phân.Dữ liệu được sử dụng trong nghiên cứu này tập trung vào các yếu tố có khả năng ảnh hưởng trực tiếp đến kết quả tuyển dụng của sinh viên.
Biến phụ thuộc chính trong mô hình là:
Placement
: Thể hiện sinh viên
có được tuyển dụng hay không, được mã hóa lại dưới dạng
nhị phân:
1
: nếu sinh viên được tuyển dụng (Placement =
“Yes”)0
: nếu sinh viên không được tuyển dụng (Placement =
“No”)Các biến độc lập được chọn lọc bao gồm:
CGPA
: Năng lực học tập (Yếu, Trung
bình, Khá, Giỏi)Internship_Experience
: Kinh nghiệm
thực tập (Yes/No)Communication_Level
: Kỹ năng giao tiếp
(Kém, Trung bình, Tốt)Projects_Completed
: Số lượng dự án đã
hoàn thành# Tạo bộ dữ liệu chỉ chứa các biến cần phân tích
data1 <- data %>%
dplyr::select(CGPA, Internship_Experience, Communication_Level, Projects_Completed, Placement)
# Đổi tên cột cho dễ đọc
colnames(data1) <- c("HocLuc", "ThucTap", "GiaoTiep", "SoDuAn", "TuyenDung")
# Xem trước dữ liệu mới
str(data1)
## 'data.frame': 10000 obs. of 5 variables:
## $ HocLuc : Factor w/ 4 levels "Yếu","Trung bình",..: 4 4 4 2 3 3 2 3 4 1 ...
## $ ThucTap : Factor w/ 2 levels "No","Yes": 1 1 1 2 1 1 1 1 1 1 ...
## $ GiaoTiep : Factor w/ 3 levels "Kém","Trung bình",..: 3 3 1 2 3 3 3 1 3 3 ...
## $ SoDuAn : int 4 0 1 1 2 0 2 2 5 1 ...
## $ TuyenDung: Factor w/ 2 levels "No","Yes": 1 1 1 1 1 1 2 2 1 1 ...
head(data1)
## HocLuc ThucTap GiaoTiep SoDuAn TuyenDung
## 1 Giỏi No Tốt 4 No
## 2 Giỏi No Tốt 0 No
## 3 Giỏi No Kém 1 No
## 4 Trung bình Yes Trung bình 1 No
## 5 Khá No Tốt 2 No
## 6 Khá No Tốt 0 No
Quy trình nghiên cứu được xây dựng theo các bước logic và tuần tự nhằm đảm bảo tính hệ thống, độ tin cậy và cơ sở khoa học trong phân tích dữ liệu.
grViz("
digraph research_flow {
graph [rankdir = TB]
node [shape = rectangle, style = filled, color = green, fontname = 'Times New Roman', fontsize = 16]
A [label = 'Bước 1: Tải & xử lý dữ liệu']
B [label = 'Bước 2: Thống kê mô tả\n(Phân tích đơn biến)']
C [label = 'Bước 3: Kiểm định Chi-square\n(Giữa biến phụ thuộc và các biến độc lập định tính)']
D [label = 'Bước 4: Phân tích cặp biến\n(Bảng tần số, biểu đồ, RR & OR)']
E [label = 'Bước 5: Ước lượng mô hình nhị phân\n(Logit, Probit, Cloglog, LMP)']
F [label = 'Bước 6: So sánh mô hình\n(AIC, ROC, Ma trận nhầm lẫn)']
G [label = 'Bước 7: Đề xuất & Khuyến nghị\n(Dựa trên kết quả mô hình)']
A -> B -> C -> D -> E -> F -> G
}
")
Biến cơ hội việc làm (TuyenDung)
Lập bảng tần số và tần suất
table(data1$TuyenDung)
##
## No Yes
## 8341 1659
prop.table(table(data1$TuyenDung))
##
## No Yes
## 0.8341 0.1659
Vẽ biểu đồ tròn
# Tạo bảng tần suất
placement_freq <- table(data1$TuyenDung)
placement_prop <- prop.table(placement_freq)
# Chuyển thành data frame để dùng ggplot2
placement_df <- as.data.frame(placement_prop)
colnames(placement_df) <- c("TuyenDung", "Proportion")
# Tính phần trăm để hiển thị nhãn
placement_df$Percent <- paste0(round(placement_df$Proportion * 100, 1), "%")
# Vẽ biểu đồ tròn bằng ggplot2
ggplot(placement_df, aes(x = "", y = Proportion, fill = TuyenDung)) +
geom_bar(stat = "identity", width = 1) +
coord_polar("y") +
geom_text(aes(label = Percent), position = position_stack(vjust = 0.5)) +
labs(title = "Tỷ lệ Tuyển dụng", x = NULL, y = NULL) +
theme_void()+
theme(plot.title = element_text(hjust = 0.5))
Nhận xét:
Nhìn chung, biểu đồ cho thấy tỷ lệ được tuyển dụng thấp hơn rất nhiều so với tỷ lệ không được tuyển dụng.
# Tạo bảng tần số cho HocLuc
freq_hocluc <- as.data.frame(table(data1$HocLuc))
colnames(freq_hocluc) <- c("HocLuc", "Count")
# Tính tỷ lệ phần trăm
freq_hocluc$Percent <- paste0(round(freq_hocluc$Count / sum(freq_hocluc$Count) * 100, 1), "%")
# Vẽ biểu đồ tròn với ggplot2
ggplot(freq_hocluc, aes(x = "", y = Count, fill = HocLuc)) +
geom_bar(stat = "identity", width = 1, color = "white") +
coord_polar("y") +
geom_text(aes(label = Percent),
position = position_stack(vjust = 0.5),
color = "black", size = 4) +
labs(title = "Tỷ lệ Học lực của sinh viên", x = NULL, y = NULL) +
theme_void() +
theme(
plot.title = element_text(hjust = 0.5, face = "bold"),
legend.title = element_text(face = "bold")
)
Nhận xét:
-Học lực yếu chiếm tỷ lệ cao nhất với 39,5%.
-Học lực giỏi chiếm tỷ lệ khá cao với 30,6%, chỉ đứng sau học lực yếu.
-Học lực trung bình chiếm 19,6%.
-Học lực khá chiếm tỷ lệ thấp nhất với 10,3%.
Từ các số liệu trên, có thể thấy rằng đa số sinh viên có học lực yếu hoặc giỏi, trong khi tỷ lệ sinh viên có học lực trung bình và khá lại thấp hơn đáng kể.
# Tạo bảng tần số cho ThucTap
freq_ThucTap <- as.data.frame(table(data1$ThucTap))
colnames(freq_ThucTap) <- c("ThucTap", "Count")
# Tính tỷ lệ phần trăm
freq_ThucTap$Percent <- paste0(round(freq_ThucTap$Count / sum(freq_ThucTap$Count) * 100, 1), "%")
# Vẽ biểu đồ tròn với ggplot2
ggplot(freq_ThucTap, aes(x = "", y = Count, fill = ThucTap)) +
geom_bar(stat = "identity", width = 1, color = "white") +
coord_polar("y") +
geom_text(aes(label = Percent),
position = position_stack(vjust = 0.5),
color = "black", size = 4) +
labs(title = "Tỷ lệ Thực tập của sinh viên", x = NULL, y = NULL) +
theme_void() +
theme(
plot.title = element_text(hjust = 0.5, face = "bold"),
legend.title = element_text(face = "bold")
)
Nhận xét:
-Tỷ lệ sinh viên không thực tập (No) chiếm đa số, với 60,4%.
-Tỷ lệ sinh viên có thực tập (Yes) chiếm thiểu số, với 39,6%.
Biểu đồ cho thấy sinh viên không tham gia thực tập chiếm đa số.
# Tạo bảng tần số cho GiaoTiep
freq_GiaoTiep <- as.data.frame(table(data1$GiaoTiep))
colnames(freq_GiaoTiep) <- c("GiaoTiep", "Count")
# Tính tỷ lệ phần trăm
freq_GiaoTiep$Percent <- paste0(round(freq_GiaoTiep$Count / sum(freq_GiaoTiep$Count) * 100, 1), "%")
# Vẽ biểu đồ tròn với ggplot2
ggplot(freq_GiaoTiep, aes(x = "", y = Count, fill = GiaoTiep)) +
geom_bar(stat = "identity", width = 1, color = "white") +
coord_polar("y") +
geom_text(aes(label = Percent),
position = position_stack(vjust = 0.5),
color = "black", size = 4) +
labs(title = "Tỷ lệ khả năng giao tiếp của sinh viên", x = NULL, y = NULL) +
theme_void() +
theme(
plot.title = element_text(hjust = 0.5, face = "bold"),
legend.title = element_text(face = "bold")
)
Nhận xét:
-Giao tiếp kém chiếm tỷ lệ cao nhất với 39.6%.
-Giao tiếp tốt chiếm tỷ lệ khá cao với 31.2%.
-Giao tiếp trung bình chiếm tỷ lệ thấp nhất với 29.2%.
Nhìn chung biểu đồ cho thấy số lượng sinh viên có khả năng giao tiếp kém chiếm một phần lớn, cao hơn so với tỷ lệ giao tiếp tốt và trung bình.
# Thống kê tóm tắt
summary(data1$SoDuAn)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.000 1.000 3.000 2.513 4.000 5.000
# Lập bảng tần số và tần suất để vẽ biểu đồ tròn
soduan_freq <- as.data.frame(table(data1$SoDuAn))
colnames(soduan_freq) <- c("SoDuAn", "Count")
# Tính toán phần trăm
soduan_freq <- soduan_freq %>%
mutate(Percent = paste0(round(Count / sum(Count) * 100, 1), "%"))
# Vẽ biểu đồ tròn
ggplot(soduan_freq, aes(x = "", y = Count, fill = SoDuAn)) +
geom_bar(stat = "identity", width = 1) +
coord_polar("y") +
geom_text(aes(label = Percent), position = position_stack(vjust = 0.5)) +
labs(title = "Tỷ lệ Phân bố Số dự án Hoàn thành", x = NULL, y = NULL, fill = "Số dự án") +
theme_void() +
theme(plot.title = element_text(hjust = 0.5))
Nhận xét:
-Tỷ lệ hoàn thành 0 dự án và 2 dự án là bằng nhau, cùng chiếm 16.9%.
-Tỷ lệ hoàn thành 5 dự án là cao nhất, chiếm 17%.
-Tỷ lệ hoàn thành 1 dự án chiếm 16.1%.
-Tỷ lệ hoàn thành 4 dự án chiếm 16.9%.
-Tỷ lệ hoàn thành 3 dự án chiếm 16.3%.
Nhìn chung, biểu đồ cho thấy tỷ lệ hoàn thành dự án được phân bố khá đều giữa các nhóm từ 0 đến 5 dự án với sự chênh lệch không đáng kể giữa các nhóm.
Trong phần này, kiểm định Chi-bình phương (Chi-squared test) được sử
dụng để xác định mối liên hệ thống kê giữa cơ hội việc làm
(TuyenDung
) và các biến độc lập định tính:
HocLuc
, ThucTap
, và GiaoTiep
.
Giả thuyết kiểm định
H0: Không có mối liên hệ giữa năng lực học tập và cơ hội việc làm.
H1: Có mối liên hệ giữa năng lực học tập và cơ hội việc làm.
table_hoc_luc <- table(data1$HocLuc, data1$TuyenDung)
chisq_hoc_luc <- chisq.test(table_hoc_luc)
print(chisq_hoc_luc)
##
## Pearson's Chi-squared test
##
## data: table_hoc_luc
## X-squared = 8.5428, df = 3, p-value = 0.03603
Kết quả kiểm định: Với p-value = 0.03603 < 0.05, ta bác bỏ giả thuyết H0. Có mối liên hệ ý nghĩa thống kê giữa năng lực học tập và cơ hội việc làm.
Giả thuyết kiểm định - H0: Không có mối liên hệ giữa kinh nghiệm thực tập và cơ hội việc làm. - H1: Có mối liên hệ giữa kinh nghiệm thực tập và cơ hội việc làm.
table_thuc_tap <- table(data1$ThucTap, data1$TuyenDung)
chisq_thuc_tap <- chisq.test(table_thuc_tap)
print(chisq_thuc_tap)
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: table_thuc_tap
## X-squared = 0.30979, df = 1, p-value = 0.5778
Kết quả kiểm định: Với p-value = 0.5778 > 0.05, ta chấp nhận giả thuyết H0. Không có mối liên hệ ý nghĩa thống kê giữa kinh nghiệm thực tập và cơ hội việc làm.
Giả thuyết kiểm định
H0: Không có mối liên hệ giữa kỹ năng giao tiếp và cơ hội việc làm.
H1: Có mối liên hệ giữa kỹ năng giao tiếp và cơ hội việc làm.
table_giao_tiep <- table(data1$GiaoTiep, data1$TuyenDung)
chisq_giao_tiep <- chisq.test(table_giao_tiep)
print(chisq_giao_tiep)
##
## Pearson's Chi-squared test
##
## data: table_giao_tiep
## X-squared = 1691.5, df = 2, p-value < 2.2e-16
Kết quả kiểm định: Với p-value = 2.2e-16 < 0.05, ta bác bỏ giả thuyết H0. Có mối liên hệ ý nghĩa thống kê giữa kỹ năng giao tiếp và cơ hội việc làm.
Giả thuyết kiểm định
H0: Không có mối liên hệ giữa Số dự án đã hoàn thành và cơ hội việc làm.
H1: Có mối liên hệ giữa Số dự án đã hoàn thành và cơ hội việc làm.
t_test_soduan <- t.test(SoDuAn ~ TuyenDung, data = data1)
t_test_soduan
##
## Welch Two Sample t-test
##
## data: SoDuAn by TuyenDung
## t = -27.213, df = 3011.9, p-value < 2.2e-16
## alternative hypothesis: true difference in means between group No and group Yes is not equal to 0
## 95 percent confidence interval:
## -1.075535 -0.930965
## sample estimates:
## mean in group No mean in group Yes
## 2.346961 3.350211
Kết quả kiểm định: Với p-value = 2.2e-16 < 0.05, ta bác bỏ giả thuyết H0. Có mối liên hệ ý nghĩa thống kê giữa số dự án đã hoàn thành và cơ hội việc làm.
Tổng kết kiểm định: Có ba biến độc lập
(HocLuc
, Soduan
, GiaoTiep
) là có
mối liên hệ có ý nghĩa thống kê với biến phụ thuộc
TuyenDung
. Chúng ta sẽ tiếp tục phân tích sâu hơn các mối
quan hệ này.
table_hocluc_2 <- table(data1$HocLuc, data1$TuyenDung)
kable(table_hocluc_2, caption = "Bảng tần số chéo giữa Học lực và Tuyển dụng")
No | Yes | |
---|---|---|
Yếu | 3253 | 700 |
Trung bình | 1660 | 304 |
Khá | 878 | 149 |
Giỏi | 2550 | 506 |
ggplot(data1, aes(x = HocLuc, fill = TuyenDung)) +
geom_bar(position = "fill") +
labs(title = "Tỷ lệ được Tuyển dụng theo Năng lực Học tập",
x = "Phân loại Học lực", y = "Tỷ lệ") +
theme_minimal() +
theme(plot.title = element_text(hjust = 0.5))
Nhận xét:
-Tỷ lệ không được tuyển dụng (No) chiếm phần lớn trong tất cả các nhóm học lực (Yếu, Trung bình, Khá, Giỏi).
-Tỷ lệ được tuyển dụng (Yes) ở các nhóm học lực là tương đối giống nhau, dao động trong khoảng từ 15% đến 20%. Không có sự khác biệt rõ rệt về tỷ lệ được tuyển dụng giữa sinh viên có học lực Yếu, Trung bình, Khá và Giỏi.
-Tỷ lệ được tuyển dụng của sinh viên Yếu và Giỏi cao hơn một chút so với sinh viên Trung bình và Khá, nhưng sự chênh lệch này là không đáng kể.
Tóm lại biểu đồ cho thấy năng lực học tập không phải là yếu tố có ảnh hưởng mạnh mẽ đến tỷ lệ được tuyển dụng.
Giả thuyết kiểm định
Giả thuyết H0: Tỷ lệ sinh viên học lực “Giỏi” được tuyển dụng là 20%.
Giả thuyết H1: Tỷ lệ sinh viên học lực “Giỏi” được tuyển dụng khác 20%.
# Lọc nhóm học lực Giỏi
hocluc_gioi_data <- subset(data1, HocLuc == "Giỏi")
# Tính số lượng và số người được tuyển dụng
n_hocluc_gioi <- nrow(hocluc_gioi_data)
n_tuyendung_gioi <- sum(hocluc_gioi_data$TuyenDung == "Yes")
# Kiểm định tỷ lệ
prop.test(x = n_tuyendung_gioi, n = n_hocluc_gioi, p = 0.2, alternative = "two.sided")
##
## 1-sample proportions test with continuity correction
##
## data: n_tuyendung_gioi out of n_hocluc_gioi, null probability 0.2
## X-squared = 22.419, df = 1, p-value = 2.192e-06
## alternative hypothesis: true p is not equal to 0.2
## 95 percent confidence interval:
## 0.1526607 0.1793412
## sample estimates:
## p
## 0.1655759
Kết luận: Với p-value = 2.192e-06 < 0.05, đủ cơ sở bác bỏ giả thuyết H0. Tỷ lệ sinh viên học lực “Giỏi” được tuyển dụng khác 20%.
# Tạo biến nhóm: Giỏi và Không Giỏi
data1$HocLuc_Nhom <- ifelse(data1$HocLuc == "Giỏi", "Giỏi", "Không Giỏi")
# Tạo ma trận tần số
mat_hocluc <- table(data1$HocLuc_Nhom, data1$TuyenDung)
kable(mat_hocluc, caption="Bảng 2x2 cho RR và OR (Học lực)")
No | Yes | |
---|---|---|
Giỏi | 2550 | 506 |
Không Giỏi | 5791 | 1153 |
# Tính RR và OR
rr_hocluc <- riskratio(t(mat_hocluc))
or_hocluc <- oddsratio(t(mat_hocluc))
kable(rr_hocluc$measure, caption = "Relative Risk (RR) - Học lực Giỏi vs. Không Giỏi")
estimate | lower | upper | |
---|---|---|---|
No | 1.000000 | NA | NA |
Yes | 1.001031 | 0.9666841 | 1.036598 |
kable(or_hocluc$measure, caption = "Odds Ratio (OR) - Học lực Giỏi vs. Không Giỏi")
estimate | lower | upper | |
---|---|---|---|
No | 1.000000 | NA | NA |
Yes | 1.003208 | 0.8952356 | 1.125509 |
Kết quả:
Relative Risk (RR) = 1.001: Tỷ lệ được tuyển dụng của sinh viên học lực “Giỏi” chỉ lớn hơn 0.1% so với các sinh viên còn lại.
Odds Ratio (OR) = 1.003: Xác suất được tuyển dụng của một sinh viên học lực “Giỏi” chỉ lớn hơn 0.3% so với các sinh viên khác.
Kết luận: Cả hai chỉ số đều cho thấy năng lực học tập ở mức “Giỏi” không phải là lợi thế làm tăng cơ hội việc làm của sinh viên.
table_giaotiep_2 <- table(data1$GiaoTiep, data1$TuyenDung)
kable(table_giaotiep_2, caption = "Bảng tần số chéo giữa Kỹ năng Giao tiếp và Tuyển dụng")
No | Yes | |
---|---|---|
Kém | 3696 | 264 |
Trung bình | 2752 | 169 |
Tốt | 1893 | 1226 |
ggplot(data1, aes(x = GiaoTiep, fill = TuyenDung)) +
geom_bar(position = "fill") +
labs(title = "Tỷ lệ được Tuyển dụng theo Kỹ năng Giao tiếp",
x = "Phân loại Kỹ năng Giao tiếp", y = "Tỷ lệ") +
theme_minimal() +
theme(plot.title = element_text(hjust = 0.5))
Nhận xét:
-Có sự khác biệt rõ rệt về tỷ lệ được tuyển dụng (Yes) giữa nhóm giao tiếp Tốt so với hai nhóm còn lại. Tỷ lệ được tuyển dụng của nhóm Kém và Trung bình là rất thấp chỉ khoảng 5-10%. Ngược lại tỷ lệ được tuyển dụng của nhóm Tốt cao hơn rất nhiều, chiếm khoảng 40%.
-Biểu đồ cho thấy kỹ năng giao tiếp có ảnh hưởng rất lớn đến cơ hội được tuyển dụng. Sinh viên có kỹ năng giao tiếp tốt có tỷ lệ được tuyển dụng cao hơn đáng kể so với sinh viên có kỹ năng giao tiếp kém hoặc trung bình.
Tác giả muốn kiểm tra xem tỷ lệ tuyển dụng của nhóm sinh viên có kỹ năng giao tiếp “Tốt” có bằng 50% hay không.
Giả thuyết kiểm định
Giả thuyết H0: Tỷ lệ sinh viên có kỹ năng giao tiếp “Tốt” được tuyển dụng là 50%.
Giả thuyết H1: Tỷ lệ sinh viên có kỹ năng giao tiếp “Tốt” được tuyển dụng khác 50%.
# Lọc nhóm giao tiếp Tốt
giaotiep_tot_data <- subset(data1, GiaoTiep == "Tốt")
# Tính số lượng và số người được tuyển dụng
n_giaotiep_tot <- nrow(giaotiep_tot_data)
n_tuyendung_tot <- sum(giaotiep_tot_data$TuyenDung == "Yes")
# Kiểm định tỷ lệ
prop.test(x = n_tuyendung_tot, n = n_giaotiep_tot, p = 0.5, alternative = "two.sided")
##
## 1-sample proportions test with continuity correction
##
## data: n_tuyendung_tot out of n_giaotiep_tot, null probability 0.5
## X-squared = 142.21, df = 1, p-value < 2.2e-16
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
## 0.3759160 0.4104989
## sample estimates:
## p
## 0.3930747
Kết luận: Với p-value = 2.2e-16 < 0.05, đủ cơ sở bác bỏ giả thuyết H0. Tỷ lệ sinh viên có kỹ năng giao tiếp “Tốt” được tuyển dụng khác 50%.
# Tạo biến nhóm: Tốt và Không Tốt
data1$GiaoTiep_Nhom <- ifelse(data1$GiaoTiep == "Tốt", "Tốt", "Không Tốt")
# Tạo ma trận tần số
mat_giaotiep <- table(data1$GiaoTiep_Nhom, data1$TuyenDung)
kable(mat_giaotiep, caption="Bảng 2x2 cho RR và OR (Kỹ năng giao tiếp)")
No | Yes | |
---|---|---|
Không Tốt | 6448 | 433 |
Tốt | 1893 | 1226 |
# Tính RR và OR
rr_giaotiep <- riskratio(t(mat_giaotiep))
or_giaotiep <- oddsratio(t(mat_giaotiep))
kable(rr_giaotiep$measure, caption = "Relative Risk (RR) - Giao tiếp Tốt vs. Không Tốt")
estimate | lower | upper | |
---|---|---|---|
No | 1.000000 | NA | NA |
Yes | 3.256204 | 3.100954 | 3.419227 |
kable(or_giaotiep$measure, caption = "Odds Ratio (OR) - Giao tiếp Tốt vs. Không Tốt")
estimate | lower | upper | |
---|---|---|---|
No | 1.00000 | NA | NA |
Yes | 9.63959 | 8.548094 | 10.88796 |
Kết quả:
Relative Risk (RR) = 3.26: Tỷ lệ được tuyển dụng của sinh viên có kỹ năng giao tiếp “Tốt” cao hơn 3.26 lần so với các sinh viên còn lại.
Odds Ratio (OR) = 9.64: Xác suất được tuyển dụng của một sinh viên có kỹ năng giao tiếp “Tốt” cao hơn 9.64 lần so với các sinh viên khác.
Kết luận: Kỹ năng giao tiếp tốt cũng là một yếu tố cực kỳ quan trọng giúp tăng cơ hội việc làm của sinh viên.
table_soduan_2 <- table(data1$SoDuAn, data1$TuyenDung)
kable(table_soduan_2, caption = "Bảng tần số chéo giữa Số dự án và Tuyển dụng")
No | Yes | |
---|---|---|
0 | 1643 | 45 |
1 | 1576 | 33 |
2 | 1274 | 407 |
3 | 1238 | 389 |
4 | 1312 | 381 |
5 | 1298 | 404 |
ggplot(data1, aes(x = as.factor(SoDuAn), fill = TuyenDung)) +
geom_bar(position = "fill") +
labs(title = "Tỷ lệ được Tuyển dụng theo Số dự án Hoàn thành",
x = "Số lượng Dự án", y = "Tỷ lệ") +
theme_minimal() +
theme(plot.title = element_text(hjust = 0.5))
Nhận xét:
-Tỷ lệ được tuyển dụng (Yes) tăng lên rõ rệt khi số dự án hoàn thành tăng từ 1 lên 2. Với 0 và 1 dự án, tỷ lệ được tuyển dụng là rất thấp gần như bằng 0. Từ 2 dự án trở lên, tỷ lệ được tuyển dụng tăng lên và duy trì ở mức khoảng 25%.
-Số dự án hoàn thành có ảnh hưởng rõ rệt đến tỷ lệ được tuyển dụng. Việc hoàn thành từ 2 dự án trở lên dường như là một ngưỡng quan trọng để tăng cơ hội được tuyển dụng.
Để kiểm tra giả thuyết về giá trị trung bình của số dự án, tác giả thực hiện kiểm định t một mẫu. Ta kiểm tra xem số dự án trung bình của nhóm sinh viên được tuyển dụng có bằng 3 hay không.
Giả thuyết kiểm định
Giả thuyết H0: Số dự án trung bình của nhóm được tuyển dụng là 3.
Giả thuyết H1: Số dự án trung bình của nhóm được tuyển dụng khác 3.
tuyendung_yes_data <- subset(data1, TuyenDung == "Yes")
t.test(tuyendung_yes_data$SoDuAn, mu = 3, alternative = "two.sided")
##
## One Sample t-test
##
## data: tuyendung_yes_data$SoDuAn
## t = 11.101, df = 1658, p-value < 2.2e-16
## alternative hypothesis: true mean is not equal to 3
## 95 percent confidence interval:
## 3.288334 3.412088
## sample estimates:
## mean of x
## 3.350211
Kết luận: Với p-value < 0.05, đủ cơ sở bác bỏ giả thuyết H0. Số dự án trung bình của nhóm được tuyển dụng khác 3.
Sau khi khám phá mối liên hệ giữa cơ hội việc làm với từng biến độc lập, bước tiếp theo là xây dựng mô hình hồi quy logistic nhằm đánh giá đồng thời tác động của các yếu tố này đến khả năng được tuyển dụng của sinh viên.
Mô hình hồi quy logistic sử dụng hàm liên kết logit để mô hình hóa log-odds của cơ hội việc làm. Cụ thể, mô hình có dạng:
\[ \log\left( \frac{P(\text{TuyenDung} = \text{Yes})}{1 - P(\text{TuyenDung} = \text{Yes})} \right) = \beta_0 + \beta_1 \cdot \text{HocLuc} + \beta_2 \cdot \text{GiaoTiep} + \beta_3 \cdot \text{SoDuAn} \]
Giả thuyết kiểm định
Với từng biến độc lập, ta thực hiện kiểm định:
Mức ý nghĩa thống kê được sử dụng là 5% (α = 0.05). Nếu p-value < 0.05, ta bác bỏ giả thuyết H₀.
# Đặt lại nhóm tham chiếu để diễn giải
data1$HocLuc <- relevel(data1$HocLuc, ref = "Yếu")
data1$GiaoTiep <- relevel(data1$GiaoTiep, ref = "Kém")
# Hồi quy đa biến
model_logit <- glm(TuyenDung ~ HocLuc + GiaoTiep + SoDuAn,
data = data1, family = binomial(link="logit"))
# Tóm tắt kết quả
summary(model_logit)
##
## Call:
## glm(formula = TuyenDung ~ HocLuc + GiaoTiep + SoDuAn, family = binomial(link = "logit"),
## data = data1)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -4.01796 0.10417 -38.572 <2e-16 ***
## HocLucTrung bình -0.07115 0.08599 -0.827 0.408
## HocLucKhá -0.17006 0.11199 -1.518 0.129
## HocLucGiỏi -0.01557 0.07388 -0.211 0.833
## GiaoTiepTrung bình -0.14439 0.10329 -1.398 0.162
## GiaoTiepTốt 2.40783 0.07747 31.079 <2e-16 ***
## SoDuAn 0.45806 0.01993 22.978 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 8986.5 on 9999 degrees of freedom
## Residual deviance: 6797.7 on 9993 degrees of freedom
## AIC: 6811.7
##
## Number of Fisher Scoring iterations: 5
Mô hình hồi quy logistic được xây dựng nhằm phân tích xác suất sinh
viên được tuyển dụng (TuyenDung
= Yes) dựa trên các biến
định tính: năng lực học tập (HocLuc
), kinh nghiệm thực tập
(ThucTap
), kỹ năng giao tiếp (GiaoTiep
) và
biến định lượng là số dự án đã hoàn thành (SoDuAn
). Mức ý
nghĩa được sử dụng là 5% (α = 0.05).
Bảng tổng hợp các biến có ý nghĩa thống kê (kèm Odds Ratio)
Biến | Nhóm so sánh | Hệ số (β) | p-value | Odds Ratio (e^β) | Diễn giải chi tiết |
---|---|---|---|---|---|
Giao tiếp | Tốt (vs Kém) | 2.40783 | < 0.001 | 11.11 | Khả năng được tuyển dụng cao hơn 11.11 lần so với nhóm Giao tiếp Kém. |
Số dự án | Tăng 1 dự án | 0.45806 | < 0.001 | 1.58 | Khả năng được tuyển dụng tăng 1.58 lần (tức là 58%) khi số dự án tăng thêm 1. |
Kết luận
Kết quả hồi quy logistic cho thấy học lực không có ảnh hưởng có ý nghĩa thống kê đến xác suất được tuyển dụng (p > 0.05 ở tất cả các mức độ).
Trong khi đó, kỹ năng giao tiếp tốt và số lượng dự án đã hoàn thành lại có ảnh hưởng tích cực và rõ rệt đến khả năng được tuyển (p < 0.001).
Điều này cho thấy rằng nhà tuyển dụng trong tập dữ liệu này có xu hướng ưu tiên năng lực thực tiễn và kỹ năng mềm hơn là thành tích học tập.
Mô hình hồi quy Probit sử dụng hàm liên kết là phân phối
chuẩn tích lũy \(\Phi(\cdot)\)
để mô phỏng xác suất sinh viên được tuyển dụng (TuyenDung
=
Yes) dựa trên các biến độc lập.
Mô hình có dạng:
\[ P(\text{TuyenDung}_i = 1 \mid X_i) = \Phi(\beta_0 + \beta_1 \cdot \text{HocLuc}_i + \beta_2 \cdot \text{GiaoTiep}_i + \beta_3 \cdot \text{SoDuAn}_i) \]
Giả thuyết kiểm định
Mức ý nghĩa sử dụng là \(\alpha = 0.05\). Nếu p-value < 0.05, bác bỏ \(H_0\).
# Hồi quy Probit đa biến
model_probit <- glm(TuyenDung ~ HocLuc + GiaoTiep + SoDuAn,
data = data1, family = binomial(link = "probit"))
summary(model_probit)
##
## Call:
## glm(formula = TuyenDung ~ HocLuc + GiaoTiep + SoDuAn, family = binomial(link = "probit"),
## data = data1)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -2.274263 0.053839 -42.242 <2e-16 ***
## HocLucTrung bình -0.042472 0.047559 -0.893 0.372
## HocLucKhá -0.080092 0.061573 -1.301 0.193
## HocLucGiỏi -0.005425 0.040969 -0.132 0.895
## GiaoTiepTrung bình -0.068599 0.050778 -1.351 0.177
## GiaoTiepTốt 1.337116 0.040831 32.747 <2e-16 ***
## SoDuAn 0.259088 0.010840 23.901 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 8986.5 on 9999 degrees of freedom
## Residual deviance: 6795.3 on 9993 degrees of freedom
## AIC: 6809.3
##
## Number of Fisher Scoring iterations: 6
Intercept: \(\beta_0 = -2.274263\)
Khi tất cả các biến độc lập ở mức tham chiếu (Học lực Kém, Giao tiếp Kém và Số dự án bằng 0), giá trị z-score cơ bản là -2.274263. Giá trị này nằm xa về phía trái của phân phối chuẩn, tương ứng với một xác suất được tuyển dụng rất thấp.
GiaoTiepTốt: \(\beta_5 = 1.337116\)
Khi Giao tiếp là Tốt thay vì Kém, z-score tăng 1.337116 đơn vị. Sự gia tăng đáng kể này làm cho xác suất được tuyển dụng tăng cao hơn rõ rệt và kết quả có ý nghĩa thống kê rất cao (\(p < 0.001\)).
SoDuAn: \(\beta_6 = 0.259088\)
Khi số dự án hoàn thành tăng thêm 1, z-score tăng 0.259088 đơn vị. Dù đây là một mức tăng nhỏ, nhưng tác động tích lũy qua nhiều dự án sẽ rất đáng kể. Kết quả này có ý nghĩa thống kê rất cao (\(p < 0.001\)).
Kết luận:
Kết quả mô hình Probit cho thấy các biến độc lập có ảnh hưởng nhất quán với mô hình Logit. Các yếu tố kỹ năng giao tiếp và số dự án đều có tác động tích cực đến cơ hội việc làm của sinh viên. Các hệ số dương cho thấy những đặc điểm này làm tăng chỉ số Z, từ đó làm tăng xác suất được tuyển dụng.
Mô hình hồi quy Cloglog sử dụng hàm liên kết complementary log-log, phù hợp với các hiện tượng có xác suất tăng không đối xứng.
Mô hình có dạng:
\[ P(\text{TuyenDung}_i = 1 \mid X_i) = 1 - \exp(-\exp(X_i\beta)) \]
Giả thuyết kiểm định
# Hồi quy Cloglog đa biến
model_cloglog <- glm(TuyenDung ~ HocLuc + GiaoTiep + SoDuAn,
data = data1, family = binomial(link = "cloglog"))
summary(model_cloglog)
##
## Call:
## glm(formula = TuyenDung ~ HocLuc + GiaoTiep + SoDuAn, family = binomial(link = "cloglog"),
## data = data1)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -3.71588 0.08901 -41.748 <2e-16 ***
## HocLucTrung bình -0.05100 0.06991 -0.729 0.466
## HocLucKhá -0.14446 0.09187 -1.572 0.116
## HocLucGiỏi -0.01877 0.05966 -0.315 0.753
## GiaoTiepTrung bình -0.13995 0.09859 -1.419 0.156
## GiaoTiepTốt 2.05742 0.06839 30.084 <2e-16 ***
## SoDuAn 0.35681 0.01603 22.259 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 8986.5 on 9999 degrees of freedom
## Residual deviance: 6829.0 on 9993 degrees of freedom
## AIC: 6843
##
## Number of Fisher Scoring iterations: 6
Intercept (β₀ = -3.71588)
Khi tất cả các biến độc lập đều ở mức tham chiếu (Học lực =
Kém, Giao tiếp = Kém, Số dự án = 0), giá trị
cloglog cơ bản là -3.72
.
Theo công thức:
\[ p = 1 - e^{-e^{\eta}}, \]
giá trị âm lớn khiến \(\eta\) rất nhỏ ⇒ \(p\) gần bằng 0, tức là xác suất được tuyển rất thấp.
GiaoTiepTốt (β₅ = 2.05742)
Khi Giao tiếp = Tốt (so với Kém), cloglog tăng
mạnh 2.06 đơn vị.
\(\eta\) tăng đáng kể, \(p = 1 - e^{-e^{\eta}}\) tiến nhanh đến 1
thì xác suất tuyển dụng tăng mạnh, rất có ý nghĩa thống
kê (p < 0.001).
SoDuAn (β₆ = 0.35681)
Mỗi 1 dự án tăng thêm làm cloglog tăng 0.36 đơn
vị.
có ý nghĩa thống kê rất cao (p < 0.001). Với nhiều dự án hơn, \(\eta\) tăng thì \(p\) tăng tương ứng.
Kết luận:
Tương tự hai mô hình trước, mô hình Cloglog khẳng định rằng yếu tố kỹ năng giao tiếp và số dự án hoàn thành có ảnh hưởng tích cực đến cơ hội việc làm. Các hệ số dương cho thấy học lực, kinh nghiệm thực tập, kỹ năng giao tiếp và số dự án đều làm tăng “tỷ lệ nguy cơ” (hazard rate) được tuyển dụng.
Mô hình hồi quy xác suất tuyến tính (LPM) ước lượng trực tiếp xác suất được tuyển dụng bằng mô hình hồi quy tuyến tính thông thường.
Công thức mô hình:
\[ P(\text{TuyenDung}_i = 1 \mid X_i) = \beta_0 + \beta_1 \cdot \text{HocLuc}_i + \beta_2 \cdot \text{GiaoTiep}_i + \beta_3 \cdot \text{SoDuAn}_i + \epsilon_i \]
Giả thuyết kiểm định
# Mô hình LMP
model_glm <- glm(formula = TuyenDung ~ HocLuc + GiaoTiep + SoDuAn,
data = data1,
family = binomial(link = "logit"))
summary(model_glm)
##
## Call:
## glm(formula = TuyenDung ~ HocLuc + GiaoTiep + SoDuAn, family = binomial(link = "logit"),
## data = data1)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -4.01796 0.10417 -38.572 <2e-16 ***
## HocLucTrung bình -0.07115 0.08599 -0.827 0.408
## HocLucKhá -0.17006 0.11199 -1.518 0.129
## HocLucGiỏi -0.01557 0.07388 -0.211 0.833
## GiaoTiepTrung bình -0.14439 0.10329 -1.398 0.162
## GiaoTiepTốt 2.40783 0.07747 31.079 <2e-16 ***
## SoDuAn 0.45806 0.01993 22.978 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 8986.5 on 9999 degrees of freedom
## Residual deviance: 6797.7 on 9993 degrees of freedom
## AIC: 6811.7
##
## Number of Fisher Scoring iterations: 5
Hệ số chặn (Intercept):
Khi sinh viên có các đặc điểm tham chiếu (Học lực Yếu, Giao tiếp
Kém, và không hoàn thành dự án nào), tỷ lệ log-odds được tuyển dụng
là -4.01796.
Mặc dù giá trị này có ý nghĩa thống kê cao (p < 2e−16), việc chuyển
đổi trực tiếp sang xác suất không đơn giản và cần được xem xét cùng với
các biến khác.
GiaoTiepTốt:
Khi sinh viên có kỹ năng giao tiếp Tốt thay vì Kém,
log-odds được tuyển dụng tăng 2.40783.
Sự thay đổi này có ý nghĩa thống kê rất cao (p <
2e−16).
Điều này cho thấy sinh viên có kỹ năng giao tiếp Tốt có cơ hội
được tuyển dụng cao hơn đáng kể so với sinh viên giao tiếp
Kém.
SoDuAn:
Khi số dự án hoàn thành tăng thêm 1, log-odds được
tuyển dụng tăng 0.45806.
Sự thay đổi này có ý nghĩa thống kê rất cao (p <
2e−16).
Điều này cho thấy việc hoàn thành mỗi dự án làm tăng cơ hội được
tuyển dụng một cách đáng kể.
Kết luận từ mô hình LMP:
Mô hình LMP cung cấp một cách diễn giải trực tiếp và dễ hiểu về tác động của các yếu tố. Kết quả cho thấy kỹ năng giao tiếp và số dự án hoàn thành làm tăng xác suất được tuyển dụng.
aic_results <- data.frame(
Model = c("Logit", "Probit", "Cloglog"),
AIC = c(AIC(model_logit), AIC(model_probit), AIC(model_cloglog))
)
kable(aic_results, caption="So sánh chỉ số AIC của các mô hình")
Model | AIC |
---|---|
Logit | 6811.717 |
Probit | 6809.256 |
Cloglog | 6843.030 |
Nhận xét: Ba mô hình có chỉ số AIC rất gần nhau. Mô hình Probit có AIC thấp nhất (6809.256), cho thấy đây là mô hình phù hợp nhất về mặt cân bằng giữa độ chính xác và độ phức tạp.
conf_matrix <- function(model, data, cutoff = 0.5) {
predicted_prob <- predict(model, newdata = data, type = "response")
predicted_class <- ifelse(predicted_prob >= cutoff, "Yes", "No")
actual_class <- data$TuyenDung
table(Predicted = predicted_class, Actual = actual_class)
}
cm_logit <- conf_matrix(model_logit, data1)
kable(cm_logit, caption="Ma trận nhầm lẫn - Mô hình Logit")
No | Yes | |
---|---|---|
No | 7870 | 1095 |
Yes | 471 | 564 |
Nhận xét: Mô hình Logit dự đoán đúng 7870 trường hợp “No” và 564 trường hợp “Yes”. Độ chính xác chung là (7870+564)/10000 = 84.34%. Tuy nhiên chỉ dự đoán đúng 564 trên 1035 ứng viên được tuyển thực tế, điều này cho thấy mô hình bỏ sót khá nhiều ứng viên tiềm năng.
# ROC cho Logit
probs_logit <- predict(model_logit, type = "response")
roc_logit <- roc(response = data1$TuyenDung, predictor = probs_logit)
auc_logit <- auc(roc_logit)
# ROC cho Probit
probs_probit <- predict(model_probit, type = "response")
roc_probit <- roc(response = data1$TuyenDung, predictor = probs_probit)
auc_probit <- auc(roc_probit)
# ROC cho Cloglog
probs_cloglog <- predict(model_cloglog, type = "response")
roc_cloglog <- roc(response = data1$TuyenDung, predictor = probs_cloglog)
auc_cloglog <- auc(roc_cloglog)
# Vẽ chung 3 đường ROC
plot(roc_logit, col = "blue", main = "So sánh đường cong ROC của các mô hình")
lines(roc_probit, col = "green")
lines(roc_cloglog, col = "red")
legend("bottomright", legend=c("Logit", "Probit", "Cloglog"), col=c("blue", "green", "red"), lwd=2)
# Bảng AUC
auc_table <- data.frame(Model = c("Logit", "Probit", "Cloglog"),
AUC = round(c(auc_logit, auc_probit, auc_cloglog), 4))
kable(auc_table, caption="So sánh chỉ số AUC")
Model | AUC |
---|---|
Logit | 0.8297 |
Probit | 0.8298 |
Cloglog | 0.8296 |
Nhận xét:
Cả ba mô hình Logit, Probit và Cloglog đều có đường cong ROC nằm rõ ràng trên đường ngẫu nhiên và chỉ số AUC xấp xỉ 0.83, cho thấy khả năng phân biệt tốt giữa các ứng viên được tuyển và không được tuyển.
Dựa trên các tiêu chí đánh giá gồm: chỉ số AIC, ma trận nhầm lẫn, và đường cong ROC cùng diện tích AUC, có thể đưa ra các nhận định sau:
Dựa trên ba tiêu chí đánh giá mô hình gồm: chỉ số AIC, ma trận nhầm lẫn, và diện tích dưới đường cong ROC (AUC), mô hình Probit được xem là phù hợp nhất trong nghiên cứu này.
Bài phân tích đã tiến hành phân tích khả năng được tuyển dụng của sinh viên thông qua các mô hình hồi quy nhị phân, bao gồm Logit, Probit, Cloglog và mô hình xác suất tuyến tính (LPM). Dữ liệu đầu vào là các biến định tính và định lượng thể hiện đặc điểm học thuật và kỹ năng của sinh viên.
Kết quả phân tích cho thấy các biến độc lập có ảnh hưởng đến xác suất sinh viên được tuyển dụng là sinh viên có kỹ năng giao tiếp tốt và hoàn thành nhiều dự án có cơ hội việc làm cao hơn các sinh viên còn lại.
Qua so sánh các mô hình hồi quy nhận thấy mô hình Probit có chỉ số AIC thấp nhất (6809.256) và đồng thời cho kết quả dự báo hợp lý với độ chính xác phân loại chấp nhận được (AUC ≈ 0.83). Do đó, mô hình Probit được lựa chọn là mô hình phù hợp nhất để tiến hành dự báo xác suất tuyển dụng trong bộ dữ liệu nghiên cứu.
Từ kết quả nghiên cứu, có thể rút ra một số hàm ý quan trọng cho các bên liên quan:
Mặc dù nghiên cứu đã cung cấp những kết quả hữu ích, đề tài vẫn tồn tại một số hạn chế nhất định.
Thứ nhất, dữ liệu được sử dụng trong nghiên cứu mang tính cắt ngang, do đó không phản ánh được sự phát triển kỹ năng và kiến thức của sinh viên theo thời gian.
Thứ hai, mô hình chỉ xem xét một số biến đã cho mà chưa tính đến các yếu tố quan trọng khác có thể ảnh hưởng đến việc làm như ngành học, danh tiếng của trường, hoặc các yếu tố kinh tế xã hội.
Dựa trên các hạn chế đã nêu, đề tài có thể được mở rộng và phát triển theo một số hướng sau:
Thứ nhất, mở rộng quy mô dữ liệu bằng cách bổ sung thêm các biến định lượng và định tính có tính giải thích cao như ngành học, điểm IQ, điểm hoạt động ngoại khóa để phản ánh đầy đủ hơn năng lực của ứng viên.
Thứ hai, nghiên cứu có thể xây dựng các mô hình phân tích nâng cao hơn, như mô hình phi tuyến, mô hình tương tác hoặc ứng dụng các thuật toán học máy (machine learning) để phát hiện các mối quan hệ phức tạp và cải thiện độ chính xác trong phân loại.
Thứ ba, đề tài nên thực hiện kiểm định độ phù hợp mô hình chặt chẽ hơn, như kiểm định hiện tượng đa cộng tuyến, hay kiểm định độ chính xác phân loại với các ngưỡng khác nhau để đảm bảo độ tin cậy của kết quả thống kê.