У меня есть некоторые данные в этом формате:
0,1/19/20
0,1/20/20
0,1/21/20
1,1/22/20
6,1/23/20
7,1/24/20
11,1/25/20
15,1/26/20
28,1/27/20
38,1/28/20
, и я хочу построить их вместе с показательной кривой, которая подходит. Вот что я пытаюсь:
set datafile separator ","
set terminal svg enhance background rgb "white"
set timefmt "%m/%d/%y"
set xdata time
set format x "%m/%d/%y"
f(x)=a*exp(x*b)
a=1
b=0.00000000001
fit f(x) "test.dat" using 2:1 via a,b
plot "test.dat" using 2:1, f(x)
но вот что я получаю: https://i.stack.imgur.com/JrdYq.jpg
вывод:
iter chisq delta/lim lambda a b
0 2.4518484242e+03 0.00e+00 7.18e-01 1.000000e+00 1.000000e-11
1 1.0605090928e+03 -1.31e+05 7.18e-02 1.397524e+01 1.205276e-11
2 1.0548499551e+03 -5.36e+02 7.18e-03 1.473392e+01 1.761422e-11
* 1.1929533566e+03 1.16e+04 7.18e-02 5.600970e+00 4.096647e-10
3 1.0548479644e+03 -1.89e-01 7.18e-03 1.463642e+01 2.152072e-11
iter chisq delta/lim lambda a b
After 3 iterations the fit converged.
final sum of squares of residuals : 1054.85
rel. change during last iteration : -1.88724e-06
degrees of freedom (FIT_NDF) : 5
rms of residuals (FIT_STDFIT) = sqrt(WSSR/ndf) : 14.5248
variance of residuals (reduced chisquare) = WSSR/ndf : 210.97
Final set of parameters Asymptotic Standard Error
======================= ==========================
a = 14.6364 +/- 4.851e+04 (3.315e+05%)
b = 2.15207e-11 +/- 2.098e-06 (9.749e+06%)
correlation matrix of the fit parameters:
a b
a 1.000
b -1.000 1.000
Другой случай (тот же формат для данных, та же команда):
Сюжет: https://i.stack.imgur.com/SUrOb.jpg
Выход:
iter chisq delta/lim lambda a b
0 3.1449068545e+15 0.00e+00 8.39e+07 1.000000e+00 1.000000e-08
1 4.3978813150e+14 -6.15e+05 8.39e+06 9.961173e-01 9.380902e-09
2 6.0443707833e+13 -6.28e+05 8.39e+05 9.921770e-01 8.756643e-09
3 8.2818940310e+12 -6.30e+05 8.39e+04 9.880292e-01 8.132279e-09
4 1.1307879559e+12 -6.32e+05 8.39e+03 9.783880e-01 7.512240e-09
5 1.4643178088e+11 -6.72e+05 8.39e+02 7.869411e-01 7.011825e-09
...
223 4.3503512818e+08 -6.75e-01 8.39e+03 7.898096e-31 4.829813e-08
iter chisq delta/lim lambda a b
After 223 iterations the fit converged.
final sum of squares of residuals : 4.35035e+08
rel. change during last iteration : -6.75096e-06
degrees of freedom (FIT_NDF) : 55
rms of residuals (FIT_STDFIT) = sqrt(WSSR/ndf) : 2812.42
variance of residuals (reduced chisquare) = WSSR/ndf : 7.90973e+06
Final set of parameters Asymptotic Standard Error
======================= ==========================
a = 7.8981e-31 +/- 1.236e-30 (0%)
b = 4.82981e-08 +/- 2.01e-07 (416.2%)
correlation matrix of the fit parameters:
a b
a 1.000
b -1.000 1.000
line 0: warning: Too many axis ticks requested (>6e+04)
line 0: warning: Too many axis ticks requested (>6e+04)
I подозревал, что я не выбирал правильные начальные параметры для кривой соответствия, но я играл со многими значениями (особенно для b), и иногда я получаю неизвестный тип в реальном () .
I Читал, что при работе с датами x
принимает значение секунд с начала века. Если это так, то я не уверен, как сделать правильные операции с этим номером. Я также хотел бы избавиться от всех точек зрения и точек, где у равен 0, если это возможно. Может кто-то указать, что я делаю не так? Может быть, я не использую правильную функцию подгонки?