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