1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Ứng dụng mô hình hồi quy tuyến tính: Tiên lượng

22 141 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 22
Dung lượng 1,9 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nội dung của bài giảng trình bày xây dựng mô hình tiên lượng tỉ trọng mỡ; dùng BMA tìm mô hình tối ưu; xây dựng mô hình; kiểm tra mô hình tiên lượng, mô hình hồi quy tuyến tính đa biến. Xây dựng mô hình tiên lượng tỉ trọng mỡ • Để đo tỉ trọng mỡ (pcfat), cần phải có máy DXA (đắt tiền) • Có thể xây dựng một mô hình tiên lượng pcfat chỉ cần dùng các yếu tố thường qui (có thể thu thập từ bệnh nhân) • Các biến thuờng qui: giới tính (gender), chiều cao (height), cân nặng (weight), tỉ trọng cơ thể (bmi), tuổi (age) • Giải pháp: mô hình hồi qui tuyến tính

Trang 1

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 dữ liệu và ứng dụng | Đại học Dược Hà Nội | 12/6 to 17/6/2019 © Tuan V Nguyen

Trang 2

Nội dung

• Mô hình hồi qui tuyến tính đa biến

• Ứng dụng 1: đánh giá mối liên quan (association / assessment)

• Ứng dụng 2: hiệu chỉnh cho yếu tố nhiễu (adjustment)

• Ứng dụng 3: mô hình tiên lượng (prediction)

Trang 3

Xây dựng mô hình tiên lượng tỉ trọng mỡ

• Để đo tỉ trọng mỡ ( pcfat ), cần phải có máy DXA (đắt tiền)

• Có thể xây dựng một mô hình tiên lượng pcfat chỉ cần dùng các yếu tố

'thường qui' (có thể thu thập từ bệnh nhân)

• Các biến thuờng qui: giới tính ( gender ), chiều cao ( height ), cân nặng

( weight ), tỉ trọng cơ thể ( bmi ), tuổi ( age )

• Giải pháp: mô hình hồi qui tuyến tính

Trang 4

Xây dựng mô hình tiên lượng tỉ trọng mỡ

• Bước 1: Phân tích khai thác (exploratory analysis)

• Bước 2: Tìm các biến liên quan (có giá trị thống kê)

• Bước 3: Chia dữ liệu thành 2 nhóm: development và validation

• Bước 4: Phát triển mô hình dựa vào biến bước 2 trên nhóm development

• Bước 5: Kiểm tra mô hình ở bước 5 trên nhóm validation

Trang 5

Bước 1: Phân tích mô tả / khai thác

# Các biến có thể liên quan

dat = ob[, c("gender", "weight", "height", "bmi", "age", "pcfat")]library(GGally)

ggpairs(dat)

Trang 6

Bước 2: Dùng BMA tìm biến liên quan

yvar = ob[, ("pcfat")]

xvars = ob[, c("gender", "height", "weight", "bmi", "age")]

bma = bicreg(xvars, yvar, strict=FALSE, OR=20)

summary(bma)

Trang 7

Dùng BMA tìm mô hình tối ưu

> summary(bma)

3 models were selected

Best 3 models (cumulative posterior probability = 1 ):

p!=0 EV SD model 1 model 2 model 3

Intercept 100.0 5.26146 4.582901 7.958e+00 -7.928e-01 8.137e+00 genderM 100.0 -11.25139 0.429659 -1.144e+01 -1.143e+01 -1.081e+01 height 31.4 0.01759 0.028494 5.598e-02 weight 39.2 0.03102 0.042611 7.921e-02 bmi 100.0 1.01265 0.111625 8.942e-01 1.089e+00 1.089e+00 age 100.0 0.05259 0.008048 5.497e-02 5.473e-02 4.715e-02

nVar 4 4 3 r2 0.697 0.696 0.695 BIC -1.423e+03 -1.423e+03 -1.422e+03 post prob 0.392 0.314 0.294

Trang 8

Diễn giải kết quả BMA: p!=0

> summary(bma)

3 models were selected

Best 3 models (cumulative posterior probability = 1 ):

p!=0 EV SD model 1 model 2 model 3

Intercept 100.0 5.26146 4.582901 7.958e+00 -7.928e-01 8.137e+00 genderM 100.0 -11.25139 0.429659 -1.144e+01 -1.143e+01 -1.081e+01 height 31.4 0.01759 0.028494 5.598e-02 weight 39.2 0.03102 0.042611 7.921e-02 bmi 100.0 1.01265 0.111625 8.942e-01 1.089e+00 1.089e+00 age 100.0 0.05259 0.008048 5.497e-02 5.473e-02 4.715e-02

• Dùng 5 biến cung cấp (gender, height, weight, bmi và age) BMA tìm được

3 mô hình 'tối ưu'

"p!=0" có nghĩa là xác suất biến số có 'ảnh hưởng' Vd: xác suất mà height

có ảnh hưởng đến pcfat là 31.4%, weight là 39.2%, và age là 100%

Trang 9

Bước 3: Chia dữ liệu thành 2 nhóm

Chúng ta chia dữ liệu thành 2 nhóm: development (60%) và validation (40%)

Tổng số cỡ mẫu (n = 1217)

Development / Training

(n = 1217*0.6)

Validation / Testing (n = 1217*0.4)

Xây dựng mô hình tiên lượng Kiểm tra mô hình tiên lượng

Trang 10

Bước 3: Chia dữ liệu thành 2 nhóm

Tổng số cỡ mẫu (n = 1217)

Development / Training

(n = 1217*0.6)

Validation / Testing (n = 1217*0.4)

Trang 11

Bước 4: Xây dựng mô hình (training)

# Xây dựng mô hình dùng dữ liệu của dev

m = lm(pcfat ~ gender + age + bmi + weight, data=dev)summary(m)

Trang 12

Bước 4: Xây dựng mô hình (training)

> m = lm(pcfat ~ gender + age + bmi + weight, data=dev)

Residual standard error: 3.997 on 725 degrees of freedom

Multiple R-squared: 0.6885, Adjusted R-squared: 0.6868

F-statistic: 400.6 on 4 and 725 DF, p-value: < 2.2e-16

Trang 13

Bước 5: Kiểm tra mô hình (validation)

# Kiểm tra mô hình dùng dữ liệu của val

Trang 15

Bước 5: Kiểm tra mô hình (validation)

val$pred = predict(m, newdata = val)

Trang 16

Training và testing mô hình qua "caret"

library(caret)

# Chia mẫu thành development và validation

sample = createDataPartition(ob$pcfat, p=0.6, list=F)

dev = ob[sample, ]

val = ob[-sample, ]

# Huấn luyện mô hình: dùng hàm "train"

control = trainControl(method="cv", number=10)

training = train(pcfat ~ gender + age + bmi + weight, data=dev,

method="lm", trControl=control, metric="Rsquared")

summary(training)

Trang 17

Residual standard error: 3.895 on 726 degrees of freedom

Multiple R-squared: 0.7152, Adjusted R-squared: 0.7136

F-statistic: 455.7 on 4 and 726 DF, p-value: < 2.2e-16

Trang 18

Kiểm tra mô hình tiên lượng (caret)

# Kiểm tra mô hình (val), tính giá trị tiên lượng

pred = predict(training, newdata=val)

model.values = data.frame(obs=val$pcfat, pred)

plot(pred ~ ob$pcfat, pch=16)

defaultSummary(model.values)

> defaultSummary(model.values)

RMSE Rsquared 4.1844599 0.6483567

Trang 19

Tóm tắt

Trang 20

Mô hình hồi qui tuyến tính đa biến

• Biến outcome: liên tục; biến tiên lượng: liên tục và phân nhóm, định tính

• Ứng dụng 1: đánh giá các mối liên quan

– đánh giá ý nghĩa thống kê

– đánh giá tầm quan trọng

• Ứng dụng 2: hiệu chỉnh cho các 'covariates'

– lưu ý đến ảnh hưởng tương tác

• Ứng dụng 3: tiên lượng

– training và testing

Trang 21

Tìm biến liên quan

library(BMA) bma = bicreg(xvars, yvar, strict=FALSE, OR=20)

Trang 22

Training mô hình

control = trainControl(method="cv", number=10)

training = train(y ~ , data=dev, method="lm",

trControl=control, metric="Rsquared")

Kiểm tra mô hình

pred = predict(training, newdata=val)model.values = data.frame(obs=val$pcfat, pred)defaultSummary(model.values)

Ngày đăng: 22/02/2020, 20:07

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w