2009-12-12

为何回归方程的常数是负值?

L君 @ 2009-11-18:

老师,您好,我在做毕业论文。问题简化后说就是:有两个不同组别的多元线性回归方程进行比较

y1=a1+b1X1+c1X2+d1X3

y2=a2+b2X1+c2X2+d2X3

1,2为两个不同的大区域(每个大区域都有40个小区域作为观测值);y为污染总量,X1, X2, X3为三种类型的污染源面积(工厂,工地,居民区),b, c, d为三种污染源的单位面积污染量(在模型里都为正数)。现在需要比较1,2两地的污染状况,三种类型污染源的污染贡献量等。我得到的两个回归方程,b、c、d都为正数,但是常数项a1为正,a2为负。这样对单位污染量的比较有影响吗?可以这么分析吗?在这个分析中,可不可以给出非标准回归系数的回归方程,然后用标准回归系数(常数项为0)解释贡献量?但是单位面积污染量要继续用于后续计算的话,是用标准还是非标准的回归系数呢?

但是,如果 y1=30+2X1+3X2+4X3、y2=-300+20X1+30X2+40X3,在两个区域,2区域的单位面积的效益就明比1大,但是在3类污染源面积相同的情况下,y总值是一样的?这个就不太好解释了。其实就算是都为正,但是相差较大的话,也不能比较区域1,2的单位面积效益大小?怎么解决这个问题呢?

还有,这个模型的R平方,还有sig等检验系数有的不合格。之后我改用偏最小二乘法,用SPSS和SIMCA-P计算结果都和多元线性回归得到的方程一样。那是不是随便用哪个结果都行呢?

庄主 @ 2009-12-06:

你提到了好几个问题,其中第一题:两个样本的所有自变量和因变量(污染值或面积)取值都应该是非负值、或许都是正值(960万平方公里之内哪里还有0污染的净土?),但是两个对应回归方程的常数项a1为正、a2为负。你问:这对样本之间“单位污染量”的比较有影响吗?我这学期教的同学中也有问过:“变量全部为正值、为什么回归方程常数为负值?我觉得后者问题更有普遍意义,所以本贴主要谈这个问题,你的其余问题放在最后简单说一下。

我们知道,常数项b0(你用a来表示,为了与本庄其它帖子一致,这里用b0)反映的是当所有自变量分别取值为0时因变量Y的值。但是,在很多实际研究中,出现负值的b0是一件很奇怪或很尴尬的事。在本例中,如果自变量X1-X3(工厂、工地、居民区)没有污染面积,那么该区域不仅没有任何污染而且还会“负污染”(世上真有比蓝天、绿地、白云更圣洁的境界?),真的很奇怪。其实,这仅仅是有关变量的取值区间及其关系强度之间的特定搭配而造成的错位而已。

我们先从下图中获得一些直观的认识。图中的两条线分别代表一个回归方程,其中A线是向上的(即b1为正),但它在X = 0时Y < 0(即b0为负);相反,B线是向下的(即b1为负),而它在X = 0时Y < 0(即b0也为负)。说明b0的取向与b1没有直接关系。另外,A的数据可以局限在A1-A2范围内,即X和Y全部为正值;也可以局限在A3-A4范围内,即X和Y全部为负值。反之,B的数据可以局限在B1-B2范围内,即X为全为负值而Y全为正值;或者局限在B3-B4范围内,即X全为正值而Y全为负值。当然,如果数据局限在A2-A3或B2-B3范围内,X和Y即可为正也可为负。以上六种情况,穷尽了X和Y的可能取值,但其回归方程的常数b0总是为负,说明b0的取向与X和Y的取值范围也没有直接关系。

image

那么,b0的取向到底受什么影响?其中有什么规律可循?我查了一些教科书,希望找到一个权威的说法来引用一下,可惜还没有查到(也许我查的不够广泛和彻底)。以下是我的推导,尚未得到“权威”认可,仅供大家参考。

我们从简单回归方程出发:

Y = b0 + b1X             (1)

如重新组织公式1即有:

b0 = Y – b1X              (2)

我们知道,如果b1已知(通过回归分析而得知)、就可以将Y和X的任意一对常数(如两者的均值、最大值、最小值、均值之一个标准差之上或之下、等等)分别代入公式2而求出b0。这里,我们分别用Y和X的最小值(记为“Ymin”和"Xmin”)来代入公式2:

b0 = Ymin – b1Xmin   (3)

很显然,Ymin、Xmin和b1可以取任何值而公式3均可成立,这与我们从上图得到的直观理解是一致的。更重要的是,我们可以从公式3推导出b0取负值的条件:如果 b0 < 0, 那么Ymin – b1Xmin < 0, 也即 

b1Xmin > Ymin          (4)

或者,

b1 > Ymin/Xmin        (5)

公式4告诉我们,如果Ymin小于Xmin与b1的乘积,那么该回归方程的常数b0为负值;而公式5则直接显示,如果Ymin与Xmin的比值小于b1,那么b0为负值。(当然,我们将公式4和5中的“>”改成“<”或“=”,则可得到b0为正值或为0的条件,但因为后两者属于“正常”现象,所以不再赘言。)

好了,我希望大家至此明白b0为负实属正常情况,即不代表任何“负相关”、也不反映任何数据问题,而是我一开始说的那样:“有关变量的取值区间及其关系强度之间的特定搭配而造成的错位而已”。所谓“错位”,其实只是“错觉”而言。

当然,这种错觉有时很难向读者交代或解释清楚,尤其是在A1-A2数据的情况下,出现一个负b0总会令人质疑的。有何解决方法?有,很简单,就是对X取中值(centering,详见本庄前贴)。X取中值后,回归方程的斜率b1保持不变,但b0会变,其已经不再是X = 0时Y的值,而是X=均值时Y的值。如果数据是A1-A2段的话,那么X的均值一定是正的,所以b0也一定为正(见下图,其中A1’和A2’分别为A1和A2的取中值)。

image

最后简单回答一下L君的其它问题。

一、虽然你的a1为正、a2为负,但两个方程仍然是直接可比的。a1为正、a2为负的意思是,区域1的“污染起点”(即在没有受到X1-X3的任何影响下)高于区域2(也许因为还有其它污染来源)。当然,如果你对两个样本的X1-X3都取中值后,a1和a2应该全部为正,看起来好像更可比,但它们之间的差别应该与现在的差别完全一样。当然,取中后的a1和a2的解读有所变化,反映的是自变量X1-X3各自为均值(即工厂、工地和居民区平均污染水平)时该区域的污染总量。

二、比较两个方程,应该用非标准化回归系数(b)、而不是非标准化回归系数(Beta),因为b反映了X和Y的关系强度,而Beta则是用以下公式从b转换而来:

Beta = bSDx/SDy         (6)

其中SDx和SDy分别是X和Y的标准差。我们知道,两个样本之间的X或Y的标准差会因为各自样本大小、异常值(如区域1有一个超大的异常值或区域2有一个超小的异常值)等因素而不同,所以即使两个样本的b相等,它们的Beta也很可能不等。所以,比较不同方程之间的Beta是没有意义的。

如果你想比较X1-X3在两个区域的各自独立贡献(net contribution),可以比较每个X与Y的semipartial correlation coefficient之平方(在SPSS回归中叫做PART)。

三、如果你的数据满足了线性回归(OLS)的要求,那么OLS回归的结果是“蓝色的”(best linear unbiased estimate,间称BLUE,即最佳无偏线性估计),所以应该报告OLS回归结果。