Tuesday, September 23, 2014

Các hàm R phổ biến 3: Mô hình hồi qui tuyến tính

Dưới đây là các hàm phổ biến hay dùng trong phân tích tương quan, mô hình hồi qui tuyến tính và phân tích phương sai.




Phân tích 
Hàm R
Hệ số tương quan Pearson (coefficient of correlation) giữa x và y

cor(x, y);
cor.test(x, y)
Hệ số tương quan Spearman

cor.test(x, y, method="spearman")
Hệ số tương quan Kendall

cor.test(x, y, method="kendall")
Mô hình hồi qui tuyến tính đơn giản y = a + bx

m = lm(y ~ x);
summary(m);
anova(m)
Mô hình hồi qui tuyến tính đa biến y = a + b1x1 + b2x2 + b3x3 + …

m = lm(y ~ x1 + x2 + x3 + ...);
summary(m);
anova(m)
Mô hình hồi đa thức y = a + b1x1 + b2x2 + … + bpxp

# đa thức bậc 2
m = lm(y ~ poly(x, 2))
# đa thức bậc k
m = lm(y ~ poly(x, k))

Tìm mô hình “tối ưu” bằng tiêu chuẩn AIC

reg = lm(y ~ x1+x2+x3+x4+x5+x6+x7, data=REGdata);
reg = lm(y ~ ., data=REGdata);
step(reg, direction="both")

Tìm mô hình “tối ưu” bằng tiêu chuẩn BIC (Bayesian Model Average) 

library(BMA);
xvars = REGdata[,-1];
yvar = REGdata[,1];
bma = bicreg(xvars, y, strict=FALSE, OR=20)
imageplot.bma(bma)


Mô hình phương sai


Phân tích 
Hàm R
Mô hình phân tích phương sai đơn giản hay ANOVA: y và x (x là factor)

m = lm(y ~ x);
m = aov(y ~ x);
summay(x);
anova(m)
So sánh giữa các nhóm (posthoc comparison) từ ANOVA, phương pháp Bonferroni

pairwise.t.test(galactose, group, p.adj="bonferroni")
So sánh giữa các nhóm (posthoc comparison) từ ANOVA, phương pháp Tukey

m = aov(y ~ x)
TukeyHSD(m)
Phân tích phương sai phi tham số (Kruskal test)

kruskal.test(y ~ x)
Phân tích phương sai với nhiều factor g1, g2, g3.

m = aov(y ~ g1 + g2 + g3)
TukeyHSD(m)
plot(TukeyHSD(m), ordered=TRUE)

Phân tích phương sai giai thừa (factorial experiment)

m = aov(y ~ factor1 + factor2 + factor3);
anova(m);
plot(TukeyHSD(m), ordered=T)

Phân tích phương sai thí nghiệm giao chéo (cross-over experiment)

m = lm(y ~ treat + seq + period);
anova(m);
TukeyHSD(aov(y ~ treat+seq+period+id))
Phân tích hiệp biến (analysis of covariance); x là biến liên tục

m = lm(y ~ x + factor)
# có interaction
m = lm(y ~ x + factor + factor:x)




No comments:

Post a Comment