[Ifeffit] fitting with lots of variables
mjensen at anl.gov
Wed Jan 21 13:24:21 CST 2004
I was just contemplating how I might answer your question from my experience
when Bruce's e-mail came through, leaving me with nothing subsansive to say.
Thanks, Bruce! He's right on the money in both areas.
First, it's cheating to extend the R range when you're not trying to fit
paths over that range.
Second, if you need 18 parameters and you're only allowed 15, you're going
to have to use math expressions, or fix some parameters at reasonable values
taken from averages, commonly used assumptions (like S0^2 = 0.9), or from
other similar systems.
From: ifeffit-bounces at millenia.cars.aps.anl.gov
[mailto:ifeffit-bounces at millenia.cars.aps.anl.gov]On Behalf Of Bruce
Sent: Wednesday, January 21, 2004 1:10 PM
To: k-kupiecki at northwestern.edu; XAFS Analysis using Ifeffit
Subject: Re: [Ifeffit] fitting with lots of variables
On Wednesday 21 January 2004 01:28 pm, k-kupiecki at northwestern.edu wrote:
It'll be interesting to hear what everyone else has to say, but I
think I can offer a few tidbits of wisdom.
> 1)(Assuming I'm already using the largest suitable k-range) -- Increase
> the r-range for the fit (i.e. if fitting the single scattering paths to 4
> Ang requires 18 variables but I only have 15 independent points with
> r-range 1-4... perhaps increase the r-range 1-4.5 (18 ind. points in this
> case) or 1-5 (20 ind. points in this case) while still including the
> paths less than 4Ang in the fit.
This will not necessarily solve the problem. If you increase the R
range without intending to actually fit the additional peaks, you may
be cheating in the sense that you are pumping up the value of the
Nyquist criterion without actually using the additional information.
Take an extreme example. Consider a very disordered material which
has a single peak near 2 angstroms and no further peaks. You might,
then, fit from 1-3 in R space. You could set Rmax to 5, thereby
doubling the Nyquist criteria, but you almost certainly will not be
changing the fit in any other way. That is, you are not using the
additional range in R. Indeed, in my example, there is no additional
information because there is only the one peak.
The implicit assumption when you choose the R range is that you will
then go ahead and actually try to fit those Fourier components. If
your fitting model does not actually attempt to fit well between 4.5
and 5 Angstroms, then you are not really doing the right thing by
fooling Artemis and Ifeffit into thinking that you are.
> 2) Lump some of the paths' DelRs into expressions (i.e. having DelRs =
> eta1*reff, or eta2*reff, or eta3*reff etc for groupings of paths
> dependent upon distance from core atom).
Now *this* is a good idea. That is, after all, what math expressions
are all about. Most of the examples I give in the things I write
discuss math expressions being used to build prior knowledge into a
fit. Another use of restraints is to limit the freedom of a fit in
the case when you are running out of infomation.
In your case, you are making the assumption that groups of paths have
path lengths (or, perhaps, changes in path length) which cannot be
distinguished at the level of resolution offered by the data and by
the fitting model. That happens all the time and is a perfectly good
use of math expressions and constraints.
One nice thing about doing these sorts of freedom-limiting constraints
is that you can choose to expand them or lift them as you begin to
understand more about your data. That is, you may impose this sort of
constraint early on in the analysis, then realize later that your data
does in fact allow lifting some or all of the constraint.
A couple more things to think about.
1. You might consider simply asserting something about the fit. For
example, you might choose to assert that s02 is 0.9 rather than
float it. This may lead to some systematic error in the
determination of sigma^2 values, but may help you find the
freedom you need to determine delR values.
2. You can look for trends in data sets. For example, if you have
data on the same material at many temperatures, you may notice
that s02, averaged over all data sets, is (to make it up off the
top of my head) 0.875 +/- 0.103. You may then assert that the s02
is 0.875 and continue on.
There are lots of kinds of data sets in which you may look for
trends. For instance, if you have a series of samples with
different amounts of dopant, you might expect certain e0 or s02
(or even delR or sigma^2) values to be the same across all data
sets. Looking for trends in data sets is a very powerful tool and
is a good reason to measure data in series. For instance, if you
have a feul cell material that is intended to be operated at some
elevated temperature, you probably should measure it at that
temperature *and* at several others so you can find the trends,
Bruce Ravel ----------------------------------- ravel at 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/
Ifeffit mailing list
Ifeffit at millenia.cars.aps.anl.gov
More information about the Ifeffit