Ask Your Question
0

weird behaviour of find_fit

asked 2012-07-04 08:21:54 +0200

god.one gravatar image

updated 2012-07-04 08:38:45 +0200

Hi and sorry for the strange headline, my problem is this:

data=[[0.78344E-02,0.15668E-01],[0.23501E-01,0.15664E-01],[0.39162E-01,0.15657E-01],[0.54813E-01,0.15645E-01],[0.70451E-01,0.15630E-01],[0.86071E-01,0.15611E-01],[0.10167E+00,0.15588E-01],[0.11725E+00,0.15561E-01],[0.13279E+00,0.15530E-01],[0.14830E+00,0.15496E-01],[0.16378E+00,0.15457E-01],[0.17922E+00,0.15415E-01],[0.19461E+00,0.15369E-01],[0.20995E+00,0.15320E-01],[0.22525E+00,0.15266E-01],[0.24049E+00,0.15209E-01],[0.25566E+00,0.15148E-01],[0.27078E+00,0.15083E-01],[0.28583E+00,0.15015E-01],[0.30081E+00,0.14943E-01],[0.31571E+00,0.14867E-01],[0.33054E+00,0.14788E-01],[0.34529E+00,0.14705E-01],[0.35995E+00,0.14618E-01],[0.37452E+00,0.14528E-01],[0.38901E+00,0.14434E-01],[0.40339E+00,0.14337E-01],[0.41768E+00,0.14236E-01],[0.43186E+00,0.14132E-01],[0.44594E+00,0.14024E-01],[0.45991E+00,0.13913E-01],[0.47377E+00,0.13799E-01],[0.48751E+00,0.13681E-01],[0.50113E+00,0.13559E-01],[0.51463E+00,0.13435E-01],[0.52800E+00,0.13306E-01],[0.54124E+00,0.13175E-01],[0.55435E+00,0.13041E-01],[0.56732E+00,0.12903E-01],[0.58015E+00,0.12762E-01],[0.59284E+00,0.12619E-01],[0.60539E+00,0.12471E-01],[0.61778E+00,0.12321E-01],[0.63003E+00,0.12168E-01],[0.64212E+00,0.12012E-01],[0.65405E+00,0.11852E-01],[0.66582E+00,0.11691E-01],[0.67743E+00,0.11525E-01],[0.68887E+00,0.11358E-01],[0.70015E+00,0.11187E-01],[0.71125E+00,0.11015E-01],[0.72217E+00,0.10838E-01],[0.73292E+00,0.10660E-01],[0.74349E+00,0.10478E-01],[0.75388E+00,0.10295E-01],[0.76408E+00,0.10108E-01],[0.77409E+00,0.99195E-02],[0.78392E+00,0.97277E-02],[0.79355E+00,0.95348E-02],[0.80299E+00,0.93382E-02],[0.81223E+00,0.91405E-02],[0.82127E+00,0.89392E-02],[0.83010E+00,0.87372E-02],[0.83874E+00,0.85317E-02],[0.84717E+00,0.83254E-02],[0.85539E+00,0.81160E-02],[0.86340E+00,0.79048E-02],[0.87120E+00,0.76925E-02],[0.87878E+00,0.74771E-02],[0.88615E+00,0.72611E-02],[0.89330E+00,0.70421E-02],[0.90024E+00,0.68223E-02],[0.90695E+00,0.66003E-02],[0.91344E+00,0.63765E-02],[0.91970E+00,0.61519E-02],[0.92574E+00,0.59252E-02],[0.93155E+00,0.56977E-02],[0.93713E+00,0.54676E-02],[0.94249E+00,0.52370E-02],[0.94761E+00,0.50054E-02],[0.95250E+00,0.47718E-02],[0.95715E+00,0.45371E-02],[0.96157E+00,0.43020E-02],[0.96575E+00,0.40653E-02],[0.96970E+00,0.38276E-02],[0.97341E+00,0.35894E-02],[0.97688E+00,0.33497E-02],[0.98011E+00,0.31091E-02],[0.98310E+00,0.28688E-02],[0.98584E+00,0.26270E-02],[0.98835E+00,0.23846E-02],[0.99061E+00,0.21412E-02],[0.99263E+00,0.18984E-02],[0.99441E+00,0.16541E-02],[0.99594E+00,0.14099E-02],[0.99723E+00,0.11651E-02],[0.99827E+00,0.91946E-03],[0.99907E+00,0.67542E-03],[0.99962E+00,0 ...
(more)
edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
1

answered 2012-07-04 09:25:03 +0200

Volker Braun gravatar image

The data that you have hints at a singularity at x=1 with data points concentrated around there. And the model isn't particularly good. This makes the nonlinear fit numerically very unstable. Compare with this:

sage: data = <same as before>
sage: var('a,b,x')
(a, b, x)
sage: model=a*(1-x)^b
sage: fit = find_fit(data,model,variables=[x],initial_guess=(1,1)); fit
[a == 0.017034240977895455, b == 0.3870748290050979]
sage: point2d(data) + plot(model.subs(a=fit[0].rhs(), b=fit[1].rhs()), 0, 1)

image description

edit flag offensive delete link more
1

answered 2012-07-04 09:49:01 +0200

god.one gravatar image

Hi Volker,

if you take the model

model=a*sqrt(1-b*x^2)

and as an initial guess (1,0.00025) (a good guess made by interact) I get

[a == 1.0000027991978133, b == 0.00024550730310659858]

and if you compare this function with the data provided it looks very good (since I do not know how to post pictures I cannot show you my plot).

Concerning the points around x=1: I have deleted some points from the list near the end and the problem vanishes (I can switch a and b or make some other guesses and the above mentioned solution will be calculated).

But thank you for your fast answer.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 2012-07-04 08:21:54 +0200

Seen: 376 times

Last updated: Jul 04 '12