统计211

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3817|回复: 0
打印 上一主题 下一主题

[常见问题] 非线性回归模型参数估计,要使得待估计参数值在0-1之间,在DPS系统中该如何处理

[复制链接]
跳转到指定楼层
1
发表于 2010-12-29 20:45:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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)

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


免责声明|关于我们|小黑屋|联系我们|赞助我们|统计211 ( 闽ICP备09019626号  

GMT+8, 2025-4-5 00:56 , Processed in 0.075755 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表