When you fit your EXAFS data using Artemis + Ifeffit or Larch, you are
using a Levenberg-Marquardt non-llinear, steepest descent algorithm. The
fit does kn ow anything /at all/ about what you are trying to do. It
doesn't know what a sensible value for sigma^2 or any other parameter
is. All it knows is that you have data and a model that you are
throwing at the data.
Armed with data and model, the algorithm optimizes the parameters that
you have flagged as the variables. It changes those values until it
makes the sum of the paths look as much like the data as possible. It's
goal is to make the red line look like the blue line. That's it. That's
all it does. That's how sigma^2 can come out as a negative number.
A negative sigma^2 or any other nonsensical parameter doesn't represent
a failure of Artemis. It is information that is useful to you, the
person doing the fit.
A nonsense parameter is trying to tell you about a way that the model
you have proposed does not represent the data that you have measured.
And it is a hint about what changes you need to explore in your model to
more properly represent the data.
An example: suppose you have an unknown oxide phase and you have reason
to believe it is some sort of highly disordered phase. Just to pull an
example out of the air, you might think that your sample is filled with
FeO(OH) when in fact it is filled with FeO. FeO(OH) is pretty
disordered, whereas FeO is rocksalt. If you run Feff on Feo(OH), you
will get a spread of paths at several distances for the first shell.
When you make the fit with the FeO(OH) model, the structural
contribution to the disorder is MUCH higher than in the actual sample.
The fit is likely to use a negative sigma^2 to counteract that effect.
That's a simple and contrived "explaining example", but it makes the
point (I hope). Artemis didn't fail. The fit is trying to tell you
that you assumptions were not realized in the data.
In short, I agree that your results make no sense, but I suggest that
the problem is that you are making a poor assumption in your fitting model.
It also might be the case that there is a problem with the measurement
of your data that introduces a systematic error that the fit compensates
for by applying a weird parameter value.
Or maybe you have a sulfide instead of the oxide you were expecting.
Or maybe you ran Feff for the Pt K edge rather than the Pt L3 edge.
(Oops! I actually do that with embarrassing frequency....)
Or something else I haven't thought of....
On 06/16/2017 02:09 AM, Felix E. Feiten wrote:
I have the following problem:
In some fits using Artemis (Demeter 0.9.25) I will get negative values
for parameters where it makes no sense at all.
For example, when trying to fit two first shell paths, Pt-Pt and Pt-O,
for a Pt nanoparticle,
sigma^2 for the Pt-O path becomes negative.
Obviously, sigma^2 has to be a positive number.
1. Why does the fit algorithm do this?
2. What can I do to avoid this?
I know that there are most likely significant problems with my fit if
this behaviour occurs.
As far as I know it's possible to impose restrictions in Artemis and if
anyone could point me
towards a tutorial explaining how to implement restrictions that might
be a first step in the right direction.
Currently, the chapter "Constraints and restraints" in the Artemis
documentation is "Coming soon......".
With kind regards,
Ifeffit mailing list
Bruce Ravel ------------------------------------ bra...@bnl.gov
National Institute of Standards and Technology
Synchrotron Science Group at NSLS-II
Building 743, Room 114
Upton NY, 11973
Ifeffit mailing list