第七章 稳健回归

第八章 稳健回归
§8.1 异常值
例 8.1 设  ~ N (0,1) ,
利用随机数产生 6 个独立观测值,
1 ,  2 , 6 , 对于给定的 xi 值,按如下模型产生 y 的观
测值:
 y i  2  xi   i , i  6

 y i  2  xi  12   i , i  6
显然第 6 个点为异常值。
我们给出如下的SAS模拟计算的程序:
libname tj’d:user’;
data tj.a1;
do i=1 to 10 ;
set tj.p183;
r=normal(1234567) ;
if i=6 then y=-2-x+12+r;
else y=-2-x+r;
output;
end;
run;
proc reg data=tj.a1 ;
model y=x;
output out=b1 p=y1hat;
run;
data tj.a2;
set tj.a1;
if x>5 then delete;
run;
proc reg data=tj.a2;
model y=x;
output out=b2 p=y2hat;
run;
proc sort data=b1;
by x;
run;
proc sort data=b2;
by x;
run;
data b;
merge b1 b2;
run;
proc gplot data=b;
symbol1 v=star c=green I=
none;
symbol2 v=plus c=red i=l;
symbol3 v=plus c=blue i=l;
plot y*x haty1*x
haty2*x/overlay;
run;
第一个方程为:
yˆ  0.95  0.32 x
第二个方程为:
yˆ  1.4127  1.01x
§7.2 M估计
在最小二乘估计中,回归系数 ̂ 是使
n
2
e
 i 达到最小,其中
i 1
t
ei  yi    j xij ,若令 ~( x)  x 2 ,则 ̂ 使
j 0
n
n
i 1
i 1
~ (e )  e 2

 i i
~( x)  x 随 x 的增大而迅速增加,为使上
达到最小。显然函数 
2
式达到最小,就必须照顾某些点,特别是一些异常点如上例中的
第 6 个点。从上面的图可以看出,第 6 点去掉后,回归直线的位
置发生了较大的变化。
为了减小异常点对估计的影响,就要设法找到一个函数
 (x) 去替代 x 2 ,该函数除了随 x 的增长速度应比 x 2 慢外,
2
其它性质与 x 类似。这便是 M 估计的想法。
定义 7.2.1 设函数  (x ) 满足下列条件:
(1) 定义在  ,  上的连续函数;
(2)
 (0)  0,  ( x)   ( x) ,当 x  y  0 时有  ( x)   ( y ) ;
(3) lim
x 
 ( x)
x
2
记 ei  yi 
0
m

j 1
j
xij , i  1,2,, n ,又令
 (  )   1 ,  2 ,,  m     (ei )
若  满足  (  )  min  (  ) 则称  是  的 M 估计。
*
*
*

当  (x ) 关于  的导数  ( x)   ( x) 存在时,则  应满足
*
n
  (e ) x
i 1
i
ij
 0, j  1,2,, m, m  t  1
在一定条件下,方程组必有解,且其解即为 M 估计。
定理 7.2.2 设在上面定义中,  (x ) 是定义在  ,  上的一个凸
函数, ( x)   ( x) 处处存在,且 lim
x 
 ( x)   , R ( X )  m ,
则方程组
n
  (e ) x
i 1
必有解满足
i
ij
 0, j  1,2,, m, m  t  1
 (  * )  min  (  ) 。 反 之 , 任 何 满 足 条 件

 (  * )  min  (  ) 的  * 必为

n
  (e ) x
i 1
i
ij
 0, j  1,2,, m, m  t  1
的解。若进一步假定  (x ) 为严格凸函数,则解为唯一。
在上面定中主要涉及了  (x ) 的导数,
所以也有人直接从这个角度去定义 M 估
计。
定义 7.2.3 设函数  (x) 满足下列条件:
(1) 定义在  ,  上的连续函数;
(2)  (0)  0,  ( x)   ( x) , x  0 时有  ( x)  0, x  0 时  ( x)  0 ;
(3)
lim
x 
n
则方程组
 ( x)
x
0
*

(
e
)
x

0
,
j

1
,
2
,

,
m
,
m

t

1

的解
是  的 M 估计。
 i ij
i 1
常用的  (x) 有:
(1)Huber 提出的
 k , x  k ,

1 ( x)   x,
x  k, k  0
 k,
x  k,

(2)Hampel 提出的

x  sign ( x)
x a

a  sign ( x)
a x b

 2 ( x)  
c x
, b x c
a  sign ( x) 
cb

0,
x c

1, x  0,

其中 0  a  b  c , sign ( x)  0, x  0,
 1, x  0.

(3)Andrews 提出的

sin( x c), x  c ,
 2 ( x)  
x  c

0,
x  c ,
由于上述函数所决定的方程组是一个非线
性方程组,因而常常只能用迭代法来求解,
为此需要给出初值、迭代公式及收敛准则。
(1)初值的确定
为了能与最小二乘估计作比较,因而在 M 估计中常将最小二乘
估计作为初值,即取初值 
(0)
 ˆ 。
(2)迭代公式
设
(l )
是第 l 次迭代值,其迭代公式为:
 (l 1)   (l )   (l ) , l  0,1,2,,
这里 
(l )
是增量。为求 
开,并取下列近似式:
(l )
常假定  (x) 在 
(l )
处可作台劳展
m
 (ei )   (e )    (eil )  xik  k (l ) , i  0,1,2,, n
l
i
k 1
其中
m
e  yi    j
l
i
j 1
(l )
 xij , i  1,2,, n
将展开式代入方程组,可得:
m

(l ) 
l
l
 (ei ) xij    (ei )    (ei )  xik  k xij  0, j  1,2,, m

i 1
i 1 
i 1

n
n
上述方程组是关于 1 ,  2 ,,  m
(l )
易解出 
(l )
(l )
(l )
的线性方程组。因而很容
(3)收敛准则
这类的收敛准则很多,如:

事先给定一个   0 ,要求 max  j
(l )
j

事先给定一个   0 ,要求
 ;
  
m
: j 1
(l ) 2
j
 ;
§7.2 R估计
R 估计是将原始数据转换成相应的秩后,利用
最小二乘建立 y 的秩关于 x1 的秩、x 2 的秩、… x t 的
秩间的回归方程,先求出 y 的秩的预测值后再求出
y 的预测值的一种方法。它是一种非参数估计方
法,又由于秩受异常值的影响小,所以它也是一种
稳健回归的方法。
R 估计的具体步骤如下:
(1) 设给出的原始数据为: xi1 , xi 2 ,, xit , y , i  1,2,, n
 
记: x ij 在 xi1 , xi 2 ,, xit 中的秩为 R xij , i  1,2, , n, j  1,2, , t ,
记 yi 在 y1 , y 2 ,, y n 中的秩为 R y i  ,则对应的秩的数据记为:
Rxi1 , Rxi 2 ,, Rxit , R y , i  1,2,, n
(2)利用最小二乘估计建立 R y  关于 Rxi1 , Rxi 2 ,, Rxit , 的回归方程:
R yˆ   ˆ0  ˆ1 Rxi1   ˆ 2 Rxi 2     ˆt Rxit 
(3)在给定点 x01 , x02 ,, x0t  作预测:

 
先将 x 0 j 转换成为 R x0 j ,方法如下:
设 xi1 , xi 2 ,, xit 排成次序统计量为 x (1) j  x ( 2 ) j    x ( n ) j ,则:

 R x n  j

 R x1 j


R  x0 j    R xi  j


 R xi  j

i  1, 2,





x  x 
,
x  x 
,
x  x 
,
x
   R  x    R  x    x
0j
n j
0j
1 j
0j
i j
0j
i 1 j
n  1, j  1, 2
i j
t
 xi  j
 i 1 j
 xi  j
, xi  j  x0 j  xi 1 j ,

将 Rx01 , Rx02 ,, Rx0t  代入秩回归方程,求出 Rˆ  y0  .

由 Rˆ  y0  求出 ŷ 0 ,方法如下:
设 y 1  y 2     y n  ,则
 y1 ,
Rˆ ( y0 )  1,

 yn  ,
Rˆ ( y0 )  n,
yˆ 0  
Rˆ ( y0 )  i,
 y i  ,

 yi    yi 1  yi   Rˆ ( y0 )  i , i  Rˆ ( y0 )  i  1, i  1,2,, n  1


例在把氨氧化成硝酸的生产过程中,希望求得氨的损失率 y 关于空气流速 x1,冷却水温
度 x2,吸收液中硝酸的浓度 x3 的回归方程。收集到 21 天的数据。经分析其中 21 天的
用最小二乘法估计后所得残差特别大,并根据生产经验知第 1,3,4 天的生产条件也不
正常。下面是用不同的估计方法所得的 21 天,及去掉不正常的天后的数据,即 17 天的
数据所作回归方程后的残差平方和
最小二乘法
M 估计
R 估计
21 点
178.83
245.03
109.17
17 点(除去 1,3,4,和 21 点)
16.44
20.60
19.21