Inf in conf_interval function?

48 views
Skip to first unread message

Jiaqing Bi

unread,
May 19, 2019, 7:53:18 PM5/19/19
to lmfit-py
Hi,

I am using lmfit to fit a model of 18 free parameters. 

The primary result of parameter uncertainty estimated by covariance matrix is not bad. But I find the method is hard do be well-justified in the scientific paper. So I also start a conf_interval calculation based on the F-test.

Then I see several infinities in the confidence interval which are not seen in the primary result, and they are not symmetric but only appear on one side of uncertainty. 

Does anybody know how I can interpret this result? What could be the cause of infinities in the confidence interval?

The primary result from covariance matrix estimate is 
[[Variables]]
    flux1:  0.01939197 +/- 2.3007e-04 (1.19%) (init = 0.01856523)
    rad1:   5.52095562 +/- 0.00401523 (0.07%) (init = 5.554278)
    wid1:   0.65553944 +/- 0.00804477 (1.23%) (init = 0.6920543)
    x1:     127.827981 +/- 0.00365401 (0.00%) (init = 127.8007)
    y1:     123.342040 +/- 0.00368037 (0.00%) (init = 123.2855)
    pa1:    30.07036 (fixed)
    inc1:   0.25822183 +/- 16.8093689 (6509.66%) (init = 9.182228)
    flux2:  0.00221871 +/- 4.2706e-06 (0.19%) (init = 0.00222099)
    rad2:   23.8319664 +/- 0.00972650 (0.04%) (init = 23.82327)
    wid2:   3.17530683 +/- 0.00849660 (0.27%) (init = 3.168059)
    x2:     128.796259 +/- 0.00699359 (0.01%) (init = 128.7932)
    y2:     123.048023 +/- 0.00805674 (0.01%) (init = 123.0454)
    pa2:   -1.692806 (fixed)
    inc2:   36.2324882 +/- 0.05279203 (0.15%) (init = 36.20744)
    flux3:  5.1571e-04 +/- 1.7049e-06 (0.33%) (init = 0.0005149478)
    rad3:   41.8739819 +/- 0.03658028 (0.09%) (init = 41.85764)
    wid3:   5.84103237 +/- 0.02850290 (0.49%) (init = 5.865171)
    x3:     128.783990 +/- 0.02395945 (0.02%) (init = 128.7965)
    y3:     123.326516 +/- 0.02932336 (0.02%) (init = 123.3249)
    pa3:   -2.886022 (fixed)
    inc3:   38.1158449 +/- 0.09929014 (0.26%) (init = 38.13036)

And the robust result from conf_interval is
          99.73%    95.45%    68.27%    _BEST_    68.27%    95.45%    99.73%
 flux1:  -0.00005  -0.00003  -0.00001   0.01939  +0.00001  +0.00003  +0.00004
 rad1 :  -0.00437  -0.00227  -0.00069   5.52096      +inf      +inf      +inf
 wid1 :  -0.00159  -0.00104  -0.00051   0.65554  +0.00053  +0.00106  +0.00158
 x1   :  -0.00365  -0.00365  -0.00365 127.82798  +0.00365  +0.00365  +0.00365
 y1   :  -0.00368  -0.00368  -0.00368 123.34204  +0.00368  +0.00368  +0.00368
 inc1 :      -inf      -inf      -inf   0.25822  +0.19762  +0.53498  +0.89288
 flux2:  -0.00001  -0.00000  -0.00000   0.00222  +0.00000  +0.00000  +0.00001
 rad2 :  -0.01683  -0.01160  -0.00573  23.83197  +0.00580  +0.01165  +0.01696
 wid2 :  -0.01179  -0.00784  -0.00389   3.17531  +0.00408  +0.00808  +0.01202
 x2   :      -inf      -inf      -inf 128.79626  +0.00478  +0.01077  +0.01399
 y2   :  -0.03223  -0.01618  -0.01101 123.04802  +0.00825  +0.00825  +0.02109
 inc2 :  -0.09177  -0.06086  -0.02977  36.23249  +0.03143  +0.06174  +0.09175
 flux3:  -0.00000  -0.00000  -0.00000   0.00052  +0.00000  +0.00000  +0.00000
 rad3 :  -0.06036  -0.04071  -0.01939  41.87398  +0.02156  +0.04200  +0.06169
 wid3 :  -0.04750  -0.03181  -0.01606   5.84103  +0.01546  +0.03125  +0.04701
 x3   :  -0.06866  -0.04398  -0.02457 128.78399  +0.01882  +0.04196  +0.06520
 y3   :  -0.08793  -0.06179  -0.03053 123.32652  +0.02324  +0.05657  +0.08488
 inc3 :  -0.14388  -0.08926  -0.03575  38.11584  +0.05735  +0.11448  +0.17052

Thanks for the help.

Sincerely,
Jiaqing 


Matt Newville

unread,
May 19, 2019, 9:47:50 PM5/19/19
to lmfit-py
On Sun, May 19, 2019 at 6:53 PM Jiaqing Bi <jiaqi...@gmail.com> wrote:
Hi,

I am using lmfit to fit a model of 18 free parameters. 

The primary result of parameter uncertainty estimated by covariance matrix is not bad. But I find the method is hard do be well-justified in the scientific paper.

Um, why?
So I also start a conf_interval calculation based on the F-test.

OK...

Then I see several infinities in the confidence interval which are not seen in the primary result, and they are not symmetric but only appear on one side of uncertainty. 

Does anybody know how I can interpret this result? What could be the cause of infinities in the confidence interval?


Well, with only a partial fit report and no actual code (why did you deliberately ignore the instructions?  Why does everyone ignore the instructions?), I'd guess that `inc1` has a huge uncertainty that is causing problems.   But that's just a guess because you did not include any example code.


--Matt

Reply all
Reply to author
Forward
0 new messages