找回密码
 欢迎注册
查看: 25681|回复: 13

[悬赏] 曲线拟合难题挑战!

[复制链接]
发表于 2010-4-30 15:12:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

×
大家来试试这道拟合题,看似简单,要获得最优解,得费点功夫:

拟合公式:y=(p1/(ln(p2/x)))^(x/p3)*p4;
数据:
x=[0.25,0.5,0.6,0.8,0.9];
y=[4.28,6.63,7.61,14.55,22.77];

只有四个参数:p1,p2,p3,p4;
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-4-30 23:42:02 | 显示全部楼层
不妨先拟合lny与x,然后转换一下参数即可:
==================================
均方差(RMSE): 0.182288776147028
残差平方和(SSE): 0.166145989545907
相关系数(R): 0.999633564182627
相关系数之平方(R^2): 0.999267262640463
决定系数(DC): 0.999267245485938
卡方系数(Chi-Square): 0.0119276948064644
F统计(F-Statistic): 4091.23644223047

参数        最佳估算
----------        -------------
p1                 3.42397340718601
p2                 1.12161772978067
p3                 1.36605251034723
p4                 3.73518630346909

====== 结果输出 =====

No        实测值y        计算值y
1        4.28        4.3436357
2        6.63        6.3367285
3        7.61        7.8806360
4        14.55        14.4974743
5        22.77        22.7792487
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2010-5-1 23:31:30 | 显示全部楼层
1:版主的结果还不是最优
2:看结果格式,版主是用1stOpt算的吧?这道题试了很多算法和软件,好像也只有1stOpt能得到最优解,调整参数再试试!
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-5-2 09:53:12 | 显示全部楼层
3# youyouyou
上面的只是没有经过转化而已,看来楼主不是问问题的,而是来考人的!!!

我再说一遍,希望能引起你的注意:
不妨先拟合lny与x,然后转换一下参数即可:


==========================
迭代数: 18
计算用时(时:分:秒:微秒): 00:00:02:188
优化算法: 麦夸特法(Levenberg-Marquardt) + 通用全局优化法
计算结束原因: 达到收敛判断标准
均方差(RMSE): 0.0252922393144814
残差平方和(SSE): 0.00319848684770498
相关系数(R): 0.999992955038696
相关系数之平方(R^2): 0.999985910127023
决定系数(DC): 0.99998589369697
卡方系数(Chi-Square): 0.000220017962007911
F统计(F-Statistic): 212915.881870735

参数        最佳估算
----------        -------------
p4                 3.48285411529893
p3                 1.80947336415573
p1                 6.64698514864872
p2                 1.04731410013328

====== 结果输出 =====

No        实测值y        计算值y
1        4.28        4.2740605
2        6.63        6.6669154
3        7.61        7.5695192
4        14.55        14.5623878
5        22.77        22.7671171
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-5-6 09:00:01 | 显示全部楼层
这道题试了很多算法和软件,好像也只有1stOpt能得到最优解,调整参数再试试!
youyouyou 发表于 2010-5-1 23:31

如果用其他的软件拟合,如Mathematica,得到的最优解跟1stOp的t完全一样!

代码如下:
  1. data = Transpose[{{0.25, 0.5, 0.6, 0.8, 0.9}, Log /@ {4.28, 6.63, 7.61, 14.55, 22.77}}]
复制代码
  1. sol = FindFit[data, Log[p4] + x (Log[p1] - Log[Log[p2] - Log[x]])/p3, {p1, p2, p3,p4}, x]
复制代码
返回:{p1 -> 6.64699, p2 -> 1.04731, p3 -> 1.80947, p4 -> 3.48285}
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2010-5-6 11:13:34 | 显示全部楼层
试下如下1stOpt代码:

  1. Algorithm = UGO[150];
  2. Function y=(p1/(ln(p2/x)))^(x/p3)*p4;
  3. Data;
  4. 0.25        4.28
  5. 0.5        6.63
  6. 0.6        7.61
  7. 0.8        14.55
  8. 0.9        22.77
复制代码
大概可以20%的概率得到如下最优解(或许还有更好的?):

均方差(RMSE): 0.0691031971654709
残差平方和(RSS): 0.0238762592924497
相关系数(R): 0.99994740186828
相关系数之平方(R^2): 0.999894806503124
决定系数(DC): 0.999894698410577
卡方系数(Chi-Square): 0.00146936589060412
F统计(F-Statistic): 3165.51094014549

参数        最佳估算
----------        -------------
p1        -2.66506487024785
p2        0.146942517410841
p3        -0.0335368642302497
p4        710999.167391225

这个结果用其它软件估计是很难得到的。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-5-6 15:00:43 | 显示全部楼层
这个结果用其它软件估计是很难得到的。


By The Way:
楼主会用哪些软件,在这道题里实际上又用了哪些软件?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2010-5-6 16:11:53 | 显示全部楼层
Origin, Matlab, Mathematica, Maple, Nlreg, DataFit, SigmaPlot, CurveFit...

我所知道的都试过。版主可否再推荐一些?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-5-6 16:22:09 | 显示全部楼层
我在4楼,5楼给的答案莫非不是最优的吗
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2010-5-6 17:16:40 | 显示全部楼层
比较一下6楼的结果,4楼,5楼的答案只能算局部最优而非全局最优。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-5-20 04:59 , Processed in 0.058593 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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