数理统计----线性回归
- 格式:docx
- 大小:171.44 KB
- 文档页数:9
第11章 回归分析设x 为普通变量,Y 为随机变量。
如果当x 变化时,Y 随着x 的变化大体上按某种趋势变化,则称x 与Y 之间存在相关关系,即),0(~,)(2σεεN x f Y +=例如,某地人均收入x 与某种商品的消费量Y 之间的关系;森林中树木的断面直径x 与高度Y 之间的关系;某种商品的价格x 与销售量Y 之间的关系;施用氮肥、磷肥、钾肥数量1x ,2x ,3x 与某种农作物产量Y 之间的关系。
在生产实践和科学研究中,常常有这样的问题:由实验或测量得到变量间的一批离散样点,要求由此建立变量之间的近似函数关系或得到样点之外的数据。
我们确定的函数要求在某种距离意义下的误差达到最小(通常用最小二乘法,即考虑使各数据点误差平方和最小)。
由一个(或几个)普通变量来估计或预测某个随机变量的取值时,所建立的数学模型及所进行的统计分析称为回归分析。
§11.1 一元线性回归假设有一批关于x 与Y 的离散样点),(,),,(),,(2211n n y x y x y x集中在一条直线附近,说明x 与Y 之间呈线性相关关系,即),0(~,2σεεN bx a Y ++=称为一元线性回归模型。
一、模型中的参数估计 1、b a ,的估计 首先引进记号∑∑∑∑∑=====-=-=-===ni i i xy ni i yy ni i xx ni ini iyx n y x S y n y S x n x S y n y x n x 11221221111按最小二乘法可得到xxxyS S b =ˆ x b y a ˆˆ-= 称x b a yˆˆˆ+=为Y 关于x 的一元线性回归方程。
2、2σ的估计)ˆ(21ˆ22xx yy S b S n --=σ求出关于的一元线性回归方程。
解:先画出散点图如下计算出 3985193282503.6714510======xy yy xx S S S y x n483.0ˆ==xxxyS S b 735.2ˆˆ-=-=x b y a所求的回归方程是x y483.0735.2ˆ+-=。
线性回归算法及用python实现一、线性回归算法简介1、线性回归:线性回归是利用数理统计中的回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法,运用十分广泛。
在统计学中,线性回归(LinearRegression)是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。
这种函数是一个或多个称为回归系数的模型参数的线性组合。
只有一个自变量的情况称为简单回归,大于一个自变量情况的叫做多元回归。
回归分析中,只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析。
如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则称为多元线性回归分析。
在线性回归中,数据使用线性预测函数来建模,并且未知的模型参数也是通过数据来估计。
这些模型被叫做线性模型。
回归的目的就是预测数值型的目标值,因此我们要用线性回归找到一条最佳拟合直线。
2、回归系数的求解:设最佳拟合直线为:y(x)=w^T*x,其中回归系数w=(w0,w1,w2.,wn),变量x=(1,x1,x2.,xn),w^T表示w的转置对于任意一个数据(x(i),y(i)),与最佳拟合直线的误差为:|y(x(i))-y(i)|=|w^T*x(i)-y(i)|在这里我们用最小二乘法算误差,即:(w^T*x(i)-y(i))^2而y(x)为最佳拟合直线,意味着所有的点的误差最小。
即:而我们要做就是使所有误差最小的回归参数w用矩阵可以这样表示:对w求导,得:令上式等于0,得:3、局部加权线性回归:线性回归有一个问题就是欠拟合,解决这个问题方法就是局部加权线性回归。
我们给预测点附近的每个点都赋予一定的权重,得到的回归系数为:其中:W为矩阵,除对角线外其他元素均为0二、python代码的实现在实现代码前,你需要先建立一个含有数据点的文本,比如ex0.txt,文本格式为:当然,你也可以代入自己的数据点1、线性回归:from numpy import *import matplotlib.pyplot as pltdef loadDataSet(fileName):numFeat = len(open(fileName).readline().split('t')) - 1 #得到特征值的个数dataMat = []; labelMat = []fr = open(fileName) #打开文件for line in fr.readlines(): #读取整行lineArr =[]curLine = line.strip().split('t') #将一行的不同特征分开 for i in range(numFeat):lineArr.append(float(curLine[i]))dataMat.append(lineArr)labelMat.append(float(curLine[-1]))return dataMat,labelMatdef standRegres(xArr,yArr):xMat = mat(xArr); yMat = mat(yArr).TxTx = xMat.T*xMatws = xTx.I * (xMat.T*yMat) #求 w=(x.T*x).I*x.T*yreturn wsa,b=loadDataSet('ex0.txt')ws=standRegres(a,b)x=arange(0,1,0.01)plt.plot([i[1] for i in a],b,'or')plt.plot(x,float(ws[0])+float(ws[1])*x,'g')plt.show()输出:[[ 3.00772239][ 1.66874279]]局部加权线性回归from numpy import *import matplotlib.pyplot as pltdef loadDataSet(fileName):numFeat = len(open(fileName).readline().split('t')) - 1 #得到特征值的个数dataMat = []; labelMat = []fr = open(fileName) #打开文件for line in fr.readlines(): #读取整行lineArr =[]curLine = line.strip().split('t') #将一行的不同特征分开 for i in range(numFeat):lineArr.append(float(curLine[i]))dataMat.append(lineArr)labelMat.append(float(curLine[-1]))return dataMat,labelMatdef lwlr(testPoint,xArr,yArr,k=1.0):xMat = mat(xArr); yMat = mat(yArr).Tm = shape(xMat)[0] #m为行数weights = mat(eye((m))) #创建m*m的单位矩阵for j in range(m):diffMat = testPoint - xMat[j,:]weights[j,j] = exp(diffMat*diffMat.T-(-2.0*k**2)) #对角线上的元素改为exp(|x(i)-x|-(-2k*k))xTx = xMat.T * (weights * xMat)ws= xTx.I * (xMat.T * (weights * yMat)) #求w=(x.T*W*x).I*x.T*W*yreturn testPoint * wsdef lwlrTestPlot(xArr,yArr,k=1.0):y = zeros(shape(yArr))Arr=[i[1] for i in xArr]xCopy = mat(xArr);x=mat(Arr).T #将列表转化为矩阵xCopy.sort(0);x.sort(0) #给矩阵从小到大排序for i in range(shape(xArr)[0]):y[i] = lwlr(xCopy[i],xArr,yArr,k) #调用lwlr函数return x,ya,b=loadDataSet('ex0.txt')plt.figure(1)c,d=lwlrTestPlot(a,b,1)plt.plot([i[1] for i in a],b,'or')plt.plot(c,d,'g')plt.figure(2)c,d=lwlrTestPlot(a,b,0.03)plt.plot([i[1] for i in a],b,'or')plt.plot(c,d,'g')plt.figure(3)c,d=lwlrTestPlot(a,b,0.008)plt.plot([i[1] for i in a],b,'or')plt.plot(c,d,'g')plt.show()输出:很明显:当k=1时,就是线性回归图像,存在欠拟合现象;当k=0.03时,效果比较好;当k=0.008时,存在过拟合现象y=ω0+∑i=1nωixi+∑i=1n?1∑j=i+1nωijxixjfloat Value [7] = {10,40,30,50,35,40,30};由该样本点的局部重建权制矩阵WWW和其近邻点计算出该样本点的输出值我们用X1,X2.Xn 去描述feature里面的分量,比如x1=房间的面积,x2=房间的朝向,等等,我们可以做出一个估计函数:反复利用上式进行迭代,最终收敛的参数,就是采用EM算法得到的最终参数。
【线性回归】线性回归模型中⼏个参数的解释【线性回归】线性回归模型中⼏个参数的解释R ⽅1. 决定系数/拟合优度类似于⼀元线性回归,构造决定系数。
称为y 关于⾃变量的样本复相关系数。
其中,,有SST=SSR+SSE总离差平⽅和记为SST ,回归平⽅和记为SSR ,残差平⽅和为SSE 。
由公式可见,SSR 是由回归⽅程确定的,即是可以⽤⾃变量x 进⾏解释的波动,⽽SSE 为x 之外的未加控制的因素引起的波动。
这样,总离差平⽅和SST 中能够由⽅程解释的部分为SSR ,不能解释的部分为SSE 。
1. 意义意味着回归⽅程中能被解释的误差占总误差的⽐例。
⼀般来说越⼤,拟合效果越好,⼀般认为超过0.8的模型拟合优度⽐较⾼。
需要注意的是当样本量⼩时,很⼤(例如0.9)也不能肯定⾃变量与因变量之间关系就是线性的。
随着⾃变量的增多,必定会越来越接近于1,但这会导致模型的稳定性变差,即模型⽤来预测训练集之外的数据时,预测波动将会⾮常⼤,这个时候就会对作调整,调整R ⽅可以消除⾃变量增加造成的假象。
F 检验0、预备知识(1)假设检验为了判断与检测X 是否具备对Y 的预测能⼒,⼀般可以通过相关系数、图形等⽅法进⾏衡量,但这只是直观的判断⽅法。
通过对回归参数做假设检验可以为我们提供更严格的数量化分析⽅法。
(2)全模型与简化模型我们称之为全模型(full Model,FM )通过对某些回归系数进⾏假设,使其取指定的值,把这些指定的值带⼊全模型中,得到的模型称为简化模型(reduced model,RM )。
常⽤的简化⽅法将在之后介绍。
1、F 检验检验是线性模型的假设检验中最常⽤的⼀种检验,通过值的⼤⼩可以判断提出的假设是否合理,即是否接受简化模型。
1. 为检验我们的假设是否合理,即评估简化模型相对全模型拟合效果是否⼀样好,需要先建⽴对两个模型拟合效果的评价⽅法。
这⾥我们通过计算模型的残差平⽅和()来衡量模型拟合数据时损失的信息量,也表⽰模型的拟合效果。
研究生课程考核试卷(适用于课程论文、提交报告)科目:数理统计教师:姓名:学号:专业:类别:上课时间:考生成绩:阅卷评语:阅卷教师(签名)重庆大学研究生院制办公楼类建筑采暖锅炉容量与采暖面积的线性关系分析摘要:我国是能源消耗大国,在燃料消耗领域,燃煤占有相当大的比重,尤其东北及西北地区燃煤消耗尤为严重,主要消耗方式则是冬季的锅炉采暖。
如何根据采暖面积,合理选择燃煤锅炉容量,对于节约能源,提高能源利用率,具有重要意义。
本文借助于数理统计的知识,在实际的数据的基础上,对两者之间进行一个简单的一元线性回归分析。
在建立起模型之后,通过显著性检验方法进行检验,以检查结果的正确性。
并通过模型对办公楼类建筑采暖锅炉的容量作出一个大致的预测,同时对相关结论进行分析,以指导实际工作。
关键词:办公楼;建筑面积;锅炉容量一、问题提出及分析锅炉是一种能量转换设备,向锅炉输入的能量有燃料中的化学能、电能、高温烟气的热能等形式,而经过锅炉转换,向外输出具有一定热能的蒸汽、高温水或有机热载体。
锅炉中产生的热水或蒸汽可直接为工业生产和人民生活提供所需热能。
对于采暖地区的而言,每年漫长的采暖期都要依靠采暖设备供热维持建筑物内环境温度。
大部分地区主要以燃煤供热锅炉为热源,这种供热模式在短期内不会改变。
随着城市的发展,供热面积不断增加,耗煤量也逐年提高。
近年来由于煤炭价格不断攀升,冬季燃煤采暖的经济压力已成为了影响供热质量及供热企业经济效益的主要问题。
在积极贯彻落实国家节能减排政策的形势下,如何在保证供热质量的前提下采取行之有效的措施降低采暖煤耗,已成为迫切希望解决的问题。
那么,现行燃煤供热锅炉容量与建筑面积的关系如何,能否通过建筑面积对锅炉容量进行预测?带着这样的问题,利用现行数据,借助统计学与软件的分析,采用散点图的描绘,可以看到办公楼建筑面积与采暖锅炉容量可能存在一定的线性关系,由此借助数理统计知识,通过一元线性回归的相关知识对该问题进行分析。
二、数据描述为了研究办公楼建筑面积和采暖锅炉容量的关系,选取建设部工程总结的相关数据,如表1所示:采暖锅炉容量总结表三、模型建立(1)提出假设条件,理清概念,引进参数假设办公楼总面积为自变量X ,锅炉容量为因变量Y 。
且(x i ,y i )(i=1,2,…,8)为取得的一组试验数据,满足如下一元线性回归模型:⎪⎩⎪⎨⎧=≠===++=....,2,1,,,0),(, (2)1),,0(~,...2,1,210n j i j i Cov n i N n i x y j i i i i i εεσεεββ由线性回归模型可知,若1β越大,Y 随X 的变化趋势就越明显;反之,若1β越小,Y 随X 的变化就越不明显。
特别是,当β1=0时,则表明无论X 如何变化Y 的值都不受影响,因而Y 与X 之间不存在线性相关关系。
当1β≠0时,则认为Y 与X 之间有线性相关关系。
于是,问题归结为对统计假设0H :0011≠=ββ,的检验。
若拒绝H 0,就认为Y 与X 之间有线性相关关系,所求的样本回归直线有意义;若接受H 0,则认为Y 与X 之间不存在线性相关关系,它们之间可能存在明显的非线性相关关系,也可能根本就不相关,所求的样本回归直线无意义。
(2)模型构建我们想找的回归方程x y 10ˆˆˆββ+=是要使观测值),...,2,1)(,(n i y x i i =从整体上比较靠近它。
用数学的话来说就是要求观测值iy 与其拟合值ii x y10ˆˆˆββ+=之间的偏差平方和达到最小。
设给定n 个点),...,2,1)(,(n i y x i i =,x y 10ββ+=为一条直线, 记[]∑=+-=ni i i Ex y S 12102)(ββ2ES 就是误差平方和,它反映全部的观测值与直线的偏离程度。
因此,2E S 越小,观测值与直线拟合得越好。
所谓的最小二乘法就是使2E S 达到最小的一种估计10,ββ的方法。
如果0ˆβ,1ˆβ满足 21102)(min 10∑=--=ni i i Ex y S ββββ,那么称0ˆβ,1ˆβ分别是0β,1β的最小二乘估计。
下面来求0β、1β的最小二乘估计。
由于2E S 是10,ββ的一个非负二元函数,故其极小值一定存在,根据微积分的理论知道只要求2E S 对10,ββ的一阶偏导数为0,即⎪⎪⎩⎪⎪⎨⎧=---=∂∂=---=∂∂∑∑==ni i i i E ni ii Ex x y S x y S 11012110020)ˆˆ(20)ˆˆ(2ββββββ 整理后得⎪⎪⎩⎪⎪⎨⎧=+=+∑∑∑∑∑=====ni i i n i i n i i ni i n i i y x x x y x n 1112011110ˆ)(ˆ)(ˆ)(ˆββββ 解之得⎪⎪⎪⎩⎪⎪⎪⎨⎧---=-=∑∑==n i i n i i i x x y y x x x y 121110)())((ˆˆβββ 其中∑==ni i x n x 11,∑==n i i y n y 11。
在具体计算时,常记∑∑∑===-=-=-=ni i i n i i n i i xx x x x x n x x x l 112212)()(∑∑∑===-=-=-=ni i i ni i ni i yy y y y y n y y y l 112212)()(∑∑∑===-=-=--=ni i i n i i i ni i i xy y x x y x n y x y y x x l 111)())((这样,0β,1β的最小二乘估计可以表示为⎪⎩⎪⎨⎧=-=xx xyl l x y 110ˆˆˆβββ 因此,可得到回归方程为)(ˆˆˆˆ11x x y x y-+=+=βββ(3)模型求解根据表1数据绘制办公楼面积与锅炉容量的散点图,如图1所示图1 办公楼总面积与锅炉容量的散点图图中横坐标为办公楼总面积,纵坐标为锅炉容量,由图可以看出锅炉容量和办公楼总面积可能存在线性相关关系。
由样本资料计算所需数据,如表2所示表2 办公楼总面积与锅炉容量回归计算由表2得, 6125.28/9.20==x ,75.13288/10630==y ,125.405875.13286125.28318298101=⨯⨯-=⋅-=∑=y x y x l i ii xy2827.441960.956486514.156872ˆ15687.651428875.859.4895.2002487ˆ696.496125.259.48975.1328ˆˆ59.48928875.8/125.4058/ˆ5.20024871328.75816127100828875.86125.2889.6282221222101221012221012===-==⨯-=-=-==⨯-=-=====⨯-=-==⨯-=-=∑∑==n S l l S S S x y l l yy l xx l E xx yy R T E xx xy ii yy i i xx σββββ所以,锅炉容量Y 对办公楼面积X 的样本回归直线方程是:x x y 59.489696.49ˆˆˆ10+=+=ββ四、计算方法设计和计算机实现使用Excel 对数据计算过程如下。
将办公楼总面积记为X (亿元)、锅炉容量记为Y (亿元),将搜集到的数据录入Excel 中,如表3所示:表3 Excel 表格输入计算表利用Excel 软件可进行回归分析计算,如下表所示:五、结果检验检验,取显著水平α=0.05 用F 检验法:因为1170.141728875.899.59564.1960)2,1(ˆ12=⨯=-=-xx l n F c ασ拒绝域为{1170.1417ˆ21>β}21ˆβ=489.592= 239698.3681>1417.1170,故拒绝H 0,即认为办公楼总面积X 对锅炉容量Y 有显著的影响。
用t 检验法:算出临界值6377.3728875.8447.22827.44)2(ˆ21=⨯=-=-n tl c xxασ拒绝域为{1ˆβ>37.6377} 故应拒绝H 0,也认为办公楼总面积X 对锅炉容量Y 有显著的线性相关关系。
用r 检验法:由于)2(9961.028875.85.2002487125.4058->=⨯==n r l l l r xxyy xy α7067.0)6(05.0=r 所以认为办公楼总面积X 对锅炉容量Y 之间的线性关系显著。
五、结论分析(1)可用于预测锅炉容量的一元线性回归模型为:y59x.=49+.489696(2)通过三种检验方法均得出两者之间线性关系显著,说明本项研究采用的这种一元线性回归预测方法具有很好的实际应用价值。
(3)本次研究主要针对办公楼建筑,通过一元线性回归分析得到回归模型,可以根据办公楼总面积,对锅炉容量进行预测。
在实际应用中,可以根据预测值,结合相关设计规范,合理选择锅炉设备,以提高能源利用率,达到节约能源的目的。
(4)此一元线性回归模型是否可用于居民建筑采暖锅炉容量的预测有待研究。
参考文献[1] 杨虎,刘琼荪,钟波. 数理统计[M ].高等教育出版社,2004.10[2] 田胜元,萧日嵘.实验设计与数据处理.中国建筑工业出版社,1988.11[3] 吴味隆.锅炉及锅炉房设备.中国建筑工业出版社,2006.5。