library(tidyverse)
library(DT)
library(scales)
library(psych)
library(knitr)
library(kableExtra)
library(DescTools)
library(epitools)
library(AER)
library(dplyr)
Bộ dữ liệu CPS1985 (Current Population Survey 1985) là một tập dữ liệu điều tra cá nhân được trích xuất từ Khảo sát Dân số Hiện hành tại Hoa Kỳ. Dữ liệu này cung cấp thông tin về mức lương theo giờ cùng các đặc điểm nhân khẩu học và nghề nghiệp của 534 cá nhân đang làm việc, bao gồm giới tính, chủng tộc, trình độ học vấn, kinh nghiệm, tuổi, tình trạng hôn nhân, nghề nghiệp và khu vực làm việc.
data("CPS1985")
k<-CPS1985
datatable(k,options = list(scrollX = TRUE)) #bật cuộn ngang
names(k)
## [1] "wage" "education" "experience" "age" "ethnicity"
## [6] "region" "gender" "occupation" "sector" "union"
## [11] "married"
Bộ dữ liệu với các biến định tính
Ta thực hiện tạo 1 dataframe mới chỉ chứa các biến định tính, ta gán data mới này vào object với tên k_cat.
cat<- c("ethnicity", "region","gender", "occupation", "sector","union", "married")
k_cat<-k[, cat]
# Thay đổi giá trị của biến `card`và owner
k_cat$married <- dplyr::recode(k_cat$married, "yes" = "M" , "no" = "S")
datatable(k_cat,options = list(scrollX = TRUE))
Để có cái nhìn tổng quan về cấu trúc của bộ dữ liệu, bao gồm số lượng quan sát, số lượng biến, kiểu dữ liệu của từng biến và một số giá trị điển hình, ta sử dụng hàm str() như sau:
str(k) #Cấu trúc trong dữ liệu
## 'data.frame': 534 obs. of 11 variables:
## $ wage : num 5.1 4.95 6.67 4 7.5 ...
## $ education : num 8 9 12 12 12 13 10 12 16 12 ...
## $ experience: num 21 42 1 4 17 9 27 9 11 9 ...
## $ age : num 35 57 19 22 35 28 43 27 33 27 ...
## $ ethnicity : Factor w/ 3 levels "cauc","hispanic",..: 2 1 1 1 1 1 1 1 1 1 ...
## $ region : Factor w/ 2 levels "south","other": 2 2 2 2 2 2 1 2 2 2 ...
## $ gender : Factor w/ 2 levels "male","female": 2 2 1 1 1 1 1 1 1 1 ...
## $ occupation: Factor w/ 6 levels "worker","technical",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ sector : Factor w/ 3 levels "manufacturing",..: 1 1 1 3 3 3 3 3 1 3 ...
## $ union : Factor w/ 2 levels "no","yes": 1 1 1 1 1 2 1 1 1 1 ...
## $ married : Factor w/ 2 levels "no","yes": 2 2 1 1 2 1 1 1 2 1 ...
Qua kết quả của hàm str(), ta thấy bộ dữ liệu trong nghiên cứu là CPS1985 (Current Population Survey 1985), bao gồm thông tin của 534 người đang tham gia thị trường lao động tại Hoa Kỳ. Dữ liệu được thu thập nhằm mục đích khảo sát các yếu tố nhân khẩu học và kinh tế – xã hội ảnh hưởng đến thu nhập của người lao động. Tập dữ liệu chứa tổng cộng 11 biến, bao gồm cả biến định lượng và biến định tính, cụ thể như sau:
Các biến định lượng:
wage: Mức lương theo giờ của cá nhân (tính bằng đô la Mỹ), là biến mục tiêu quan trọng trong nghiên cứu về thu nhập.
education: Tổng số năm học chính quy của cá nhân, phản ánh trình độ học vấn.
experience: Số năm kinh nghiệm làm việc.
age: Tuổi hiện tại của cá nhân.
Các biến định tính:
ethnicity: Chủng tộc, được phân thành ba nhóm chính (ví dụ: “cauc”, “hispanic”, “other”).
region: Khu vực sinh sống, gồm hai mức: miền Nam (south) và các khu vực khác (other).
gender: Giới tính của cá nhân, bao gồm nam và nữ.
occupation: Nhóm ngành nghề chính, được chia thành sáu loại khác nhau.
sector: Khu vực kinh tế nơi cá nhân làm việc, với ba mức như khu vực sản xuất, khu vực công, và khu vực khác.
union: Tình trạng tham gia công đoàn, có hai mức là “có” và “không”.
married: Tình trạng hôn nhân, gồm hai mức là độc thân (S) và đã kết hôn (M).
Nhằm có được cái nhòn tổng quan về bộ dữ liệu ta sử dụng hàm head() và taid() để xem một số dòng đầu và dòng cuối của bộ dữ liệu Current Population Survey 1985:
head(k) #hiển thị vài dòng đầu
## wage education experience age ethnicity region gender occupation
## 1 5.10 8 21 35 hispanic other female worker
## 1100 4.95 9 42 57 cauc other female worker
## 2 6.67 12 1 19 cauc other male worker
## 3 4.00 12 4 22 cauc other male worker
## 4 7.50 12 17 35 cauc other male worker
## 5 13.07 13 9 28 cauc other male worker
## sector union married
## 1 manufacturing no yes
## 1100 manufacturing no yes
## 2 manufacturing no no
## 3 other no no
## 4 other no yes
## 5 other yes no
tail(k) #hiển thị vào dòng cuối
## wage education experience age ethnicity region gender occupation
## 528 11.79 16 6 28 cauc other female technical
## 529 11.36 18 5 29 cauc other male technical
## 530 6.10 12 33 51 other other female technical
## 531 23.25 17 25 48 other other female technical
## 532 19.88 12 13 31 cauc south male technical
## 533 15.38 16 33 55 cauc other male technical
## sector union married
## 528 other yes no
## 529 other no no
## 530 other no yes
## 531 other yes yes
## 532 other yes yes
## 533 manufacturing no yes
Nhằm đảm bảo chất lượng dữ liệu và tránh sai lệch trong quá trình phân tích, ta cần kiểm tra xem bộ dữ liệu có chứa giá trị thiếu (NA) hay không. Điều này giúp xác định liệu có cần xử lý hoặc làm sạch dữ liệu trước khi tiếp tục phân tích:
if (any(is.na(k))) {
cat("Có giá trị thiếu trong dữ liệu.\n")
} else {
cat("Không có giá trị thiếu trong dữ liệu.\n")
}
## Không có giá trị thiếu trong dữ liệu.
Với đoạn code trên nếu trong bộ dữ liệu có bất kì dữ liệu nào thiếu thì kết quả sẽ nhận được là có giá trị thiếu trong dữ liệu và ngược lại.
Với bộ dữ liệu được gán cho k nhận được kết quả là Không có giá trị thiếu trong dữ liệu. Điều này cho thấy dữ liệu không có ô trống hay giá trị bị thiếu trong toàn bộ bộ dữ liệu. Đây là điều kiện để tiến hành các phân tích tiếp theo mà không cần thực hiện bước xử lý giá trị thiếu.
Ta thực hiện thống kê tần số và tần suất cho biến ethnicity được kết quả như sau:
Thống kê tần suất
ethnicity_1<-table(k_cat$ethnicity)
ethnicity_1
##
## cauc hispanic other
## 440 27 67
ethnicity_2<-table(k_cat$ethnicity)/sum(nrow(k_cat))*100 #tần suất
ethnicity_2
##
## cauc hispanic other
## 82.39700 5.05618 12.54682
Trực quan hóa dữ liệu
c <- as.data.frame(table(k_cat$ethnicity)) #chuyển kết quả thành bảng dữ liệu (data.frame) với 2 cột
colnames(c) <- c("ethnicity", "Count")
ggplot(c, aes(x = ethnicity, y = Count, fill = ethnicity)) +
geom_bar(stat = "identity") +
labs(title = "Biểu đồ biểu thị chủng tộc", x = "Chủng tộc", y = "Số lượng") +
theme_minimal() +
theme(text = element_text(family = "sans"))
pie(ethnicity_2,
labels = paste(names(ethnicity_2), round(ethnicity_2, 2), "%"),
main = "Tỷ lệ chủng tộc")
Nhận xét
Biểu đồ cho thấy nhóm chủng tộc Caucasian (người da tắng) chiếm ưu thế rõ rệt với 440 người 82.4% chiếm tỷ lệ cao nhất trong 3 nhóm. Nhóm other đứng thứ hai với 67 người, trong khi Hispanic (Mỹ latinh) chỉ có 27 người. Sự chênh lệch này cho thấy mẫu khảo sát có xu hướng nghiêng nhiều về một nhóm chủng tộc nhất định, có thể ảnh hưởng đến kết quả nghiên cứu nếu mục tiêu là phản ánh sự đa dạng chủng tộc.
Ta thực hiện thống kê tần số và tần suất cho biến region được kết quả như sau
Thống kê tần suất
region_1<-table(k_cat$region)
region_1
##
## south other
## 156 378
region_2<-table(k_cat$region)/sum(nrow(k_cat))*100 #tần suất
region_2
##
## south other
## 29.21348 70.78652
Trực quan hóa dữ liệu
region_1 <- k_cat |>
group_by(region) |>
summarise(freq = n()) |>
mutate(per = freq / sum(freq),
label = paste0(freq, " (", round(per * 100, 1), "%)"))
ggplot(region_1 , aes(x = "", y = per, fill = region)) +
geom_col(width = 1, color = "white") +
coord_polar("y") +
geom_text(aes(label = paste0(round(per*100, 2), "%")),
position = position_stack(vjust = 0.5),
size = 2.5) +
scale_fill_brewer(palette = "Pastel1") + # Bạn có thể chọn Set1, Set2...
labs(title = "Tỷ lệ người sinh sống ở các khu vực", fill = "Khu vực") +
theme_void()
Nhận xét
Kết quả biểu đồ cho thấy đa số người dân sinh sống tại các khu vực ngoài miền Nam chiếm khoảng 70.79%, trong khi chỉ có 29.21% cư trú tại khu vực miền Nam. Điều này cho thấy sự phân bố dân cư trong mẫu có phần nghiêng về các vùng ngoài miền Nam.
Ta thực hiện thống kê tần số và tần suất cho biến region được kết quả như sau
Thống kê tần suất
gender_1<-table(k_cat$gender)
gender_1
##
## male female
## 289 245
gender_2<-table(k_cat$gender)/sum(nrow(k_cat))*100 #tần suất
gender_2
##
## male female
## 54.11985 45.88015
Trực quan hóa dữ liệu
cols <- c("lightblue","lightpink")
# Nhãn phần trăm
gender_2bd<- paste0( round(gender_2, 2), "%")
# Vẽ pie
pie(
gender_2 ,
labels = NA,
main = "Tần suất biến giới tính",
col = cols,
border = "white")
# Thêm legend
legend(
x ="topright",
legend = paste(names(gender_2 ),gender_2bd),
fill = cols,
)
Nhận xét
Dựa vào kết quả khảo sát trên cho thấy trong số những người khảo sát có 289 người là nam giới chiếm 54.12% và 245 người là nữ giới chiếm 45.88%. Qua kết quả đó ta thấy giới tính của những khảo sát không có sự chênh lệch quá nhiều.
Ta thực hiện thống kê tần số và tần suất cho biến occupation được kết quả như sau
Thống kê tần suất
occupation_1<-table(k_cat$occupation)
occupation_1
##
## worker technical services office sales management
## 156 105 83 97 38 55
occupation_2<-table(k_cat$occupation)/sum(nrow(k_cat))*100 #tần suất
occupation_2
##
## worker technical services office sales management
## 29.213483 19.662921 15.543071 18.164794 7.116105 10.299625
Trực quan hóa dữ liệu
c3 <- as.data.frame(occupation_1)
colnames(c3) <- c("occupation", "Count")
ggplot(c3, aes(x = occupation, y = Count, fill = occupation)) +
geom_col(fill = "lightblue", color = "black") +
labs(x = "Ngành nghề", y = "Tần số", title = "Các ngành nghề khảo sát") +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
Nhận xét
Kết quả cho thấy nhóm công nhân (worker) chiếm tỷ lệ lớn nhất trong mẫu khảo sát chiếm khoảng 28,33%, theo sau là nhóm kỹ thuật (technical) và văn phòng (office) với lần lượt 19,06% và 17,61%. Trong khi đó, nhóm bán hàng (sales) có số lượng thấp nhất, chỉ chiếm 6,90%. Sự phân bố này cho thấy rằng mẫu khảo sát có xu hướng nghiêng về các ngành lao động chân tay và kỹ thuật.
Ta thực hiện thống kê tần số và tần suất cho biến sector được kết quả như sau
Thống kê tần suất
sector_1<-table(k_cat$sector)
sector_1
##
## manufacturing construction other
## 99 24 411
sector_2<-table(k_cat$sector)/sum(nrow(k_cat))*100 #tần suất
sector_2
##
## manufacturing construction other
## 18.539326 4.494382 76.966292
Trực quan hóa dữ liệu
cols <- c("lightblue","lightpink", "lightgreen")
# Nhãn phần trăm
sector_2bd<- paste0( round(sector_2, 2), "%")
# Vẽ pie chart ẩn nhãn
pie(
sector_2,
labels = NA,
main = "Tần suất biến giới tính",
col = cols,
border = "white")
# Thêm legend bên ngoài
legend(
x ="topright",
legend = paste(names(sector_2),sector_2bd),
fill = cols,
)
Nhận xét
Kết quả cho thấy phần lớn người tham gia khảo sát làm việc trong khu vực khác (chiếm khoảng 76,97%), trong khi chỉ có 18,54% thuộc khu vực sản xuất và 4,49% làm việc trong ngành xây dựng. Điều này cho thấy mẫu khảo sát tập trung chủ yếu vào các đối tượng không làm việc trong lĩnh vực công nghiệp hay xây dựng.
Ta thực hiện thống kê tần số và tần suất cho biến union được kết quả như sau
Thống kê tần suất
union_1<-table(k_cat$union)
union_1
##
## no yes
## 438 96
union_2<-table(k_cat$union)/sum(nrow(k_cat))*100 #tần suất
union_2
##
## no yes
## 82.02247 17.97753
Trực quan hóa dữ liệu
cols <- c("lightblue","lightpink")
# Nhãn phần trăm
union_2bd<- paste0( round(union_2, 2), "%")
# Vẽ pie chart ẩn nhãn
pie(
union_2 ,
labels = NA,
main = "Tần suất tham gia hoặc không gia công đoàn",
col = cols,
border = "white")
# Thêm legend bên ngoài
legend(
x ="topright",
legend = paste(names(union_2),union_2bd),
fill = cols,
)
Nhận xét
Dựa vào kết quả trên ta nhận thấy số người tham gia công đoàn chỉ chiểm 17.98% trong khi đó số người không tham gia công đoàn chiếm tỷ lệ lớn với 82.02%. Qua kết quả trên ta thấy có sự chênh lệch quá lớn giữa 2 trang thái.
Ta thực hiện thống kê tần số và tần suất cho biến married được kết quả như sau
Thống kê tần suất
married_1<-table(k_cat$married)
married_1
##
## S M
## 184 350
married_2<-table(k_cat$married)/sum(nrow(k_cat))*100 #tần suất
married_2
##
## S M
## 34.45693 65.54307
Trực quan hóa dữ liệu
cols <- c("lightblue","lightpink")
# Nhãn phần trăm
married_2bd<- paste0( round(married_2, 2), "%")
# Vẽ pie chart ẩn nhãn
pie(
married_2,
labels = NA,
main = "Tỷ lệ tình trạng kết hôn của người dân",
col = cols,
border = "white")
# Thêm legend bên ngoài
legend(
x ="topright",
legend = paste(names(married_2),married_2bd),
fill = cols,
)
Nhận xét
Kết quả phân tích cho thấy phần lớn người dân trong mẫu khảo sát đã kết hôn, chiếm khoảng 65,54%, trong khi tỷ lệ người độc thân là 34,46%. Điều này phản ánh rằng đa số người được khảo sát đang sống trong các mối quan hệ hôn nhân chính thức.
Bảng tần suất chéo
b1<- table(k_cat$union,k_cat$gender)
addmargins(b1)
##
## male female Sum
## no 221 217 438
## yes 68 28 96
## Sum 289 245 534
Bảng tần suất chéo theo tỷ lệ hàng
prop.table(b1, margin = 1)
##
## male female
## no 0.5045662 0.4954338
## yes 0.7083333 0.2916667
Trực quan hóa
# Chuyển sang data frame
b1_df <- as.data.frame(b1)
colnames(b1_df) <- c("union", "gender", "Frequency")
# Vẽ biểu đồ từ bảng tần suất
ggplot(b1_df, aes(x = union, y = Frequency, fill = gender)) +
geom_bar(stat = "identity", position = "dodge") +
labs(
title = "Biểu đồ tần suất giữa union và gender",
x = "union",
y = "Tần suất"
) +
theme_minimal()
Nhận xét: Tỷ lệ tham gia công đoàn (union = “yes”) thấp hơn rõ rệt so với không tham gia (union = “no”) ở cả nam và nữ. Cụ thể, tổng số người không tham gia công đoàn là 438 người, chiếm khoảng 82% tổng thể (438/534), trong khi chỉ có 96 người tham gia tương đương khoảng 18%. Trong nhóm tham gia công đoàn, nam giới chiếm tỷ lệ vượt trội với 68 người (70.8%), còn nữ giới chỉ chiếm 28 người (29.2%), cho thấy nam giới có xu hướng tham gia công đoàn cao hơn đáng kể so với nữ giới. Ngược lại, trong nhóm không tham gia công đoàn, tỷ lệ nam và nữ gần như bằng nhau, lần lượt là 50.5% và 49.5%, điều này cho thấy không có sự khác biệt đáng kể về giới tính trong nhóm không tham gia công đoàn.
Để đánh giá xem có mối liên hệ có ý nghĩa thống kê giữa hai biến phân loại là union và gender hay không, sẽ sử dụng kiểm định Chi-bình phương (Chi-square test).
# Kiểm định
chisq_result <- chisq.test(b1)
# In kết quả
chisq_result
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: b1
## X-squared = 12.359, df = 1, p-value = 0.0004388
Giả thuyết:
\[ \left\{ \begin{array}{ll} H_0: & \text{Biến union và biến gender không có mối quan hệ.} \\\\ H_1: & \text{Biến union và biến gender có mối quan hệ.} \ \end{array} \right. \]
Nhận xét: Kết quả kiểm định: Với mức ý nghĩa 0.05, vì p-value = 0.0004388 < 0.05, bác bỏ giả thuyết \(H_0\). Vậy giữa biến union và biến gender tồn tại mối quan hệ.
Nhằm phân tích mối quan hệ giữa các biến, chúng ta sử dụng chỉ số Relative Risk (RR) để đo lường mức độ rủi ro hoặc khả năng xảy ra của một sự kiện.
TH1: Không tham gia công đoàn là biến tham chiếu
rr1<- riskratio(b1)
rr1
## $data
##
## male female Total
## no 221 217 438
## yes 68 28 96
## Total 289 245 534
##
## $measure
## risk ratio with 95% C.I.
## estimate lower upper
## no 1.0000000 NA NA
## yes 0.5887097 0.4250407 0.8154021
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## no NA NA NA
## yes 0.0002542858 0.0002800058 0.0002849038
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
Nhận xét: Kết quả phân tích Relative Risk (RR) giữa tình trạng tham gia công đoàn (union) và giới tính (gender) cho thấy sự khác biệt rõ rệt giữa việc tham gia và không tham gia công đoàn. Cụ thể, không tham gia công đoàn được chọn làm nhóm tham chiếu với RR = 1.00, trong khi việc tham gia công đoàn có RR = 0.5887 tức là tỷ lệ tham gia công đoàn ở nữ chỉ bằng khoảng 58.87% so tỷ lệ không tham gia công đoàn. Khoảng tin cậy 95% của RR nằm trong khoảng từ 0.4250 đến 0.8154, không bao gồm 1, cho thấy sự khác biệt này có ý nghĩa thống kê. Các kiểm định đi kèm như kiểm định mid-p exact, Fisher’s exact và Chi-square đều cho giá trị p rất nhỏ (p < 0.001), củng cố thêm bằng chứng rằng sự khác biệt về tỷ lệ tham gia công đoàn giữa nam và nữ.
TH2: Tham gia công đoàn là biến tham chiếu
rr1r<- riskratio(b1, rev="r")
rr1r
## $data
##
## male female Total
## yes 68 28 96
## no 221 217 438
## Total 289 245 534
##
## $measure
## risk ratio with 95% C.I.
## estimate lower upper
## yes 1.00000 NA NA
## no 1.69863 1.226389 2.352716
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## yes NA NA NA
## no 0.0002542858 0.0002800058 0.0002849038
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
Nhận xét: Kết quá Relatiev Risk (RR) giữ tình trạng tham gia công đoàn (union) và giới tính (gender) cho thấy sự khác biệt rõ rệt giữa việc tham gia và không tham gia công đoàn. Cụ thể, tham gia công đoàn được chọn làm biến tham chiếu với RR=1, trong khi việc không tham gia công đoàncos RR = 1.69863 tức là tỷ lệ không tham gia công đòa ở nữ cao hơn 69,86% tỷ lệ tham gia công đoàn ở nữ. Khoảng tin cậy 95% của RR nằm trong khoảng từ 1.226 đến 2.353. Các kiểm định đi kèm như mid-p exact, Fisher’s exact và Chi-square đều cho giá trị p < 0.005, củng cố bằng chứng rằng tỷ lệ không tham gia công đoàn ở nữ giới cao hơn rõ rệt.
or1 <- oddsratio(b1)
or1
## $data
##
## male female Total
## no 221 217 438
## yes 68 28 96
## Total 289 245 534
##
## $measure
## odds ratio with 95% C.I.
## estimate lower upper
## no 1.00000 NA NA
## yes 0.42126 0.2572726 0.6737883
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## no NA NA NA
## yes 0.0002542858 0.0002800058 0.0002849038
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
Nhận xét: Kết quả phân tích cho thấy khả năng tham gia công đoàn ở nữ thấp hơn đáng kể so với nam giới. Tỷ số chênh (Odds Ratio – OR) được ước lượng là 0.4213, nghĩa là xác suất tham gia công đoàn ở nữ giới chỉ bằng khoảng 42.1% so với xác suất không tham gia công đoàn ở nữ, hay nói cách khác nữ giới ít có khả năng tham gia công đoàn hơn. Khoảng tin cậy 95% của OR nằm trong khoảng [0.2573; 0.6738],các kiểm định đi kèm như mid-p exact, Fisher’s exact và Chi-square đều cho p-value < 0.001, chứng minh rằng sự khác biệt này là có ý nghĩa thống kê.
Bảng tần suất chéo
b2<- table(k_cat$union,k_cat$occupation)
addmargins(b2)
##
## worker technical services office sales management Sum
## no 112 82 66 89 37 52 438
## yes 44 23 17 8 1 3 96
## Sum 156 105 83 97 38 55 534
Bảng tần suất chéo theo tỷ lệ hàng
prop.table(b2, margin = 1)
##
## worker technical services office sales management
## no 0.25570776 0.18721461 0.15068493 0.20319635 0.08447489 0.11872146
## yes 0.45833333 0.23958333 0.17708333 0.08333333 0.01041667 0.03125000
Trực quan hóa
# Chuyển sang data frame
b2_df <- as.data.frame(b2)
colnames(b2_df) <- c("union", "occupation", "Frequency")
# Vẽ biểu đồ từ bảng tần suất
ggplot(b2_df, aes(x = union, y = Frequency, fill = occupation)) +
geom_bar(stat = "identity", position = "dodge") +
labs(
title = "Biểu đồ tần suất giữa union và occupation",
x = "union",
y = "Tần suất"
) +
theme_minimal()
Nhận xét: Biểu đồ thể hiện tần suất giữa việc tham gia công đoàn (union) và các nhóm nghề nghiệp (occupation) cho thấy sự khác biệt rõ rệt giữa các nhóm. Nhìn chung, tỷ lệ tham gia công đoàn cao nhất thuộc về nhóm lao động phổ thông (worker) với khoảng 28,2%, tiếp theo là technical (21,9%) và services (20,5%). Ngược lại, các nhóm như office, management và sales có tỷ lệ tham gia rất thấp, lần lượt khoảng 8,2%, 5,5% và chỉ 2,6%. Điều này phản ánh xu hướng những người làm các công việc tay chân hoặc kỹ thuật thường đối mặt với điều kiện lao động khó khăn hơn nên có nhu cầu tham gia công đoàn để bảo vệ quyền lợi.
Để đánh giá xem có mối liên hệ có ý nghĩa thống kê giữa hai biến phân loại là union và occupation hay không, sẽ sử dụng kiểm định Chi-bình phương (Chi-square test).
# Kiểm định
chisq_result <- chisq.test(b2)
# In kết quả
chisq_result
##
## Pearson's Chi-squared test
##
## data: b2
## X-squared = 30.664, df = 5, p-value = 1.091e-05
Giả thuyết:
\[ \left\{ \begin{array}{ll} H_0: & \text{Biến union và biến occupation không có mối quan hệ.} \\\\ H_1: & \text{Biến union và biến occupation có mối quan hệ.} \ \end{array} \right. \]
Nhận xét: Kết quả kiểm định: Với mức ý nghĩa 0.05, vì p-value = 1.091e-05 < 0.05, bác bỏ giả thuyết \(H_0\). Vậy giữa biến union và biến occupation tồn tại mối quan hệ.
Nhằm phân tích mối quan hệ giữa các biến, chúng ta sử dụng chỉ số Relative Risk (RR) để đo lường mức độ rủi ro hoặc khả năng xảy ra của một sự kiện.
prop.table(b2, margin = 1)
##
## worker technical services office sales management
## no 0.25570776 0.18721461 0.15068493 0.20319635 0.08447489 0.11872146
## yes 0.45833333 0.23958333 0.17708333 0.08333333 0.01041667 0.03125000
Kết hợp dữ liệu nhóm ngành nghề thành hai nhóm chính: nhóm công nhân (worker) và nhóm other bao gồm technical, services, office và management.
b2_new <- cbind( # kết hợp hai cột này thành một bảng dữ liệu mới gọi là k4_new.
worker = b2[, "worker"], #lấy dữ liệu cột "cauc" từ bảng k4
other = b2[, "technical"] + b2[, "services"]+b2[, "office"] +b2[, "sales"] + b2[, "management"]# cộng dữ liệu hai cột "hispanic" và "other" từ bảng k4.
)
b2_new
## worker other
## no 112 326
## yes 44 52
TH1: Không tham gia công đoàn là biến tham chiếu
rr2<- riskratio(b2_new)
rr2
## $data
## worker other Total
## no 112 326 438
## yes 44 52 96
## Total 156 378 534
##
## $measure
## NA
## risk ratio with 95% C.I. estimate lower upper
## no 1.0000000 NA NA
## yes 0.7277607 0.6006131 0.881825
##
## $p.value
## NA
## two-sided midp.exact fisher.exact chi.square
## no NA NA NA
## yes 0.0001361793 0.000170972 7.687681e-05
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
Nhận xét: Kết quả phân tích Relative Risk (RR) giữa tình trạng tham gia công đoàn (union) và nhóm ngành nghề chính (worker) cho thấy sự khác biệt rõ rệt giữa việc tham gia và không tham gia công đoàn. Cụ thể, không tham gia công đoàn được chọn làm nhóm tham chiếu với RR = 1.00, trong khi việc tham gia công đoàn có RR = 0.7277 tức là tỷ lệ tham gia công đoàn ở các ngành nghề khác chỉ bằng khoảng 72.77% so tỷ lệ không tham gia công đoàn. Các kiểm định đi kèm như kiểm định mid-p exact, Fisher’s exact và Chi-square đều cho giá trị p rất nhỏ (p < 0.001), củng cố thêm bằng chứng rằng sự khác biệt về tỷ lệ tham gia công đoàn giữa ngành công nhân và các ngành nghề khác.
TH2: Tham gia công đoàn là biến tham chiếu
rr2r<- riskratio(b2_new, rev="c")
rr2r
## $data
## other worker Total
## no 326 112 438
## yes 52 44 96
## Total 378 156 534
##
## $measure
## NA
## risk ratio with 95% C.I. estimate lower upper
## no 1.000000 NA NA
## yes 1.792411 1.368495 2.347642
##
## $p.value
## NA
## two-sided midp.exact fisher.exact chi.square
## no NA NA NA
## yes 0.0001361793 0.000170972 7.687681e-05
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
Nhận xét: Kết quả phân tích Relative Risk (RR) giữa tình trạng tham gia công đoàn (union) và nhóm ngành nghề chính (worker) cho thấy sự khác biệt rõ rệt giữa việc tham gia và không tham gia công đoàn. Cụ thể, không tham gia công đoàn được chọn làm nhóm tham chiếu với RR = 1.00, trong khi tham gia công đoàn có RR = 1.7924 tức là tỷ lệ tham gia công đoàn ở các ngành nghề công nhân cao hơn 79.24% so tỷ lệ không tham gia công đoàn ở ngành công nhân. Các kiểm định đi kèm như kiểm định mid-p exact, Fisher’s exact và Chi-square đều cho giá trị p rất nhỏ (p < 0.05), củng cố thêm bằng chứng rằng sự khác biệt về tỷ lệ tham gia công đoàn giữa ngành công nhân và các ngành nghề khác.
or2 <- oddsratio(b2_new)
or2
## $data
## worker other Total
## no 112 326 438
## yes 44 52 96
## Total 156 378 534
##
## $measure
## NA
## odds ratio with 95% C.I. estimate lower upper
## no 1.0000000 NA NA
## yes 0.4067117 0.2576189 0.6432423
##
## $p.value
## NA
## two-sided midp.exact fisher.exact chi.square
## no NA NA NA
## yes 0.0001361793 0.000170972 7.687681e-05
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
Nhận xét: Kết quả phân tích cho thấy khả năng tham gia công đoàn ở các ngành nghề khác thấp hơn đáng kể so với ngành công nhân. Tỷ số chênh (Odds Ratio – OR) được ước lượng là 0.4067, nghĩa là xác suất tham gia công đoàn ở các ngành nghề khác bằng khoảng 40.67% so với tỷ lệ không tham gia công đoàn ở ngành khác. Khoảng tin cậy 95% của OR nằm trong khoảng [0.2576; 0.6432],các kiểm định đi kèm như mid-p exact, Fisher’s exact và Chi-square đều cho p-value < 0.001, chứng minh rằng sự khác biệt này là có ý nghĩa thống kê.
Bảng tần suất chéo
b3<- table(k_cat$union,k_cat$married)
addmargins(b3)
##
## S M Sum
## no 160 278 438
## yes 24 72 96
## Sum 184 350 534
Bảng tần suất chéo theo tỷ lệ hàng
prop.table(b3, margin = 1)
##
## S M
## no 0.3652968 0.6347032
## yes 0.2500000 0.7500000
Trực quan hóa
# Chuyển sang data frame
b3_df <- as.data.frame(b3)
colnames(b3_df) <- c("union", "married", "Frequency")
# Vẽ biểu đồ từ bảng tần suất
ggplot(b3_df, aes(x = union, y = Frequency, fill = married)) +
geom_bar(stat = "identity", position = "dodge") +
labs(
title = "Biểu đồ tần suất giữa union và married",
x = "union",
y = "Tần suất"
) +
theme_minimal()
Nhận xét: Biểu đồ thể hiện tần suất giữa việc tham gia công đoàn (union) và tình trạng hôn nhân (married) cho thấy sự khác biệt rõ rệt giữa hai nhóm: độc thân (S) và đã kết hôn (M). Trong nhóm không tham gia công đoàn (union = no) phần lớn là người đã kết hôn (278 người, chiếm khoảng 63,5%) và còn lại là người độc thân (160 người, chiếm khoảng 36,5%). Trong khi đó, trong nhóm có tham gia công đoàn (union = yes), tỷ lệ người đã kết hôn càng chiếm ưu thế rõ rệt hơn (72 người, chiếm 75%), còn người độc thân chỉ có 24 người (25%). Qua đó cho thấy người đã kết hôn có xu hướng tham gia công đoàn cao hơn người độc thân phản ánh rằng người đã lập gia đình thường có xu hướng quan tâm nhiều hơn đến sự ổn định và quyền lợi trong công việc, nên họ chủ động hơn trong việc tham gia các tổ chức đại diện như công đoàn.
Để đánh giá xem có mối liên hệ có ý nghĩa thống kê giữa hai biến phân loại là union và married hay không, sẽ sử dụng kiểm định Chi-bình phương (Chi-square test).
# Kiểm định
chisq_result <- chisq.test(b3)
# In kết quả
chisq_result
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: b3
## X-squared = 4.1384, df = 1, p-value = 0.04192
Giả thuyết:
\[ \left\{ \begin{array}{ll} H_0: & \text{Biến union và biến married không có mối quan hệ.} \\\\ H_1: & \text{Biến union và biến married có mối quan hệ.} \ \end{array} \right. \]
Nhận xét: Kết quả kiểm định: Với mức ý nghĩa 0.05, vì p-value = 0.04192 < 0.05, bác bỏ giả thuyết \(H_0\). Vậy giữa biến union và biến married tồn tại mối quan hệ.
Nhằm phân tích mối quan hệ giữa các biến, chúng ta sử dụng chỉ số Relative Risk (RR) để đo lường mức độ rủi ro hoặc khả năng xảy ra của một sự kiện.
prop.table(b3, margin = 1)
##
## S M
## no 0.3652968 0.6347032
## yes 0.2500000 0.7500000
TH1: Không tham gia công đoàn là biến tham chiếu
rr3<- riskratio(b3)
rr3
## $data
##
## S M Total
## no 160 278 438
## yes 24 72 96
## Total 184 350 534
##
## $measure
## risk ratio with 95% C.I.
## estimate lower upper
## no 1.000000 NA NA
## yes 1.181655 1.031816 1.353253
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## no NA NA NA
## yes 0.02981075 0.03303146 0.03132896
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
Nhận xét: Kết quả phân tích Relative Risk (RR) giữa tình trạng tham gia công đoàn (union) và tình trạng hôn nhân (married) cho thấy sự khác biệt rõ rệt giữa việc tham gia và không tham gia công đoàn. Cụ thể, không tham gia công đoàn được chọn làm nhóm tham chiếu với RR = 1.00, trong khi tham gia công đoàn có RR = 1.1816 tức là tỷ lệ tham gia công đoàn ở người đã kết hôn cao hơn 18.16% so tỷ lệ không tham gia công đoàn ở ngườiđã kết hôn. Các kiểm định đi kèm như kiểm định mid-p exact, Fisher’s exact và Chi-square đều cho giá trị p rất nhỏ (p < 0.05), củng cố thêm bằng chứng rằng sự khác biệt về tỷ lệ tham gia công đoàn giữa ngành công nhân và các ngành nghề khác.
TH2: Tham gia công đoàn là biến tham chiếu
rrr3r<- riskratio(b3, rev="c")
rrr3r
## $data
##
## M S Total
## no 278 160 438
## yes 72 24 96
## Total 350 184 534
##
## $measure
## risk ratio with 95% C.I.
## estimate lower upper
## no 1.000000 NA NA
## yes 0.684375 0.4737577 0.988626
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## no NA NA NA
## yes 0.02981075 0.03303146 0.03132896
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
Nhận xét: Kết quả phân tích Relative Risk (RR) giữa tình trạng tham gia công đoàn (union) và tình trạng hôn nhân (married) cho thấy sự khác biệt rõ rệt giữa việc tham gia và không tham gia công đoàn. Cụ thể, tham gia công đoàn được chọn làm nhóm tham chiếu với RR = 1.00, trong khi không tham gia công đoàn có RR = 0.6843 tức là tỷ lệ tham gia công đoàn ở người chưa kết hôn bằng khoảng 68,43% so tỷ lệ không tham gia công đoàn ở người chưa kết hôn. Các kiểm định đi kèm như kiểm định mid-p exact, Fisher’s exact và Chi-square đều cho giá trị p rất nhỏ (p < 0.05), củng cố thêm bằng chứng rằng sự khác biệt về tỷ lệ tham gia công đoàn giữa ngành công nhân và các ngành nghề khác.
or2 <- oddsratio(b3)
or2
## $data
##
## S M Total
## no 160 278 438
## yes 24 72 96
## Total 184 350 534
##
## $measure
## odds ratio with 95% C.I.
## estimate lower upper
## no 1.000000 NA NA
## yes 1.718401 1.053111 2.890456
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## no NA NA NA
## yes 0.02981075 0.03303146 0.03132896
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
Nhận xét: Kết quả phân tích cho thấy khả năng tham gia công đoàn ở người đã kết hôn cao hơn đáng kể so với khả năng tham gia công đoàn ở người chưa kết hôn. Tỷ số chênh (Odds Ratio – OR) được ước lượng là 1.7184, nghĩa là xác suất tham gia công đoàn ở người đã kết hôn cao hơn 71.84% so với xác suất không tham gia công đoàn ở người đã kết hôn. Khoảng tin cậy 95% của OR nằm trong khoảng [1.0531;2.8904],các kiểm định đi kèm như mid-p exact, Fisher’s exact và Chi-square đều cho p-value < 0.05, chứng minh rằng sự khác biệt này là có ý nghĩa thống kê.
Bảng tần suất chéo
e1<- table(k_cat$gender, k_cat$sector)
addmargins(e1)
##
## manufacturing construction other Sum
## male 60 22 207 289
## female 39 2 204 245
## Sum 99 24 411 534
Bảng tần suất chéo theo tỷ lệ hàng
prop.table(e1, margin = 1)
##
## manufacturing construction other
## male 0.207612457 0.076124567 0.716262976
## female 0.159183673 0.008163265 0.832653061
Trực quan hóa
# Chuyển sang data frame
e1_df <- as.data.frame(e1)
colnames(e1_df) <- c("gender", "sector", "Frequency")
# Vẽ biểu đồ từ bảng tần suất
ggplot(e1_df, aes(x = gender, y = Frequency, fill =sector )) +
geom_bar(stat = "identity", position = "dodge") +
labs(
title = "Biểu đồ tần suất giữa sector và gender",
x = "gender",
y = "Tần suất"
) +
theme_minimal()
Nhận xét: Biểu đồ thể hiện mối quan hệ giữa ngành nghề (sector) và giới tính (gender) cho thấy sự phân bố không đồng đều giữa nam và nữ trong các lĩnh vực. Ngành xây dựng có tỷ lệ nam giới chiếm ưu thế tuyệt đối với 91,7%, trong khi nữ giới chỉ chiếm 8,3%. Ngành sản xuất cũng có sự chênh lệch, khi nam giới chiếm 60,6% và nữ giới là 39,4%. Ngược lại, nhóm ngành “other” lại có sự phân bố giới tính khá cân bằng, với khoảng 50,4% nam và 49,6% nữ. Điều này phản ánh thực trạng định kiến giới trong lựa chọn nghề nghiệp, khi các ngành đòi hỏi lao động thể chất như xây dựng vẫn chủ yếu là nam giới, còn các ngành khác có xu hướng mở rộng hơn cho cả nam và nữ.
Để đánh giá xem có mối liên hệ có ý nghĩa thống kê giữa hai biến phân loại là sector và gender hay không, sẽ sử dụng kiểm định Chi-bình phương (Chi-square test).
# Kiểm định
chisq_result <- chisq.test(e1)
# In kết quả
chisq_result
##
## Pearson's Chi-squared test
##
## data: e1
## X-squared = 17.637, df = 2, p-value = 0.0001479
Giả thuyết:
\[ \left\{ \begin{array}{ll} H_0: & \text{Biến gender và biến sector không có mối quan hệ.} \\\\ H_1: & \text{Biến gender và biến sector có mối quan hệ.} \ \end{array} \right. \]
Nhận xét: Kết quả kiểm định: Với mức ý nghĩa 0.05, vì p-value = 0.0001479 < 0.05, bác bỏ giả thuyết \(H_0\). Vậy giữa Biến sector và biến gender tồn tại mối quan hệ.
e1_new <- cbind(
construction= e1[, "construction"],
other = e1[, "manufacturing"] + e1[, "other"]
)
e1_new
## construction other
## male 22 267
## female 2 243
Nhằm phân tích mối quan hệ giữa các biến, chúng ta sử dụng chỉ số Relative Risk (RR) để đo lường mức độ rủi ro hoặc khả năng xảy ra của một sự kiện.
rrs1<- riskratio(e1_new, rev="c")
rrs1
## $data
## other construction Total
## male 267 22 289
## female 243 2 245
## Total 510 24 534
##
## $measure
## NA
## risk ratio with 95% C.I. estimate lower upper
## male 1.0000000 NA NA
## female 0.1072356 0.02547102 0.4514731
##
## $p.value
## NA
## two-sided midp.exact fisher.exact chi.square
## male NA NA NA
## female 7.027025e-05 8.38247e-05 0.0001585815
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
Nhận xét: Kết quả phân tích Relative Risk (RR) giữa khu vực kinh tế (sector) và giới tính (gender) cho thấy sự khác biệt rõ rệt giữa các khu vực kinh tế. Cụ thể, giới tính nam được chọn làm nhóm tham chiếu với RR = 1.00, trong khi giưới tính nữ có RR = 0.1072 tức là tỷ lệ nữ ở các ngành xây dựng chỉ bằng khoảng 10.72% so tỷ lệ nam ở các ngành xây dựng. Các kiểm định đi kèm như kiểm định mid-p exact, Fisher’s exact và Chi-square đều cho giá trị p rất nhỏ (p < 0.05), củng cố thêm bằng chứng rằng sự khác biệt về tỷ lệ tham gia công đoàn giữa ngành công nhân và các ngành nghề khác.
or1s<-oddsratio(e1_new)
or1s
## $data
## construction other Total
## male 22 267 289
## female 2 243 245
## Total 24 510 534
##
## $measure
## NA
## odds ratio with 95% C.I. estimate lower upper
## male 1.000000 NA NA
## female 9.337391 2.697792 63.5094
##
## $p.value
## NA
## two-sided midp.exact fisher.exact chi.square
## male NA NA NA
## female 7.027025e-05 8.38247e-05 0.0001585815
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
Nhận xét
Dựa trên kết quả phân tích Odds Ratio (OR) giữa biến sector và gender. Giới tính nam được chọn làm nhóm tham chiếu (OR = 1.00), nên các Odds Ratio của giưới tính nữ sẽ so sánh. Với giới tính nữ, Odds Ratio = 9.337391 và giá trị p đều nhỏ hơn 0.01 cho tất cả các phương pháp kiểm định. Cụ thể, xác suất nữ giới làm việc trong ngành khác cao hơn 9 lần so với nam trong nhóm ngành khác
Để hiểu rõ hơn mối quan hệ giữa nhóm giới tính (gender) và nhóm tình trạng tham gia công đoàn (union), chúng ta sẽ xây dựng bảng tần suất chéo thể hiện số lượng từng kết hợp giữa hai biến này. Sau đó, biểu đồ cột sẽ được sử dụng để trực quan hóa sự phân bố của nhóm tình trạng tham gia công đoàn theo từng giới tính, giúp quan sát dễ dàng sự khác biệt và xu hướng tiêu dùng giữa các nhóm.
Bảng tần suất chéo
e2 <- table(k_cat$gender,k_cat$union)
addmargins(e2)
##
## no yes Sum
## male 221 68 289
## female 217 28 245
## Sum 438 96 534
Bảng tần suất chéo theo tỷ lệ hàng
prop.table(e2, margin = 1)
##
## no yes
## male 0.7647059 0.2352941
## female 0.8857143 0.1142857
Trực quan hóa
# Chuyển sang data frame
e2_df <- as.data.frame(e2)
colnames(e2_df) <- c("gender", "union", "Frequency")
# Vẽ biểu đồ từ bảng tần suất
ggplot(e2_df, aes(x = gender, y = Frequency, fill = union)) +
geom_bar(stat = "identity", position = "dodge") +
labs(
title = "Biểu đồ tần số giữa gender và union",
x = "gender",
y = "Tần số"
) +
theme_minimal()
Nhận xét
Dựa vào biểu đồ trên ta thấy tỷ lệ nam giới tham gia công đoàn cao hơn nữ giới. Cụ thể, trong tổng số 289 nam thì có 68 người tham gia công đoàn chiếm khoảng 23,5%, trong khi ở nữ giới chỉ có 28 trên tổng số 245 người tham gia chiếm khoảng 11,4%. Điều này cho thấy nam giới có xu hướng gắn kết với công đoàn nhiều hơn so với nữ giới, phản ánh sự khác biệt về mức độ tham gia tổ chức lao động giữa hai giới. Tuy nhiên tổng thể thì nam và nữ điều không có xu hướng tham gia công đoàn bởi tỷ lệ nam và nư không tham gia chiếm tỷ lệ rất lớn.
Để đánh giá xem có mối liên hệ có ý nghĩa thống kê giữa hai biến phân loại là gender và union hay không, sẽ sử dụng kiểm định Chi-bình phương (Chi-square test).
# Kiểm định
chisq_result <- chisq.test(e2)
# In kết quả
chisq_result
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: e2
## X-squared = 12.359, df = 1, p-value = 0.0004388
Giả thuyết:
\[ \left\{ \begin{array}{ll} H_0: & \text{Biến gender và biến union không có mối quan hệ.} \\\\ H_1: & \text{Biến gender và biến union có mối quan hệ.} \ \end{array} \right. \]
Nhận xét: Kết quả kiểm định: Với mức ý nghĩa 0.05, vì p-value = 0.0004388 < 0.05, bác bỏ giả thuyết \(H_0\). Vậy giữa biến gender và biến union tồn tại mối quan hệ.
TH1: Nam làm biến tham chiếu
Nhằm phân tích mối quan hệ giữa các biến, chúng ta sử dụng chỉ số Relative Risk (RR) để đo lường mức độ rủi ro hoặc khả năng xảy ra của một sự kiện.
rr2<- riskratio(e2)
rr2
## $data
##
## no yes Total
## male 221 68 289
## female 217 28 245
## Total 438 96 534
##
## $measure
## risk ratio with 95% C.I.
## estimate lower upper
## male 1.0000000 NA NA
## female 0.4857143 0.3236845 0.7288529
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## male NA NA NA
## female 0.0002542858 0.0002800058 0.0002849038
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
Nhận xét: Kết quả phân tích Relative Risk (RR) giữa giới tính (gender) và tình trạng tham gia công đoàn (union) cho thấy sự khác biệt rõ rệt giữa nam và nữ. Cụ thể, nam giới được chọn làm nhóm tham chiếu với RR = 1.00, trong khi nữ giới có RR = 0.486 tức là khả năng nữ tham gia công đoàn chi bằng khoảng 48.6% so với nam tham gia công đoàn. Khoảng tin cậy 95% cho RR của nữ nằm trong khoảng từ 0.324 đến 0.729, cho thấy kết quả này có độ tin cậy cao. Hơn nữa, các kiểm định thống kê (midp.exact, fisher.exact, chi.square) đều cho giá trị p rất nhỏ (< 0.05), chứng tỏ sự khác biệt này có ý nghĩa thống kê.
TH2: Nam làm biến tham chiếu
rr3<- riskratio(e2, rev ="c")
rr3
## $data
##
## yes no Total
## male 68 221 289
## female 28 217 245
## Total 96 438 534
##
## $measure
## risk ratio with 95% C.I.
## estimate lower upper
## male 1.000000 NA NA
## female 1.158242 1.071133 1.252435
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## male NA NA NA
## female 0.0002542858 0.0002800058 0.0002849038
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
Nhận xét: Kết quả phân tích Relative Risk (RR) giữa giới tính (gender) và tình trạng tham gia công đoàn (union) cho thấy sự khác biệt rõ rệt giữa nam và nữ. Cụ thể, nam giới được chọn làm nhóm tham chiếu với RR = 1.00, trong khi nữ giới có RR = 1.158 tức là khả năng nữ không tham gia công đoàn cao hơn 15.8% so với nam không tham gia công đoàn. Khoảng tin cậy 95% cho RR của nữ nằm trong khoảng từ 1.0711 đến 1.252, cho thấy kết quả này có độ tin cậy cao. Hơn nữa, các kiểm định thống kê (midp.exact, fisher.exact, chi.square) đều cho giá trị p rất nhỏ (< 0.05), chứng tỏ sự khác biệt này có ý nghĩa thống kê.
orgu <- oddsratio(e2)
orgu
## $data
##
## no yes Total
## male 221 68 289
## female 217 28 245
## Total 438 96 534
##
## $measure
## odds ratio with 95% C.I.
## estimate lower upper
## male 1.00000 NA NA
## female 0.42126 0.2572726 0.6737883
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## male NA NA NA
## female 0.0002542858 0.0002800058 0.0002849038
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
Nhận xét
Dựa trên kết quả phân tích Odds Ratio (OR) giữa biến sector và gunion. Giới tính nam được chọn làm nhóm tham chiếu (OR = 1.00), nên các Odds Ratio của giơi tính nữ sẽ so sánh. Với giới tính nữ, Odds Ratio = 0.42126 và giá trị p đều nhỏ hơn 0.01 cho tất cả các phương pháp kiểm định. Cụ thể, xác suất nữ giới tham gia công đoàn chỉ bằng 42.126% so với nam tham gia công đoàn.
Trong thống kê và học máy, dữ liệu thực nghiệm thường được giả định là phát sinh từ một phân phối xác suất cụ thể, với một số tham số chưa biết. Mục tiêu của người phân tích là ước lượng những tham số này sao cho phân phối mô hình phù hợp nhất với dữ liệu thực tế.
Một trong những phương pháp nền tảng để làm điều đó là ước lượng hợp lý tối đa (Maximum Likelihood Estimation - MLE). MLE tìm bộ tham số \(\mathbf{w}\) sao cho xác suất quan sát được tập dữ liệu \(\mathcal{D}\) là lớn nhất dưới mô hình đã giả định. Hàm biểu diễn xác suất này được gọi là hàm hợp lý và ký hiệu là:
\[ L(\mathbf{w}) = P(\mathcal{D}|\mathbf{w}) \]
Giả sử tập dữ liệu gồm \(N\) quan sát độc lập và đồng phân phối (i.i.d) là \(\{x_1, x_2, \ldots, x_N\}\), khi đó hàm hợp lý có thể viết lại như sau:
\[ L(\mathbf{w}) = \prod_{i=1}^{N} P(x_i|\mathbf{w}) \]
Do tích nhiều xác suất nhỏ dễ gây tràn số khi tính toán, ta thường dùng logarit của hàm hợp lý (log-likelihood):
\[ \ell(\mathbf{w}) = \log L(\mathbf{w}) = \sum_{i=1}^{N} \log P(x_i|\mathbf{w}) \]
Bài toán MLE trở thành bài toán tối ưu hàm log-likelihood:
\[ \hat{\mathbf{w}} = \arg\max_{\mathbf{w}} \ell(\mathbf{w}) = \arg\max_{\mathbf{w}} \sum_{i=1}^{N} \log P(x_i|\mathbf{w}) \]
Phương pháp MLE được ứng dụng rộng rãi trong nhiều mô hình học máy như Naive Bayes, hồi quy logistic, và các mô hình dựa trên phân phối xác suất khác. Một trong những ưu điểm quan trọng của MLE là khả năng khái quát và áp dụng linh hoạt trên nhiều dạng phân phối.
Tóm lại, MLE là một phương pháp ước lượng mạnh mẽ, đóng vai trò then chốt trong việc thiết lập và huấn luyện các mô hình học máy dựa trên xác suất.