Hồi qui
Trang 110 Phân tích h i qui tuy n tính
Phân tích h i qui tuy n tính (linear regression analysis) có l là m t trong nh ng
ph ng pháp phân tích s li u thông d ng nh t trong th ng kê h c Anon t ng vi t “Cho con ng i 3 v khí – h s t ng quan, h i qui tuy n tính và m t cây bút, con ng i s
s d ng c ba”! Trong ch ng này, tôi s gi i thi u cách s d ng R đ phân tích h i qui tuy n tính và các ph ng pháp liên quan nh h s t ng quan và ki m đ nh gi thi t
BMI (bmi)
Cholesterol (chol)
Trang 2Bi u đ 10.1 trên đây g i ý cho th y m i liên h gi a đ tu i (age) và cholesterol là m t
đ ng th ng (tuy n tính) “đo l ng” m i liên h này, chúng ta có th s d ng h s
t ng quan (coefficient of correlation)
đ i N u giá tr c a h s t ng quan là âm (r <0) có ngh a là khi x t ng cao thì y gi m
(và ng c l i, khi x gi m thì y t ng); n u giá tr h s t ng quan là d ng (r > 0) có
ngh a là khi x t ng cao thì y c ng t ng, và khi x t ng cao thì y c ng gi m theo
Trang 3Th c ra có nhi u h s t ng quan trong th ng kê, nh ng đây tôi s trình bày 3
h s t ng quan thông d ng nh t: h s t ng quan Pearson r, Spearman ρ, và Kendall
y y x x r
1
2 1
2
Trong đó, nh đ nh ngh a ph n trên, x và y là giá tr trung bình c a bi n s x và
y c tính h s t ng quan gi a đ tu i age và cholesterol, chúng ta có th s
d ng hàm cor(x,y) nh sau:
> cor(age, chol)
[1] 0.936726
Chúng ta có th ki m đ nh gi thi t h s t ng quan b ng 0 (t c hai bi n x và y
không có liên h ) Ph ng pháp ki m đ nh này th ng d a vào phép bi n đ i Fisher mà
R đã có s n m t hàm cor.test đ ti n hành vi c tính toán
> cor.test(age, chol)
Pearson's product-moment correlation
data: age and chol
t = 10.7035, df = 16, p-value = 1.058e-08
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
10.1.2 H s t ng quan Spearman ρ
H s t ng quan Pearson ch h p lí n u bi n s x và y tuân theo lu t phân ph i
chu n N u x và y không tuân theo lu t phân ph i chu n, chúng ta ph i s d ng m t h
s t ng quan khác tên là Spearman, m t ph ng pháp phân tích phi tham s H s này
Trang 4đ c c tính b ng cách bi n đ i hai bi n s x và y thành th b c (rank), và xem đ
t ng quan gi a hai dãy s b c Do đó, h s còn có tên ti ng Anh là Spearman’s Rank correlation R c tính h s t ng quan Spearman b ng hàm cor.test v i thông s method=”spearman” nh sau:
> cor.test(age, chol, method="spearman")
Spearman's rank correlation rho
data: age and chol
H s t ng quan Kendall (c ng là m t ph ng pháp phân tích phi tham s ) đ c
c tính b ng cách tìm các c p s (x, y) “song hành" v i nhau M t c p (x, y) song hành
đây đ c đ nh ngh a là hi u (đ khác bi t) trên tr c hoành có cùng d u hi u (d ng hay âm) v i hi u trên tr c tung N u hai bi n s x và y không có liên h v i nhau, thì s c p
song hành b ng hay t ng đ ng v i s c p không song hành
B i vì có nhi u c p ph i ki m đ nh, ph ng pháp tính toán h s t ng quan Kendall đòi h i th i gian c a máy tính khá cao Tuy nhiên, n u m t d li u d i 5000
đ i t ng thì m t máy vi tính có th tính toán khá d dàng R dùng hàm cor.test v i thông s method=”kendall” đ c tính h s t ng quan Kendall:
> cor.test(age, chol, method="kendall")
Kendall's rank correlation tau
data: age and chol
Trang 5Cannot compute exact p-value with ties in: cor.test.default(age, chol, method = "kendall")
K t qu phân tích h s t ng quan Kendall m t l n n a kh ng đ nh m i liên h
gi a đ tu i và cholesterol có ý ngh a th ng kê, vì h s tau = 0.833 và tr s p =
1.98e-06
Các h s t ng quan trên đây đo m c đ t ng quan gi a hai bi n s , nh ng không cho chúng ta m t ph ng trình đ n i hai bi n s đó v i nhau Thành ra, v n đ
đ t ra là chúng ta tìm m t ph ng trình tuy n tính đ mô t m i liên h này Chúng ta s
ng d ng mô hình h i qui tuy n tính
10.2.1 vài dòng lí thuy t
ti n vi c theo dõi và mô t mô hình, g i đ tu i cho cá nhân i là x i và
cholesterol là y i đây i = 1, 2, 3, …, 18 Mô hình h i tuy n tính phát bi u r ng:
y = +α βx + ε [1]
Nói cách khác, ph ng trình trên gi đ nh r ng đ cholesterol c a m t cá nhân b ng m t
h ng s α c ng v i m t h s β liên quan đ n đ tu i, và m t sai s εi Trong ph ng trình trên, α là ch n (intercept, t c giá tr lúc xi =0), và β là đ d c (slope hay gradient) Trong th c t , α và β là hai thông s (paramater, còn g i là regression coefficient hay h
s h i qui), và εi là m t bi n s theo lu t phân ph i chu n v i trung bình 0 và ph ng sai
σ2
Các thông s α, β và σ2
ph i đ c c tính t d li u Ph ng pháp đ c tính các thông s này là ph ng pháp bình ph ng nh nh t (least squares method) Nh tên
g i, ph ng pháp bình ph ng nh nh t tìm giá tr α, β sao cho ( ) 2
Trang 6đây, x và y là giá tr trung bình c a bi n s x và y Chú ý, tôi vi t α) vàβ) (v i d u
m phía trên) là đ nh c nh r ng đây là hai c s (estimates) c a α và β, ch không
ph i α và β (chúng ta không bi t chính xác α và β, nh ng ch có th c tính mà thôi)
Sau khi đã có c s α) vàβ), chúng ta có th c tính đ cholesterol trung bình cho t ng đ tu i nh sau:
ˆˆ
y = +α βx
)
T t nhiên, ˆy i đây ch là s trung bình cho đ tu i x i, và ph n còn l i (t c y - ˆ i y ) g i là i
ph n d (residual) Và ph ng sai c a ph n d có th c tính nh sau:
ˆ2
Trong phân tích h i qui tuy n tính, thông th ng chúng ta mu n bi t h s
β = 0 hay khác 0 N u β b ng 0, thì c ng có ngh a là không có m i liên h gì gi a x và y;
n u β khác v i 0, chúng ta có b ng ch ng đ phát bi u r ng x và y có liên quan nhau
ki m đ nh gi thi t β = 0 chúng ta dùng xét nghi m t sau đây:
( )
ˆˆ
t SE
ββ
( )ˆ
SE β có ngh a là sai s chu n (standard error) c a c s β) Trong ph ng trình trên,
t tuân theo lu t phân ph i t v i b c t do n-2 (n u th t s β = 0)
10.2.2 Phân tích h i qui tuy n tính đ n gi n b ng R
Hàm lm (vi t t t t linear model) trong R có th tính toán các giá tr c a α)
Trang 7Trong l nh trên, “chol ~ age” có ngh a là mô t chol là m t hàm s c a age K t
qu tính toán c a lm cho th y α)= 1.0892 vàβ) = 0.05779 Nói cách khác, v i hai thông
s này, chúng ta có th c tính đ cholesterol cho b t c đ tu i nào trong kho ng tu i
Th t ra, hàm lm còn cung c p cho chúng ta nhi u thông tin khác, nh ng chúng ta ph i
đ a các thông tin này vào m t object G i object đó là reg, thì l nh s là:
> reg <- lm(chol ~ age)
Residual standard error: 0.3027 on 16 degrees of freedom
Multiple R-Squared: 0.8775, Adjusted R-squared: 0.8698
F-statistic: 114.6 on 1 and 16 DF, p-value: 1.058e-08
L nh th hai, summary(reg), yêu c u R li t kê các thông tin tính toán trong reg Ph n
Trang 8(b) Ph n hai trình bày c s c a α)vàβ) cùng v i sai s chu n và giá tr c a ki m đ nh t Giá tr ki m đ nh t cho β) là 10.74 v i tr s p = 1.06e-08, cho th y β không ph i b ng 0 Nói cách khác, chúng ta có b ng ch ng đ cho r ng có m t m i liên h gi a cholesterol
và đ tu i, và m i liên h này có ý ngh a th ng kê
Residual standard error: 0.3027 on 16 degrees of freedom
Multiple R-Squared: 0.8775, Adjusted R-squared: 0.8698
F-statistic: 114.6 on 1 and 16 DF, p-value: 1.058e-08
Ngoài ra, ph n 3 còn cho chúng ta m t thông tin quan tr ng, đó là tr s R2
T c là b ng t ng bình ph ng gi a s c tính và trung bình chia cho t ng bình ph ng
s quan sát và trung bình Tr s R2 trong ví d này là 0.8775, có ngh a là ph ng trình tuy n tính (v i đ tu i là m t y u t ) gi i thích kho ng 88% các khác bi t v đ cholesterol gi a các cá nhân T t nhiên tr s R2 có giá tr t 0 đ n 100% (hay 1) Giá tr
R2 càng cao là m t d u hi u cho th y m i liên h gi a hai bi n s đ tu i và cholesterol càng ch t ch
M t h s c ng c n đ c p đây là h s đi u ch nh xác đ nh b i (mà trong k t
qu trên R g i là “Adjusted R-squared”) ây là h s cho chúng ta bi t m c đ c i ti n
c a ph ng sai ph n d (residual variance) do y u t đ tu i có m t trong mô hình tuy n tính Nói chung, h s này không khác m y so v i h s xác đ nh b i, và chúng ta c ng không c n chú tâm quá m c
10.2.3 Gi đ nh c a phân tích h i qui tuy n tính
T t c các phân tích trên d a vào m t s gi đ nh quan tr ng nh sau:
Trang 9(a) x là m t bi n s c đ nh hay fixed, (“c đ nh” đây có ngh a là không có sai sót ng u nhiên trong đo l ng);
(b) εi phân ph i theo lu t phân ph i chu n;
(c) εi có giá tr trung bình (mean) là 0;
có v n đ h p lí (validity) Do đó, tr c khi trình bày và di n d ch mô hình trên, chúng
ta c n ph i ki m tra xem các gi đ nh trên có đáp ng đ c hay không Trong tr ng
h p này, gi đ nh (a) không ph i là v n đ , vì đ tu i không ph i là m t bi n s ng u nhiên, và không có sai s khi tính đ tu i c a m t cá nhân
i v i các gi đ nh (b) đ n (e), cách ki m tra đ n gi n nh ng h u hi u nh t là
b ng cách xem xét m i liên h gi a ˆy , i x , và ph n d i e ( i e i = − ) b ng nh ng đ th y i yˆitán x
V i l nh fitted() chúng ta có th tính toán ˆy cho t ng cá nhân nh sau (ví d i
đ i v i cá nhân 1, 46 tu i, đ cholestrol có th tiên đoán nh sau: 1.08922 + 0.05779
x 46 = 3.747)
> fitted(reg)
1 2 3 4 5 6 7 8 3.747483 2.244985 4.094214 2.822869 4.383156 2.533927 2.707292 3.169600
9 10 11 12 13 14 15 16 2.360562 3.574118 4.383156 2.996234 2.360562 4.729886 3.400753 3.863060
7 8 9 10 11 12 0.192707505 0.630400424 -0.260562185 0.225881729 -0.283155662 0.003765579
13 14 15 16 17 18 0.139437815 -0.129885972 -0.200753116 0.336939804 -0.407292495 0.079151419
ki m tra các gi đ nh trên, chúng ta có th v m t lo t 4 đ th mà tôi s gi i thích sau đây:
Trang 10Residuals vs Leverage
6
2 8
Bi u đ 10.2 Phân tích ph n d đ ki m tra các gi đ nh trong phân tích h i
qui tuy n tính
(a) th bên trái dòng 1 v ph n d e và giá tr tiên i đoán cholesterol ˆy i th này cho
th y các giá tr ph n d t p chung quanh đ ng y = 0, cho nên gi đ nh (c), hay εi có giá
tr trung bình 0, là có th ch p nh n đ c
(b) th bên ph i dòng 1 v giá tr ph n d và giá tr kì v ng d a vào phân ph i chu n Chúng ta th y các s ph n d t p trung r t g n các giá tr trên đ ng chu n, và do đó, gi
đ nh (b), t c εi phân ph i theo lu t phân ph i chu n, c ng có th đáp ng
(c) th bên trái dòng 2 v c n s ph n d chu n (standardized residual) và giá tr c a
ˆi
y th này cho th y không có gì khác nhau gi a các s ph n d chu n cho các giá tr
c a ˆy , và do i đó, gi đ nh (d), t c εi có ph ng sai σ2
c đ nh cho t t c x i, c ng có th đáp ng
Trang 11Nói chung qua phân tích ph n d , chúng ta có th k t lu n r ng mô hình h i qui tuy n tính mô t m i liên h gi a đ tu i và cholesterol m t cách khá đ y đ và h p lí
10.2.4 Mô hình tiên đoán
Sau khi mô hình tiên đoán cholesterol đã đ c ki m tra và tính h p lí đã đ c thi t l p, chúng ta có th v đ ng bi u di n c a m i liên h gi a đ tu i và cholesterol
b ng l nh abline nh sau (xin nh c l i object c a phân tích là reg):
Nh ng m i giá tr ˆy i đ c tính t c s α)vàβ), mà các c s này đ u có sai
s chu n, cho nên giá tr tiên đoán ˆy c ng có sai s Nói cách khác, ˆ i y ch là trung bình, i
nh ng trong th c t có th cao h n hay th p h n tùy theo ch n m u Kho ng tin c y 95% này có th c tính qua R b ng các l nh sau đây:
> reg <- lm(chol ~ age)
> new <- data.frame(age = seq(15, 70, 5))
Trang 12> pred.w.plim <- predict.lm(reg, new, interval="prediction")
> pred.w.clim <- predict.lm(reg, new, interval="confidence")
> resc <- cbind(pred.w.clim, new)
> resp <- cbind(pred.w.plim, new)
> plot(chol ~ age, pch=16)
> lines(resc$fit ~ resc$age)
> lines(resc$lwr ~ resc$age, col=2)
> lines(resc$upr ~ resc$age, col=2)
> lines(resp$lwr ~ resp$age, col=4)
> lines(resp$upr ~ resp$age, col=4)
Bi u đ 10.4 Giá tr tiên đoán và kho ng tin c y 95%
Bi u đ trên v giá tr tiên đoán trung bình ˆy ( i đ ng th ng màu đen), và kho ng tin c y 95% c a giá tr này là đ ng màu đ Ngoài ra, đ ng màu xanh là kho ng tin c y c a giá tr tiên đoán cholesterol cho m t đ tu i m i trong qu n th
regression)
Mô hình đ c di n đ t qua ph ng trình [1] y i = +α βx i+ có m t y u t duy εi
nh t (đó là x), và vì th th ng đ c g i là mô hình h i qui tuy n tính đ n gi n (simple
Trang 13linear regression model) Trong th c t , chúng ta có th phát tri n mô hình này thành nhi u bi n, ch không ch gi i h n m t bi n nh trên, ch ng h n nh :
Chú ý trong ph ng trình trên, chúng ta có nhi u bi n x (x1, x2, … đ n x k), và m i bi n có
m t thông s βj (j = 1, 2, …, k) c n ph i c tính Vì th mô hình này còn đ c g i là
mô hình h i qui tuy n tính đa bi n
k k
x x x
x x
x
x x
x X
2 1
2 22
12
1 21
2 1
2 1
Ph ng pháp bình ph ng nh nh t gi i vector β b ng ph ng trình sau đây:
ε
Trang 14Ví d 2 Chúng ta quay l i nghiên c u v m i liên h gi a đ tu i, bmi và cholesterol Trong ví d , chúng ta ch m i xét m i liên h gi a đ tu i và cholesterol, mà
ch a xem đ n m i liên h gi a c hai y u t đ tu i và bmi và cholesterol Bi u đ sau đây cho chúng ta th y m i liên h gi a ba bi n s này:
Bi u đ 10.5 Giá tr tiên đoán và kho ng tin c y 95%
C ng nh gi a đ tu i và cholesterol, m i liên h gi a bmi và cholesterol c ng g n tuân theo m t đ ng th ng Bi u đ trên còn cho chúng ta th y đ tu i và bmi có liên h v i nhau Th t v y, phân tích h i qui tuy n tính đ n gi n gi a bmi và cholesterol cho th y
nh m i liên h này có ý ngh a th ng kê:
Trang 15(Intercept) -2.83187 1.60841 -1.761 0.09739
bmi 0.26410 0.06861 3.849 0.00142 **
-
Signif codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 0.623 on 16 degrees of freedom
Multiple R-Squared: 0.4808, Adjusted R-squared: 0.4483
F-statistic: 14.82 on 1 and 16 DF, p-value: 0.001418
BMI gi i thích kho ng 48% đ dao đ ng v cholesterol gi a các cá nhân Nh ng vì BMI
c ng có liên h v i đ tu i, chúng ta mu n bi t n u hai y u t này đ c phân tích cùng
m t lúc thì y u t nào quan tr ng h n bi t nh h ng c a c hai y u t age (x1) và
bmi (t m g i là x2) đ n cholesterol (y) qua m t mô hình h i qui tuy n tính đa bi n, và mô
hình đó là:
i i i
y =α +β1 1 +β2 2 +ε
hay ph ng trình c ng có th mô t b ng kí hi u ma tr n: Y = Xβ + mà tôi v a trình
bày trên đây, Y là m t vector vector 18 x 1, X là m t matrix 18 x 2 ph n t , β và m t
vector 2 x 1, và ε là vector g m 18 x 1 ph n t c tính hai h s h i qui, β1 và
Multiple R-Squared: 0.8815, Adjusted R-squared: 0.8657
F-statistic: 55.77 on 2 and 15 DF, p-value: 1.132e-07
K t qu phân tích trên cho th y c s αˆ = 0.455, βˆ1 = 0.054 và βˆ2 = 0.0333 Nói cách khác, chúng ta có ph ng trình c đoán đ cholesterol d a vào hai bi n s đ tu i và bmi nh sau: