Bài giảng Mô hình hồi quy Logistic

42 105 0
Bài giảng Mô hình hồi quy Logistic

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bài giảng nghiên cứu mô hình hồi quy Logistic; ứng dụng của mô hình hồi quy Logistic; thời điểm sử dụng mô hình hồi quy Logistic; một vài khái niệm cơ bản... Đặc tính của các nghiên cứu • Outcome (dependent) variable: biến nhị phân (binary variable), chỉ có 2 giá trị • Predictor (independent) variables: đa dạng (nhị phân, biến liên tục) Không thể dùng mô hình hồi qui tuyến tính

Tuan V Nguyen Senior Principal Research Fellow, Garvan Institute of Medical Research Professor, UNSW School of Public Health and Community Medicine Professor of Predictive Medicine, University of Technology Sydney Adj Professor of Epidemiology and Biostatistics, School of Medicine Sydney, University of Notre Dame Australia Phân tích liệu ứng dụng | Đại học Dược Hà Nội | 12/6 to 17/6/2019 © Tuan V Nguyen Mơ hình hồi qui logistic (logistic regression) • Ví dụ dẫn nhập • Khái niệm odds, logit, mơ hình hồi qui logistic • Ước tính R The Challenger shuttle disaster Flight Temp Damage Flight Temp Damage STS-1 66 STS 51B 75 STS-2 70 STS 51G 70 STS-3 69 STS 51F 81 STS-4 80 STS 51I 76 STS-5 68 STS 51J 79 STS-6 67 STS 61A 75 STS-7 72 STS 61B 76 STS-8 73 STS 61C 58 STS-9 70 STS 41B 57 STS 41C 63 STS 41D 70 STS 41G 78 STS 51A 67 STS 51C 53 STS 51D 67 Temp = c(66, 70, 69, 80, 68, 67, 72, 73, 70, 57, 63, 70, 78, 67, 53, 67, 75, 70, 81, 76, 79, 75, 76, 58) Damage = c(0, 1, 0, , 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1) Nghiên cứu bệnh tiểu đường (type diabetes) • Nghiên cứu cắt ngang 3155 cá nhân • Outcome: chẩn đốn tiểu đường • Yếu tố nguy cơ: tuổi, giới tính, huyết áp, vòng eo, vòng mơng, cân nặng, tỉ trọng thể (BMI) • Câu hỏi 1: BMI có liên quan đến bệnh tiểu đường? • Câu hỏi 2: Yếu tố có liên quan đến tiểu đường? • Câu hỏi 2: Có thể xây dựng mơ hình tiên lượng nguy mắc bệnh? > db = read.csv("~/Dropbox/_Conferences and Workshops/Dai hoc Duoc 62019/Datasets/Diabetes data.csv", header=T) > head(db) id age gender height weight waist hip sysbp diabp active hypertension 1 76 Female 163 53 90 93 160 90 40 Female 149 51 74 94 100 60 0 51 Female 151 55 91 100 120 80 0 43 Female 158 62 78 96 120 80 72 Female 148 47 91 95 130 60 44 Male 155 48 69 86 120 80 0 bmi 19.95 22.97 24.12 24.84 21.46 19.98 whr diabetes 0.97 IFG 0.79 Normal 0.91 Normal 0.81 Normal 0.96 IFG 0.80 Normal Gian lận thẻ tín dụng (credit card) • Nghiên cứu cắt ngang 284807 transactions • Outcome: gian lận (yes / no) • Yếu tố nguy cơ: Time, Amount, V1-V28 • Câu hỏi: Có thể xây dựng mơ hình tiên lượng gian lận > cc = read.csv("~/Dropbox/_Conferences and Workshops/Dai hoc Duoc 62019/Datasets/Credit card data.csv", header=T) > head(cc, 3) Time V1 V2 V3 V4 V5 V6 -1.359807 -0.07278117 2.5363467 1.3781552 -0.33832077 0.46238778 1.191857 0.26615071 0.1664801 0.4481541 0.06001765 -0.08236081 -1.358354 -1.34016307 1.7732093 0.3797796 -0.50319813 1.80049938 V7 V8 V9 V10 V11 V12 0.23959855 0.09869790 0.3637870 0.09079417 -0.5515995 -0.61780086 -0.07880298 0.08510165 -0.2554251 -0.16697441 1.6127267 1.06523531 0.79146096 0.24767579 -1.5146543 0.20764287 0.6245015 0.06608369 V13 V14 V15 V16 V17 V18 -0.9913898 -0.3111694 1.4681770 -0.4704005 0.2079712 0.02579058 0.4890950 -0.1437723 0.6355581 0.4639170 -0.1148047 -0.18336127 0.7172927 -0.1659459 2.3458649 -2.8900832 1.1099694 -0.12135931 V19 V20 V21 V22 V23 V24 0.403993 0.25141210 -0.01830678 0.2778376 -0.1104739 0.06692808 -0.145783 -0.06908314 -0.22577525 -0.6386720 0.1012880 -0.33984648 -2.261857 0.52497973 0.24799815 0.7716794 0.9094123 -0.68928096 V25 V26 V27 V28 Amount Class 0.1285394 -0.1891148 0.133558377 -0.02105305 149.62 0.1671704 0.1258945 -0.008983099 0.01472417 2.69 -0.3276418 -0.1390966 -0.055352794 -0.05975184 378.66 Đặc tính nghiên cứu • Outcome (dependent) variable: biến nhị phân (binary variable), có giá trị • Predictor (independent) variables: đa dạng (nhị phân, biến liên tục) Không thể dùng mơ hình hồi qui tuyến tính! Ứng dụng mơ hình hồi qui logistic • Mơ tả mối liên quan biến outcome biến tiên lượng • Kiểm sốt biến nhiễu (Controlling for confounders) • Phát triển mơ hình tiên lượng (Developing prognostic models) Tai nạn phi thuyền Challenger temp = c(66, 70, 69, 80, 68, 67, 72, 73, 70, 57, 63, 70, 78, 67, 53, 67, 75, 70, 81, 76, 79, 75, 76, 58) damage = c(0, 1, 0, NA, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1) dat = data.frame(temp, damage) # hiển thị mối liên quan library(ggplot2) p = ggplot(data=dat, aes(x = temp, y = damage)) p + geom_point(alpha = 0.15) + geom_smooth(method = "glm", method.args = list(family = "binomial")) 1.00 damage 0.75 0.50 0.25 0.00 60 70 80 temp library(ggplot2) p = ggplot(data=dat, aes(x = temp, y = damage)) p + geom_point(alpha = 0.15) + geom_smooth(method = "glm", method.args = list(family = "binomial")) Tai nạn phi thuyền Challenger temp = c(66, 70, 69, 80, 68, 67, 72, 73, 70, 57, 63, 70, 78, 67, 53, 67, 75, 70, 81, 76, 79, 75, 76, 58) damage = c(0, 1, 0, NA, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1) dat = data.frame(temp, damage) # mơ hình hồi qui logistic m = glm(damage ~ temp, family=binomial, data=dat) summary(m) Kết Coefficients: Estimate Std Error z value Pr(>|z|) (Intercept) 15.0429 7.3786 2.039 0.0415 * temp -0.2322 0.1082 -2.145 0.0320 * Signif codes: ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ (Dispersion parameter for binomial family taken to be 1) Null deviance: 28.267 on 22 degrees of freedom Residual deviance: 20.315 on 21 degrees of freedom (1 observation deleted due to missingness) AIC: 24.315 Kết quả: ý nghĩa Coefficients: Estimate Std Error z value Pr(>|z|) (Intercept) 15.0429 7.3786 2.039 0.0415 * temp -0.2322 0.1082 -2.145 0.0320 * Mơ hình là: ⎛ p ⎞ log ⎜ ⎟ = 15.04 − 0.23× temp ⎝ 1− p ⎠ Nói cách khác: log(odds ratio) = -0.23 Odds ratio = exp(-0.23) = 0.79 Tính toán OR – odds ratio > library(epiDisplay) > logistic.display(m) Logistic regression predicting damage OR(95%CI) temp (cont var.) 0.79 (0.64,0.98) P(Wald's test) P(LR-test) 0.032 0.005 Log-likelihood = -10.1576 No of observations = 23 AIC value = 24.3152 Interpretation: Each degree F increase in temperature was associated with a 21% decrease in the odds of being damage, and this association was statistically significant (P = 0.032) Hiển thị kết mơ hình hồi qui logistic Có thể dùng package "GGally" để vẽ biểu đồ odds ratio cho yếu tố nguy library(GGally); library(ggplot2) ggcoef(m, exponentiate=T, exclude_intercept=T, vline_color = "red", errorbar_color = "blue", errorbar_height = 0.10) ggcoef(m, exponentiate = TRUE, exclude_intercept=T, mapping = aes(x = estimate, y = term, size = p.value)) + scale_size_continuous(trans = "reverse") term p.value temp 0.0319561 0.6 0.7 1.0 estimate ggcoef(m, exponentiate = TRUE, exclude_intercept=T, mapping = aes(x = estimate, y = term, size = p.value)) + scale_size_continuous(trans = "reverse") Mơ hình hồi qui logistic: tóm tắt • Tất mơ hình nghiên cứu (cắt ngang, đồn hệ, bệnh chứng) • Mơ hình hồi qui logistic có ích cho đánh giá mối liên quan – mô tả mối liên quan biến outcome yếu tố nguy – phát triển mơ hình tiên lượng • Biến outcome: nhị phân (yes/no) • Biến tiên lượng (predictor variables): tất dạng liên tục, phân nhóm • Mơ hình logit(p) = α + βx Mơ hình hồi qui logistic: tóm tắt • Mơ hình logit(p) = α + βx • Hàm R m = glm(y ~ x, family="binomial", data = xxx) • Hiển thị kết (odds ratio) library(GGally) ggcoef(m, exponentiate=T, exclude_intercept=T, vline_color = "red", errorbar_color = "blue", errorbar_height = 0.10) Thực hành WHR tiểu đường Câu hỏi: mối liên quan WHR (tỉ số eo-mông) tiểu đường > db = read.csv("~/Dropbox/_Conferences and Workshops/Dai hoc Duoc 62019/Datasets/Diabetes data.csv", header=T) > head(db) id age gender height weight waist hip sysbp diabp active hypertension 1 76 Female 163 53 90 93 160 90 40 Female 149 51 74 94 100 60 0 51 Female 151 55 91 100 120 80 0 43 Female 158 62 78 96 120 80 1 bmi 19.95 22.97 24.12 24.84 whr diabetes 0.97 IFG 0.79 Normal 0.91 Normal 0.81 Normal WHR tiểu đường # Vì biến diabetes có giá trị (Normal, IFG, Yes), cần tạo biến có giá trị 0=không tiểu đường, 1=tiểu đường db$diab = ifelse(db$diabetes=="Yes", 1, 0) # Tìm hiểu xem có nam nữ mắc tiểu đường library(DescTools) Desc(db$diab ~ db$gender) # Vẽ biểu đồ hộp WHR tiểu đường theo giới tính library(ggplot2) p = ggplot(data=db, aes(x=factor(diab), y=whr, col=factor(diab))) p + geom_boxplot() + geom_jitter(alpha=0.05) + facet_grid(~gender) # Vẽ biểu đồ logistic whr diab p = ggplot(data=db, aes(x = whr, y = diab)) p + geom_point(alpha = 0.15) + geom_smooth(method = "glm", method.args = list(family = "binomial")) # Triển khai câu hỏi nghiên cứu, ước tính tham số mơ hình hồi qui logistic m1 = glm(diab ~ whr, family = binomial, data = db) summary(m1) library(epiDisplay) logistic.display(m1) m2 = glm(diab ~ I(whr/0.08), family = binomial, data = db) summary(m2) # Khác biệt nam nữ? m2 = glm(diab ~ gender, family = binomial, data = db) logistic.display(m2) # Nhưng mối liên quan bị confounded giới tính Cần hiệu chỉnh m3 = glm(diab ~ gender + I(whr/0.08), family = binomial, data = db) summary(m3) logistic.display(m3) # Vẽ biểu đồ odds ratio library(GGally) ggcoef(m3, exponentiate=T, exclude_intercept=T, vline_color = "red", errorbar_color = "blue", errorbar_height = 0.10) ...Mơ hình hồi qui logistic (logistic regression) • Ví dụ dẫn nhập • Khái niệm odds, logit, mơ hình hồi qui logistic • Ước tính R The Challenger shuttle... dùng mơ hình hồi qui tuyến tính! Ứng dụng mơ hình hồi qui logistic • Mô tả mối liên quan biến outcome biến tiên lượng • Kiểm sốt biến nhiễu (Controlling for confounders) • Phát triển mơ hình tiên... (Developing prognostic models) Ơng "tổ" mơ hình hồi qui logistic 1970 Professor David R Cox Imperial College, London Khi cần sử dụng mơ hình hồi qui logistic • Logistic regression: – outcome biến phân

Ngày đăng: 22/02/2020, 19:58

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan