-
第三十四课
非线性回归分析
现实世界中严格的线
性模型并不多见,它们或多或少都带有某种程度的近似;在不少情
况下,非线性模型可能
更加符合实际。由于人们在传统上常把“非线性”视为畏途,非线性
回归的应用在国内还
不够普及。事实上,在计算机与统计软件十分发达的令天,非线性回归
的基本统计分析已
经与线性回归一样切实可行。
在常见的软件包中
(诸如
SAS
、
SPSS
等等
)
,
人们已经可以像线性回归一样,方便的对非线性回归进行统
计分析。因此,在国内回归分析
方法的应用中,已经到了“更上一层楼”
,线性回归与非线性回归同时并重的时候。
对变量间非线性相关问题的曲线拟合,处理的方法主要有:
?
首先决
定非线性模型的函数类型,对于其中可线性化问题则通过变量变换将其线
性化,从而归结
为前面的多元线性回归问题来解决。
?
若实际
问题的曲线类型不易确定时,由于任意曲线皆可由多项式来逼近,故常可
用多项式回归来
拟合曲线。
?
若变量间非线性关系式已知(多数未知)
,且难以用变量变换法将其线性化,则进
行数值迭代的非线性回归分析。
一、
可变换成线性的非线性回归
在实际问
题中一些非线性回归模型可通过变量变换的方法化为线性回归问题。例如,对
非线性回归
模型
y
t
?
?
0
?
?
p>
?
a
i
cos
p>
ix
t
?
b
i
sin
ix
t
p>
?
?
?
t
i
?
1
2
(34.1)
即可作变换
x
1
t
?
cos
x
t
,
x
2
t
?
sin
x
t
,
x
3
p>
t
?
cos
2
p>
x
t
,
x
4
t
?
sin
2
x
t
将其化为多元线性回归模型。一般地,若非线性模型的表达式为
y
t
?
b
p>
0
?
b
1
g
1
?
x
t
?
?
b
< br>2
g
2
?
x
t
?
?
?
?
b
m
g
p>
m
?
x
t
?
则可作变量变换
*
*
*
p>
?
?
?
?
x
1
?
g
x
,
x
?
< br>g
x
,
?
,
x
t
1
t
2
t
2
t
p>
m
t
?
g
m
?
x
t
?
(34.2)
(34.3)
< br>将其化为线性回归模型的表达式,
从而用前面线性模型的方法来解决,
其中
(34.3)
中的
x
t
也
可为自变量构成的向量。
这种变量变换法也适用于因变量和待定参数
b
i
。如
y
t<
/p>
?
a
exp
?<
/p>
b
1
x
1
t
?
b
2
x
2
t
?
b
3
?
x
1
t
x
2
t
?
1
?
?<
/p>
时上式两边取对数得
(34.4)
ln
y
t
?
ln
a
< br>?
b
1
x
1
t
?
b
2
x
2
t
?
p>
b
3
?
x
1
t
x
2
t
?
1
?
< br>
现作变换
(34.5) <
/p>
y
t
*
?
ln
y
t
,
b
0
?
ln
a
,
x
3
t
?
x
1
t
x
2
t
?
1
则可得线性表达式
(34.6)
y
t
p>
*
?
b
0
?
b
1
x
1
t
?
b
< br>2
x
2
t
?
b
3
x
3
t
(34.7)
< br>?
,
i
?
0
,
1
,
2
,
3
,并由
a
?
)
得到
a<
/p>
?
的值。
<
/p>
?
?
exp(
b
利用前面方法确定了
b
i
0
变量变换的线性化方法可推广到下列形式的非线性模型
h
(
y
t
)
?
c
0<
/p>
(
b
0
)
?
c
1
(
b
1
)
g
1
?
x
t
?
?
?
?
c
m
(
b
m<
/p>
)
g
m
?
x
t
?
(34.8)
其中
x
=
(
x
1
,
x
2
,
?
,
x
p
)<
/p>
,而
h
(
y
p>
t
)
、
c
i
(
b
i
)
、
g
i
< br>(
x
t
)则分别化为新的因变量
、线性回归参数
和自变量,即可归结为线性回归模型来解。见表
34.1
所示给出了一些常见的可线性化的非
线性模型。
表
34.1
典型的函数及线性化方法
函数名称
函数表达式
线性化方法
双曲线函数
1
b
?
a
?
y
x
v
?
p>
1
y
u<
/p>
?
1
x
幂函数
y
?
ax
b
v<
/p>
?
ln
y
<
/p>
u
?
ln
x
p>
v
?
ln
y
u
?
x
p>
v
?
ln
y
u
?
1
x
y
?
ae
bx
指数函数
y
?
ae
b
/
x
对数函数
y
?
a
?
b<
/p>
ln
x
y
p>
?
1
a
?
be
?
x
v
?
y
u
?
ln
x
S
型函数
v
?
1
y
p>
u
?
e<
/p>
?
x
当曲线的函数类型未确定时,我们常采用上述非线性模型作为其拟合曲线,即将自变量
的各种初等函数的组合作为新自变量,用逐步回归法(或正交筛选法等)对新变量进行筛选,
p>
以确定一个项数不多的线性函数表达式。
该方法对表达式形式没限制且精度要求不高的问题
颇为有效。
二、
多项式回归分析
在式
(34.2)
中,若取
g
i<
/p>
?
x
?
?
x
i
,则为多项式回归模型。由数学分析知识
可知,一般函数
都可用多项式来逼近,故多项式回归分析可用来处理相当广泛的非线性问
题。
对观测数据(
x
t
,
y
t
)
(
t
= 1
,?,
N
)
,多项式回归模型为<
/p>
令
y
t
p>
?
b
0
?
b
1
x
t
?
b
2
x
< br>t
2
?
?
?
b
m
x
t
m
?
?
t
p>
,
t
=1,2,
?
,
N
p>
?
1
x
1
?
y
1
?
?
?
y
?
< br>1
x
2
2
Y
?
?
?
,
X
?
?
?
p>
?
?
?
?
?
?
?
?
y
?
?
N
< br>?
?
1
x
N
则模型可表示为
x
1
2
2
x
< br>2
?
2
x
N
?
x
1
m
?
?
b
0
p>
?
?
?
1
?
?
b
?
?
?
?
m
< br>?
?
x
2
1
?
,
B
?
?
?
,
?
p>
?
?
2
?
?
?
?
?
?
?
?
< br>?
?
?
?
?
m
?
b
?
x
N
?
?
p>
m
?
?
?
N
?
?
Y
?
XB
?
?
当
X
列满秩时,由前面的讨
论知,其最小二乘估计为
?
1
?
?
?
X
?
B
X
?
X
?
Y
由此即可求得其多项式回归方程。但由于
?
X
?
X
?
的计算既复杂又不稳
定,故我们一般采
?
1
用正交多项式法
来进行多项式回归。
三、
不可变换成线性的非线性回归分析
假
设因变量
y
与自变量(
x
1
,
x
2
< br>,
?,
x
p
)之间满足非线性模型
y
?
p>
F
?
x
1
,
x
2
,
?
,
x
p
< br>;
?
?
?
?
?
(34.9)
其中
?
?
?
?
1
,
?
2
,
?
,
?
m
?
为未
知参数,
F
为已知表达式,仅
?
未知的非线性函数,
?
为
误差项。
现将观察数据
p>
y
t
,
x
1
t
,
x
2
t
,
?
< br>,
x
pt
,
t
=1,2,
?
,
N
?
?
代人上式
(34.9)
得非线性回归模型
y
t
?
p>
F
x
1
t
,
x
2
t
,
?
,
x
< br>pt
;
?
?
?
t
,
t
=1,
2,
?
,
N
?
?
常记为
Y
?
F
(
p>
?
)
?
E
其中
Y
?
?
y
1
,
y
2
,
?
,
y
N
?
为
y
的观察向量,
?
< br>?
?
?
1
,
?
,
?
m
?
为非线性回归系数,
E
=
?
?
< br>1
,
?
2
,
?
,
?
N
?
为观察误差向量,
F
为未知参数
?
的函数向量。
非
线性回归分析就是利用
?
?
?
?
使得残差平方和
最小二乘准则来估计回归系数
?
,即求
?
在
Q
p>
?
?
?
?
1
1
?
E
?
E
?
?
< br>Y
?
F
?
?
?
?
?
Y
?
F
?
?
p>
?
?
2
2
?
处达到最小。
?
?
?
非线性回归分析一般来用数值迭代法来进行,其共同特
点是:由选定
?
的初值
?
出发,
0
通过逐步迭代
?
?
p>
?
0
?
t
?
?
即选择适当的步长
t
( >0 )
及确定搜索方向向量
?
=(
?
1
,
?
2
,?,
?
m
)
,使得
(34.10)
Q
?
?
?
p>
?
Q
?
0
?
?
(5.4.11)
再
?
由取代
?
0
,重复上述迭代过程,直至
Q
(
?
)
可认为达到最小值为止,即可将所得的
?
?
,从而得到非线性回归方程
作为其最小二乘估计
?
?
?
?
p>
F
x
1
,
x
2
,
?
,
x
p
;
< br>?
y
?
?
1.
下降方向和步长的选择
首先考察
Q
?
?
?
?
1
1
?
p>
E
?
E
?
?
Y
?
F
?
?
?
?
< br>?
Y
?
F
?
?
?
?
的
梯度向量(即导数)
2
2
?
?
?
F
?
?
Q
?
?
Y
?
F
?
?
?
?
?<
/p>
?
G
?
?
Y
?
F
?
?
?
?
?
?
?
?
?
p>
?
?
?
?
?
?
?
?
F
?
?
F
< br>?
F
?
?
其中
G
?
为
F
的梯度矩阵。
?
< br>?
,
?
,
?
?
?
?
?
?
?
1
?
p>
?
m
?
为
使
?
,
其
迭
代
公
式
< br>应
满
足
下
降
性
质
(5.4.11)
。
现
考
虑
一
元
函
数
?
0
迭
代
收
敛
到
?
?<
/p>
?
t
?
?
Q
?
?
0
?
t
?
?
?
,它从
?
0
出发以
?
为方向的射线上取
值。由复合求导公式得
p>
d
?
?
?
?
t
?
t
?
0
?
?
< br>?
Q
?
?
?
?
?
?
?
?
?
?
?
p>
?
?
Y
?
F
?
G
?
?
?
?
< br>?
?
?
?
0
可以证明,当
d
<0
时,在以
?
为方向向量的射线上可以找到
?
?
?<
/p>
?
t
?
?
,使得
Q
?
?
?
?
Q
?
0
。我们将满足
d
<0
的
?
称为
下降方向
,
Bard
于
1974
年给出了
?
为下降方向的
充要条件为
< br>
?
?
P
p>
G
?
?
Y
?
F
?
?
?
?
?
< br>?
其中
P
为对称正定阵,由此我
们可得下降算法的迭代公式为
?
?<
/p>
?
0
?
tP
p>
G
?
?
Y
?
F
?
?
?
?
其中
P
为任意正定阵,
G
为
F
的梯度,
t
为满足
Q
?
?
?
p>
?
Q
(34.12)
?
?
?
的正实数,即步长。
0
如何计算
?
p>
以便修改参数向量
?
有五种常用的非线性回
归迭代方法:高斯
-
牛顿法
(
Gauss-Newton
)
、
最速下降法
(梯度法,
Gradient
)
、
牛顿法
(
Newton
)
、
麦夸特法
(
Marquardt
)
、
正割法(
DUD
)
。以下我们介绍其中高斯
-
牛顿法。
2.
Gauss
-
Newton
法
首先选取
?
的一切初始近似值
?
0
,令
?
?
?
?
?
0
,则只要确定
?
的值即可确定
?
。为
此,考虑
F
(
?
)
在
?
0
处的
Taylor
展开式,并略去二次以上的项得<
/p>
F
?
?
p>
?
?
F
?
?
?
?
F
?
0
?
?
?
p>
?
0
?
?
F
?
?
?
?
?
?
?
< br>?
0
?
G
?
?
?
0
?
?
?
?
p>
F
?
?
?
?
?
?
?
?
其中
G
?
?
F
?
?
?
?
?
0
为
F
的梯度。此时其残差平方和
p>
由
Q
?
?
1
Y
?
F
?
< br>0
?
G
?
?
Y
?
F
?
0
?
G
?
p>
?
2
?
?
?
?
?
?
?
?
?
< br>Q
?
0
,得其
< br>?
的正则方程为
?
?
?
G
?
G
?
?
?
G
?
?
Y
?
F
?
?
0<
/p>
?
?
故
?
1
p>
?
?
?
G
?
G
?
G
?
Y
?
F
< br>?
0
0
(34.13)
?
?
?
?
(34.14)
p>
由此即可用前面线性回归法求
?
,只需将<
/p>
G
、
Y
?
F
(
?
)
视为前面(
5.2.1
)式中的
< br>X
、
Y
0
即可。此时,对给定精度
?
1
、
p>
?
2
,当
max
?
i
?
?
1
或
Q
?
?
?
?
?
2
时,即得的
?
最小
i
?
?
?
?
?
?
< br>?
0
?
?
;否则用所得的
?
?
代替
?
0
,重复上述步骤,直至
?
或
Q
(
?
)
满足
二乘法估计
?
i
精度要求为止。该法称为
Ga
uss
-
Newton
法,其一般迭代
公式为
?
i
?
1
?
?
i<
/p>
?
t
i
?
其中:
?
为
G
?
(34.15)
i
?
?
?
G
?
?
?
?
p>
?
G
?
?
?
?
?
Y
?
F
?
?
< br>?
?
的解,
t
< br>为
?
?
t
?
?
Q
?
?
i
i
i
i
p>
0
i
?
t
?
?
的最小值点。<
/p>
?
Gauss-Newton
法在初值<
/p>
?
选取适当,且
G
?
G
可逆时非常有效,但在其他情形,其求解
较为困难,对此,
p>
Marguardt
对
(34.14)
p>
中
?
的正则系数阵作适当修正,得到了改进
算法。
四、
nlin
非线性回归过程
在很多场合,可以对非线性模型进行线性化处理,尤其是关于变量非线性的模型,以运
用
OLS
进行推断。对线性化后的线性模型,可以应
用
SAS
的
reg
过程进行计算。
多项式模型可以直接应用
glm
(广义线性模型)求解。对于不能线性化的非线性模型。
其估计不能直接运用经典的最小二乘法,而需要运用其他估计方法,如直接搜索法、直接最
优法与
Taylor
级数展开法进行线性逼近。此时
,可以利用
SAS/STA
T
的
nlin
过程实现相应的
计算。
1.
proc
nlin
过程