回归分析法概念及原理回归分析定义:利用数据统计原理,对大量统计数据进行数学处理,并确定因变量与某些自变量的相关关系,建立一个相关性较好的回归方程(函数表达式),并加以外推,用于预测今后的因变量的变化的分析方法分类:1. 根据因变量和自变量的个数来分类:一元回归分析;多元回归分析;2. 根据因变量和自变量的函数表达式来分类:线性回归分析;非线性回归分析;几点说明:1. 通常情况下,线性回归分析是回归分析法中最基本的方法,当遇到非线性回归分析时,可以借助数学手段将其化为线性回归;因此,主要研究线性回归问题,一点线性回归问题得到解决,非线性回归也就迎刃而解了,例如,取对数使得乘法变成加法等;当然,有些非线性回归也可以直接进行,如多项式回归等;2. 在社会经济现象中,很难确定因变量和自变量之间的关系,它们大多是随机性的,只有通过大量统计观察才能找出其中的规律随机分析是利用统计学原理来描述随机变量相关关系的一种方法;3. 由回归分析法的定义知道,回归分析可以简单的理解为信息分析与预测信息即统计数据,分析即对信息进行数学处理,预测就是加以外推,也就是适当扩大已有自变量取值范围,并承认该回归方程在该扩大的定义域内成立,然后就可以在该定义域上取值进行“未来预测”。
当然,还可以对回归方程进行有效控制;4. 相关关系 可以分为确定关系和不确定关系但是不论是确定关系或者不确定关系,只要有相关关系,都可以选择一适当的数学关系式,用以说明一个或几个变量变动时,另一变量或几个变量平均变动的情况回归分析主要解决的问题:回归分析主要解决方面的问题;1. 确定变量之间是否存在相关关系,若存在,则找出数学表达式;2. 根据一个或几个变量的值,预测或控制另一个或几个变量的值,且要估计这种控制或预测可以达到何种精确度回归模型:回归分析步骤:1. 根据自变量与因变量的现有数据以及关系,初步设定回归方程;2. 求出合理的回归系数;3. 进行相关性检验,确定相关系数; 4. 在符合相关性要求后,即可根据已得的回归方程与具体条件相结合,来确定事物的未来状况,并计算预测值的置信区间;回归分析的有效性和注意事项:有效性:用回归分析法进行预测首先要对各个自变量做出预测若各个自变量可以由人工控制或易于预测,而且回归方程也较为符合实际,则应用回归预测是有效的,否则就很难应用;注意事项:为使回归方程较能符合实际,首先应尽可能定性判断自变量的可能种类和个数,并在观察事物发展规律的基础上定性判断回归方程的可能类型;其次,力求掌握较充分的高质量统计数据,再运用统计方法,利用数学工具和相关软件从定量方面计算或改进定性判断。
回归分析中的几个常用概念:实际值:实际观测到的研究对象特征数据值;理论值:根据实际值我们可以得到一条倾向线,用数学方法拟合这条曲线,可以得到数学模型,根据这个数学模型计算出来的、与实际值相对应的值,称为理论值;预测值:实际上也是根据数学模型计算出来的理论值,但它是与未来对应的理论值表示符号:实际值,用表示;理论值,用表示;预测值,用表示Unary Linear Regression ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++一元线性回归,就是只涉及一个自变量的回归;自变量和因变量之间的关系是线性关系的回归;因变量与自变量之间的关系用一条线性方程来表示的回归方法步骤:1. 确定回归模型:由于我们研究的是一元线性回归,因此其回归模型可表示为:;其中,是因变量;是自变量;是误差项;和称为模型参数(回归系数)2. 求出回归系数:这里的回归系数的求解,就要用一定的方法,使得该系数应用于该方程是“合理的”最常用的一种方法就是最小二乘估计法最小二乘法是测量工作和科学实验中最常用的一种数据处理方法,其基本原理是,根据实验观测得到的自变量x和因变量y之间的一组对应关系,找出一个给定类型的函数,使得它所取的值…与观测值 …在某种尺度下最接近,即在各点处的偏差的平方和达到最小,即。
这种方法求的的和将使得拟合直线中的和之间的关系与实际数据的误差比其他任何直线都小根据最小二乘法的要求,可以推导得到最小二乘法的计算公式: 其中,;相关性检验:对于若干组具体数据都可算出回归系数,从而得到回归方程至于与之间是否真有如回归模型所描述的关系,或者说用所得的回归模型去拟合实际数据是否有足够好的近似,并没有得到判明因此,必须对回归模型描述实际数据的近似程度,也即对所得的回归模型的可信程度进行检验,称为相关性检验相关系数是衡量一组测量数据线性相关程度的参量,其定义为:,或者值在0||≤1中 ||越接近于1, 之间线性好;为正,直线斜率为正,称为正相关;为负,直线斜率为负,称为负相关接近于0,则测量数据点分散或之间为非线性不论测量数据好坏都能求出,所以我们必须有一种判断测量数据好坏的方法,用来判断什么样的测量数据不宜拟合,判断的方法是||时,测量数据是非线性的.称为相关系数的起码值,与测量次数有关,如下表:相关系数起码值31.00090.798150.64140.990100.765160.62350.959110.735170.60660.917120.708180.59070.874130.684190.57580.834140.661200.561在进行一元线性回归之前应先求出值,再与比较,若|| ,则具有线性关系,可求回归直线;否则反之。
置信区间的确定:当确定相关性后,就可以对置信区间进行确定,就可以结合实际情况,确定事物未来的状况了回归分析的最主要的应用就在于“预测”,而预测是不是准确的,就得有一个衡量的工具它就是置信区间或者从另外一方面来说,回归方程是由数理统计得出的,它反映的是实际数据的统计规律,所以,根据回归方程所得的预测值只是对应于的单点预测估计值,预测值应该有一个置信区间这样来看,计算置信区间就是很有必要的置信区间:,其中是的无偏估计量,称为剩余方差,称为剩余标准差[注:该表达式的自由度为是因为有2个限制变量]故对于给定的,值的概率为0.95的置信区间是:点击参看置信区间的确定内容Example++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++实验数据如下表: 城镇居民家庭人均可支配收入城市人均住宅面积城镇居民家庭人均可支配收入城市人均住宅面积343.46.74838.917.0477.67.25160.317.8739.110.05425.118.71373.913.55854.019.41510.213.76280.020.31700.614.26859.620.82026.614.87702.822.82577.415.28472.223.73496.215.79421.625.04283.016.310493.026.1步骤一:先画出散点图,进行观察:程序如下:>> clf>> x=[343.4 477.6 739.1 1373.9 1510.2 1700.6 2026.6 2577.4 3496.2 4283.0 4838.9 5160.3 5425.1 5854.0 6280.0 6859.6 7702.8 8472.2 9421.6 0493.0];y=[6.7 7.2 10.0 13.5 13.7 14.2 14.8 15.2 15.7 16.3 17.0 17.8 18.7 19.4 20.3 20.8 22.8 23.7 25.0 26.1];plot(x,y,'x')>> xlabel('城镇居民家庭人均可支配收入') ylabel('城市人均住宅面积')在MATALB中的运行结果:可以看到,除了个别点除外,基本上所有的点都分布在一条直线的附近。
而且自变量只有一个,因此可以假设其回归模型为:;步骤二:求出回归系数,过程根据最小而乘法的公式计算;计算公式为:其中,;编程:>> [n1,n2]=size(x); lxx=0; lxy=0 for k=1:n2 lxx=lxx+(x(k)-mean(x))^2 lxy=lxy+(x(k)-mean(x))*(y(k)-mean(y)) end b=lxy/lxx a=mean(y)-b*mean(x)在MATLAB中的运行结果:求得=0.0017 =9.4866, 故:=9.4866+0.0017为所求整个数据拟合如下:>> clf>> x=[343.4 477.6 739.1 1373.9 1510.2 1700.6 2026.6 2577.4 3496.2 4283.0 4838.9 5160.3 5425.1 5854.0 6280.0 6859.6 7702.8 8472.2 9421.6 0493.0];y=[6.7 7.2 10.0 13.5 13.7 14.2 14.8 15.2 15.7 16.3 17.0 17.8 18.7 19.4 20.3 20.8 22.8 23.7 25.0 26.1];plot(x,y,'x')>> xlabel('城镇居民家庭人均可支配收入') ylabel('城市人均住宅面积')>> [n1,n2]=size(x); lxx=0; lxy=0 for k=1:n2 lxx=lxx+(x(k)-mean(x))^2 lxy=lxy+(x(k)-mean(x))*(y(k)-mean(y)) end b=lxy/lxx a=mean(y)-b*mean(x)[n1,n2]=size(x); lxx=0; lxy=0 for k=1:n2 lxx=lxx+(x(k)-mean(x))^2 lxy=lxy+(x(k)-mean(x))*(y(k)-mean(y)) end b=lxy/lxx a=mean(y)-b*mean(x) xx=linspace(0,12000,500) yy=a+b*xx; hold on plot(xx,yy,'b-') text(6000,15,'FitFunction: y=a+b*x')在MATLAB中运行得到拟合图:步骤三:相关性检验;,同理编程计算出相关系数为:=0.964740192922406 由于的绝对值很接近1,所以相关性很强。
换句话说,就是拟合程度很好;或者||=0.964740192922406>=0.561,所以相关关系;相关指数: R^2=0.930723639839。