《统计学-基于R》第9章-一元线性回归(R3)_第1页
《统计学-基于R》第9章-一元线性回归(R3)_第2页
《统计学-基于R》第9章-一元线性回归(R3)_第3页
《统计学-基于R》第9章-一元线性回归(R3)_第4页
《统计学-基于R》第9章-一元线性回归(R3)_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据分析

(方法与案例)

作者贾俊平版权所有违者必究StatisticswithR统计学R语言第9章一元线性回归9.1

确定变量间的关系9.2模型的估计和检验9.3利用回归方程进行预测9.4回归模型的诊断

egressionR2018-9-25线性回归建模回归建模解决的问题:用于描述性分析:此时只需要根据样本数据选择一个合适的回归模型,然后解释因变量与自变量之间的关系以及自变量对因变量的影响(如R2、回归系数等)用于预测:用自变量预测因变量,主要是用于样本值外的预测,此时需要分析模型的适应能力(泛化能力)可建立多个模型,对这些模型进行比较,选择最优的模型。传统方法包括:anova比较、AIC比较等现代方法:交叉验证等2018-9-25线性回归建模研究某些实际问题时往往涉及到多个变量。在这些变量中,有一个是研究者特别关注的被预测或被解释的变量,称为因变量(dependentvariable)或响应变量(responsevariable)。用来预测或解释因变量的一个或多个变量称为自变量(ndependentvariable)或解释变量(explainingvariable)假定因变量与自变量之间有某种关系,并把这种关系用适当的数学模型表达出来,那么,就可以利用这一模型根据给定的自变量来预测因变量,这就是回归要解决的问题在回归分析中,只涉及一个自变量时称为一元回归;涉及多个自变量时则称为多元回归。如果因变量与自变量之间是线性关系,则称为线性回归(linearregression);如果因变量与自变量之间是非线性关系则称为非线性回归(nonlinearregression)2018-9-25一元线性回归建模的思路一元线性回归建模的思路如下

第1步:确定因变量与自变量之间的关系

第2步:建立线性关系模型,并对模型进行估

计和检验

第3步:利用回归方程进行预测

第4步:对回归模型进行诊断

9.1确定变量间的关系

9.1.1变量间的关系

9.1.2相关关系的描述

9.1.3关系强度的度量第9章一元线性回归9.1.1变量间的关系9.1确定变量间的关系2018-9-25怎样分析变量间的关系?建立回归模型时,首先需要弄清楚变量之间的关系。分析变量之间的关系需要解决下面的问题变量之间是否存在关系如果存在,它们之间是什么样的关系变量之间的关系强度如何样本所反映的变量之间的关系能否代表总体变量之间的关系2018-9-25相关关系

(correlation)一个变量的取值不能由另一个变量唯一确定当变量

x取某个值时,变量y的取值对应着一个分布各观测点分布在直线周围

#线性正相关#这句是为了模拟能重复化设定了随机种子set.seed(1234)x<-seq(0,25,len=100);y<-4+0.7*x+rnorm(100,0,2)f1<-lm(y~x);summary(f1)par(mfcol=c(1,2),cex=0.8,mai=c(.7,.7,.1,.1))plot(x,y)text(x=20,y=0,labels="R-squared=0.8923",cex=0.8)abline(f1)

set.seed(1234)x<-seq(0,25,len=100);y<-25-0.7*x+rnorm(100,0,2)f1<-lm(y~x);summary(f1)plot(x,y)text(x=5,y=6,labels="R-squared=0.8482",cex=0.8)abline(f1)2018-9-25相关关系

(correlation)#完全正相关x<-seq(0,25,len=25)y<-4+0.9*xplot(x,y,type='o')text(x=20,y=4,labels="R-squared=1",cex=0.8)x<-seq(0,25,len=25)y<-25-0.9*xplot(x,y,type='o')text(x=5,y=3,labels="R-squared=-1",cex=0.8)2018-9-25相关关系

(correlation)#非线性set.seed(1234)x<-seq(0,25,len=100);y<--(x-15)^2+250+rnorm(100,0,25)plot(x,y)f<-function(x){-(x-15)^2+250}curve(f,from=0,to=25,add=TRUE)text(x=20,y=0,labels="非线性相关",cex=0.8)set.seed(1234)x<-seq(0,25,len=100);y<-15+rnorm(100,0,2)plot(x,y)text(x=20,y=10.6,labels="不相关",cex=0.8)abline(h=15,lwd=1.5)9.1.2相关关系的描述9.1确定变量间的关系2018-9-25用散点图描述变量间的关系

(例题分析)【例9-1】为研究销售收入与广告支出之间的关系,随机抽取20家医药生产企业,得到它们的销售收入和广告支出的数据如表9—1所示。绘制散点图描述销售收入与广告支出之的关系#绘制带有箱线图、拟合直线、拟合曲线的散点图load("C:/example/ch9/example9_1.RData")library(car)par(mai=c(.8,.8,.1,.1),cex=.8)scatterplot(销售收入~广告支出,data=example9_1,spread=FALSE,pch=19,xlab="广告支出",ylab="销售收入",cex.lab=0.8)9.1.3关系强度的度量9.1确定变量间的关系2018-9-25相关系数

(correlationcoefficient)度量变量之间线性关系强度的一个统计量若相关系数是根据总体全部数据计算的,称为总体相关系数,记为

若是根据样本数据计算的,则称为样本相关系数,简称为相关系数,记为r也称为Pearson相关系数

(Pearson’scorrelationcoefficient)样本相关系数的计算公式

2018-9-25相关系数的性质性质1:r

的取值范围是[-1,1]|r|=1,为完全相关r=1,为完全正相关r=-1,为完全负正相关r=0,不存在线性相关关系-1

r<0,为负相关0<r

1,为正相关|r|越趋于1表示关系越强;|r|越趋于0表示关系越弱2018-9-25相关系数的性质性质2:r具有对称性。即x与y之间的相关系数和y与x之间的相关系数相等,即rxy=ryx性质3:r数值大小与x和y原点及尺度无关,即改变x和y的数据原点及计量尺度,并不改变r数值大小性质4:仅仅是x与y之间线性关系的一个度量,它不能用于描述非线性关系。这意为着,r=0只表示两个变量之间不存在线性相关关系,并不说明变量之间没有任何关系性质5:r虽然是两个变量之间线性关系的一个度量,却不一定意味着x与y一定有因果关系2018-9-25相关系数的经验解释|r|

0.8时,可视为两个变量之间高度相关0.5

|r|<0.8时,可视为中度相关0.3

|r|<0.5时,视为低度相关|r|<0.3时,说明两个变量之间的相关程度极弱,可视为不相关上述解释必须建立在对相关系数的显著性进行检验的基础之上2018-9-25相关系数的显著性检验

(检验的步骤)1. 检验两个变量之间是否存在线性相关关系采用R.A.Fisher提出的t检验检验的步骤为提出假设:H0:

;H1:

0计算检验的统计量计算P值,并于显著性水平比较,并作出决策若P<,拒绝H0

2018-9-25#相关系数的计算

#相关系数的检验相关系数的显著性检验

(例题9—2)load("C:/example/ch9/example9_1.RData")cor(example9_1[,2],example9_1[,3])library(psych)cor.test(example9_1[,2],example9_1[,3])

9.2模型估计和检验

9.2.1回归模型与回归方程

9.2.2参数的最小二乘估计

9.2.3模型的拟合优度

9.2.4模型的显著性检验第9章一元线性回归9.2.1回归模型与回归方程9.2模型估计和检验2018-9-25一元线性回归模型

(linearregressionmodel)描述因变量y如何依赖于自变量x和误差项

的方程称为回归模型一元线性回归模型可表示为

y=b0+b1x+ey是x的线性函数(部分)加上误差项线性部分反映了由于x的变化而引起的y的变化误差项

是随机变量反映了除x和y之间的线性关系之外的随机因素对y的影响是不能由x和y之间的线性关系所解释的变异性

0和

1称为模型的参数2018-9-25一元线性回归模型

(基本假定)

因变量x与自变量y之间具有线性关系在重复抽样中,自变量x的取值是固定的,即假定x是非随机的误差项

满足正态性。是一个服从正态分布的随机变量,且期望值为0,即

~N(0,

2)。对于一个给定的x值,y的期望值为E(y)=

0+

1x方差齐性。对于所有的x值,

的方差一个特定的值,的方差也都等于2都相同。同样,一个特定的x值,y的方差也都等于

2独立性。独立性意味着对于一个特定的x值,它所对应的ε与其他x值所对应的ε不相关;对于一个特定的x值,它所对应的y值与其他x所对应的y值也不相关2018-9-25估计的回归方程

(estimatedregressionequation)总体回归参数和

是未知的,必须利用样本数据去估计用样本统计量和代替回归方程中的未知参数和,就得到了估计的回归方程一元线性回归中估计的回归方程为其中:是估计的回归直线在y

轴上的截距,是直线的斜率,它表示对于一个给定的x

的值,是y

的估计值,也表示x

每变动一个单位时,y的平均变动值

9.2.2参数的最小二乘估计9.2模型估计和检验2018-9-25参数的最小二乘估计

(methodofleastsquares)德国科学家KarlGauss(1777—1855)提出用最小化图中垂直方向的误差平方和来估计参数

使因变量的观察值与估计值之间的误差平方和达到最小来求得和的方法。即用最小二乘法拟合的直线来代表x与y之间的关系与实际数据的误差比其他任何直线都小

2018-9-25KarlGauss的最小化图2018-9-25

2018-9-25#回归分析#回归系数的置信区间

#方差分析表

回归分析

(例题9—2)

load("C:/example/ch9/example9_1.RData")model<-lm(销售收入~广告支出,data=example9_1)summary(model)

confint(model,level=0.95)anova(model)

2018-9-25load("C:/example/ch9/example9_1.RData")attach(example9_1)model<-lm(销售收入~广告支出,data=example9_1)par(cex=.8,mai=c(.7,.7,.1,.1))plot(销售收入~广告支出,data=example9_1)text(销售收入~广告支出,labels=企业编号,cex=.6,adj=c(-0.6,.25),col=4)abline(model,col=2,lwd=2)n=nrow(example9_1)for(iin1:n){segments(example9_1[i,3],example9_1[i,2],example9_1[i,3],model$fitted[i])}mtext(expression(hat(y)==2343.8916+5.6735%*%广告支出),cex=0.7,side=1,line=-6,adj=0.75)arrows(600,4900,550,5350,code=2,angle=15,length=0.08)回归分析

(例题9—2,绘制拟合图)9.2.3模型的拟合优度9.2模型估计和检验2018-9-25变差因变量

y的取值是不同的,y取值的这种波动称为变差。变差来源于两个方面由于自变量x的取值不同造成的除x以外的其他因素(如x对y的非线性影响、测量误差等)的影响对一个具体的观测值来说,变差的大小可以通过该实际观测值与其均值之差来表示2018-9-25误差分解图2018-9-25误差平方和的分解

(三个平方和的意义)总平方和(SST—totalsumofsquares)反映因变量的n个观察值与其均值的总误差回归平方和(SSR—sumofsquaresofregression)反映自变量x

的变化对因变量y

取值变化的影响,或者说,是由于x

与y

之间的线性关系引起的y

的取值变化,也称为可解释的平方和残差平方和(SSE—sumofsquaresoferror)反映除x

以外的其他因素对y

取值的影响,也称为不可解释的平方和或剩余平方和

2018-9-25决定系数R2

(coefficientofdetermination)回归平方和占总误差平方和的比例反映回归直线的拟合程度取值范围在[0,1]之间R2

1,说明回归方程拟合的越好;R2

0,说明回归方程拟合的越差决定系数平方根等于相关系数

2018-9-25残差的标准误

(residualstandarderror)实际观察值与回归估计值误差平方和的均方根反映实际观察值在回归直线周围的分散状况对误差项

的标准差

的估计,是在排除了x对y的线性影响后,y随机波动大小的一个估计量反映用估计的回归方程预测y时预测误差的大小

计算公式为

9.2.4模型的显著性检验9.2模型估计和检验2018-9-25线性关系的检验检验自变量与因变量之间的线性关系是否显著将回归均方(MSR)同残差均方(MSE)加以比较,应用F检验来分析二者之间的差别是否显著回归均方:回归平方和SSR除以相应的自由度(自变量的个数k)残差均方:残差平方和SSE除以相应的自由度(n-k-1)2018-9-25线性关系的检验

(检验的步骤)

提出假设H0:

1=0线性关系不显著计算检验统计量F确定显著性水平

,并根据分子自由度1和分母自由度n-2求统计量的P值作出决策:若P<,拒绝H0。表明两个变量之间的线性关系显著

2018-9-25回归系数的检验和推断

2018-9-25回归系数的检验和推断

(检验步骤)

提出假设H0:b1=0(没有线性关系)H1:b1

0(有线性关系)计算检验的统计量

2018-9-25回归系数的检验和推断

(b1和b0的置信区间)

b1在1-

置信水平下的置信区间为

b0在1-

置信水平下的置信区间为

9.3利用回归方程进行预测

9.3.1平均值的置信区间

9.3.2个别值的预测区间第9章一元线性回归2018-9-25区间估计对于自变量

x的一个给定值x0,根据回归方程得到因变量y的一个估计区间区间估计有两种类型置信区间估计(confidenceintervalestimate)预测区间估计(predictionintervalestimate)9.3.1平均值的置信区间9.3利用回归方程进行预测2018-9-25平均值的置信区间利用估计的回归方程,对于自变量x的一个给定值x0

,求出因变量y

的平均值的估计区间,这一估计区间称为置信区间(confidenceinterval)

E(y0)

在1-

置信水平下的置信区间为式中:se为残差的标准误2018-9-25个别值的预测区间利用估计的回归方程,对于自变量x的一个给定值x0

,求出因变量y

的一个个别值的估计区间,这一区间称为预测区间(predictioninterval)

y0在1-

置信水平下的预测区间为2018-9-25置信区间和预测区间2018-9-25#计算点预测值(pre_model)、置信区间(con_int)和预测区间(pre_int)回归分析

(例题9—4)

load("C:/example/ch9/example9_1.RData")model<-lm(销售收入~广告支出,data=example9_1)x0<-example9_1$广告支出pre_model<-predict(model)con_int<-predict(model,data.frame(广告支出=x0),interval="confidence",level=0.95)pre_int<-predict(model,data.frame(广告支出=x0),interval="prediction",level=0.95)pre<-data.frame(销售收入=example9_1$销售收入,点预测值=pre_model,置信下限=con_int[,2],置信上限=con_int[,3],预测下限=pre_int[,2],预测上限=pre_int[,3])pre2018-9-25回归分析

(例题9—4,绘制置信区间和预测区间图)model<-lm(销售收入~广告支出,data=example9_1)x0<-seq(min(example9_1$广告支出),max(example9_1$广告支出))con_int<-predict(model,data.frame(广告支出=x0),interval="confidence",level=0.95)pre_int<-predict(model,data.frame(广告支出=x0),interval="prediction",level=0.95)par(cex=.8,mai=c(.7,.7,.1,.1))n=nrow(example9_1)plot(销售收入~广告支出,data=example9_1)abline(model,lwd=2)for(iin1:n){segments(example9_1[i,3],example9_1[i,2],example9_1[i,3],model$fitted[i])}lines(x0,con_int[,2],lty=2,lwd=2,col="blue")lines(x0,con_int[,3],lty=2,lwd=2,col="blue")lines(x0,pre_int[,2],lty=3,lwd=2,col="red")lines(x0,pre_int[,3],lty=3,lwd=2,col="red")legend(x="topleft",legend=c("回归线","置信区间","预测区间"),lty=1:3,lwd=2,cex=0.8)2018-9-25#新值预测求x0=500时销售收入的点预测值、置信区间和预测区间

回归分析

(例题9—4)x0<-data.frame(广告支出=500)predict(model,newdata=x0)predict(model,data.frame(广告支出=500),interval="confidence",level=0.95)predict(model,data.frame(广告支出=500),interval="prediction",level=0.95)

9.4回归模型的诊断

9.4.1残差与残差图

9.4.2检验模型假定第9章一元线性回归9.4.1残差与残差图9.4回归模型的诊断2018-9-25残差

(residual)因变量的观测值与根据估计的回归方程求出的预测值之差,用e表示反映了用估计的回归方程去预测而引起的误差可用于确定有关误差项

的假定是否成立用于检测有影响的观测值

2018-9-25残差图

(residualplot)表示残差的图形关于x的残差图关于y的残差图标准化残差图用于判断误差

的假定是否成立检测有影响的观测值2018-9-25标准化残差与残差图

(standardizedresidual)残差除以它的标准差也称为Pearson残差或半学生化残差(semi-studentizedresiduals)计算公式为标准化残差图。用以直观地判断误差项服从正态分布这一假定是否成立若假定成立,标准化残差的分布也应服从正态分布在标准化残差图中,大约有95%的标准化残差在-2到+2之间

2018-9-25残差图

(形态及判别)9.4.2检验模型假定9.4回归模型的诊断2018-9-25计算残差

(例题分析)#计算预测值(pre)、残差(res)和标准化残差(zre)

load("C:/example/ch9/example9_1.RData")model<-lm(销售收入~广告支出,data=example9_1)pre<-fitted(model)res<-residuals(model)zre<-model$residuals/(sqrt(deviance(model)/df.residual(model)))mysummary<-data.frame(销售收入=example9_1$销售收入,点预测值=pre,残差=res,标准化残差=zre)mysummary绘制残差图

(例题分析)#绘制成分残差图#回归模型的诊断图#检验方差齐性load("C:/example/ch9/example9_1.RData")model<-lm(销售收入~广告支出,data=example9_1)library(car)par(mai=c(.7,.7,.1,.1),cex=.8)crPlots(model)par(mfrow=c(2,2),cex=0.8,cex.main=0.7)plot(model)load("C:/example/ch9/example9_1.RData")library(car)ncvTest(model)绘制残差图

(例题分析)#绘制散布-水平图

#检验残差独立性load("C:/example/ch9/example9_1.RData")model<-lm(销售收入~广告支出,data=example9_1)library(car)durbinWatsonTest(model)spreadLevelPlot(model)结束THANKS补充:回归建模的注意事项2018-9-25回归函数的形式及其意义函数形式斜率b的意义所用系数x变化一个单位,y的变化量bx变化一个百分点,y的变化量b/100x变化一个单位,y的变化百分点x变化一个百分点,y的变化百分点bR数据集anscombe,4组数据的线性回归

(截距、斜率、R方、显著性均相同,却是错误的回归)#回归结果?anscombeattach(anscombe)summary(lm(y1~x1))summary(lm(y2~x2))summary(lm(y3~x3))summary(lm(y4~x4))R数据集anscombe,4组数据的线性回归

(截距、斜率、R方、显著性均相同,却是错误的回归)##错误的回归attach(anscombe)par(mfrow=c(2,2),mai=c(.7,.7,.1,.1))plot(x1,y1,col="red",pch=21,bg="orange")abline(lm(y1~x1),lwd=3,col=4)plot(x2,y2,col="red",pch=21,bg="orange")abline(lm(y2~x2),lwd=3,col=4)plot(x3,y3,col="red",pch=21,bg="orange")abline(lm(y3~x3),lwd=3,col=4)plot(x4,y4,col="red",pch=21,bg="orange")abline(lm(y4~x4),lwd=3,col=4)

不同样本量的回归

(用散点图观察:数据是否适合回归)##观察数据:回归是否恰当par(mfrow=c(2,2),mai=c(.7,.7,.4,.2),cex=.8)for(ninc(10,1e2,1e3,1e4)){x<-runif(n)y<-1-x+.2*rnorm(n)plot(y~x,main=paste("n=",n,"的样本"))}建模的注意事项

(一箩筐的注意事项)避免过拟合(overfit)、欠拟合(underfit),寻找适度拟合(fittingfitting)模型过拟合(overfit):也称过度拟合,模型过分靠近样本数据(tooclosetothedata),造成模型很难用于对样本以外数据的预测欠拟合:模型未很好拟合数据局部加权(回归

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论