24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1456  |  回复: 9

快乐的乐乐

金虫 (小有名气)

[求助] 自定义函数拟合 请假大侠帮忙!非常非常感激不尽!!!

因为不知道初值,origin自定义函数怎么也拟合不出来,4stopt拟合还在摸索中,请假哪位大侠帮我拟合一下吧!小女子在此十万分的感谢了!
x,y的数据如下:
x=0.16382
0.2513
0.33647
0.36263
0.45197
0.4947
0.53649
0.56201
0.59333
              
y=420
492
550
570
608
612
620
629
656
自定义函数:y=a0+a1*(x+a2)^a3
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hyyan_1979

捐助贵宾 (小有名气)

2楼2013-03-27 21:53:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xujince

木虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
试一下对自定义函数两边取lg。
3楼2013-03-27 22:22:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zzcentaurus

铁虫 (初入文坛)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
快乐的乐乐: 金币+10, ★★★很有帮助, 非常感谢,可能是自定义的函数有问题 2013-03-28 10:02:33
csgt0: 金币+1, 谢谢 2013-03-28 17:52:42
刚才用matlab的cftool帮你拟合了一下,感觉按照你的这个函数拟合出来结果不怎么样啊。。。我不会传图片,下面是拟合结果:
General model:
     f(x) = a0+a1*(x+a2)^a3
Coefficients (with 95% confidence bounds):
       a0 =      -65.19  (-2.799e+005, 2.798e+005)
       a1 =       0.455  (-7803, 7804)
       a2 =       5.475  (-1.08e+004, 1.081e+004)
       a3 =       4.084  (-5690, 5698)

Goodness of fit:
  SSE: 3554
  R-square: 0.9219
  Adjusted R-square: 0.875
  RMSE: 26.66

你对这些参数有没有些概念,比如大概是多少,什么范围,一般来说,给出这些之后拟合也才更加准确,反正我觉得我刚才的拟合结果我自己是不能接受的。。。
4楼2013-03-27 23:23:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zzcentaurus

铁虫 (初入文坛)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
快乐的乐乐: 金币+10, 应该是自定义函数不合适,a3的初值应在0.1-0.3之间,其它初值还确定不了,其实最终目的是根据这些点回归出来一个接近且准确的幂函数方程,现在这个自定义的函数是他们之前回归出来的,看来是完全错误的。请问怎么根据这些数据点回归出来一种幂函数方程?这个你能帮我一下吗?或者能教我一下吗?目前我还只会操作origin,实在是很感谢你!! 2013-03-28 10:07:45
csgt0: 金币+1, 谢谢 2013-03-28 17:52:51
引用回帖:
4楼: Originally posted by zzcentaurus at 2013-03-27 23:23:19
刚才用matlab的cftool帮你拟合了一下,感觉按照你的这个函数拟合出来结果不怎么样啊。。。我不会传图片,下面是拟合结果:
General model:
     f(x) = a0+a1*(x+a2)^a3
Coefficients (with 95% confidence boun ...

嗯,而且试了一下,给定不一样的初始值,最后拟合出来的结果也不同,参数的结果差异非常大。。。如果没有一个比较靠谱的初始值的话,最后拟合出来估计也不可信。。。
5楼2013-03-27 23:38:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)


csgt0: 金币+1, 谢谢 2013-03-28 17:52:56
用1stOpt吧,不需初值,结果稳定唯一:
CODE:
Function y=a0+a1*(x+a2)^a3;
Data;
0.16382        420
0.2513        492
0.33647        550
0.36263        570
0.45197        608
0.4947        612
0.53649        620
0.56201        629
0.59333        656

均方差(RMSE): 6.62844319454137
残差平方和(SSE): 395.426332649356
相关系数(R): 0.995644022086177
相关系数之平方(R^2): 0.991307018715939
决定系数(DC): 0.991307018715939
卡方系数(Chi-Square): 0.320745467120516
F统计(F-Statistic): 191.725555618373

参数        最佳估算
----------        -------------
a0        772.095936316939
a1        -177.457418189015
a2        0.566934026145924
a3        -2.19432258957609

t3.jpg

6楼2013-03-28 08:52:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lauysche

禁虫 (著名写手)

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
快乐的乐乐: 金币+10, ★★★很有帮助, 这个方程式根据这些散点数据回归出来的,我验证了都不对。我的最终目的是根据这些数据得到一种幂函数方程,指数的取值范围在0.1-0.3之间,这个怎么回归出来呢?谢谢! 2013-03-28 10:17:10
csgt0: 金币+1, 谢谢 2013-03-28 17:53:10
本帖内容被屏蔽

7楼2013-03-28 09:02:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lauysche

禁虫 (著名写手)

本帖内容被屏蔽

8楼2013-03-28 13:18:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zzcentaurus

铁虫 (初入文坛)

★ ★
fegg7502: 金币+2, 鼓励交流 2013-04-02 09:14:48
首先说我自己对拟合数据这方面也只是用过几次,所以你最好也多问问别人的意见。大家一起学习进步。
1. 我将a3的值规定在0.1和0.3之间,拟合出现error说计算出了复数,这个问题应该是由于还剩下另外三个参数的范围太广(从无限小到无限大)和初始值不对(因为我试过把范围a3再调大一点,随意的改了另外几个参数的初始值,就有拟合结果了),如果知道了更多这三个参数的信息,有可能(应该是有可能)会得到一个拟合的结果。

2. 看得出你想要拟合成一个冪函数,否则不会设置那么多的各种参数。。。但实际上,我认为一个模型应该是越简单越好,太复杂的模型只会增加你为各个参数赋予物理意义的难度,将模型变成了一个数学表达式,还是没有意义。如果只是想模拟精确,很简单,你的数据用三个高斯函数来拟合,结果是
General model Gauss3:
     f(x) =
              a1*exp(-((x-b1)/c1)^2) + a2*exp(-((x-b2)/c2)^2) +
              a3*exp(-((x-b3)/c3)^2)
Coefficients:
       a1 =        6850
       b1 =       1.536
       c1 =      0.5764
       a2 =       431.7
       b2 =       0.396
       c2 =      0.2132
       a3 =         267
       b3 =      0.1485
       c3 =      0.1548

Goodness of fit:
  SSE: 2.955
  R-square: 0.9999
你可以画一下,完全拟合了你的数据,可是物理意义呢,不知道。。。

3. 所以我用简单的冪函数公式帮你拟合了一下:
General model Power2:
     f(x) = a*x^b+c
Coefficients (with 95% confidence bounds):
       a =       -1103  (-5758, 3553)
       b =     -0.1363  (-0.6332, 0.3607)
       c =        1829  (-2871, 6529)

Goodness of fit:
  SSE: 408.1
  R-square: 0.991
  Adjusted R-square: 0.988
  RMSE: 8.248

你可以画出来看看结果,我觉得还是可以接受的,起码样子挺像的。。。
9楼2013-03-28 18:31:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

快乐的乐乐

金虫 (小有名气)

引用回帖:
9楼: Originally posted by zzcentaurus at 2013-03-28 18:31:35
首先说我自己对拟合数据这方面也只是用过几次,所以你最好也多问问别人的意见。大家一起学习进步。
1. 我将a3的值规定在0.1和0.3之间,拟合出现error说计算出了复数,这个问题应该是由于还剩下另外三个参数的范围太 ...

很感谢你的耐心帮助,可能是其它的问题,我再想想吧。
这次你没有应助,都不能给你金币。
总之再次感谢你!!!
10楼2013-03-30 09:26:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 快乐的乐乐 的主题更新
信息提示
请填处理意见