统计回归
一、一元线性回归
回归分析中最简单的形式是x y 10ββ+=,y x ,均为标量,10,ββ为回归系数,称一元线性回归。这里不多做介绍,在线性回归中以介绍多元线性回归分析为主。
二、多元线性回归(regress )
多元线性回归是由一元线性回归推广而来的,把x 自然推广为多元变量。
m m x x y βββ+++= 110                      (1)
2≥m ,或者更一般地
)()(110x f x f y m m βββ+++=                  (2)
其中),,(1m x x x  =,),,1(m j f j  =是已知函数。这里y 对回归系数)
,,,(10m ββββ =是线性的,称为多元线性回归。不难看出,对自变量x 作变量代换,就可将(2)化为(1)的形式,所以下面以(1)为多元线性回归的标准型。
1.1  模型
在回归分析中自变量),,,(21m x x x x  =是影响因变量y 的主要因素,是人们能控制或能观察的,而y 还受到随机因素的干扰,可以合理地假设这种干扰服从零均值的正态分布,于是模型记作
⎩⎨⎧++++=)
,0(~2
110σεε
βββN x x y m m                    (3) 其中σ未知。现得到n 个独立观测数据),,,(1im i i x x y  ,m n n i >=,,,1 ,由(3)得
⎩⎨⎧=++++=n
i N x x y i i
im m i i ,,1),,0(~2
110  σεεβββ                (4) 记
⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=nm n m x x x x X      111111,  ⎥⎥⎥⎦
⎢⎢⎢⎣⎡=n y y Y  1              (5)
T n ][1εεε =,T m ][10
ββββ =
(4)表示为
⎨⎧+=),0(~2
matlab拟合数据σεε
βN X Y                                    (6) 1.2  参数估计
用最小二乘法估计模型(3)中的参数β。
由(4)式这组数据的误差平方和为
∑=--==n
i T i X Y X Y Q 12)()()(ββεβ                  (7)
求β使)(βQ 最小,得到β的最小二乘估计,记作β
ˆ,可以推出 Y X X X T T 1)(ˆ-=β
(8) 将β
ˆ代回原模型得到y 的估计值
m
m x x y βββˆˆˆˆ110+++=                          (9) 而这组数据的拟合值为βˆˆX Y =,拟合误差Y Y e ˆ-=称为残差,可作为随机误差ε的估计,而
∑∑==-==n
i n
i i i i y
y e Q 1
1
22
)ˆ(                        (10) 为残差平方和(或剩余平方和),即)ˆ(βQ 。 1.3  统计分析
不加证明地给出以下结果:
(i )β
ˆ是β的线性无偏最小方差估计。指的是βˆ是Y 的线性函数;βˆ的期望等于β;在β的线性无偏估计中,β
ˆ的方差最小。 (ii )β
ˆ服从正态分布 ))(,(~ˆ12-X X N T σββ                        (11) (iii )对残差平方和Q ,2)1(σ--=m n EQ ,且 )1(~22--m n Q
χσ
(12) 由此得到2σ的无偏估计
22ˆ1
σ
=--=m n Q
s                            (13) 2s 是剩余方差(残差的方差)
,s 称为剩余标准差。 (iv )对总平方和∑=-=n
i i y y S 12)(进行分解,有
U Q S +=, ∑=-=n
i i y y
U 1
2)ˆ(                  (14) 其中Q 是由(10)定义的残差平方和,反映随机误差对y 的影响,U 称为回归平
方和,反映自变量对y 的影响。 1.4  回归模型的假设检验
因变量y 与自变量m x x ,,1 之间是否存在如模型(1)所示的线性关系是需
要检验的,显然,如果所有的|ˆ|j
β
),,1(m j  =都很小,y 与m
x x ,,1 的线性关系就不明显,所以可令原假设为
),,1(0:0m j H j  ==β
当0H 成立时由分解式(14)定义的Q U ,满足
)1,(~)
1/(/----=m n m F m n Q m
U F                  (15)
在显著性水平α下有α-1分位数)1,(1---m n m F α,若)1,(1--<-m n m F F α,接受0H ;否则,拒绝。
注意  拒绝0H 只说明y 与m x x ,,1 的线性关系不明显,可能存在非线性关系,如平方关系。
还有一些衡量y 与m x x ,,1 相关程度的指标,如用回归平方和在总平方和中的比值定义
S
U
R =
2                              (16) ]1,0[∈R 称为相关系数,R 越大,y 与m x x ,,1 相关关系越密切,通常,R 大于0.8(或0.9)才认为相关关系成立。
1.5  回归系数的假设检验和区间估计
当上面的0H 被拒绝时,j β不全为零,但是不排除其中若干个等于零。所以应进一步作如下m 个检验),,1(m j  =:
0:)(0=j j H β
由(11)式,),(~ˆ2jj
j j c N σββ,jj c 是1)(-X X T 对角线上的元素,用2s 代替2σ,由(11)~(13)式,当)
(0
j H 成立时 )1(~)
1/(/ˆ----=m n t m n Q c t jj
j j β            (17)
对给定的α,若)1(||2
1--<-
m n t t j α,接受)
(0j H ;否则,拒绝。
(17)式也可用于对j β作区间估计(m j ,,1,0 =),在置信水平α-1下,j β的置信区间为
]
)1(ˆ,)1(ˆ[2
12
1jj j
jj j
c s m n t c s m n t --+----
-
α
α
ββ    (18)
其中1
--=
m n Q
s 。
1.6  利用回归模型进行预测
当回归模型和系数通过检验后,可由给定的),,(0010m x x x  =预测0y ,0y 是随机的,显然其预测值(点估计)为
m m x x y 001100ˆˆˆˆβββ+++=                (19) 给定α可以算出0y 的预测区间(区间估计),结果较复杂,但当n 较大且i x 0接近平均值i x 时,0y 的预测区间可简化为
]ˆ,ˆ[2
102
10s u y s u y
α
α-
-+-                  (20)
其中2
1α-u
是标准正态分布的21α
-
分位数。
对0y 的区间估计方法可用于给出已知数据残差i i i y
y e ˆ-=),,1(n i  =的置信区间,i e 服从均值为零的正态分布,所以若某个i e 的置信区间不包含零点,则认为这个数据是异常的,可予以剔除。 1.7  Matlab 实现
Matlab 统计工具箱用命令regress 实现多元线性回归,用的方法是最小二乘法,用法是:
b=regress(Y,X)
其中Y,X 为按(5)式排列的数据,b 为回归系数估计值m
βββˆ,,ˆ,ˆ10 。 [b,bint,r,rint,stats]=regress(Y,X,alpha)
这里Y,X 同上,alpha 为显著性水平(缺省时设定为0.05),b,bint 为回归系数估计值和它们的置信区间,r,rint 为残差(向量)及其置信区间,stats 是用于检验回归模型的统计量,有三个数值,第一个是2R (见(16)式),第二个是F (见(15)式),第3个是与F 对应的概率p ,α<p 拒绝0H ,回归模型成立。
残差及其置信区间可以用rcoplot(r,rint)画图。
例1  合金的强度y 与其中的碳含量x 有比较密切的关系,今从生产中收集了一批数据如下表:
x  0.10  0.11  0.12  0.13  0.14  0.15  0.16  0.17  0.18
y  42.0  41.5  45.0  45.5  45.0  47.5  49.0  55.0  50.0
试先拟合一个函数)(x y ,再用回归分析对它进行检验。 解  先画出散点图: x=0.1:0.01:0.18;
y=[42,41.5,45.0,45.5,45.0,47.5,49.0,55.0,50.0]; plot(x,y,'+')
可知y 与x 大致上为线性关系。 设回归模型为
x y 10ββ+=                                  (21) 用regress 和rcoplot 编程如下: clc,clear
x1=[0.1:0.01:0.18]';
y=[42,41.5,45.0,45.5,45.0,47.5,49.0,55.0,50.0]'; x=[ones(9,1),x1];
[b,bint,r,rint,stats]=regress(y,x); b,bint,stats,rcoplot(r,rint) 得到
b =27.4722  137.5000
bint =18.6851    36.2594      75.7755  199.2245
stats =0.7985  27.7469    0.0012
即4722.27ˆ0=β,5000.137ˆ1=β,0ˆβ的置信区间是[18.6851,36.2594],1ˆβ的置信区间是[75.7755,199.2245];7985.02=R ,7469.27=F ,0012.0=p 。 可知模型(21)成立。
观察命令rcoplot(r,rint)所画的残差分布,除第8个数据外其余残差的置信区间均包含零点,第8个点应视为异常点,将其剔除后重新计算,可得
b =30.7820    109.3985 bint =26.2805    35.2834      76.9014  141.8955
stats =0.9188  67.8534    0.0002 应该用修改后的这个结果。
例  2  某厂生产的一种电器的销售量y 与竞争对手的价格1x 和本厂的价格
2x 有关。下表是该商品在10个城市的销售记录。
1x 元  120  140  190  130  155  175  125  145  180  150 2x 元  100  110  90  150  210  150  250  270  300  250
Y 个  102  100  120  77  46  93  26  69  65  85
试根据这些数据建立y 与1x 和2x 的关系式,对得到的模型和系数进行检验。若某市本厂产品售价160(元),竞争对手售价170(元),预测商品在该市的销售量。
解  分别画出y 关于1x 和y 关于2x 的散点图,可以看出y 与2x 有较明显的线性关系,而y 与1x 之间的关系则难以确定,我们将作几种尝试,用统计分析决定优劣。
设回归模型为
22110x x y βββ++=                              (22) 编写如下程序:
x1=[120  140  190  130  155  175  125  145  180  150]'; x2=[100  110  90  150  210  150  250  270  300  250]'; y=[102  100  120  77  46  93  26  69  65  85]'; x=[ones(10,1),x1,x2];
[b,bint,r,rint,stats]=regress(y,x); b,bint,stats 得到
b =66.5176    0.4139  -0.2698 bint =-32.5060  165.5411      -0.2018    1.0296      -0.4611    -0.0785
stats =0.6527    6.5786    0.0247
可以看出结果不是太好:0247.0=p ,取05.0=α时回归模型(22)可用,
但取01.0=α则模型不能用;6527.02=R 较小;10ˆ,ˆββ的置信区间包含了零点。下面将试图用21,x x 的二次函数改进它。