1stOpt求助,拟合参数时每次结果不同且结果很不好
本人新手,想拟合一个公式的几个参数,由于matlab对初始值要求太高而又没有初始值的大概范围,想用1stOpt拟合,但可能是版本问题,拟合的结果很不理想,求大神相助,不尽感激。(附上程序(部分数据),拟合结果和数据)
Title "Type your title here";
//Parameters ;
//Variable ;
//Function ;
Parameters a1[1.0E-35,1.0E-5],b1[1,15],c1[-4,0],a2[1.0E-35,1.0E-10],b2[1,15],c2[-4,2],a3[1.0E-40,1.0E-5],b3[1,15],c3[0,5];
Variable x1,x2,y;
Function y=a1*x1^b1*x2^c1+a2*x1^b2*x2^c2+a3*x1^b3*x2^c3 ;
Data;
200 0.000239 0.01411
200 0.000251699 0.00871
200 0.000566323 0.00238
200 0.000704757 0.00138
200 0.000830607 0.00125
200 0.000943871 0.00104
200 0.00103 6.71E-04
200 0.00185 2.57E-04
200 0.00201 1.32E-04
200 0.00238 2.05E-04
200 0.00283 1.72E-04
200 0.00307 1.53E-04
200 0.00345 1.90E-04
第二次拟合.png
第一次拟合.png 返回小木虫查看更多
现有数据的拟合结果还可以。
多运行几次拟合R及R^2应该会稳定,但是参数可能不稳定。
取R和R62高的参数,你的公式出现了过拟合现象
1楼的公式有问题吧:数据x1为恒定200,可以视为一个常数了,这就回导致模型公式是个“过拟合”的式子,会导致多解或参数不唯一。下面是两组结果,注意残差和均方差值都一样:
1:
均方差(RMSE): 0.000729750516589566
残差平方和(SSE): 6.92296561401559E-6
相关系数(R): 0.983707314684016
相关系数之平方(R^2): 0.967680080962838
修正R平方(Adj. R^2): 0.956906774617117
确定系数(DC): 0.967584660157673
卡方系数(Chi-Square): 0.000845317358358566
F统计(F-Statistic): 14.7746786749547
参数 最佳估算
---------- -------------
a1 8.19466679701496E-9
b1 1
c1 -0.900099820327573
a2 1.56394508752564E-19
b2 1
c2 -4
a3 1.5766982433945E-33
b3 1
c3 1.9825625302913E-28
2:
均方差(RMSE): 0.000729750516589566
残差平方和(SSE): 6.92296561401559E-6
相关系数(R): 0.983707314664714
相关系数之平方(R^2): 0.967680080924863
修正R平方(Adj. R^2): 0.956906774566483
确定系数(DC): 0.967584660157673
卡方系数(Chi-Square): 0.000845317345748055
F统计(F-Statistic): 14.774678762419
参数 最佳估算
---------- -------------
a1 8.19466636362325E-9
b1 1
c1 -0.900099826458619
a2 1.56394509316806E-19
b2 1
c2 -4
a3 5.86477788524378E-30
b3 1.05013031264411
c3 9.47815384296225E-59,