当前位置:文档之家› 8. 回归分析与相关分析

8. 回归分析与相关分析

David G. Kleinbaum and Mitchel Klein, Springer, 2019
第6次 4. ABEL tutorial
Yurii Aulchenko, 2019
回归分析和相关分析
生物统计学研究所 张洪
1. 线性回归 1.1 回归直线 1.2 参数估计方法:最小二乘估计 1.3 参数推断:F-检验、t-检验、区间估计 1.4 回归模型的诊断:残差分析 1.5 多重线性回归 1.6 Box-Cox变换
1.2 参数估计方法:最小二乘估计 (Least Squares 估计)
观测值与预测值(黑线)的误差
两条回归直线
观测值与预测值(蓝线)的误差
总体上看,蓝线比黑线 拟合效果要好(从拟合误差看)
观测值: (xi , yi ),i 1,..., n.
残差:ei yi ( xi )
几个有用的函数: summary、names
变量过多:降低估计的效率,可能使得那些真正对因变量有贡献的
自变量的效应不显著,过度拟合也会降低预测的准确性(overfit).
变量选择:将真正有对因变量有贡献的自变 量选出来。
பைடு நூலகம்
理论上可以选出任意阶交互效应, 阶数小于等于自变量的个数。
准则
1) Akaike Information Criterion (AIC)准则; 2) Bayesian Information Criterion (BIC)准则; 筛选方法:逐步法
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.
自由度
平均平方
P-值
平方和
F
t 检验: 回归系数的显著性检验
零假设:回归系数等于0
T
ˆ se( ˆ )
零假设成立且误差独立同分布 且服从正态分布时,T 服从 自由度为n-2的t分布tn-2
dat = data.frame(y,x1,x2,x3,x4); fit = lm(y~.^4, data=dat); fit.aic = step (fit);
1.6 Box-Cox变换
通过残差诊断发现残差不太正态时,可以考虑进行Box-Cox变换 (power transformation),使得因变量变换后进行回归分析的 残差更正态,统计分析结果更可信。
SStot
SStot
> summary(fit)$r.squared [1] 0.693347
F检验 H0 : 0
F统计量
F SSreg /1 SSerr /(n 2)
如果误差独立同分布 服从正态分布,则 零假设成立时,F服从 自由度为1和n-2的F分布
适用条件:误差e1,…,en独立同分布,服从正态分布。
随机误差: 未被身高解释的部分: 饮食、种族、地域…
均值为0: E[Y | X x] x
1.1 回归直线
y x
量化X与Y的关系
对于新的个体,如果知道 与 ,可用X来预测Y。
问题: 如何估计参数? X能解释Y的比例是多少?
假设检验问题: 0?
线性模型是否适用? 如果模型不适用,如何修正?
# install.packages('TeachingDemos'); require(TeachingDemos); weight.bc = bct(dat$weight,lambda);
最大似然值对应的lambda 用变换后的因变量代替原有因变量

2. 相关分析
2.1 Pearson相关系数 2.2 相关系数的统计推断 2.3 偏相关系数 2.4 秩相关、多重相关
课程安排
1. 回归模型与相关分析 2. 方差分析 3. 属性数据分析 4. 生存数据分析 5. 实验设计 6. 全基因组关联分析
参考书
第1,2,3,5次 1. Experimental Design and Data Analysis for Biologists
Gerry P. Quinn and Michael J. Keough Cambridge University Press, Cambridge, 2019.
Coefficients: (Intercept) height
-88.6774 0.8902
R代码 输出的结果
> print(fit$coef);
Coefficients:
(Intercept)
x
-88.6774 0.8902
方差分解
1.3 参数推断
预测值:
yˆi ˆ ˆxi
yi y ( yi yˆi ) ( yˆi y)
强影响点:对回归方程有较大影响的点
如位于散点图的两端且 对于斜率的影响大,则应被剔出; 位于中上、中下的点对截距影响大, 但对斜率影响小,关系不大。
有强影响点 后的回归直线
没有强影响点 的回归直线
1. 残差散点图 2. 残差Q-Q图 3. 位置(拟合值)
-尺度图 4. Cook距离与
杠杆图
Cook距离>1 或
Box-Cox变换
z
(x)
x 1
,
0
log(x), 0
给出不同 lambda值 对应的似然值
require(MASS); bc = boxcox(weight~., data=dat, lambda=seq(-1,2,0.1));
lambda = bc$x[which.max(bc$y)];
第16个观测值杠杆很大
稳健回归法:最小一乘估计 (最小绝对偏差,LAD)
> require(quantreg); > d = rq(weight~height,data=dat1); 警告信息: In rq.fit.br(x, y, tau = tau, ...) : Solution may be nonunique > lines(dat1$height, d$coef[1]+ d$coef[2]*dat1$height,
杠杆(leverage),由“帽 子矩阵”计算得到,其 值越大对回归方程的影 响力越大。
height weight 1 180 68 2 160 51 11 165 57 12 185 76 14 164 58 16 190 200
lev 0.1084227 0.2496730 0.1358880 0.2038975 0.1544598 0.3516872
leverage>2p/n 为强影响点
发现并剔除残差大的强影响点
1) 有些强影响点残差不大,不应被提出 2) 有些残差大的点不是强影响点,剔除与否关系不大
> dat1 = rbind(dat,c(180,200)); > fit1 = lm(weight~height,data=dat1); > fit1.hat = lm.influence(fit1)$hat; > influence1 = cbind(dat1,lev=fit1.hat); > print(influence1[fit1.hat>2/n,]);
估计方法 R中线性模型拟合
(1) 最小二乘估计
e n 2
i1 i
min!
(ˆ, ˆ)
(2) 最小一乘估计
n|
i 1
ei
|
min!
(ˆ, ˆ)
dat 是一个data frame,有两个变量:height 和 weight
> fit = lm(weight~height, data=dat); > print(fit); Call: lm(formula = weight ~ height, data = dat)
2. 相关分析 2.1 Pearson相关系数 2.2 相关系数的统计推断:z-检验、区间估计 2.3 偏相关系数 2.4 秩相关与多重相关
3 实例分析
总的趋势: 随着身高增加, 体重也跟着增加
与函数关系的区别: 同一身高可以体重不同, 体重随身高增加的关系 不是严格成立, 只是有这种趋势
为什么? 因为身高只能解释 体重的一部分原因, 还有其他未被考虑 的因素, 如饮食、地域、人种等
> summary(fit)$coef
适用条件: 误差 e 独立同分布服从正态分布
样本量不太小时,误差分布偏离正态分布 不是很大时仍适用,即对正态性假设不是很 敏感
当样本量大时总是适用的,因为此时 T 依 分布收敛于标准正态分布与tn-2接近(不管正 态假设成立与否)。
Estimate Std. Error t value
没有一个方法可以完全打败其他的方法, 需要在实践中根据具体情况选择最合适的方法
1.5 多重线性回归
多个自变量 X1,…,Xp
Y 1X1 p X p e
... Y 1X1 p X p 12 X1X 2 13 X1X 3 X X p1, p p1 p e
自变量越多,拟合的残差越小
2. Biostatistical Design and Analysis Using R: A Practical Guide Murray Logan Wiley-Blackwell, Chichester, West Sussex, 2019.
第4次 3. Survival Analysis: A Self-Learning Text, 2nd edition
Pearson相关系数与回归系数的关系
Pr(>|t|)
(Intercept) -88.6774259 28.3051787 -3.132905 0.0079283231
x
0.8901553 0.1641884 5.421548 0.0001167570
相关主题