linzhenyi0 发表于 2009-9-30 15:50

请问1stopt多峰拟合, 其中一个峰不出来怎么办?

我想用2个对数正态分布进行拟合, 应该属于多峰拟合
因为有物理意义, 所以希望n>0.

1stopt总是拟合不出来 最小的一个峰.
而origin中又只能对正态分布进行多峰拟合, 所以没有办法, 难道非得把对数正态转成正态分布, 再用origin拟合吗?
请大家帮帮我, 讨论一下, 至少分析一下思路, 知道下一步怎么努力

数据和拟合图如下

右边的小峰总是拟合不出来

公式如下:



数据如下:
Title "Type your title here";
Parameters a1,n1,a2,n2,a3,r1,r2;
constant r1=128.61,r2=530;
//constant r1=33.71646,r2=138.671,r3=524.4044,n3=350.1;
Variable x,y;
Function y=(n1/(((2*pi)^0.5)*log(a1)*ln(10)))*exp(-((log(x/r1))^2)/(2*(log(a1))^2))+(n2/(((2*pi)^0.5)*log(a2)*ln(10)))*exp(-((log(x/r2))^2)/(2*(log(a2))^2));
Data;
10.36822      62.80889
11.14765      73.39486
11.99193      90.67867
12.90144      117.42344
13.88063      146.59585
14.93988      176.7792
16.07918      205.88632
17.30335      250.99153
18.62241      293.63164
20.04634      334.54949
21.58036      400.77184
23.23409      461.44556
25.02272      526.00254
26.95145      610.93688
29.03473      711.77863
31.28813      822.59267
33.71646      922.57109
36.34419      1036.4941
39.18725      1158.57488
42.25972      1273.83102
45.59681      1392.48298
49.20929      1530.51029
53.12084      1665.88128
57.36745      1776.49122
61.97835      1889.03784
66.99398      2033.36179
72.44435      2240.25929
78.3739                2435.4358
84.8427                2629.77248
91.91076      2803.08121
99.63332      2972.85904
108.0749      3118.05541
117.3346      3254.73975
127.4991      3367.56001
138.671                3447.14193
150.9866      3472.864
164.5896      3420.58855
179.6455      3264.883
196.3333      3078.74925
214.8871      2795.54887
235.5766      2537.93822
258.7154      2152.40878
284.6491      1764.68047
313.7942      1511.76268
346.6511      1101.53983
383.8011      758.23298
410.0                589.56088
425.915                487.09794
430.0                470.19655
440.0                428.82226
450.0                387.44798
460.0                346.0737
470.0                304.69941
473.7774                289.07069
480.0                306.78283
490.0                335.24704
500.0                363.71126
510.0                392.17547
520.0                   420.63968
530.0                422.66274
540.0                403.87348
550.0                385.08421
560.0                366.29495
574.4563                339.13263
580.0                330.50894
600.0                299.39727
620.0                268.2856
630.0                252.72977
648.074                224.61415
660.0                207.18925
680.0                177.96756
700.0                148.74587
720.0                119.52417
748.3315                78.12945
894.4272                32.0669
1095.445                7.11801

[ 本帖最后由 linzhenyi0 于 2009-9-30 20:33 编辑 ]

dingd 发表于 2009-9-30 16:55

下面两句有问题吧?
Parameters a1,n1,a2,n2,a3,r1,r2;
constant r1=128.61,r2=530;

r1,r2被同时定义成了参数和常数。

dingd 发表于 2009-9-30 17:05

这个结果如何:
均方差(RMSE): 29.8882974041181
残差平方和(RSS): 67891.584450493
相关系数(R): 0.999623356417987
相关系数之平方(R^2): 0.999246854696363
决定系数(DC): 0.999244819778612
卡方系数(Chi-Square): 145.024370599821
F统计(F-Statistic): 11090.0679901415
参数 最佳估算
---------- -------------
n1          62.3319839009691
a1          0.907569842362343
r1          438.187868272914
n2          -4628.98326902897
a2          0.425119579887233
r2          103.434173267256
n3          -1714.64432483643
a3          0.642614542531856
r3          165.848708911989

linzhenyi0 发表于 2009-9-30 18:12

首先非常谢谢dingd,

其实是出不来结果, 才被迫改成常值的, 我用的是1.5版本
能否再加入2个条件,

1) n>0?
因为拟合有物理意义, x表示直径, y表示浓度, n好像表示面积( 只能是好像了, 参数意义不清楚, (文献中从几百到几万),

2) 不要n3, a3, r3, 因为只 有2个峰, 对应2组参数,
页: [1]
查看完整版本: 请问1stopt多峰拟合, 其中一个峰不出来怎么办?