I don't think it's at all strange, Anatoly, and I think Matthew's
solution is the right one--it seems obvious in retrospect that the
parameter that Ifeffit should evaluate is 1/R, but apparently it
wasn't obvious to me on Friday. :)
As for obtaining N instead of R, the beauty of both of our algorithms
is that they don't depend on finding N; they depend on finding the
ratio of N's for different shells. Finding N accurately is notoriously
challenging: you need some way of getting S02, you need to have the
normalization right, and you're sunk if there are data quality issues
like an inhomogeneous sample, uncorrected self-absorption, or
significant beam harmonics. But finding the ratio of N for two or more
different shells doesn't depend so strongly on any of those things.
Since my method implicitly involves multiple ratios of coordination
numbers, it is not so clear how to invert it.
In any case, I expect Matthew's solution to work, and will pursue it
further on Monday.
--Scott Calvin
Sarah Lawrence College
On Oct 24, 2010, at 5:59 PM, Frenkel, Anatoly wrote:
Scott,
It is a strange result. Suppose you fit a bulk metal foil and vary
the 1nn coordination number. You will not get 12 +/- 1000. You will
get about 12 +/- 0.3 depending on the data quality and the k range,
and on the amplitude factor you fix constant. Then, suppose you take
your formula for a particle radius from your JAP article and
propagate this uncertainty to get the radius uncertainty. That would
give you a huge error because you are in the flat region of the N(R)
function and R does bit affect N.
The meaning of your large error bar is, I think, that you are in
such a large limit of sizes that they cannot be inverted to get N
and thus the errors cannot be propagated to find Delta R.
Why don't you try to obtain N instead of R? You will get much
smaller error bars and you can find the lower R limit from your N(R)
equation (by plugging in N - deltaN you will find R - delta R).
The right limit is infinity as you pointed out.
Anatoly
________________________________
From: ifeffit-bounces@millenia.cars.aps.anl.gov
To: XAFS Analysis using Ifeffit
Sent: Fri Oct 22 16:23:08 2010
Subject: [Ifeffit] Asymmetric error bars in IFeffit
Hi all,
I'm puzzling over an issue with my latest analysis, and it seemed
like the sort of thing where this mailing list might have some good
ideas.
First, a little background on the analysis. It is a simultaneous fit
to four samples, made of various combinations of three phases.
Mossbauer has established which samples include which phases. One of
the phases itself has two crystallographically inequivalent
absorbing sites. The result is that the fit includes 12 Feff
calculations, four data sets, and 1000 paths. Remarkably, everything
works quite well, yielding a satisfying and informative fit.
Depending on the details, the fit takes about 90 minutes to run.
Kudos to Ifeffit and Horae for making such a thing possible!
Several of the parameters that the fit finds are "characteristic
crystallite radii" for the individual phases. In my published fits,
I often include a factor that accounts for the fact that a phase is
nanoscale in a crude way: it assumes the phase is present as spheres
of uniform radius and applies a suppression factor to the
coordination numbers of the paths as a function of that radius and
of the absorber-scatterer distance. Even though this model is rarely
strictly correct in terms of morphology and size dispersion, it
gives a first-order approximation to the effect of the reduced
coordination numbers found in nanoscale materials. Some people,
notably Anatoly Frenkel, have published models which deal with this
effect much more realistically. But those techniques also require
more fitted variables and work best with fairly well-behaved
samples. I tend to work with "messy" chemical samples of free
nanoparticles where the assumption of sphericity isn't terrible, and
the size dispersion is difficult to model accurately.
At any rate, the project I'm currently working on includes a fitted
characteristic radius of the type I've described for each of the
phases in each of the samples. And again, it seems to work pretty
well, yielding values that are plausible and largely stable.
That's the background information. Now for my question:
The effect of the characteristic radius on the spectrum is a
strongly nonlinear function of that radius. For example, the
difference between the EXAFS spectra of 100 nm and 1000 nm single
crystals due to the coordination number effect is completely
negligible. The difference between 1 nm and 10 nm crystals, however,
is huge.
So for very small crystallites, IFeffit reports perfectly reasonable
error bars: the radius is 0.7 +/- 0.3 nm, for instance. For somewhat
larger crystallites, however, it tends to report values like 10 +/-
500 nm. I understand why it does that: it's evaluating how much the
parameter would have to change by to have a given impact on the chi
square of the fit. And it turns out that once you get to about 10
nm, the size could go arbitrarily higher than that and not change
the spectrum much at all. But it couldn't go that much lower without
affecting the spectrum. So what IFeffit means is something like "the
best fit value is 10 nm, and it is probable that the value is at
least 4 nm." But it's operating under the assumption that the
dependence of chi-square on the parameter is parabolic, so it comes
up with a compromise between a 6 nm error bar on the low side and an
infinitely large error bar on the high side. Compromising with
infinity, however, rarely yields sensible results.
Thus my question is if anyone can think of a way to extract some
sense of these asymmetric error bars from IFeffit. Here are
possibilities I've considered:
--Fit something like the log of the characteristic radius, rather
than the radius itself. That creates an asymmetric error bar for the
radius, but the asymmetry the new error bar possesses has no
relationship to the uncertainty it "should" possess. This seems to
me like it's just a way of sweeping the problem under the rug and is
potentially misleading.
--Rerun the fits setting the variable in question to different
values to probe how far up or down it can go and have the same
effect on the fit. But since I've got nine of these factors, and
each fit takes more than an hour, the computer time required seems
prohibitive!
--Somehow parameterize the guessed variable so that it does tend to
have symmetric error bars, and then calculate the characteristic
radius and its error bars from that. But it's not at all clear what
that parameterization would be.
--Ask the IFeffit mailing list for ideas!
Thanks!
--Scott Calvin
Sarah Lawrence College