《数学建模:基于R》一一2.1 回归分析

本节书摘来自华章计算机《数学建模:基于R》一书中的第2章,第2.1节,作者:薛 毅 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.1 回归分析

在许多实际问题中,经常会遇到需要同时考虑几个变量的情况.例如,在电路中,会遇到电压、电流和电阻之间的关系;在炼钢过程中,会遇到钢水中的碳含量和钢材的物理性能(如强度、延伸率等)之间的关系;在医学上,经常测量人的身高、体重,研究人的血压与年龄的关系等,这些变量之间是相互制约的.
通常,变量间的关系有两大类.一类是变量间有完全确定的关系,可用函数关系式来表示,如电路中的欧姆定律I=U/R,其中I表示电流,U表示电压,R表示电阻.
另一类是变量间有一定的关系,但由于情况错综复杂,无法精确研究,或由于存在不可避免的误差等原因,以致它们的关系无法用函数形式表示出来.研究这类变量之间的关系就需要通过大量试验或观测来获取数据,用统计方法去寻找它们之间的关系,这种关系反映了变量间的统计规律.研究这类统计规律的方法之一便是回归分析.
在回归分析中,把变量分成两类.一类是因变量,它们通常是实际问题中所关心的一些指标,通常用Y表示,而影响因变量取值的另一类变量称为自变量,用X1,X2,…,Xp来表示.
2.1.1 线性回归模型
1.模型
设X1,X2,…,Xp为自变量,Y为因变量.它们之间的相关关系可用如下线性关系来描述:Y=β0+β1X1+…+βpXp+ε(2.1)其中ε~N(0,σ2),β0,β1,…,βp和σ2是未知参数.若p=1,则式(2.1)称为一元回归模型,否则称为多元线性回归模型.
设(xi1,xi2,…,xip,yi)(i=1,2,…,n)是(X1,X2,…,Xp,Y)的n次独立观测值,则多元线性模型(2.1)可表示为yi=β0+β1xi1+…+βpxip+εi, i=1,2,…,n(2.2)其中εi~N(0,σ2),且独立同分布.
为书写方便,常采用矩阵形式,令Y=y1
y2

yn, β=β0
β1

βp, X=1x11…x1p
1x21…x2p

1xn1…xnp, ε=ε1
ε2

εn则多元线性模型(2.2)可表示为Y=Xβ+ε(2.3)其中Y为由响应变量构成的n维向量,X为n×(p+1)阶设计矩阵,β为p+1维参数向量,ε是n维误差向量,并且满足E(ε)=0,var(ε)=σ2In.
求参数β的估计值本质上是最小二乘估计,即求函数Q(β)=(Y-Xβ)T(Y-Xβ)(2.4)的最小值β.由多元函数极值的必要条件和充分条件,得到β=(XTX)-1XTY(2.5)从而可得经验回归方程为Y=Xβ,称ε=Y-Y为残差向量.通常取σ2=εTε/(n-p-1)(2.6)为σ2的估计,也称为σ2的最小二乘估计.可以证明:Eσ2=σ2.
2.检验
β的估计值β是否适用,一个重要的识别方法就是进行检验.这里讨论三种检验方法.
(1) 回归系数的检验.回归系数的显著性检验是检验变量Xj的系数是否为0,即原假设为 由于软件可以提供β0的检验情况,所以这里j从0开始,下同.Hj0:βj=0,  Hj1:βj≠0,  j=0,1,…,p当Hj0成立时,统计量Tj=βjσcjj~t(n-p-1), j=0,1,…,p(2.7)其中cjj是C=(XTX)-1的对角线上第j个元素.如果t统计量的P值<α(通常取0.05),则拒绝原假设,认为βj≠0.
(2) 回归方程的检验.回归方程的显著性检验是检验是否可用线性方程来处理数据,也就是说,方程的系数是否全为0,即假设检验为H0:β0=β1=…=βp=0,  H1:β0,β1,…,βp不全为0当H0成立时,统计量F=SSR/pSSE/(n-p-1)~F(p,n-p-1)(2.8)其中SSR=∑ni=1(yi-y)2, SSE=∑ni=1(yi-yi)2
y=1n∑ni=1yi,  yi=β0+β1xi1+…+βpxip通常称SSR为回归平方和,称SSE为残差平方和.如果F统计量的P值<α,则拒绝原假设,即可以用线性方程来处理问题.
(3) 相关性检验.相关系数的平方定义为R2=SSRSST(2.9)其中SST=∑ni=1(yi-y)2,称为总离差平方和.通常用R2来衡量Y与X1,X2,…,Xp之间相关的密切程度.当R2接近于0,可以认为Y与X1,X2,…,Xp之间不相关,接近于1表示相关.因此,可以使用R2作为衡量自变量与因变量是否相关的重要指标.
3.计算
在R中,lm()函数可以完成回归方程的计算工作,其使用格式为lm(formula, data, subset, weights, na.action, method = "qr",
  model = TRUE, x = FALSE, y = FALSE, qr = TRUE,
  singular.ok = TRUE, contrasts = NULL, offset, ...)参数formula为模型公式,形如y ~ 1 + x1 + x2的形式,表示常数项、X1和X2的系数.如果去掉公式中的1,其意义不变.如果需要拟合成齐次线性模型,其公式改为y ~ 0 + x1 + x2,或者改为y ~ -1 + x1 + x2.
data为数据框,由样本数据构成,每一行为一个样本,每一列为一项指标.
subset为可选项,表示所使用的样本子集.weights为可选向量,表示样本所对应的权重.na.action为函数,表示当出现缺失数据(NA)时的处理方法.
method为估计回归系数的计算方法,默认值为"qr",即QR分解方法.
model、x、y和qr为逻辑变量,如果取TRUE,函数的返回值将给出模型的框架、模型矩阵、响应变量及QR分解.
singular.ok为逻辑变量,取FALSE表示奇异值拟合是错误的.
contrasts为可选列表.offset为NULL或者数值向量....为附加参数.
例2.1 根据经验,在人的身高相等的情况下,血压的收缩压Y(千帕)与体重X1(千克)、年龄X2(岁数)有关.现收集了13个男子的数据,如表2.1所示.试建立Y关于X1和X2的线性回归方程.
表2.1 数据表体重/kg年龄/岁数收缩压/kPa176.050120291.520141385.520124482.530126(续)
体重/kg年龄/岁数收缩压/kPa579.030117680.550125774.560123879.050125985.0401321076.5551231182.0401321295.0401551392.520147
解 将数据以表格形式存入文件(exam0201.data),使用read.table()函数将数据读出,再用lm()计算.> rt <- read.table("exam0201.data")

lm.sol <- lm(Y ~ 1 + X1 + X2, data = rt)使用summary()函数可显示全部的计算结果,如> summary(lm.sol)这里列出部分(重要)结果,并予以解释.Coefficients:
EstimateStd.Errort valuePr(>|t|)

(Intercept)-62.9633616.99976-3.7040.00

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值