统计211

标题: 非线性回归模型参数估计,要使得待估计参数值在0-1之间,在DPS系统中该如何处理 [打印本页]

作者: DPS    时间: 2010-12-29 20:45
标题: 非线性回归模型参数估计,要使得待估计参数值在0-1之间,在DPS系统中该如何处理
本帖最后由 DPS 于 2010-12-29 20:52 编辑

x1                x2

0                 -9

25                -5

50                -2

100               4

150               5

200               6

300             11

400             14

600             21

800             24

1000           24

1200           26

1400           25

1600           25

2000           24

根据上述数据,拟合一个4参数的非线性方程,即令4个参数分别为 c1, c2, c3 和 c4;参数没有限制时的DPS拟合方程如下:

x2=(c1*x1+c2-sqrt((c1*x1+c2)^2-4*c1*c2*c3*x1))/2*c3-c4

但用户要求其中的c1和c3大于0,小于1; c4>0; c2没有限制.如何根据这些条件修改拟合方程,进行参数拟合。

首先,估计参数大于0,可用取绝对值函数,如参数c4,在方程中可写为abs(c4);

对于参数c1和c3估计值要在0-1之间,可用表达式 (1/(abs(c1)+1))和(1/(abs(c3)+1))进行参数估计,估计参数值后,再根据该公式,求出该项参数估计值。例如如果求得c1=-3,那么方程该项参数估计值=1/(abs(-3)+1))=1/4=0.25。

上面这个方程式为:

x2=((1/(abs(c1)+1))*x1+c2-sqrt(((1/(abs(c1)+1))*x1+c2)^2-4*(1/(abs(c1)+1))*c2*(1/(abs(c3)+1))*x1))/2*(1/(abs(c3)+1))-abs(c4)

举一反三:如第一个参数限制在(-1,1)区间: (1-2/(abs(c1)+1))

举一反三:如第三个参数限制在(3,5)区间: (3+2/(abs(c3)+1))

为方便建模,版主新增加了区间限制函数 limit(y)=1/(abs(x)+1),以后在公式中只要写该函数就可以了,如上述拟合方程为:

x2=(limit(c1)*x1+c2-sqrt((limit(c1)*x1+c2)^2-4*limit(c1)*c2*limit(c3)*x1))/2*limit(c3)-abs(c4)






欢迎光临 统计211 (http://tj211.com/) Powered by Discuz! X3.2