Kiểm định Chi-bình phương (Chi-square test of independence) được sử dụng để xác định xem hai biến phân loại có mối liên hệ với nhau hay không.
Ví dụ: Giới tính có liên quan đến sự lựa chọn sản phẩm? Việc uống cà phê có liên quan đến năng suất làm việc?
Giá trị thống kê Chi-bình phương được tính theo công thức:
\[ \chi^2 = \sum \frac{(O_{ij} - E_{ij})^2}{E_{ij}} \]
Trong đó:
\(O_{ij}\): Tần suất quan sát tại ô thứ \(i, j\)
\(E_{ij}\): Tần suất kỳ vọng tại ô thứ \(i, j\), tính bằng:
\[ E_{ij} = \frac{(Tổng hàng_i) \times (Tổng cột_j)}{Tổng chung} \]
Relative Risk (RR) đo lường mức độ thay đổi nguy cơ xảy ra một hiện tượng (ví dụ: đạt năng suất cao trong công việc) ở nhóm có một đặc điểm nào đó (ví dụ: uống cà phê) so với nhóm không có đặc điểm đó.
Ví dụ: Nhóm uống cà phê buổi sáng có năng suất làm việc cao hơn nhóm không uống?
Giả sử có bảng 2x2:
| Năng suất cao | Không cao | Tổng | |
|---|---|---|---|
| Uống cà phê | a | b | a + b |
| Không uống cà phê | c | d | c + d |
Ta có:
\[ RR = \frac{\frac{a}{a + b}}{\frac{c}{c + d}} = \frac{\text{Tỷ lệ năng suất cao ở nhóm uống cà phê}}{\text{Tỷ lệ năng suất cao ở nhóm không uống}} \]
Một khảo sát trên 200 nhân viên văn phòng:
Vậy:
a <- 60
b <- 40
c <- 30
d <- 70
# Tỷ lệ năng suất cao
risk_cafe <- a / (a + b)
risk_no_cafe <- c / (c + d)
# Relative Risk
RR <- risk_cafe / risk_no_cafe
RR
## [1] 2
Bảng ngẫu nhiên là gì?
Bảng ngẫu nhiên (contingency table) là cách tổ chức dữ liệu dùng để trình bày số đếm (frequencies) của các tổ hợp xảy ra giữa hai hay nhiều biến phân loại. Mỗi ô trong bảng thể hiện số quan sát tương ứng với một kết hợp cụ thể giữa các biến.
Ví dụ, một bảng 2 chiều giữa giới tính (nam/nữ) và tình trạng bệnh (có/không) sẽ có 4 ô tương ứng với từng kết hợp giữa các mức của hai biến.
Khi các số liệu là số đếm không ràng buộc tổng cộng (tức là tổng hàng/cột có thể thay đổi), mô hình phân phối Poisson được sử dụng để mô tả dữ liệu. Đây là mô hình thường gặp trong các tình huống dữ liệu thu thập từ quá trình đếm sự kiện (tai nạn, bệnh nhân, cuộc gọi,…).
\[ N_{ij} \sim \text{Poisson}(\mu_{ij}) \]
\[ P(N_{ij} = n_{ij}) = \frac{e^{-\mu_{ij}} \mu_{ij}^{n_{ij}}}{n_{ij}!} \]
\[ P(\{n_{ij}\}) = \prod_{i,j} \frac{e^{-\mu_{ij}} \mu_{ij}^{n_{ij}}}{n_{ij}!} \]
Mô hình này đặc biệt phù hợp cho các bảng lớn, trong đó tổng số quan sát không cố định, và dữ liệu được thu thập qua quá trình xảy ra ngẫu nhiên trong không gian hoặc thời gian.
Khi tổng số quan sát \(n\) được cố định trước, ta sử dụng mô hình phân phối đa thức (multinomial). Đây là mô hình tự nhiên trong các nghiên cứu khảo sát hoặc thí nghiệm rút mẫu.
\[ (N_{11}, N_{12}, ..., N_{rc}) \sim \text{Multinomial}(n, \{p_{ij}\}) \]
\[ P(\{n_{ij}\}) = \frac{n!}{\prod_{i,j} n_{ij}!} \prod_{i,j} p_{ij}^{n_{ij}} \]
Khi các ô trong bảng tuân theo phân phối Poisson độc lập:
\[ N_{ij} \sim \text{Poisson}(\mu_{ij}) \]
và tổng số đếm được ràng buộc bằng một giá trị cố định \(n\), thì phân phối có điều kiện trở thành phân phối Multinomial:
\[ (N_{ij} \mid N = n) \sim \text{Multinomial}\left(n, \left\{ \frac{\mu_{ij}}{\sum_{i,j} \mu_{ij}} \right\} \right) \]
=> Multinomial là một trường hợp đặc biệt của Poisson khi tổng được điều kiện hóa.
Để mô hình hóa mối quan hệ giữa các biến phân loại trong bảng đếm, ta dùng mô hình log-tuyến tính dựa trên phân phối Poisson:
\[ \log(\mu_{ij}) = \lambda + \lambda^{(R)}_i + \lambda^{(C)}_j + \lambda^{(RC)}_{ij} \]
Trong đó:
| Ký hiệu | Diễn giải |
|---|---|
| \(\lambda\) | Hệ số chặn (intercept) |
| \(\lambda^{(R)}_i\) | Hiệu ứng của biến hàng |
| \(\lambda^{(C)}_j\) | Hiệu ứng của biến cột |
| \(\lambda^{(RC)}_{ij}\) | Tương tác giữa hàng và cột |
→ Nếu bỏ thành phần tương tác, mô hình thể hiện giả thuyết độc lập giữa hai biến phân loại.
| Đặc điểm | Multinomial | Poisson |
|---|---|---|
| Tổng số đếm | Cố định | Không cố định |
| Mối quan hệ giữa các ô | Phụ thuộc | Độc lập |
| Ứng dụng phù hợp | Lấy mẫu khảo sát | Dữ liệu đếm sự kiện ngẫu nhiên |
| Phân tích tương tác | Bị hạn chế do ràng buộc tổng | Linh hoạt với mô hình log-tuyến tính |
Giả sử một bảng ngẫu nhiên 2×2 biểu diễn dữ liệu từ hai nhóm như sau:
| Sự kiện (+) | Không (+) | Tổng | |
|---|---|---|---|
| Nhóm 1 | \(a\) | \(b\) | \(a + b\) |
| Nhóm 2 | \(c\) | \(d\) | \(c + d\) |
\[ \Delta p = \frac{a}{a+b} - \frac{c}{c+d} \]
\[ RR = \frac{a / (a+b)}{c / (c+d)} \]
\[ OR = \frac{a/b}{c/d} = \frac{ad}{bc} \]
Để đánh giá độ chính xác của OR và kiểm định giả thuyết, ta xây dựng khoảng tin cậy (Confidence Interval - CI) cho OR dựa trên phân phối chuẩn của log(OR).
Chuyển OR về log(OR): \[ \log(OR) \pm z_{\alpha/2} \cdot \sqrt{ \frac{1}{a} + \frac{1}{b} + \frac{1}{c} + \frac{1}{d} } \]
Lấy mũ để trở về không gian OR: \[ CI_{OR} = \left( e^{L},\ e^{U} \right) \]
Trong đó: - \(z_{\alpha/2}\): giá trị tới hạn từ phân phối chuẩn (ví dụ: 1.96 nếu mức tin cậy là 95%) - \(SE = \sqrt{ \frac{1}{a} + \frac{1}{b} + \frac{1}{c} + \frac{1}{d} }\): sai số chuẩn của log(OR) - \(e^L, e^U\): cận dưới và cận trên của khoảng tin cậy cho OR
Một siêu thị muốn đánh giá hiệu quả của chương trình khuyến mãi “mua 1 tặng 1” đối với hành vi mua hàng. Họ khảo sát 200 khách hàng và thu được dữ liệu sau:
| Mua hàng | Không mua | Tổng | |
|---|---|---|---|
| Nhìn thấy khuyến mãi | 60 | 40 | 100 |
| Không thấy khuyến mãi | 30 | 70 | 100 |
\[ RR = \frac{60/100}{30/100} = 2.0 \]
→ Nhóm khách hàng nhìn thấy khuyến mãi có xác suất mua hàng gấp đôi so với nhóm không nhìn thấy.
\[ OR = \frac{60 \cdot 70}{40 \cdot 30} = \frac{4200}{1200} = 3.5 \]
→ Cơ hội mua hàng ở nhóm nhìn thấy khuyến mãi gấp 3.5 lần so với nhóm không nhìn thấy.
Tính khoảng tin cậy cho OR:
\(SE = \sqrt{1/60 + 1/40 + 1/30 + 1/70} \approx \sqrt{0.0167 + 0.025 + 0.0333 + 0.0143} = \sqrt{0.0893} \approx 0.299\)
\(\log(OR) = \log(3.5) \approx 1.253\)
\(CI_{\log(OR)} = 1.253 \pm 1.96 \cdot 0.299 = (0.667,\ 1.839)\)
\(CI_{OR} = (e^{0.667},\ e^{1.839}) = (1.95,\ 6.29)\)
→ Vì khoảng tin cậy không chứa 1, có thể kết luận rằng việc nhìn thấy khuyến mãi giúp tăng đáng kể khả năng mua hàng.
| Chỉ số | Công thức | Diễn giải chính | Ứng dụng |
|---|---|---|---|
| Hiệu tỷ lệ | \(p_1 - p_2\) | Chênh lệch tuyệt đối giữa hai tỷ lệ | Dễ hiểu, minh họa trực tiếp |
| RR | \(\frac{p_1}{p_2}\) | So sánh xác suất giữa hai nhóm | Nghiên cứu y học, tiếp thị |
| OR | \(\frac{ad}{bc}\) | So sánh odds giữa hai nhóm | Hồi quy logistic, phân tích rủi ro |
library(DT)
library(csv)
data <- read.csv("F:/PTDLDT/Supermarket Transactions.csv", header = T)
datatable(data)
## Warning in instance$preRenderHook(instance): It seems your data is too big for
## client-side DataTables. You may consider server-side processing:
## https://rstudio.github.io/DT/server.html
table_gender_home <- table(data$Gender, data$Homeowner)
addmargins(table_gender_home)
##
## N Y Sum
## F 2826 4344 7170
## M 2789 4100 6889
## Sum 5615 8444 14059
a <- table_gender_home["F", "Y"]
b <- table_gender_home["F", "N"]
c <- table_gender_home["M", "Y"]
d <- table_gender_home["M", "N"]
# Tính tỷ lệ
p_female <- a / (a + b)
p_male <- c / (c + d)
diff_prop <- p_female - p_male
diff_prop
## [1] 0.01070605
library(DescTools)
RelRisk(table_gender_home)
## [1] 0.9735554
library(epitools)
riskratio(table_gender_home)
## $data
##
## N Y Total
## F 2826 4344 7170
## M 2789 4100 6889
## Total 5615 8444 14059
##
## $measure
## risk ratio with 95% C.I.
## estimate lower upper
## F 1.0000000 NA NA
## M 0.9823291 0.9561812 1.009192
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## F NA NA NA
## M 0.195158 0.1964833 0.1950884
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
Tỷ lệ có nhà theo từng giới tính được tính như sau:
4344 / 7170 ≈ 60.60%4100 / 6889 ≈ 59.50%Từ đó, tỷ số rủi ro (Risk Ratio - RR) của nhóm nam so với nữ về khả năng sở hữu nhà là: \[ RR = \frac{P(Y|\text{Nam})}{P(Y|\text{Nữ})} = \frac{0.5950}{0.6060} \approx 0.9823 \]
Khoảng tin cậy 95% cho RR là (0.9562 ; 1.0092). Vì
khoảng này bao gồm giá trị 1, nên sự khác biệt giữa hai
nhóm không có ý nghĩa thống kê.
Kết quả kiểm định Chi-square cho giá trị p ≈ 0.195 (> 0.05), do đó không đủ bằng chứng để kết luận rằng giới tính có ảnh hưởng đáng kể đến khả năng sở hữu nhà.
OddsRatio(table_gender_home)
## [1] 0.9563518
oddsratio(table_gender_home)
## $data
##
## N Y Total
## F 2826 4344 7170
## M 2789 4100 6889
## Total 5615 8444 14059
##
## $measure
## odds ratio with 95% C.I.
## estimate lower upper
## F 1.000000 NA NA
## M 0.956381 0.8938974 1.023169
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## F NA NA NA
## M 0.195158 0.1964833 0.1950884
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
OR = 0.9564 < 1 cho thấy tỷ số chênh (odds ratio) về khả năng sở hữu nhà của Nam thấp hơn một chút so với Nữ.
Nói cách khác, trong tập dữ liệu khách hàng này, là Nam có liên quan đến việc giảm nhẹ odds sở hữu nhà so với Nữ. Cụ thể, odds sở hữu nhà của Nam thấp hơn khoảng 4.4% so với Nữ, nếu giữ các yếu tố khác không đổi.
Tuy nhiên, mức chênh lệch này là rất nhỏ và chưa đủ để kết luận chắc chắn về sự khác biệt giữa hai nhóm.
Khi xét đến khoảng tin cậy 95% của OR (từ 0.8940 đến 1.0232), ta thấy khoảng này bao gồm giá trị 1, điều đó có nghĩa là kết quả không có ý nghĩa thống kê ở mức tin cậy 95%.
Tóm lại, mặc dù OR < 1 cho thấy xu hướng odds sở hữu nhà của Nam thấp hơn Nữ, kết luận này không có ý nghĩa thống kê. Sự khác biệt nhỏ có thể chỉ là do ngẫu nhiên trong mẫu quan sát. Do đó, không có bằng chứng đủ mạnh để khẳng định rằng giới tính có ảnh hưởng đến odds sở hữu nhà trong bộ dữ liệu này.
=> Kết luận: Trong phạm vi dữ liệu hiện tại, giới tính không phải là yếu tố quyết định đến việc sở hữu nhà — odds giữa Nam và Nữ là gần như tương đương nhau.