1 Ôn lại kiến thức Tuần 2

1.1 Bảng tần số chéo (cross-tabulation)

Bảng tần số chéo, hay còn gọi là bảng hai chiều (two-way table), là một công cụ thống kê mô tả cơ bản nhưng cực kỳ mạnh mẽ, đặc biệt hữu ích khi bạn muốn khám phá mối quan hệ giữa hai hoặc nhiều biến định tính (categorical variables).

Mục đích chính: Mục đích cốt lõi của bảng tần số chéo là hiển thị tần suất xuất hiện đồng thời của các giá trị thuộc về hai hay nhiều biến. Nó giúp chúng ta trả lời các câu hỏi như:

  • Có mối liên hệ nào giữa biến A và biến B không?

  • Các nhóm khác nhau của biến A có xu hướng lựa chọn các giá trị khác nhau của biến B không?

  • Tần suất xuất hiện của một sự kết hợp cụ thể giữa các giá trị của các biến là bao nhiêu?

Trong phân tích dữ liệu định tính, bảng tần số chéo giúp chúng ta xác định các mẫu hình (patterns), xu hướng (trends) và mối liên kết tiềm ẩn trong dữ liệu mà có thể không rõ ràng nếu chỉ xem xét từng biến riêng lẻ.

Một bảng tần số chéo cơ bản thường có dạng:

Biến B - Giá trị \(B_1\) Biến B - Giá trị \(B_2\) Tổng theo hàng
Biến A - Giá trị \(A_1\) Số lượng Số lượng Số lượng
Biến A - Giá trị \(A_2\) Số lượng Số lượng Số lượng
Tổng theo cột Số lượng Số lượng Tổng cộng

Trong đó:

  • Hàng (Rows): Đại diện cho các phạm trù (categories) của biến định tính thứ nhất.

  • Cột (Columns): Đại diện cho các phạm trù của biến định tính thứ hai.

  • Ô (Cells): Mỗi ô trong bảng hiển thị tần số (frequency), tức là số lượng quan sát cùng mang một cặp giá trị cụ thể của hai biến. Ví dụ, ô ở hàng “Giá trị A1” và cột “Giá trị B1” cho biết có bao nhiêu trường hợp đồng thời có “Giá trị A1” và “Giá trị B1”.

  • Tổng theo hàng (Row totals): Tổng số quan sát cho mỗi phạm trù của biến ở hàng.

  • Tổng theo cột (Column totals): Tổng số quan sát cho mỗi phạm trù của biến ở cột.

  • Tổng cộng (Grand total): Tổng số quan sát trong toàn bộ tập dữ liệu được phân tích.

Ưu điểm của Bảng tần số chéo:

  • Đơn giản và dễ hiểu: Dễ dàng tạo và diễn giải, ngay cả với những người không có nền tảng thống kê sâu.

  • Trực quan hóa dữ liệu: Cung cấp một cách trực quan để xem xét sự phân bố và mối quan hệ giữa các biến.

  • Nền tảng cho phân tích sâu hơn: Là bước đầu tiên quan trọng trước khi tiến hành các phân tích phức tạp hơn như mô hình hồi quy logistic (khi biến phụ thuộc là định tính).

  • Hữu ích trong việc xác định các nhóm con: Giúp nhận diện các phân nhóm cụ thể trong dữ liệu dựa trên sự kết hợp của các đặc điểm.

Hạn chế cần lưu ý:

  • Chỉ áp dụng cho biến định tính: Không trực tiếp sử dụng cho biến định lượng (cần phải nhóm các giá trị định lượng thành các khoảng để tạo biến định tính trước).

  • Số lượng biến hạn chế: Bảng tần số chéo với hơn hai hoặc ba biến có thể trở nên rất phức tạp và khó diễn giải (mặc dù R có thể xử lý).

  • Không chỉ ra quan hệ nhân quả: Bảng tần số chéo chỉ cho thấy mối liên hệ (association), không có nghĩa là một biến gây ra sự thay đổi ở biến kia.

Ví dụ trong bộ dữ liệu Supermarket Transactions

library(janitor)
library(knitr)

tbl <- st %>%
  tabyl(gender, product_family) %>%
  adorn_totals(where = c("row", "col"), name = c("Tổng cột", "Tổng hàng"))

kable(tbl, caption = "Bảng tần số chéo của gender và product_family")
Bảng tần số chéo của gender và product_family
gender Drink Food Non-Consumable Tổng hàng
F 669 5149 1352 7170
M 581 5004 1304 6889
Tổng cột 1250 10153 2656 14059

1.2 Kiểm định Chi-bình phương

Kiểm định Chi bình phương (Chi-squared test, ký hiệu là \(\chi^2\)) là một kiểm định thống kê phi tham số được sử dụng rộng rãi để kiểm tra mối liên hệ giữa các biến định tính hoặc xem xét liệu phân phối tần suất quan sát được của một biến có phù hợp với một phân phối lý thuyết hay không.

Lý thuyết Kiểm định Chi bình phương:

Kiểm định Chi bình phương hoạt động dựa trên việc so sánh giữa tần suất quan sát được (Observed Frequencies - O) trong mẫu dữ liệu của bạn và tần suất kỳ vọng (Expected Frequencies - E) mà bạn mong đợi nếu không có mối liên hệ nào giữa các biến (đối với kiểm định tính độc lập) hoặc nếu dữ liệu tuân theo một phân phối cụ thể (đối với kiểm định mức độ phù hợp).

Có hai loại kiểm định Chi bình phương chính:

  1. Kiểm định Chi bình phương về tính độc lập (Chi-squared Test of Independence):
  • Mục đích: Xác định xem có mối liên hệ (association) đáng kể về mặt thống kê giữa hai biến định tính hay không. Ví dụ, liệu có mối liên hệ giữa giới tính và việc lựa chọn một sản phẩm cụ thể.

  • Giả thuyết:

    • Giả thuyết không (\(H_0\)): Hai biến là độc lập (không có mối liên hệ).

    • Giả thuyết đối (\(H_1\)): Hai biến không độc lập (có mối liên hệ).

  • Dữ liệu thường được trình bày dưới dạng bảng tần số chéo (bảng hai chiều).

  1. Kiểm định Chi bình phương về mức độ phù hợp (Chi-squared Goodness-of-Fit Test):
  • Mục đích: Xác định xem phân phối tần suất quan sát được của một biến định tính có phù hợp với một phân phối lý thuyết hoặc một phân phối mong đợi nào đó hay không. Ví dụ, liệu số lượng khách hàng đến cửa hàng các ngày trong tuần có đồng đều hay không.

  • Giả thuyết:

    • Giả thuyết không (\(H_0\)): Phân phối tần suất quan sát được phù hợp với phân phối lý thuyết.

    • Giả thuyết đối (\(H_1\)): Phân phối tần suất quan sát được không phù hợp với phân phối lý thuyết.

Logic cơ bản: Nếu tần suất quan sát được (O) rất khác biệt so với tần suất kỳ vọng (E), thì giá trị thống kê \(\chi^2\) sẽ lớn. Giá trị \(\chi^2\) càng lớn, càng có nhiều bằng chứng để bác bỏ giả thuyết không (\(H_0\)).

Công thức Kiểm định Chi bình phương: Giá trị thống kê Chi bình phương (\(\chi^2\)) được tính theo công thức chung sau:

\[ \chi^2 = \sum \frac{(O - E)^2}{E} \]

Trong đó:

  • \(\chi^2\): Là giá trị thống kê Chi bình phương.

  • \(\sum\): Ký hiệu tổng, nghĩa là bạn cần tính toán biểu thức cho mỗi ô (cell) trong bảng tần số chéo (đối với kiểm định tính độc lập) hoặc mỗi nhóm (category) (đối với kiểm định mức độ phù hợp) rồi cộng chúng lại.

  • \(O\): Tần suất quan sát được (Observed frequency) cho mỗi ô/nhóm. Đây là số lượng thực tế bạn đếm được từ dữ liệu của mình.

  • \(E\): Tần suất kỳ vọng (Expected frequency) cho mỗi ô/nhóm. Đây là tần suất bạn mong đợi nếu giả thuyết không (\(H_0\)) là đúng.

Cách tính Tần suất kỳ vọng (E): Đối với Kiểm định tính độc lập (trong bảng tần số chéo) - Tần suất kỳ vọng cho một ô cụ thể trong bảng tần số chéo được tính bằng:

\[ E_{ij}=\frac{(\text{Tổng hàng i})\times(\text{Tổng cột j})}{\text{Tổng toàn bộ quan sát}} \]

Trong đó:

  • \(E_{ij}\) là tần suất kỳ vọng của ô nằm ở hàng i và cột j.

  • “Tổng hàng i” là tổng số quan sát trong hàng i.

  • “Tổng cột j” là tổng số quan sát trong cột j.

  • “Tổng cộng toàn bộ quan sát” là tổng số tất cả các quan sát trong bảng.

Đối với Kiểm định mức độ phù hợp: Tần suất kỳ vọng được xác định dựa trên phân phối lý thuyết mà bạn đang kiểm tra. Ví dụ, nếu bạn kiểm tra xem các lựa chọn có đồng đều hay không, thì tần suất kỳ vọng cho mỗi lựa chọn sẽ bằng tổng số quan sát chia cho số lượng lựa chọn.

Bậc tự do (Degrees of Freedom - df):

Bậc tự do là một tham số quan trọng cho biết số lượng giá trị trong một phép tính thống kê có thể thay đổi một cách tự do. Cách tính bậc tự do phụ thuộc vào loại kiểm định Chi bình phương:

Đối với Kiểm định tính độc lập (trong bảng tần số chéo):

\[ df=(r−1)×(c−1) \]

Trong đó:

  • \(r\) là số lượng hàng trong bảng.

  • \(c\) là số lượng cột trong bảng.

Đối với Kiểm định mức độ phù hợp:

\[ df=k−1−m \]

Trong đó:

  • \(k\) là số lượng nhóm (categories).

  • \(m\) là số lượng tham số của phân phối được ước lượng từ dữ liệu mẫu (nếu có). Nếu phân phối lý thuyết được xác định hoàn toàn mà không cần ước lượng tham số nào từ mẫu, thì \(m=0\), và \(df=k−1\).

Diễn giải kết quả:

Sau khi tính được giá trị \(\chi^2\) và bậc tự do (df), bạn sẽ so sánh giá trị \(\chi^2\) này với một giá trị tới hạn từ phân phối Chi bình phương (thường được tra từ bảng hoặc tính bằng phần mềm thống kê) hoặc sử dụng p-value để đưa ra kết luận:

  1. Xác định mức ý nghĩa (\(\alpha\)): Đây là xác suất mắc sai lầm loại I (bác bỏ \(H_0\) khi \(H_0\) đúng). Mức ý nghĩa phổ biến là 0.05 (5%), 0.01 (1%), hoặc 0.1 (10%).

  2. Tìm p-value: P-value là xác suất quan sát được một giá trị thống kê \(\chi^2\) lớn bằng hoặc lớn hơn giá trị đã tính được từ mẫu, nếu giả thuyết không (\(H_0\)) là đúng.

  3. Đưa ra quyết định:

  • Nếu p-value \(≤ \alpha\): Bác bỏ giả thuyết không (\(H_0\)). Điều này có nghĩa là có đủ bằng chứng thống kê để kết luận rằng có mối liên hệ giữa các biến (đối với kiểm định tính độc lập) hoặc phân phối quan sát không phù hợp với phân phối lý thuyết (đối với kiểm định mức độ phù hợp).

  • Nếu p-value \(> \alpha\): Không bác bỏ (chấp nhận) giả thuyết không (\(H_0\)). Điều này có nghĩa là không có đủ bằng chứng thống kê để kết luận có mối liên hệ hoặc sự khác biệt đáng kể.

Điều kiện áp dụng:

  • Dữ liệu phải ở dạng tần suất (đếm số lượng).

  • Các quan sát phải độc lập với nhau.

  • Mẫu phải đủ lớn. Một quy tắc phổ biến là không nên có quá 20% số ô có tần suất kỳ vọng (E) nhỏ hơn 5, và tất cả các ô phải có tần suất kỳ vọng lớn hơn 1. Nếu điều kiện này không được đáp ứng, có thể cần sử dụng các kiểm định thay thế (như kiểm định chính xác Fisher cho bảng 2x2).

Ví dụ trong bộ dữ liệu Supermarket Transactions

test <- chisq.test(tbl)
print(test)
## 
##  Pearson's Chi-squared test
## 
## data:  tbl
## X-squared = 3.5185, df = 2, p-value = 0.1722

Vì p-value (0.1722) > \(\alpha\) (0.05), chúng ta không có đủ bằng chứng để bác bỏ giả thuyết không (\(H_0\)). Không có bằng chứng cho thấy giới tính có ảnh hưởng đến loại sản phẩm được mua.

1.3 Relative Risk

Nguy cơ tương đối (RR) là tỷ số giữa xác suất xảy ra một biến cố (ví dụ: mắc bệnh) ở nhóm phơi nhiễm và xác suất xảy ra biến cố đó ở nhóm không phơi nhiễm.

Nó trả lời cho câu hỏi: “Một người phơi nhiễm với yếu tố X có khả năng mắc bệnh Y cao gấp bao nhiêu lần (hoặc thấp hơn bao nhiêu lần) so với một người không phơi nhiễm với yếu tố X?”

RR là tỷ lệ của hai nguy cơ (xác suất):

  • Nguy cơ ở nhóm phơi nhiễm (\(R_E\)): Xác suất một người trong nhóm phơi nhiễm sẽ gặp phải biến cố.

  • Nguy cơ ở nhóm không phơi nhiễm (\(R_{NE}\)): Xác suất một người trong nhóm không phơi nhiễm sẽ gặp phải biến cố.

RR cho biết nguy cơ ở nhóm phơi nhiễm cao gấp bao nhiêu lần (hoặc thấp hơn bao nhiêu lần) so với nhóm không phơi nhiễm.

Công thức tính Nguy cơ tương đối: Để tính toán RR, chúng ta thường sử dụng dữ liệu từ một bảng 2x2 (bảng tần số chéo) như sau:

Biến cố (+) Biến cố (-) Tổng
Phơi nhiễm (+) a b a+b
Phơi nhiễm (-) c d c+d
Tổng a+c b+d a+b+c+d

Trong đó:

  • a: Số người trong nhóm phơi nhiễm (+) gặp biến cố (+).

  • b: Số người trong nhóm phơi nhiễm (+) không gặp biến cố (-).

  • c: Số người trong nhóm không phơi nhiễm (-) gặp biến cố (+).

  • d: Số người trong nhóm không phơi nhiễm (-) không gặp biến cố (-).

Công thức tính nguy cơ cho từng nhóm:

  • Nguy cơ ở nhóm phơi nhiễm \(R_E=\frac{a}{a+b}\) (Tỷ lệ người mắc bệnh trong nhóm có phơi nhiễm)

  • Nguy cơ ở nhóm không phơi nhiễm \(R_{NE}=\frac{c}{c+d}\) (Tỷ lệ người mắc bệnh trong nhóm không phơi nhiễm)

Công thức tính Nguy cơ tương đối (RR):

\[ RR=\frac{R_E}{R_{NE}}=\frac{\frac{a}{a+b}}{\frac{c}{c+d}} \]

Diễn giải giá trị Nguy cơ tương đối:

  • RR = 1: Nguy cơ xảy ra biến cố ở nhóm phơi nhiễm bằng nguy cơ ở nhóm không phơi nhiễm. Điều này cho thấy không có mối liên hệ giữa yếu tố phơi nhiễm và biến cố.

  • RR > 1: Nguy cơ xảy ra biến cố ở nhóm phơi nhiễm cao hơn so với nhóm không phơi nhiễm. Yếu tố phơi nhiễm được coi là một yếu tố nguy cơ làm tăng khả năng xảy ra biến cố.

    • Ví dụ: Nếu RR = 3, điều đó có nghĩa là nhóm phơi nhiễm có nguy cơ gặp biến cố cao gấp 3 lần so với nhóm không phơi nhiễm.
  • RR < 1: Nguy cơ xảy ra biến cố ở nhóm phơi nhiễm thấp hơn so với nhóm không phơi nhiễm. Yếu tố phơi nhiễm được coi là một yếu tố bảo vệ, làm giảm khả năng xảy ra biến cố.

    • Ví dụ: Nếu RR = 0.5, điều đó có nghĩa là nhóm phơi nhiễm có nguy cơ gặp biến cố chỉ bằng một nửa (hoặc giảm 50%) so với nhóm không phơi nhiễm.

Ví dụ trong bộ dữ liệu Supermarket Transactions

# Tạo bảng 2x2
tbl_rr <- table(
  Gender = st$gender,
  Food = st$product_family == "Food"
)

# Lấy các giá trị từ bảng
a <- tbl_rr["F", "TRUE"]
b <- tbl_rr["F", "FALSE"]
c <- tbl_rr["M", "TRUE"]
d <- tbl_rr["M", "FALSE"]

# Tính xác suất (P1, P2)
p1 <- a / (a + b)  # Phụ nữ
p2 <- c / (c + d)  # Nam giới

# Relative Risk (RR) 
rr <- p1 / p2

# Tính tổng hàng, cột
row1 <- c(a, b, a + b)
row2 <- c(c, d, c + d)
total <- c(a + c, b + d, a + b + c + d)

# Tạo bảng 
table_matrix <- rbind(
  "Giới tính Nữ (F)" = row1,
  "Giới tính Nam (M)" = row2,
  "Tổng hàng" = total
)

colnames(table_matrix) <- c("Chọn Food (+)", "Không chọn Food (-)", "Tổng cột")

# Hiển thị bảng bằng kable
kable(table_matrix, caption = "Bảng 2x2 của Giới tính và lựa chọn sản phẩm Food")
Bảng 2x2 của Giới tính và lựa chọn sản phẩm Food
Chọn Food (+) Không chọn Food (-) Tổng cột
Giới tính Nữ (F) 5149 2021 7170
Giới tính Nam (M) 5004 1885 6889
Tổng hàng 10153 3906 14059

Relative Risk của gender và product_family là 0.9886501

Giá trị RR = 0.9886501 cho thấy nguy cơ chọn sản phẩm “Food” giữa hai nhóm giới tính được so sánh là gần như nhau, với một sự khác biệt rất nhỏ.

2 Tìm hiểu về các nội dung của Chương 2

2.1 Cấu trúc xác suất của bảng ngẫu nhiên

Khi phân tích bảng ngẫu nhiên (bảng tần số chéo), việc hiểu cấu trúc xác suất hay mô hình lấy mẫu (sampling scheme) đã tạo ra dữ liệu trong bảng là rất quan trọng. Điều này ảnh hưởng đến cách chúng ta mô hình hóa dữ liệu và lựa chọn các kiểm định thống kê phù hợp. Hai phân phối xác suất cơ bản thường được xem xét cho các ô trong bảng ngẫu nhiên là phân phối Poisson và phân phối đa thức (Multinomial).

2.1.1 Phân phối Poisson

Trong mô hình lấy mẫu Poisson, các tần số ô (cell counts) \(n_{ij}\) (số quan sát trong ô ở hàng i, cột j) được giả định là các biến ngẫu nhiên Poisson độc lập.

Mỗi tần số ô \(n_{ij}\) được coi là một mẫu từ một phân phối Poisson với tham số trung bình (và cũng là phương sai) là \(\mu_{ij}\) >0: giá trị kỳ vọng (expected count) của ô (i,j)

\[ n_{ij} \sim Poisson(\mu_{ij}) \]

Hàm khối xác suất cho mỗi ô là:

\[ P(n_{ij}) = \frac{e^{-\mu_{ij}}\cdot\mu_{ij}^{n_{ij}}}{n_{ij}!} \]

Theo mô hình này, không có tổng nào được cố định trước (cả tổng các hàng, tổng các cột, hay tổng chung của bảng \(N=\sum_i \sum_j n_{ij}\). Tổng chung \(N\) cũng là 1 biến ngẫu nhiên Poisson với tham sô \(\mu = \sum_i \sum_j \mu_{ij}\).

Khi nào áp dụng:

  • Khi các sự kiện tạo nên tần số trong mỗi ô xảy ra độc lập theo thời gian hoặc không gian, và tỷ lệ trung bình của các sự kiện này là ổn định.

  • Ví dụ: Đếm số vụ tai nạn tại các giao lộ khác nhau (các giao lộ là các ô) trong một khoảng thời gian nhất định. Số vụ tai nạn ở mỗi giao lộ có thể được mô hình hóa bằng phân phối Poisson.

  • Trong phân tích log-linear, mô hình Poisson thường là cơ sở, ngay cả khi sau đó chúng ta điều kiện hóa trên tổng mẫu.

# Tạo bảng tần số dưới dạng ma trận
tbl_real <- matrix(c(669, 5149, 1352,
                     581, 5004, 1304),
                   nrow = 2, byrow = TRUE)

rownames(tbl_real) <- c("F", "M")
colnames(tbl_real) <- c("Drink", "Food", "Non-Consumable")

# Chuyển ma trận thành data frame để truy cập dễ dàng
df <- as.data.frame(tbl_real)

# Lấy số lượng hàng Drink cho từng nhóm
count_F <- df["F", "Drink"]
count_M <- df["M", "Drink"]

# Tổng hàng của từng nhóm
total_F <- 7170
total_M <- 6889

# Tính tỷ lệ hàng Drink trên tổng hàng
rate_F <- count_F / total_F
rate_M <- count_M / total_M

cat("Tỷ lệ nữ mua Drink:", rate_F, "\n")
## Tỷ lệ nữ mua Drink: 0.09330544
cat("Tỷ lệ nam mua Drink:", rate_M, "\n")
## Tỷ lệ nam mua Drink: 0.08433735
# Kiểm định tỷ lệ Poisson test
library(epitools)

poisson.test(c(count_F, count_M), c(total_F, total_M))
## 
##  Comparison of Poisson rates
## 
## data:  c(count_F, count_M) time base: c(total_F, total_M)
## count1 = 669, expected count1 = 637.49, p-value = 0.07478
## alternative hypothesis: true rate ratio is not equal to 1
## 95 percent confidence interval:
##  0.9884706 1.2385367
## sample estimates:
## rate ratio 
##   1.106336

2.1.2 Phân phối Multinomial

Phân phối đa thức thường phù hợp hơn khi tổng số quan sát (hoặc các tổng phụ) được cố định trước bởi thiết kế nghiên cứu. Có hai dạng chính:

1. Một mẫu đa thức (Single Multinomial Sample):

Tổng chung \(N\) của bảng được cố định trước.

\(N\) quan sát độc lập được phân loại vào \(k=i \times j\) ô của bảng (với \(I\) là số hàng và \(J\) là số cột).

Vector các tần số ô (\(n_{11},n_{12},...,n_{IJ}\)) tuân theo một phân phối đa thức với các tham số là \(N\) (số thử nghiệm) và vector xác suất các ô \(\pi=(\pi_{11},\pi_{12},...,\pi_{IJ})\), trong đó \(\pi_{ij}\) là xác suất một quan sát rơi vào ô \((ij)\)\(\sum_i\sum_j\pi_{ij}=1\).

Hàm khối xác suất đồng thời của các tần số ô là:

\[ P(n_{11}, n_{12}, \dots, n_{IJ}) = \frac{N!}{n_{11}! \, n_{12}! \cdots n_{IJ}!} \cdot \pi_{11}^{n_{11}} \, \pi_{12}^{n_{12}} \cdots \pi_{ij}^{n_{IJ}} \]

với điều kiện \(\sum_i\sum_jn_{ij}=N\)

Khi nào áp dụng:

  • Các nghiên cứu cắt ngang (cross-sectional studies) trong đó một mẫu duy nhất gồm \(N\) đối tượng được lấy và sau đó được phân loại dựa trên hai (hoặc nhiều) biến định tính.

  • Ví dụ: Khảo sát \(N=1000\) người và phân loại họ theo nhóm tuổi (hàng) và mức độ hài lòng (cột).

2. Mẫu đa thức tích (Product Multinomial Sample):

Tổng của các hàng (row totals \(n_{i+}\)) hoặc tổng của các cột (column totals \(n_{+j}\)) được cố định trước bởi thiết kế nghiên cứu.

Trường hợp tổng hàng cố định (\(n_{i+}\)):

  • Đối với mỗi hàng \(i\), có \(n_{i+}\) quan sát được lấy mẫu độc lập. Các phân loại này được phân loại vào \(J\) cột.

  • Các tần số trong mỗi hàng \((n_{i1},n_{i2},...,n_{iJ})\) tuân theo một phân phối đa thức độc lập với các tham số là \(n_{i+}\) (tổng hàng) và vector xác suất có điều kiện \(\pi_{|i}=(\pi_{1|i},\pi_{2|i},...,\pi_{J|i})\), trong đó \(\pi_{j|i}\) là xác suất một quan sát rơi vào cột \(j\) biết rằng nó thuộc hàng \(i\), và \(\sum_j \pi_{j|i}=1\) cho mỗi hàng \(i\).

  • Hàm khối xác suất đồng thời là tích của các hàm khối đa thức riêng lẻ cho mỗi hàng:

\[ P(\text{all } n_{ij} \mid \text{all } n_{i+}) = \prod_{i=1}^{I} \left( \frac{n_{i+}!}{n_{i1}! \, n_{i2}! \cdots n_{iJ}!} \cdot \pi_{1|i}^{n_{i1}} \, \pi_{2|i}^{n_{i2}} \cdots \pi_{J|i}^{n_{iJ}} \right) \]

Trường hợp tổng cột cố định (\(n_{j+}\)): Tương tự, mỗi cột sẽ có một phân phối đa thức độc lập.

Khi nào áp dụng (tổng hàng cố định):

  • Nghiên cứu đoàn hệ tiến cứu (prospective cohort studies) hoặc thử nghiệm lâm sàng ngẫu nhiên (RCTs): Các nhóm phơi nhiễm (hàng) có kích thước cố định được chọn trước, sau đó theo dõi để xem kết cục (cột).

  • Ví dụ: Chọn \(n_{1+}=500\) người hút thuốc và \(n_{2+}=500\) người không hút thuốc, sau đó theo dõi xem bao nhiêu người trong mỗi nhóm phát triển bệnh phổi.

Khi nào áp dụng (tổng cột cố định):

  • Nghiên cứu bệnh chứng (case-control studies): Các nhóm bệnh (cột) có kích thước cố định được chọn trước, sau đó điều tra ngược về tình trạng phơi nhiễm (hàng).

  • Ví dụ: Chọn \(n_{+1}=200\) người mắc bệnh và \(n_{+2}=200\) người không mắc bệnh, sau đó hỏi về tiền sử phơi nhiễm.

# Tổng số mẫu
N <- sum(tbl_real) 

# Chuyển thành vector theo hàng: F-Drink, F-Food, F-NonConsumable, M-Drink, ...
counts <- as.vector(t(tbl_real))  # chuyển theo hàng F rồi M

# Tính tần suất tương đối từ bảng thực tế => làm xác suất lý thuyết (π_ij)
probs <- counts / sum(counts)  # chuẩn hóa để tổng = 1

# Tính xác suất đa thức
prob_multinomial <- dmultinom(counts, prob = probs)

Xác suất liên kết (joint probability) theo phân phối đa thức (Multinomial), là xác suất để thu được đúng cấu hình ô đếm cụ thể như bạn đã quan sát (tức là đúng 669 nữ uống, 5149 nữ ăn, 1352 nữ hàng phi tiêu dùng, v.v…) là 2.8503394^{-10}

Trong các bảng có tổng quan sát lớn (ở đây là 14,059 quan sát), xác suất thu được đúng một cấu hình cụ thể là rất nhỏ, vì có rất nhiều cách phân phối khác nhau cho 14,059 người vào 6 ô.

Điều này không có nghĩa là dữ liệu sai hay xấu. Nó chỉ phản ánh tính chất của phân phối đa thức: xác suất của một cấu hình cụ thể luôn rất nhỏ khi N lớn.

Mối quan hệ giữa Phân phối Poisson và Đa thức

  1. Từ Poisson đến Đa thức (một mẫu):
  • Nếu các tần số ô \(n_{ij}\) là các biến ngẫu nhiên Poisson độc lập với trung bình \(\mu_{ij}\), thì phân phối có điều kiện của vector tần số ô \((n_{11}, ..., n_{IJ})\), khi biết tổng chung \(N = \sum n_{ij}\), là một phân phối đa thức với các tham số \(N\) và xác suất ô \(\pi_{ij} = \frac{\mu_{ij}}{\sum \mu_{ij}}\).

  • Do đó:

\[ (n_{11}, ..., n_{IJ}) \mid N \sim \text{Multinomial}(N, \pi_{ij}) \]

  1. Từ Poisson đến Đa thức tích (nhiều hàng):
  • Tương tự, nếu các \(n_{ij} \sim \text{Poisson}(\mu_{ij})\), thì phân phối có điều kiện của các tần số trong hàng \(i\), tức là \((n_{i1}, ..., n_{iJ})\), khi biết tổng hàng \(n_{i+} = \sum_j n_{ij}\), là một phân phối đa thức với tham số \(n_{i+}\) và xác suất có điều kiện \(\pi_{j|i} = \frac{\mu_{ij}}{\sum_{k} \mu_{ik}}\).

  • Vì vậy:

\[ (n_{i1}, ..., n_{iJ}) \mid n_{i+} \sim \text{Multinomial}(n_{i+}, \pi_{j|i}) \]

2.2 So sánh 2 tỷ lệ trong bảng ngẫu nhiên 2x2

Trong phân tích bảng ngẫu nhiên 2x2, việc so sánh hai tỷ lệ là rất phổ biến để đánh giá mối liên quan giữa một yếu tố phơi nhiễm và một kết cục. Có ba thước đo chính thường được sử dụng: Hiệu hai tỷ lệ, Tỷ số nguy cơ (Relative Risk - RR), và Tỷ số chênh (Odds Ratio - OR).

Giả sử chúng ta có bảng 2x2 sau

Biến cố (+) Biến cố (-) Tổng
Phơi nhiễm (+) a b a+b
Phơi nhiễm (-) c d c+d
Tổng a+c b+d a+b+c+d=N

Trong đó:

  • Nhóm 1 (Phơi nhiễm): Tỷ lệ (nguy cơ) xảy ra biến cố trong nhóm có phơi nhiễm là \(P_1=\frac{a}{a+b}\)

  • Nhóm 2 (Không phơi nhiễm): Tỷ lệ (nguy cơ) xảy ra biến cố trong nhóm không phơi nhiễm là \(P_2=\frac{c}{c+d}\)

1. Hiệu hai tỷ lệ (Risk Difference - RD):

\[ RD = P_1 - P_2 = \frac{a}{a + b} - \frac{c}{c + d} \]

RD đo lường sự khác biệt tuyệt đối về nguy cơ có kết cục giữa nhóm phơi nhiễm và nhóm không phơi nhiễm.

  • RD = 0: Không có sự khác biệt về nguy cơ giữa hai nhóm.

  • RD > 0: Nhóm phơi nhiễm có nguy cơ cao hơn nhóm không phơi nhiễm. Giá trị RD cho biết nguy cơ tăng thêm tuyệt đối là bao nhiêu. Ví dụ, RD = 0.1 có nghĩa là nhóm phơi nhiễm có nguy cơ cao hơn 10% so với nhóm không phơi nhiễm.

  • RD < 0: Nhóm phơi nhiễm có nguy cơ thấp hơn nhóm không phơi nhiễm (yếu tố phơi nhiễm có thể mang tính bảo vệ). Giá trị RD cho biết nguy cơ giảm đi tuyệt đối là bao nhiêu.

RD rất hữu ích trong y tế công cộng để đánh giá tác động của một yếu tố nguy cơ hoặc một biện pháp can thiệp lên một quần thể.

2. Tỷ số nguy cơ (Relative Risk - RR):

Đã nói ở trên

3. Tỷ số chênh (Odds Ratio - OR):

Odds (chênh) có kết cục ở nhóm phơi nhiễm: \(\text{Odds}_1 = \frac{P_1}{1 - P_1} = \frac{a/(a + b)}{b/(a + b)} = \frac{a}{b}\)

Odds (chênh) có kết cục ở nhóm không phơi nhiễm: \(\text{Odds}_2 = \frac{P_2}{1 - P_2} = \frac{c/(c + d)}{d/(c + d)} = \frac{c}{d}\)

Vậy, Tỷ số chênh (Odds Ratio):

\[ OR = \frac{\text{Odds}_1}{\text{Odds}_2} = \frac{a/b}{c/d} = \frac{ad}{bc} \]

Đây còn gọi là tỷ số chéo sản phẩm (cross-product ratio).

OR so sánh “chênh” (odds) của việc có kết cục giữa nhóm phơi nhiễm và nhóm không phơi nhiễm. “Chênh” là tỷ lệ giữa xác suất xảy ra một biến cố và xác suất không xảy ra biến cố đó.

  • OR = 1: Chênh có kết cục ở hai nhóm là như nhau. Yếu tố phơi nhiễm không liên quan đến kết cục.

  • OR > 1: Chênh có kết cục ở nhóm phơi nhiễm cao hơn nhóm không phơi nhiễm. Điều này ngụ ý yếu tố phơi nhiễm làm tăng khả năng có kết cục.

  • OR < 1: Chênh có kết cục ở nhóm phơi nhiễm thấp hơn nhóm không phơi nhiễm. Điều này ngụ ý yếu tố phơi nhiễm làm giảm khả năng có kết cục (yếu tố bảo vệ).

OR là thước đo mối liên quan quan trọng trong các nghiên cứu bệnh-chứng (case-control studies) vì trong các nghiên cứu này, chúng ta không thể tính trực tiếp tỷ lệ mắc bệnh (nguy cơ).

Khi kết cục (bệnh) là hiếm gặp trong quần thể, giá trị của OR sẽ xấp xỉ với RR.

Ví dụ trong bộ dữ liệu Supermarket Transactions

# Risk Difference
rd <- p1 - p2

# Odds
odds1 <- a / b
odds2 <- c / d

# Odds Ratio
or <- odds1 / odds2

# Bảng kết quả tóm tắt
results <- data.frame(
  Statistic = c("Tỷ lệ nữ chọn Food (P1)", 
                "Tỷ lệ nam chọn Food (P2)", 
                "Hiệu 2 tỷ lệ (RD)", 
                "Tỷ số chênh (Odds Ratio - OR)"),
  Value = c(round(p1, 4), round(p2, 4), round(rd, 4), round(or, 4))
)

kable(results, caption = "Các chỉ số đo lường hiệu ứng: RD và OR")
Các chỉ số đo lường hiệu ứng: RD và OR
Statistic Value
Tỷ lệ nữ chọn Food (P1) 0.7181
Tỷ lệ nam chọn Food (P2) 0.7264
Hiệu 2 tỷ lệ (RD) -0.0082
Tỷ số chênh (Odds Ratio - OR) 0.9597

Mức độ phổ biến cao: Cả nam và nữ đều có tỷ lệ chọn “Food” rất cao (trên 71%), cho thấy đây là một lựa chọn ưa thích của cả hai giới trong nhóm mẫu này.

Khác biệt nhỏ: Mặc dù có sự khác biệt nhỏ với việc nam giới có tỷ lệ chọn “Food” cao hơn một chút so với nữ giới (72.64% so với 71.81%), nhưng sự khác biệt này là không lớn. Hiệu hai tỷ lệ (RD = -0.0082) cho thấy sự chênh lệch tuyệt đối chỉ là 0.82%.

Tỷ số chênh gần 1: Tỷ số chênh (OR = 0.9597) cũng rất gần 1, điều này củng cố thêm nhận định rằng sự khác biệt về khả năng lựa chọn “Food” giữa hai giới là không đáng kể. Chênh của nữ giới chọn “Food” thấp hơn một chút so với nam giới.

Cần xem xét ý nghĩa thống kê: Để kết luận chắc chắn rằng sự khác biệt nhỏ này có ý nghĩa thống kê hay chỉ là do ngẫu nhiên trong mẫu, bạn cần xem xét khoảng tin cậy (Confidence Intervals) cho RD và OR, cũng như giá trị p-value từ các kiểm định thống kê liên quan (ví dụ: kiểm định Chi-bình phương cho bảng 2x2, hoặc kiểm định z cho hiệu hai tỷ lệ). Nếu khoảng tin cậy của RD chứa 0, hoặc khoảng tin cậy của OR chứa 1, thì sự khác biệt đó thường không được coi là có ý nghĩa thống kê.

2.3 Khoảng tin cậy cho các tham số đo mối liên hệ

Khoảng tin cậy (Confidence Interval - CI) là một khái niệm cực kỳ quan trọng trong thống kê suy luận, giúp chúng ta ước lượng một tham số của tổng thể (ví dụ: Odds Ratio của tổng thể) dựa trên dữ liệu từ mẫu. Nó cung cấp một khoảng giá trị mà chúng ta tin rằng tham số tổng thể thực sự nằm trong đó với một mức độ tin cậy nhất định.

Một khoảng tin cậy được xác định bởi hai yếu tố:

  • Ước lượng điểm (Point Estimate): Đây là giá trị tốt nhất mà chúng ta có được từ mẫu để ước lượng tham số tổng thể (ví dụ: giá trị OR tính được từ dữ liệu mẫu).

  • Biên sai số (Margin of Error): Phản ánh mức độ không chắc chắn của ước lượng điểm. Nó phụ thuộc vào độ biến thiên của dữ liệu (thường là sai số chuẩn - Standard Error) và mức độ tin cậy mong muốn.

Một khoảng tin cậy X% (ví dụ: 95% CI) có nghĩa là nếu chúng ta lặp đi lặp lại quy trình lấy mẫu và tính toán khoảng tin cậy nhiều lần, thì X% các khoảng tin cậy đó sẽ chứa giá trị thực của tham số tổng thể.

Quan trọng: Không phải là có X% xác suất tham số tổng thể nằm trong một khoảng tin cậy cụ thể đã tính được. Đúng hơn, X% là độ tin cậy của quy trình tạo ra khoảng đó.

Khi chúng ta tính toán một thước đo mối liên hệ từ dữ liệu mẫu (như Odds Ratio, Relative Risk, Risk Difference), giá trị đó chỉ là một ước lượng. Khoảng tin cậy giúp chúng ta:

  • Đánh giá độ chính xác của ước lượng mẫu: Khoảng tin cậy hẹp cho thấy độ chính xác cao hơn, trong khi khoảng rộng cho thấy độ không chắc chắn lớn hơn.

  • Xác định ý nghĩa thống kê: Nếu khoảng tin cậy cho một tỷ số (như OR, RR) chứa giá trị 1 (hoặc cho một hiệu số như RD chứa giá trị 0), điều đó gợi ý rằng kết quả có thể không có ý nghĩa thống kê ở mức tin cậy đó (tức là không có sự khác biệt hoặc mối liên hệ trong tổng thể).

Khoảng tin cậy cho Odds Ratio (OR):

Odds Ratio (OR) có phân phối mẫu thường bị lệch, đặc biệt với kích thước mẫu nhỏ. Do đó, việc tính toán khoảng tin cậy trực tiếp cho OR có thể không chính xác. Thay vào đó, người ta thường tính khoảng tin cậy cho logarithm tự nhiên của OR (ln(OR)) trước, vì phân phối của ln(OR) thường gần với phân phối chuẩn hơn. Sau đó, các giới hạn của khoảng tin cậy này sẽ được chuyển đổi ngược lại về thang đo OR bằng cách lấy hàm mũ.

Các bước tính Khoảng tin cậy 95% cho Odds Ratio (OR):

  • Giả sử chúng ta có bảng 2x2:
Biến cố (+) Biến cố (-)
Phơi nhiễm (+) a b
Phơi nhiễm (-) c d
  • Tính Odds Ratio (OR) từ mẫu:

\[ {OR}_{mẫu} = \frac{ad}{bc} \]

  • Tính log tự nhiên của OR:

\[ \ln({OR}_{mẫu}) = \ln\left( \frac{ad}{bc} \right) \]

  • Tính sai số chuẩn của ln(OR) (Woolf’s method):

Lưu ý: phương pháp này yêu cầu tất cả các ô \((a, b, c, d > 0)\). Nếu có ô bằng 0, có thể điều chỉnh bằng cách cộng một hằng số nhỏ (ví dụ 0.5) vào tất cả các ô.

\[ SE\left[\ln({OR}_{mẫu})\right] = \sqrt{ \frac{1}{a} + \frac{1}{b} + \frac{1}{c} + \frac{1}{d} } \]

  • Tính khoảng tin cậy 95% cho ln(OR):

Với \(Z_{1 - \alpha/2} = 1.96\) cho mức tin cậy 95%, \(\alpha=0.05\):

Giới hạn dưới của \(ln(OR)\): \[ \ln({OR})_L = \ln({OR}_{mẫu}) - 1.96 \times SE\left[\ln({OR}_{mẫu})\right] \]

Giới hạn trên của \(ln(OR)\): \[ \ln({OR})_U = \ln({OR}_{mẫu}) + 1.96 \times SE\left[\ln({OR}_{mẫu})\right] \]

  • Đổi về khoảng tin cậy cho OR (trên thang đo gốc): Lấy hàm mũ của hai giới hạn

\[ OR_L = e^{\ln({OR})_L}= \exp\left( \ln({OR})_L \right) \]

\[ OR_U = e^{ln({OR})_U} = \exp\left( \ln({OR})_U \right) \]

Vậy, khoảng tin cậy 95% cho OR là: \(\left( OR_L, \, OR_U \right)\)

# Sai số chuẩn (Standard Error) cho ln(RR) & RD
se_lnRR <- sqrt( (1/a - 1/(a + b)) + (1/c - 1/(c + d)) )
se_RD <- sqrt( (p1*(1 - p1))/(a + b) + (p2*(1 - p2))/(c + d) )

# Khoảng tin cậy 95% cho RR (trên thang log và exp)
z <- 1.96  # hệ số cho CI 95%
ci_rr_lower <- exp(log(rr) - z * se_lnRR)
ci_rr_upper <- exp(log(rr) + z * se_lnRR)

# Khoảng tin cậy 95% cho RD
ci_rd_lower <- rd - z * se_RD
ci_rd_upper <- rd + z * se_RD

# Odds Ratio (OR)
or <- (a * d) / (b * c)

# Standard error of ln(OR) – Woolf’s method
se_lnOR <- sqrt(1/a + 1/b + 1/c + 1/d)

# Khoảng tin cậy 95% cho OR
ci_or_lower <- exp(log(or) - z * se_lnOR)
ci_or_upper <- exp(log(or) + z * se_lnOR)

# Hiển thị bảng kết quả
results_ci <- data.frame(
  Chỉ_số = c("Relative Risk (RR)", "Risk Difference (RD)", "Odds Ratio (OR)"),
  Ước_lượng = c(round(rr, 4), round(rd, 4), round(or, 4)),
  CI_95_Dưới = c(round(ci_rr_lower, 4), round(ci_rd_lower, 4), round(ci_or_lower, 4)),
  CI_95_Trên = c(round(ci_rr_upper, 4), round(ci_rd_upper, 4), round(ci_or_upper, 4))
)

kable(results_ci, caption = "Ước lượng và khoảng tin cậy 95% cho RR, RD, OR")
Ước lượng và khoảng tin cậy 95% cho RR, RD, OR
Chỉ_số Ước_lượng CI_95_Dưới CI_95_Trên
Relative Risk (RR) 0.9887 0.9686 1.0091
Risk Difference (RD) -0.0082 -0.0231 0.0066
Odds Ratio (OR) 0.9597 0.8914 1.0333

Cả ba chỉ số đo lường mối liên hệ (RR, RD, và OR) đều cho thấy một hiệu ứng rất nhỏ về mặt độ lớn, với các ước lượng điểm đều gần với giá trị “không có hiệu ứng” (RR=1, RD=0, OR=1).

Quan trọng nhất, khoảng tin cậy 95% cho cả ba thước đo đều chứa giá trị cho thấy không có sự khác biệt (1 cho RR và OR; 0 cho RD).

Dựa trên các kết quả này, ở mức ý nghĩa 5%, không có bằng chứng thống kê nào cho thấy có sự khác biệt đáng kể về nguy cơ hoặc “chênh” xảy ra biến cố giữa hai nhóm đang được so sánh. Bất kỳ sự khác biệt nhỏ nào quan sát được trong mẫu đều có khả năng cao là do biến động ngẫu nhiên.