基本含义
在统计学中,线性回归(Linear Regression)是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。这种函数是一个或多个称为回归系数的模型参数的线性组合。只有一个自变量的情况称为简单回归,大于一个自变量情况的叫做多元回归。(这反过来又应当由多个相关的因变量预测的多元线性回归区别,[引文需要],而不是一个单一的标量变量。)
回归分析中有多个自变量:这里有一个原则问题,这些自变量的重要性,究竟谁是最重要,谁是比较重要,谁是不重要。所以,spss线性回归有一个和逐步判别分析的等价的设置。
原理:是F检验。spss中的操作是“分析”~“回归”~“线性”主对话框方法框中需先选定“逐步”方法~“选项”子对话框
如果是选择“用F检验的概率值”,越小代表这个变量越容易进入方程。原因是这个变量的F检验的概率小,说明它显著,也就是这个变量对回归方程的贡献越大,进一步说就是该变量被引入回归方程的资格越大。究其根本,就是零假设分水岭,例如要是把进入设为0.05,大于它说明接受零假设,这个变量对回归方程没有什么重要性,但是一旦小于0.05,说明,这个变量很重要应该引起注意。这个0.05就是进入回归方程的通行证。
下一步:“移除”选项:如果一个自变量F检验的P值也就是概率值大于移除中所设置的值,这个变量就要被移除回归方程。spss回归分析也就是把自变量作为一组待选的商品,高于这个价就不要,低于一个比这个价小一些的就买来。所以“移除”中的值要大于“进入”中的值,默认“进入”值为0.05,“移除”值为0.10
如果,使用“采用F值”作为判据,整个情况就颠倒了,“进入”值大于“移除”值,并且是自变量的进入值需要大于设定值才能进入回归方程。这里的原因就是F检验原理的计算公式。所以才有这样的差别。
结果:如同判别分析的逐步方法,表格中给出所有自变量进入回归方程情况。这个表格的标志是,第一列写着拟合步骤编号,第二列写着每步进入回归方程的编号,第三列写着从回归方程中剔除的自变量。第四列写着自变量引入或者剔除的判据,下面跟着一堆文字。
这种设置的根本目的:挑选符合的变量,剔除不符合的变量。
注意:spss中还有一个设置,“在等式中包含常量”,它的作用是如果不选择它,回归模型经过原点,如果选择它,回归方程就有常数项。这个选项选和不选是不一样的。
在线性回归中,数据使用线性预测函数来建模,并且未知的模型参数也是通过数据来估计。这些模型被叫做线性模型。最常用的线性回归建模是给定X值的y的条件均值是X的仿射函数。不太一般的情况,线性回归模型可以是一个中位数或一些其他的给定X的条件下y的条件分布的分位数作为X的线性函数表示。像所有形式的回归分析一样,线性回归也把焦点放在给定X值的y的条件概率分布,而不是X和y的联合概率分布(多元分析领域)。
线性回归是回归分析中第一种经过严格研究并在实际应用中广泛使用的类型。这是因为线性依赖于其未知参数的模型比非线性依赖于其位置参数的模型更容易拟合,而且产生的估计的统计特性也更容易确定。
线性回归模型经常用最小二乘逼近来拟合,但他们也可能用别的方法来拟合,比如用最小化“拟合缺陷”在一些其他规范里(比如最小绝对误差回归),或者在桥回归中最小化最小二乘损失函数的惩罚.相反,最小二乘逼近可以用来拟合那些非线性的模型.因此,尽管“最小二乘法”和“线性模型”是紧密相连的,但他们是不能划等号的。
数据组说明线性回归
以一简单数据组来说明什么是线性回归。假设有一组数据型态为 y=y(x),其中
x={0, 1, 2, 3, 4, 5}, y={0, 20, 60, 68, 77, 110}
如果要以一个最简单的方程式来近似这组数据,则用一阶的线性方程式最为适合。先将这组数据绘图如下
图中的斜线是随意假设一阶线性方程式 y=20x,用以代表这些数据的一个方程式。以下将上述绘图的MATLAB指令列出,并计算这个线性方程式的 y 值与原数据 y 值间误差平方的总合。
>> x=[0 1 2 3 4 5];
>> y=[0 20 60 68 77 110];
>> y1=20*x; % 一阶线性方程式的 y1 值
>> sum_sq = sum((y-y1).^2); % 误差平方总和为 573
>> axis([-1,6,-20,120])
>> plot(x,y1,x,y,'o'), title('Linear estimate'), grid
如此任意的假设一个线性方程式并无根据,如果换成其它人来设定就可能采用不同的线性方程式;所以必须要有比较精确方式决定理想的线性方程式。可以要求误差平方的总和为最小,做为决定理想的线性方程式的准则,这样的方法就称为最小平方误差(least squares error)或是线性回归。MATLAB的polyfit函数提供了 从一阶到高阶多项式的回归法,其语法为polyfit(x,y,n),其中x,y为输入数据组n为多项式的阶数,n=1就是一阶 的线性回归法。polyfit函数所建立的多项式可以写成
从polyfit函数得到的输出值就是上述的各项系数,以一阶线性回归为例n=1,所以只有 二个输出值。如果指令为coef=polyfit(x,y,n),则coef(1)= , coef(2)=,...,coef(n+1)= 。注意上式对n 阶的多 项式会有 n+1 项的系数。看以下的线性回归的示范:
>> x=[0 1 2 3 4 5];
>> y=[0 20 60 68 77 110];
>> coef=polyfit(x,y,1); % coef 代表线性回归的二个输出值
>> a0=coef(1); a1=coef(2);
>> ybest=a0*x+a1; % 由线性回归产生的一阶方程式
>> sum_sq=sum((y-ybest).^2); % 误差平方总合为 356.82
>> axis([-1,6,-20,120])
>> plot(x,ybest,x,y,'o'), title('Linear regression estimate'), grid
拟合方程最小二乘法一般来说,线性回归都可以通过最小二乘法求出其方程,可以计算出对于y=bx+a的直线。2
结果分析虽然不同的统计软件可能会用不同的格式给出回归的结果,但是它们的基本内容是一致的。以STATA的输出为例来说明如何理解回归分析的结果。在这个例子中,测试读者的性别(gender),年龄(age),知识程度(know)与文档的次序(noofdoc)对他们所觉得的文档质量(relevance)的影响。
输出:
Source | SS df MS Number of obs = 242
-------------+------------------------------------------ F ( 4, 237) = 2.76
Model | 14.0069855 4 3.50174637 Prob > F = 0.0283
Residual | 300.279172 237 1.26700072 R-squared = 0.0446
------------- +------------------------------------------- Adj R-squared = 0.0284
Total | 314.286157 241 1.30409194 Root MSE = 1.1256
------------------------------------------------------------------------------------------------
relevance | Coef. Std. Err. t P>|t| Beta
---------------+--------------------------------------------------------------------------------
gender | -.2111061 .1627241 -1.30 0.196 -.0825009
age | -.1020986 .0486324 -2.10 0.037 -.1341841
know | .0022537 .0535243 0.04 0.966 .0026877
noofdoc | -.3291053 .1382645 -2.38 0.018 -.1513428
_cons | 7.334757 1.072246 6.84 0.000 .
-------------------------------------------------------------------------------------------
输出这个输出包括以下几部分。左上角给出方差分析表,右上角是模型拟合综合参数。下方的表给出了具体变量的回归系数。方差分析表对大部分的行为研究者来讲不是很重要,不做讨论。在拟合综合参数中, R-squared 表示因变量中多大的一部分信息可以被自变量解释。在这里是4.46%,相当小。
回归系数一般地,要求这个值大于5%。对大部分的行为研究者来讲,最重要的是回归系数。年龄增加1个单位,文档的质量就下降 -.1020986个单位,表明年长的人对文档质量的评价会更低。这个变量相应的t值是 -2.10,绝对值大于2,p值也