第5章〓回归分析回归分析是使用最为广泛的统计学分支,在质量管理、市场营销、宏观经济管理等领域都有非常广泛的应用。本章介绍一元线性回归、多元线性回归、多项式回归,这3种回归方法应用非常广泛。通过本章的学习,读者可以掌握基本的回归分析原理及应用方法。 5.1回归分析概述 回归分析(Regression Analysis)是确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法,应用广泛。回归分析按照涉及变量的多少,分为一元回归分析和多元回归分析;按照自变量和因变量之间的关系类型,可分为线性回归分析和非线性回归分析。如果在回归分析中,只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,则这种回归分析称为一元线性回归分析。如果回归分析中包括两个或两个以上的自变量,且因变量与自变量之间存在线性相关,这种回归分析则称为多元线性回归分析。 回归分析主要解决两个问题: 一是确定几个变量之间是否存在相关关系,如果存在,则找出它们之间适当的数学表达式;二是根据一个或几个变量的值,预测或控制另一个或几个变量的值,且要估计这种控制或预测可以达到何种精确度。 在经济管理和其他领域中,人们经常需要研究两个或多个变量(现象)之间的相互(因果)关系,并使用数学模型加以描述和解释,如商品销售量与价格之间的关系。 5.1.1变量间的两类关系1. 确定性关系确定性关系是指当一些变量的值确定以后,另一些变量的值也随之完全确定的关系,这些变量间的关系完全是已知的,变量之间的关系可以用函数关系表示。 例如,圆的面积S与半径r之间的关系S=πr2,电路中电阻值R、电压U与电流I之间的关系U=IR,等等。 图51为价格不变时,某商品的销售收入与销售量之间的关系,属于确定性关系。 图51某商品销售收入与销售量的关系 2. 非确定性关系 非确定性关系是指变量之间有一定的依赖关系,变量之间虽然相互影响和制约,但由于受到无法预计和控制的因素的影响,使变量间的关系呈现不确定性,当一些变量的值确定以后,另一些变量值虽然随之变化,却不能完全确定,这时变量间的关系就不可以精确地用函数表示,即不能由一个或若干变量的值精确地确定另一个变量的值。 例如,子女的身高与父母的身高之间有一定的关系,但这种关系不是确定的,即不能根据父母的身高精确地得出子女的身高;某块农田粮食的产量与施肥量之间的关系;某种商品的销售量与广告费之间的关系。 第5章回 归 分 析数据分析与数据挖掘(第2版)5.1.2回归分析的步骤 回归分析的主要步骤如下。 (1) 确定变量 明确预测的具体目标,也就是确定因变量。例如,预测的具体目标是下一年度的销售量,那么销售量Y就是因变量。通过市场调查和查阅资料,寻找与预测目标相关的影响因素,即自变量,并从中选出主要的影响因素。 (2) 建立预测模型 依据自变量和因变量的历史统计资料进行计算,在此基础上建立回归分析方程,即回归分析预测模型。 (3) 进行相关分析 回归分析是对具有因果关系的影响因素(自变量)和预测对象(因变量)所进行的数理统计分析处理。只有当自变量与因变量确实存在某种关系时,建立的回归方程才有意义。因此,作为自变量的因素与作为因变量的预测对象是否有关,相关程度如何以及判断这种相关程度的把握性多大,就成为进行回归分析必须要解决的问题。进行相关分析,一般需要求出相关系数,以相关系数的大小判断自变量和因变量的相关程度。 (4) 计算预测误差 回归预测模型是否可用于实际预测取决于对回归预测模型的检验和对预测误差的计算。回归方程只有通过各种检验,且预测误差较小,才能将回归方程作为预测模型进行预测。 (5) 确定预测值 利用回归预测模型计算预测值,并对预测值进行综合分析,确定最后的预测值。 注意: 应用回归预测法时,应首先确定变量之间是否存在相关关系。如果变量之间不存在相关关系,则对这些变量应用回归预测法就会得出错误的结果。 5.2一元线性回归 一元线性回归分析是处理两个变量之间关系的最简单模型,研究的对象是两个变量之间的线性相关关系。通过对这个模型的讨论,不仅可以掌握有关一元线性回归的知识,而且可以从中了解回归分析方法的基本思想、方法和应用。 5.2.1原理分析1. 一元线性回归模型一元线性回归模型只包含一个解释变量(自变量)和一个被解释变量(因变量),是最简单的线性回归模型。一元线性回归模型如式(51) 所示。Y=a+bX+ε(51)其中,X为自变量,Y为因变量;a为截距,即常量;b为回归系数,表示自变量对因变量的影响程度;ε为随机误差项。 一元线性回归模型特点如下。 ① Y是X的线性函数加上误差项。 ② 线性部分反映了由于X的变化而引起的Y的变化。 ③ 误差项ε是随机变量,反映了除X和Y之间的线性关系之外的随机因素对Y的影响,它是一个期望值为0的随机变量,即E(ε)=0;也是一个服从正态分布的随机变量,且相互独立,即ε~N(0,σ2)。 ④ 对于一个给定的X值,Y的期望值为E(Y)=a+bX,称为Y对X的回归。 2. 回归方程 记a^,b^分别为参数a和b的点估计,并记Y^为Y的条件期望E(Y|X)的点估计,由式(51)得式(52)。Y^=a^+b^X(52)式(52)称为回归方程。其中,a^和b^为回归方程的回归系数,a^是回归直线在y轴上的截距,b^是直线的斜率。Y^表示X每变动一个单位时Y的平均变动值。对于每一个xi值,由回归方程可以确定一个回归值y^i=a^+b^xi。 5.2.2回归方程求解及模型检验1. 最小二乘法可以使用最小二乘法(Least Square Estimation,LSE)求解一元线性回归方程。对每一个点(xi,yi),yi为其实际测量值,y^i是通过式(52)得到的预测值。最小二乘法的原理就是,找到一组a^和b^,使所有点的实际测量值yi与预测值y^i的偏差的平方和最小。其中,称Δy=yi-y^i为残差。残差平方和(Residual Sum of Squares,RSS)的定义为RSS=Q(a^,b^)=∑ni=1(yi-y^i)2=∑ni=1(yi-a^-b^xi)2(53)由式(53)知,Q(a^,b^)是关于a^和b^的二次函数,所以Q(a^,b^)存在最小值。由微积分知识,分别对a^和b^求一阶偏导并令其一阶偏导值为0,即Qa^=-2∑ni=1(yi-a^-b^xi)=0(54)Qb^=-2∑ni=1(yi-a^-b^xi)xi=0(55)式(54)和式(55)称为正规方程组,据此可求解出a^和b^的值为=y--b^x-(56)=x-·y--xyx-2-x2(57)其中,x-=1n∑ni=1xi,y-=1n∑ni=1yi,xy=1n∑ni=1xiyi,x2=1n∑ni=1x2i。 将求得的a^和b^的值代入方程y^=a^+b^x中,得到的方程就是最佳拟合曲线。 2. 拟合优度检验 拟合优度是指所求得的回归直线对观测值的拟合程度。若观测值与回归直线之间的距离近,则认为拟合优度较好,反之则较差,这里用决定系数(Coefficient of Determination)度量拟合优度。 (1) 离差、回归差、残差 首先给出离差、回归差、残差的概念。 离差定义为yi-y-,表示实际值与平均值之差。 回归差定义为y^i-y-,表示估计值与平均值之差。 残差定义为yi-y^i,表示实际值与估计值之差。 离差=回归差+残差。三者的关系如图52所示。 图52离差、回归差、残差三者的关系用总平方和(Total Sum of Squares,TSS)表示因变量的n个观察值与其均值的误差的总和,TSS是各个数据离差的平方和,即TSS=∑ni=1(yi-y-)2(58)用回归平方和(Explained Sum of Squares,ESS)表示自变量x的变化对因变量y取值变化的影响,ESS是各个数据回归差的平方和,即ESS=∑ni=1(y^i-y-)2(59)用残差平方和(Residual Sum of Squares,RSS)表示实际值与拟合值之间的差异程度,RSS是各个数据残差的平方和,即RSS=∑ni=1(yi-y^i)2(510)TSS、ESS、RSS三者之间的关系为TSS=ESS+RSS,即∑ni=1(yi-y-)2=∑ni=1(y^i-y-)2+∑ni=1(yi-y^i)2(511)证明: TSS=∑ni=1(yi-y-)2 =∑ni=1[(yi-y^i)+(y^i-y-)]2 =∑ni=1[(yi-y^i)2+2(yi-y^i)(y^i-y-)+(y^i-y-)2] =∑ni=1(yi-y^i)2+∑ni=1(y^i-y-)2+2∑ni=1(yi-y^i)(y^i-y-) =RSS+ESS+2∑ni=1(yi-y^i)(y^i-y-) =RSS+ESS+2∑ni=1(yi-a^-b^xi)(a^+b^xi-y-) ∑ni=1(yi-a^-b^xi)(a^+b^xi-y-)=∑ni=1(yi-a^-b^xi)(a^-y-)+b^∑ni=1(yi-a^-b^xi)xi 由式(54)和式(55)知,∑ni=1(yi-a^-b^xi)=0,∑ni=1(yi-a^-b^xi)xi=0,(a^-y-)和b^为常数,所以TSS=ESS+RSS证明结束。 (2) 拟合优度 拟合优度(Goodness of Fit)是指回归直线对观测值的拟合程度。度量拟合优度的统计量是决定系数(也称确定系数)R2,其计算公式为R2=ESSTSS=TSS-RSSTSS=1-RSSTSS (512)其中,R2∈[0,1],R2越接近于1,说明回归曲线拟合度越好;R2越小,说明回归曲线拟合度越差。R2=0时,表示自变量x与因变量y没有线性关系;R2=1时,表示回归曲线与样本点重合。 3. 线性关系的显著性检验 采用F检验来度量一个或多个自变量同因变量之间的线性关系是否显著。F检验(F test)运用服从F分布的统计量或方差比作为统计检验,通过显著性水平(Significant Level)检验回归方程的线性关系是否显著。 F检验的计算方式为F=ESS/kRSS/(n-k-1)(513)且服从F分布F=(k,n-k-1)。 式(513)中,k为自由度(自变量的个数),n为样本总量。一元线性回归方程只有一个自变量x,所以k=1。 F值越大,说明自变量和因变量之间在总体上的线性关系越显著,反之线性关系越不显著。 4. 回归参数的显著性检验 采用t检验对回归参数进行显著性检验,t检验检测变量x是否是被解释变量y的一个显著性的影响因素,t检验是用于样本的两个平均值差异程度的检验方法。它使用T分布理论来推断差异发生的概率,从而判断两个平均数的差异是否显著。 t检测的计算方式为ti=b^isb^i(514)其中,sb^i的计算公式为sb^i=RSSn-k-1∑ni=1x2i-1n(∑ni=1xi)2(515)式(515)中,b^i是自变量x^i的回归参数,sb^i是回归参数b^i的抽样分布的标准差,k为自由度,n为样本总量,RSS为残差平方和。 对于一元线性回归模型,只有一个自变量xi,所以b^i=b^,自由度k=1。 如果某个自变量xi对因变量y没有产生影响或者影响很小,应当将自变量xi的系数取值为0,即b^i=0。 5.2.3一元线性回归实例 例5.1某种商品与家庭平均消费量的关系。 以某家庭为调查单位,某种商品在某年各月的家庭平均月消费量Y(kg)与其价格X(元/kg)之间的调查数据如表51所示。表51商品价格与消费量的数据表 月份123456789101112价格X5.05.25.86.47.07.08.08.38.79.010.011消费量Y4.05.03.63.83.03.52.93.12.92.22.52.6图53为该商品的家庭平均月消费量与商品价格之间的线性关系。 图53家庭平均月消费量与商品价格之间的线性关系 由图53可知,该商品在某家庭月平均消费量Y与价格X间基本呈线性关系,这些点与直线间的偏差是由其他一些无法控制的因素和观察误差引起的。根据Y与X之间的线性关系及表51中的数据,求两者之间的回归方程。 解: ① 求解一元线性回归方程。 根据表51中的数据求解x-、y-、xy、x2。 x-=112(5.0+5.2+5.8+6.4+7.0+7.0+8.0+8.3+8.7+9.0+10.0+11) =7.616667 y-=112(4.0+5.0+3.6+3.8+3.0+3.5+2.9+3.1+2.9+2.2+2.5+2.6) =3.258333 xy=112(5.0×4.0+5.2×5.0+5.8×3.6+6.4×3.8+7.0×3.0+7.0×3.5+ 8.0×2.9+8.3×3.1+8.7×2.9+9.0×2.2+10.0×2.5+11×2.6) =23.688333 x2=112(5.02+5.22+5.82+6.42+7.02+7.02+8.02+8.32+ 8.72+9.02+10.02+112)=61.268333 根据x-、y-、xy、x2求解b^的值。b^=7.616667×3.258333-23.6883337.6166672-61.268333=-0.346975根据b^、x-、y-求解a^。a^=3.258333-(-0.346975)×7.616667=5.901126故求得的线性回归方程为y^=-0.346975x+5.901126。 ② 回归方程拟合优度检验。 根据所求得的线性回归方程,可以计算出每月消费量的估计值,价格x、消费量预测y^、实际消费量y的数据如表52所示。表52x、y^与y的数据 月份xy^y15.04.1662514.025.24.0968565.035.83.8886713.646.43.6804863.857.03.4723013.067.03.4723013.578.03.1253262.988.33.02123353.198.72.88244352.9109.02.7783512.21110.02.4313762.51211.02.0844012.6根据式(58)和式(59)求解TSS、ESS。TSS=(4.0-3.258333)2+(5.0-3.258333)2+(3.6-3.258333)2+(3.8-3.258333)2+(3.0-3.258333)2+(3.5-3.258333)2+(2.9-3.258333)2+(3.1-3.258333)2+(2.9-3.258333)2+(2.2-3.258333)2+(2.5-3.258333)2+(2.6-3.258333)2=6.529167ESS=(4.166251-3.258333)2+(4.096856-3.258333)2+(3.888671-3.258333)2+(3.680486-3.258333)2+(3.472301-3.258333)2+(3.472301-3.258333)2+(3.125326-3.258333)2+(3.0212335-3.258333)2+(2.8824435-3.258333)2+(2.778351-3.258333)2+(2.431376-3.258333)2+(2.084401-3.258333)2=4.702097根据式(512)求解R2。R2=ESSTSS=4.7020976.529167=0.720168R2接近于1,说明该回归方程拟合度较好。 ③ 回归方程线性关系的显著性检验。 首先,求解F分布的值。 此例中,k=1,n=12,假设α=0.05,经查F值表有F0.05(k,n-k-1)=F0.05(1,10)=4.965然后,根据式(511) 利用ESS、TSS和RSS三者之间的关系求解RSS。RSS=TSS-ESS=6.529167-4.702097=1.82707最后,根据式(513)求解F值。F=ESS/kRSS/(n-k-1)=4.702097/11.82707/(12-1-1)=25.735724求得F值为25.735724>F0.05(1,10)=4.965,所以在显著性概率为0.05的条件下,回归方程显著成立。 ④ 回归参数的显著性检验。 首先,根据t分布表求解t分布值。 此例中,n=12,自由度v=n-1=11,在置信度水平(Confidence level)为0.05的情况下,经查t分布表知t值为1.796。 然后,根据式(515)求解得sb^的值为sb^i=RSSn-k-1∑ni=1x2i-1n∑ni=1xi2=0.068396最后,根据式(514)求得t值为t=b^isb^i-0.3469750.068396=-5.07301|t|=5.073031>1.796,所以变量x对于因变量y有显著影响。 置信度水平是指总体参数值落在样本统计值某一区间内的概率,用来表示区间估计的把握程度。假设置信度水平为0.05,表示真值发生的概率为95%。 5.2.4案例分析: 使用Weka实现一元线性回归 例5.2信用卡积分与月收入之间的线性关系。 某家银行想统计信用卡积分与使用者月收入之间的关系,现有一文件bank.arff,该文件包含7个属性,分别为月收入、每月工作天数、当前信用卡额度、历史统计的按时还款比例、曾经的最大透支额、银行贷款的数目、信用卡积分。但是银行只想统计信用卡积分与月收入之间的关系,所以在构建模型的时候需要去除其余5个属性的影响,只留下“月收入”和“信用卡积分”这两个属性。 该文件为自定义文件,文件bank.arff的内容如下。@RELATION creditCardScore %%%% %SECTION1:PERSONAL INFO %%%% % %月收入 % @ATTRIBUTE personInfo.monthlySalaryNUMERIC %%%% %SECTION2: BUSINESS INFO %%%% % %每月工作天数 % @ATTRIBUTE businessInfo.workingDayPerMonth NUMERIC %%%% %SECTION 3: CREDIT CARD INFO(信用卡信息) %%%% % %当前额度 % @ATTRIBUTE creditCardInfo.currentLimitNUMERIC % %月度正常还款比例 % @ATTRIBUTE creditCardInfo.percentageOfNormalReturn NUMERIC % %曾经最大透支额 % @ATTRIBUTE creditCardInfo.maximumOverpay NUMERIC %%%% %SECTION 4: FINANCIAL INFO(财政信息) %%%% % %贷款数目 % @ATTRIBUTE financialInfo.personalLoan NUMERIC %%%% %RESULT: CREDIT SCORE(积分) %%%% @ATTRIBUTE creditScore NUMERIC @DATA 10000,22,20000,1,0,200000,55 15000,20,30000,0.5,14200,20000, 78 20000,18,40000,0.6,50000,200000,87 30000,22,60000,0.2,30000,150000,67 22000,15,30000,0.7,20000,140000,71 13200,21,18000,0.9,40000,500000,43