Nhiệm vụ 1: Tóm tắt cuốn sách: 2019_Generalized Linear Models With Examples in R

Generalized Linear Models With Examples in R

Peter K. Dunn và Gordon K. Smyth

Nội dung chính

Cuốn sách tập trung vào các mô hình tuyến tính tổng quát (GLMs), sử dụng ngôn ngữ và môi trường tính toán thống kê R.

A. GIỚI THIỆU CHUNG VỀ MÔ HÌNH THỐNG KÊ

Khác với các mô hình vật lý, mô hình thống kê được xem là sự xấp xỉ hữu ích để hiểu dữ liệu, thay vì là sự mô tả hoàn toàn chính xác thực tế. Theo George Box, “Tất cả các mô hình đều sai, nhưng một số hữu ích”.

Mỗi mô hình thống kê bao gồm hai thành phần chính:

  • Thành phần ngẫu nhiên (Random Component): Mô tả sự biến thiên của biến phản hồi (y) xung quanh giá trị trung bình của nó ($μ = E[y]$).

  • Thành phần hệ thống (Systematic Component): Diễn tả mối liên hệ giữa giá trị trung bình của biến phản hồi ($\mu$) và các biến giải thích (x).

Mục tiêu khi xây dựng mô hình thống kê có thể là dự đoán (tối ưu hóa khả năng dự báo) hoặc giải thích (hiểu và kiểm định mối quan hệ giữa các biến). Quá trình xây dựng mô hình thường đòi hỏi sự đánh đổi giữa tính chính xác (mô hình khớp tốt với dữ liệu) và tính tiết kiệm (mô hình đơn giản, dễ hiểu và tổng quát hóa tốt). Nguyên tắc chung là chọn mô hình đơn giản nhất có thể, nhưng không đơn giản quá mức.

Trực quan hóa dữ liệu và xử lý biến

Trực quan hóa dữ liệu là bước đầu tiên và quan trọng để khám phá xu hướng, phát hiện các điểm bất thường (outliers) hoặc tương tác, từ đó gợi ý cấu trúc mô hình phù hợp hơn. Các biểu đồ thông dụng bao gồm plot(), boxplot(), và interaction.plot().

Trong R, các biến phân loại (categorical variables) thường được xử lý bằng cách chuyển đổi thành biến giả (dummy variables) sử dụng hàm factor(). Mức tham chiếu mặc định là mức đầu tiên theo thứ tự từ điển, nhưng có thể thay đổi bằng hàm relevel().

B. MÔ HÌNH HỒI QUY TUYẾN TÍNH (LINEAR REGRESSION MODELS)

Hồi quy tuyến tính là một loại mô hình nền tảng dùng để mô tả mối quan hệ tuyến tính giữa biến phản hồi y và các biến giải thích x. Đây là trường hợp đặc biệt quan trọng và là nền tảng của GLMs. Mô hình hồi quy tuyến tính giả định:

Thành phần ngẫu nhiên: Biến phản hồi y có phương sai không đổi \(\sigma^2\), hoặc các phương sai tỷ lệ thuận với các trọng số dương đã biết \(w_{i}\) , nghĩa là \(var(y_{i}) = \sigma^2 / w_{i}\) với \(i = 1,2,...,n\). Phân phối ngẫu nhiên được giả định là phân phối Chuẩn (Normal).

Thành phần hệ thống: Giá trị trung bình của biến phản hồi \(\mu_{i}\) có quan hệ tuyến tính trực tiếp với các biến giải thích: \[\mu_{i} = \beta_{0} +\sum_{j=1}^{p} \beta_{j} x_{ji}\]

Trong đó:

+ \(\mu_{i}\) là giá trị mong đợi của \(y_{i}\), \(\mu_{i}=E[y_{i}]\), \(i=1,2,...,n\) ,

+ \(\beta_{j}\) là các tham số hồi quy chưa biết.

Kết hợp các thành phần, mô hình hồi quy tuyến tính có dạng tổng quát sau:

\[ \begin{cases} var(y_{i})=\sigma^2 / w_{i} \\ \mu_{i}=\beta_{0}+\sum_{j=1}^{p} \beta_{j} x_{ji} \end{cases} \]

Lưu ý:

- Mô hình hồi quy tuyến tính đơn giản đề cập đến trường hợp \(p=1\);

- Các mô hình hồi quy tuyến tính thông thường có tất cả các trọng số trước được đặt thành 1 (để phân biệt với các mô hình hồi quy tuyến tính có trọng số);

- Mô hình hồi quy tuyến tính bội đề cập đến các trường hợp \(p>1\);

- Các mô hình hồi quy tuyến tính thông thường đề cập đến các mô hình có thêm giả định là \(y_i \sim \mathcal{N}(\mu_i , \sigma^2 / w_i)\).

Cấu trúc của mô hình hồi quy tuyến tính có thể biểu diễn ở dạng vô hướng hoặc ma trận. Các tham số của mô hình thường được ước lượng bằng phương pháp Bình phương tối thiểu (Least Squares). Khi phương sai của các quan sát không đồng nhất (heteroscedasticity), có thể sử dụng Bình phương tối thiểu có trọng số (Weighted Least Squares - WLS), trong đó mỗi quan sát được gán một trọng số phù hợp.

Để so sánh các mô hình lồng nhau (nested models), tức là mô hình phức tạp hơn chứa tất cả các biến của mô hình đơn giản hơn, ta có thể sử dụng kiểm định F: \[F=\frac{(RSS_A - RSS_B) (p'_B -p'_A)}{RSS_B /(n-p'_B)}\]

Hay \[F=\frac{R^2 / (p' -1)}{(1-R^2) / (n-p')}\]

Ngoài ra, việc biến đổi biến phản hồi bằng hàm log hoặc căn bậc hai có thể giúp xử lý dữ liệu lệch hoặc không có phương sai hằng.

C. MÔ HÌNH PHÂN TÁN LUỸ THỪA (EXPONENTIAL DISPERSION MODELS - EDMs)

EDMs là lớp phân phối xác suất rộng lớn, đóng vai trò là nền tảng cho thành phần ngẫu nhiên trong GLMs. Nhiều phân phối quen thuộc là thành viên của lớp EDM, bao gồm phân phối Chuẩn (Normal), Poisson, Nhị thức (Binomial), Gamma, và Inverse Gaussian.

Dạng tổng quát của hàm xác suất cho một EDM là: \[P(y,\theta',\phi)=a(y,\phi)exp{ \frac{y \theta -\kappa(\theta)}{\phi} }\]

Trong đó:

  • \(\theta\): Tham số chính tắc (canonical parameter);

  • \(\kappa(\theta)\): Hàm tích lũy (cumulant function);

  • \(\phi\): Tham số phân tán (dispersion parameter), với \(\phi >0\);

  • \(a(y,\theta)\): Hàm chuẩn hoá.

Các hàm sinh moment (moment generating function) và hàm sinh tích lũy (cumulant generating function) cho EDMs có dạng đơn giản. Từ hàm tích lũy \(κ(θ)\), ta có thể suy ra giá trị trung bình \(E(y)=\mu=\kappa'(\theta)\) và phương sai \(var(y)= φV(\mu)\), trong đó \(V(\mu)=\kappa''(\theta)\) được gọi là hàm phương sai (variance function). Hàm phương sai \(V(μ)\) xác định duy nhất phân phối trong lớp EDMs.

Lớp phân phối Tweedie là một trường hợp tổng quát của EDM với hàm phương sai dạng \(V(\mu)=\mu^\xi\). Các giá trị cụ thể của ξ tương ứng với các phân phối phổ biến: \(\xi = 0\) là phân phối Chuẩn, \(\xi=1\) là Poisson, và \(\xi=2\) là Gamma. Đối với giá trị \(\xi\) trong khoảng (1, 2), phân phối Tweedie mô tả dữ liệu liên tục dương có chứa các giá trị 0 chính xác (thường gọi là compound Poisson).

Cấu trúc cốt lõi của một GLM được xác định bởi sự lựa chọn phân phối từ lớp EDM (cho thành phần ngẫu nhiên) và sự lựa chọn hàm liên kết (cho thành phần hệ thống).

D. CÁC LOẠI MÔ HÌNH GLM CỤ THỂ

Binomial GLMs

Dùng cho dữ liệu nhị phân hoặc tỷ lệ thành công trong một số lần thử cố định. Phân phối Nhị thức được sử dụng, với \(φ=1\)\(V(μ)=μ(1-μ)\). Hàm liên kết chính tắc là logit: \(g(μ) = log(μ / (1-μ))\). Mô hình này thích hợp để dự đoán xác suất xảy ra một sự kiện. Đối với dữ liệu có hiện tượng quá phân tán (overdispersion), nên dùng mô hình quasi-binomial hoặc beta-binomial.

Poisson GLMs

Áp dụng cho dữ liệu đếm, tức là số lần xảy ra một sự kiện trong một khoảng thời gian hoặc không gian nhất định. Phân phối Poisson được sử dụng, với \(φ=1\)\(V(μ)=μ\) , \(\phi \ne 1, V(\mu)=\mu\),. Hàm liên kết chính tắc là log: \(g(μ) = log(μ)\). Mô hình Poisson cơ bản giả định rằng trung bình bằng phương sai. Khi có quá phân tán, nên sử dụng mô hình Negative Binomial hoặc Quasi-Poisson. Poisson GLMs cũng có thể dùng cho mô hình log-linear cho bảng tần số hoặc mô hình hóa tốc độ (rates) bằng cách thêm biến offset để điều chỉnh theo quy mô.

Negative Binomial GLMs

Dùng cho dữ liệu đếm nhưng có phương sai lớn hơn đáng kể so với trung bình (quá phân tán). Hàm phương sai là \(V(μ) = μ + \frac{\mu^2}{k}\) , thêm một tham số \(k > 0\) để mô tả sự biến thiên thêm. Các tham số được ước lượng bằng ước lượng hợp lý tối đa (Maximum Likelihood Estimation).

Quasi-Poisson GLMs

Tương tự Poisson GLMs cho dữ liệu đếm, nhưng tham số phân tán φ không bị cố định bằng 1,\(V(μ) = μ\) ,cho phép phương sai khác trung bình (\(Var(Y) = φμ\)). Mô hình này không dựa trên một hàm xác suất cụ thể, do đó không thể tính AIC.

Gamma GLMs

Thích hợp cho dữ liệu liên tục, dương và thường bị lệch phải (ví dụ: chi phí, thời gian, lượng mưa). Phân phối Gamma được sử dụng, với hàm phương sai \(V(μ) = μ²\). Các hàm liên kết phổ biến bao gồm Log, Identity, và Inverse.

Inverse Gaussian GLMs

Sử dụng cho dữ liệu liên tục dương có độ lệch phải rất mạnh hoặc có “đuôi” dài. Phân phối Inverse Gaussian có hàm phương sai \(V(μ) = μ³\).

Tweedie GLMs

Dùng cho dữ liệu liên tục dương có thể chứa các giá trị 0 chính xác. Hàm phương sai là: \[V(μ) = μ^ξ\]

trong đó chỉ số ξ được ước lượng từ dữ liệu. Phân phối Tweedie có ứng dụng trong mô hình hóa dữ liệu bảo hiểm hoặc chi phí y tế, nơi có nhiều trường hợp bằng 0 nhưng cũng có các khoản chi lớn.

E. CHUẨN ĐOÁN VÀ ĐÁNH GIÁ MÔ HÌNH

Mục tiêu của việc chẩn đoán mô hình là kiểm tra sự phù hợp giữa mô hình đã fit và dữ liệu, phát hiện các giả định bị sai lệch (ví dụ về phân phối, phương sai, dạng hàm), và nhận diện các quan sát có ảnh hưởng mạnh hoặc bất thường.

Có nhiều loại phần dư (residuals) được sử dụng trong GLMs, mỗi loại có đặc điểm riêng:

  • Pearson residuals: Dựa trên công thức: \[r_P = \frac{y-\hat{\mu}}{\sqrt{V(\hat{\mu}) \omega}}\]

  • Deviance residuals: Dựa trên căn bậc hai của độ lệch đơn vị (unit deviance): \[r_D = sign(y-\hat{\mu}) \sqrt{\omega d(y,\hat{\mu})}\]

  • Quantile residuals: Biến đổi sao cho nếu mô hình đúng, phần dư có phân phối chuẩn hóa N(0, 1). Loại này đặc biệt hữu ích cho dữ liệu rời rạc như Binomial hoặc Poisson.

Các biểu đồ chẩn đoán thông dụng bao gồm: biểu đồ phần dư so với giá trị fitted (Residuals vs Fitted), biểu đồ Q-Q Chuẩn (Normal Q-Q plot) để kiểm tra phân phối, biểu đồ Scale-location để đánh giá tính đồng nhất phương sai, và biểu đồ phần dư riêng (Partial residual plots) để kiểm tra mối quan hệ của từng biến giải thích.

Các quan sát có ảnh hưởng lớn (Influential observations) là những điểm có tác động đáng kể đến kết quả của mô hình. Các chỉ số để đánh giá ảnh hưởng bao gồm Leverage (độ đòn bẩy), tính từ ma trận “hat”; Cook’s Distance (đo sự thay đổi của các giá trị fitted khi loại bỏ một quan sát); DFBETAS (ảnh hưởng của quan sát đến từng hệ số); và DFFITS (ảnh hưởng của quan sát đến giá trị fitted).

Khi xây dựng mô hình, nguyên tắc biên (Marginality Principle) khuyên rằng không nên loại bỏ một biến chính (ví dụ: Sugar) nếu nó xuất hiện trong một tương tác có ý nghĩa (ví dụ: Sugar:IndusNonInd).

Để so sánh và lựa chọn mô hình GLM tốt nhất, các tiêu chí thông tin như AIC (Akaike Information Criterion)BIC (Bayesian Information Criterion) thường được sử dụng.

  • \(AIC=-2\ell(\hat{\beta})+2k\)

  • \(BIC=-2\ell(\hat{\beta})+k log n\)

Với \(\ell(\hat{\beta})\) là log-likelihood của mô hình, k là số tham số, và n là số quan sát. Mô hình có AIC hoặc BIC nhỏ hơn thường được ưu tiên. BIC phạt số lượng tham số nghiêm khắc hơn AIC, đặc biệt với mẫu lớn, do đó thường chọn các mô hình đơn giản hơn.

F. KIỂM ĐỊNH GIẢ THUYẾT (HYPOTHESIS TESTING)

Kiểm định giả thuyết trong GLMs giúp đánh giá xem các tham số hồi quy có ý nghĩa thống kê hay không, và so sánh các mô hình lồng nhau. Ba loại kiểm định chính là:

  • Wald Test: Dựa trên giá trị ước lượng của tham số \(\hat{\beta}\) và sai số chuẩn của nó. \[W=\frac{(\hat{\xi}-\xi^0 ) ^2}{Var(\hat{\xi})} \sim \mathcal{\chi^2 _1}\]

Dễ tính toán từ kết quả summary(glm(…)). Tuy nhiên, độ chính xác có thể giảm với các hệ số lớn hoặc phân phối lệch.

  • Likelihood Ratio Test (LRT): Dựa trên khoảng cách giữa giá trị khả thi lớn nhất của log-likehood (được đánh giá tại \(\xi\)) và khả năng được đánh giá tại \(\xi^0\): \[L=2[\ell(\hat{\xi},y)-\ell(\xi^0 , y)] \sim \mathcal{\chi^2 _1}\]

So sánh log-likelihood giữa mô hình đầy đủ và mô hình bị ràng buộc. Phù hợp để so sánh các mô hình lồng nhau và chính xác hơn Wald Test trong nhiều trường hợp. Có thể thực hiện bằng hàm anova(model1, model2, test = “Chisq”).

  • Score Test (Rao Test): Dựa trên đạo hàm của log-likelihood tại giá trị giả thuyết. \[S=\frac{U(\xi^0)^2}{I(\xi^0)}\]

Ưu điểm là không cần fit mô hình đầy đủ.

7. Sử dụng R trong Phân tích GLMs

Ngôn ngữ R được sử dụng rộng rãi để thực hiện các phân tích GLM, từ việc fit mô hình, tính toán các chỉ số, vẽ biểu đồ chẩn đoán, đến so sánh và lựa chọn mô hình. Một số hàm R cơ bản cho GLMs bao gồm:

  • lm(): Fit mô hình hồi quy tuyến tính.

  • glm(): Fit mô hình GLM, cho phép chỉ định phân phối (family) và hàm liên kết (link).

  • summary(): Hiển thị bảng kết quả với ước lượng tham số, sai số chuẩn, giá trị kiểm định (z-value), và p-value.

  • anova(): So sánh các mô hình, đặc biệt dùng test = “Chisq” cho LRT.

  • plot(): Tạo các biểu đồ chẩn đoán cho mô hình.

  • predict(): Dự đoán giá trị fitted hoặc giá trị cho dữ liệu mới.

  • fitted(): Trích xuất các giá trị fitted từ mô hình.

  • residuals(): Trích xuất các loại phần dư khác nhau (ví dụ: residuals(model, type = “deviance”)).

  • cooks.distance(): Tính toán khoảng cách Cook.

  • influence.measures(): Cung cấp một tập hợp các chỉ số ảnh hưởng khác.

  • AIC(), BIC(): Tính giá trị AIC và BIC để so sánh mô hình.

Nhiệm vụ 2: Thực hiện thống kê mô tả cho các biến trong file: Supermarket Transactions.csv

library(readr)
## Warning: package 'readr' was built under R version 4.4.3
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.4.3
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(psych)
## Warning: package 'psych' was built under R version 4.4.3
library(DT)
## Warning: package 'DT' was built under R version 4.4.3
library(ggplot2)
## 
## Attaching package: 'ggplot2'
## The following objects are masked from 'package:psych':
## 
##     %+%, alpha

Đọc dữ liệu

data <- read.csv("D:/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

Tổng quan về bộ dữ liệu