Hi, I'm hoping someone out there has seen this before and can tell me what to do to remedy it... I've been using artemis at home all weekend on my Win 98 computer without incident.... now I'm working at home today with the same feff and data files working on fitting... and while Chi sq etc. is the same the +/- values on all my variables are now reading as 0, even though the values for the variables are what I would expect them to be. Any ideas about how I can fix this? Thanks, Kristine Witkowski Northwestern University
On Tuesday 09 December 2003 02:18 pm, k-kupiecki@northwestern.edu wrote:
Hi,
I'm hoping someone out there has seen this before and can tell me what to do to remedy it...
I've been using artemis at home all weekend on my Win 98 computer without incident....
You say the nicest things. ;-)
now I'm working at home today with the same feff and data files working on fitting... and while Chi sq etc. is the same the +/- values on all my variables are now reading as 0, even though the values for the variables are what I would expect them to be.
It's funny that this should come up today, since I have been puzzling over the same thing. I have noticed that it only happens when Ifeffit issues a large number of "fitting ..." messages followed by my favorite Ifeffit error message: "too many iterations. try again with better guesses or a simpler problem." (Can you believe it?!?! Ifeffit has an opinion about the quality of my guesses! ;-) You can see Ifeffit's messages by looking at the Ifeffit tab in the palettes window. That's the one just to the right of the tab displaying the fit results. You will probably have to scroll back a few screen's worth of text (or make the palettes window a lot taller) to see that message since the commands issued to plot the result of the fit require about 30 lines. Ifeffit's error and warning messages are printed in blue text (unless you have been monkeying around with the color preferences). Apparently what is happening (and I am sure that Matt can confirm or deny this) is that Ifeffit is chugging along trying to get to the answer when it hits the hard-wired limit on the number of iterations. At that point ifeffit gives up the ghost and quits. It leaves all the fitting variables where they are and computes chi-square and the R-factor but not the error bars. I would guess that the fit was pretty close to finished at that point if, as you say, the variables and chi-square values are all reasonable. So, what to do? Here are some suggestions. 1. Recompile Ifeffit with more iterations. (That's not a very practical suggestion for a Windows user, but in the interest of completeness...) 2. Try saving your project, quitting Artemis, restarting Artemis, and fitting again. If that makes a difference, please let me know because it would suggest that Artemis is making some kind of mistake in how it uses Ifeffit's memory. 3. Try selecting "Grab all best fit values" from the GDS menu and relaunch the fit, i.e. try Ifeffit's suggestion of "better guesses". 4. Try setting one or more of your variables to some reasonable values and relaunching the fit. That is, try Ifeffit's suggestion of "a simpler problem". Artemis should, at least, screen Ifeffit's messages looking for the "too many iterations" message and post some suitable warning. I'll put that on my list of things to do. In the meantime, keep an eye on the content of the Ifeffit buffer -- including the stuff that may have already scrolled off screen. Hope that helps, B -- Bruce Ravel ----------------------------------- ravel@phys.washington.edu Code 6134, Building 3, Room 222 Naval Research Laboratory phone: (1) 202 767 5947 Washington DC 20375, USA fax: (1) 202 767 1697 NRL Synchrotron Radiation Consortium (NRL-SRC) Beamlines X11a, X11b, X23b National Synchrotron Light Source Brookhaven National Laboratory, Upton, NY 11973 My homepage: http://feff.phys.washington.edu/~ravel EXAFS software: http://feff.phys.washington.edu/~ravel/software/exafs/
Kristine, Bruce, I've also noticed some weird things with feffit() not always estimating error bars. I believe the situation can be improved so that error are estimated for more fits. First, let me clarify two main cases when uncertainties are not calculated, and what might be done about this. 1. One of the defined variables doesn't affect the fit, which can happen if you define a variable but it doesn't get used, or even if it is used but has no real affect on the fit (for example, guessing deltaR when N=0). This is supposed to give a message like: one or more variables may not affect the fit In this case, feffit() _should_ list variables that are the most likely unused variables. I believe: a) this error gets triggered too often. b) the listing of unused variables is not complete. c) errors can be estimated in many of the 'false positive' cases anyway. 2. The fitting algorithm takes too many iterations. This is when it reports 'try a simpler problem or better guesses'.... The maximum allowed number of iterations could be increased (computers are fast these days, right??) but there is currently no way to interrupt a fit without killing the whole program. I'd be willing to increase it, but not too much. It should also be possible to _try_ to estimate the uncertainties in many of these cases, though the results may not be meaningful. All of these fixes are possible. Whether that will solve the problem for this case is a different matter.... If you can send an Artemis Project where the errors aren't estimated, that would be helpful. --Matt
participants (3)
-
Bruce Ravel
-
k-kupiecki@northwestern.edu
-
Matt Newville