Hello Scott Sir, I got that ifeffit basically works on the principle of making the theoretical data look similar to experimental data. But what I know about fitting is that we have to first fit the first shell and then keeping the first shell parameter constant , we go for the next shell. Is it not right. Please tell me Abhijeet Gaur
Hi Abhijeet, Well, I do know that many people do it that way, so it's not "wrong." But there are a number of problems with it: * You're locking in errors, rather than using additional data to improve your fit. After all, the fit to the first shell has uncertainty, given by the error bars. But you're choosing the center point of the range and locking it in. By doing that, you're then distorting the fit to the next shell. * You're ignoring "leakage" from the second shell when you fit the first shell. The second-shell paths have some width (look at them in Artemis to see this). Inevitably they have some tail that extends into the first shell. A fit to the first shell therefore has a systematic bias. If all you're doing is fitting one shell, then it may be small enough to live with it. But if you're adding a second shell anyway, why not let it inform the fit? * It becomes difficult to keep track of degrees of freedom. By doing fits in layers, you of course aren't actually reducing the number of parameters you're fitting, but ifeffit doesn't know that. The reduced chi-square statistic is no longer reduced by the right number of degrees of freedom, so you lose the ability to use it to compare fits. And if you decide during the fitting of the second shell to change the k-range, degrees of freedom can get quite confusing. Maybe someone who uses this strategy should speak up for it; I'd like to understand what the advantages are. Just to be clear, what I'm suggesting instead is that you fit the first shell alone first, but when you add the second shell you continue to allow the first shell parameters to vary. In any case, either way that you do it, you should be using the S02 from the first shell for the subsequent shells. Otherwise you're not taking advantage of your understanding of the physical meaning of the parameters. --Scott Calvin Sarah Lawrence College On Apr 10, 2009, at 5:52 AM, abhijeet gaur wrote:
Hello Scott Sir, I got that ifeffit basically works on the principle of making the theoretical data look similar to experimental data. But what I know about fitting is that we have to first fit the first shell and then keeping the first shell parameter constant , we go for the next shell. Is it not right. Please tell me Abhijeet Gaur _______________________________________________ Ifeffit mailing list Ifeffit@millenia.cars.aps.anl.gov http://millenia.cars.aps.anl.gov/mailman/listinfo/ifeffit
Abhijeet, I'll add to Scott's comments. I typically perform the fitting as you suggest, at least in complicated systems, one shell at a time. However, at some point you must go back and explore the correlations between the fit parameters. The simplest way is, after you've added a new shell and satisfied yourself the fit is reasonable in a new region of R- or k- space, to allow more or even all of the parameters to be "guess"es. As Scott suggests, often you can reduce uncertainties by tying together in some manner the parameter from different scattering paths. If there is some reason to believe you know the structure, using a common amplitude for the first and seconds shells is one way to do this. Jeremy -----Original Message----- From: ifeffit-bounces@millenia.cars.aps.anl.gov on behalf of Scott Calvin Sent: Fri 4/10/2009 8:26 AM To: XAFS Analysis using Ifeffit Subject: Re: [Ifeffit] High SO2 Hi Abhijeet, Well, I do know that many people do it that way, so it's not "wrong." But there are a number of problems with it: * You're locking in errors, rather than using additional data to improve your fit. After all, the fit to the first shell has uncertainty, given by the error bars. But you're choosing the center point of the range and locking it in. By doing that, you're then distorting the fit to the next shell. * You're ignoring "leakage" from the second shell when you fit the first shell. The second-shell paths have some width (look at them in Artemis to see this). Inevitably they have some tail that extends into the first shell. A fit to the first shell therefore has a systematic bias. If all you're doing is fitting one shell, then it may be small enough to live with it. But if you're adding a second shell anyway, why not let it inform the fit? * It becomes difficult to keep track of degrees of freedom. By doing fits in layers, you of course aren't actually reducing the number of parameters you're fitting, but ifeffit doesn't know that. The reduced chi-square statistic is no longer reduced by the right number of degrees of freedom, so you lose the ability to use it to compare fits. And if you decide during the fitting of the second shell to change the k-range, degrees of freedom can get quite confusing. Maybe someone who uses this strategy should speak up for it; I'd like to understand what the advantages are. Just to be clear, what I'm suggesting instead is that you fit the first shell alone first, but when you add the second shell you continue to allow the first shell parameters to vary. In any case, either way that you do it, you should be using the S02 from the first shell for the subsequent shells. Otherwise you're not taking advantage of your understanding of the physical meaning of the parameters. --Scott Calvin Sarah Lawrence College On Apr 10, 2009, at 5:52 AM, abhijeet gaur wrote:
Hello Scott Sir, I got that ifeffit basically works on the principle of making the theoretical data look similar to experimental data. But what I know about fitting is that we have to first fit the first shell and then keeping the first shell parameter constant , we go for the next shell. Is it not right. Please tell me Abhijeet Gaur _______________________________________________ Ifeffit mailing list Ifeffit@millenia.cars.aps.anl.gov http://millenia.cars.aps.anl.gov/mailman/listinfo/ifeffit
_______________________________________________ Ifeffit mailing list Ifeffit@millenia.cars.aps.anl.gov http://millenia.cars.aps.anl.gov/mailman/listinfo/ifeffit
Jeremy, I'm curious to understand this approach better. Just to confirm, as I understand it you do something like this: 1) Fit the first shell 2) Set the first-shell parameters to their best-fit values, expand the R-range and paths to include the second shell, and guess parameters related to the second shell (possibly using constraints to take advantage of discoveries from the first shell fit). 3) Once things look OK, go back to guessing some of the parameters so that correlations can be explored. What's the advantage to fixing the first-shell parameters in step 2? Is it to avoid nonsensical fits as the parameter space increases? If so, why not use restraints (particularly, say, penalty-type restraints) to make sure the first-shell parameters remain reasonable without actually forcing them to the values from the first shell fit or doing confusing things to the degrees of freedom? I suspect there's some very practical reason why people use this stepwise approach, but I'm not yet seeing it... --Scott Calvin Sarah Lawrence College On Apr 10, 2009, at 11:24 AM, Kropf, Arthur Jeremy wrote:
Abhijeet,
I'll add to Scott's comments. I typically perform the fitting as you suggest, at least in complicated systems, one shell at a time. However, at some point you must go back and explore the correlations between the fit parameters. The simplest way is, after you've added a new shell and satisfied yourself the fit is reasonable in a new region of R- or k- space, to allow more or even all of the parameters to be "guess"es. As Scott suggests, often you can reduce uncertainties by tying together in some manner the parameter from different scattering paths. If there is some reason to believe you know the structure, using a common amplitude for the first and seconds shells is one way to do this.
Jeremy
Scott, For many cases, I think it makes very little difference if you first fit the first shell and then fit the second shell keeping "the first shell" fixed. That is, for many cases, the two are nearly completely separated. If they are not well separated, then you pretty much have to fit them together. But many EXAFS problems do have well separated shells, often with the first shell much larger, of a known atom type, and at a pretty well-known distance. A fairly typical class of EXAFS analysis would have oxygen as the first shell and a metal as the second shell and the goals are 1) is the oxygen distance / coordination of type A or type B (say, tetrahedral v. octahedral). The XANES often tells you this, and the EXAFS signatures (N, R) are pretty distinct. It may not be important how distorted this coordination is: one just wants the average, gross coordination type. 2) what is the second coordination shell? What atom type, what coordination number, what distance? There is often a much wider range of possibilities that are harder to distinguish, and this is important to study (fit) in detail. In these cases, many people use the first shell (again, often well isolated, large, and of a known atom type at a pretty well known distance) to determine S02 and E0. This can often be done in a few minutes. With that information, higher shells can be tackled adjusting atom type, number, distance, and disorder, and can take a long time to do. In many of these cases, leakage from the first shell just does not matter much, and one does not need (or have) constraints or restraints between parameters affecting the separate shells. In these cases, It is generally better to tell the fit to look only at the higher shell so that the inherent misfit in the first shell (inevitable, and generally of little importance to the result) does not dominate the total fit uncertainty. In short, it speeds up the process (both for the computer and the human) to fit only the second shell. I would say that this approach is not only "not wrong", it is a completely valid and recommended. In the end, it is a good idea to fit to the entire spectra as there can be subtle correlations between the parameters. If this step is forgotten, it hardly invalidates the analysis, but it is definitely better to do. --Matt
On Apr 10, 2009, at 12:28 PM, Matt Newville wrote:
In these cases, It is generally better to tell the fit to look only at the higher shell so that the inherent misfit in the first shell (inevitable, and generally of little importance to the result) does not dominate the total fit uncertainty. In short, it speeds up the process (both for the computer and the human) to fit only the second shell.
I find myself flipping back and forth right now between completely agreeing (I've done things somewhat like what you describe in my own fitting) and thinking that we've changed the discussion to a different kind of system. Let me take a stab at some circumstances in which I would use a fit to the first shell to fix parameters for analyzing other shells: * When there are a couple of distinct possibilities for the first shell, and I want to distinguish between them. For example, it might be tetrahedrally or octahedrally coordinated. But in a circumstance like that, I still don't quite use the results from the first shell fit directly. If the first-shell fit yielded a coordination number of 6.3 +/- 0.7, I'd use 6, figuring it was octahedral. Using 6.3 would seem to me to be a pointless introduction of error. * When the first shell is not important to me, but the second shell is. This often happens in my work because there may be a little oxidation on the surface of a metal nanoparticle. The monolayer of oxide may be very puzzling structurally and not of much interest. If I can get some rough value for it and then fit from the second shell up, I can get at the metal structure I'm interested in. But in that case, I wouldn't use the S02 and E0 from the first shell, since the second shell is better understood. * When the first shell is dominant in the spectrum, and thus the fit tries to use the second-shell paths to fine tune the first-shell feature rather than to fit the second-shell feature. I think this is essentially what you're describing. In that case, I tend to not only set the parameters for the first shell when looking at the second, I also move the fitting range so that it doesn't start until above most of the first-shell feature. In those cases, I'd agree with "valid and recommended." But this discussion started with a copper foil. And I've seen students at workshops applying it to systems of their own that are more like the copper foil (e.g. metal alloys) than the system you described. And it's always puzzled me. For cases like that, it seemed like the person was making more work for themselves by the back-and-forth of guessing and setting than by just extending the fit in a straightforward fashion. --Scott Calvin Sarah Lawrence College
Hi Scott, Sorry, I'm a little bit confused about what you are recommending for and against. Earlier today you said Well, I do know that many people do it that way, so it's not "wrong." But there are a number of problems with it: and By doing that [not fitting the 1st shell with the 2nd], you're then distorting the fit to the next shell. and Maybe someone who uses this strategy should speak up for it; I'd like to understand what the advantages are. When Jeremy responded, you asked him again what was the advantage of fixing the first shell while fitting the second shell. I read this (past and present form of "read") to mean that you do not approve of this approach. I do not see qualifications about what sorts of spectra you apply these rules to or mentions of special cases But you were eager to hear other opinions because clearly many people use this "problematic" approach...... Now you are saying that you sometimes do fit the 1st shell separately from the 2nd. Strange. It seems like you may have been deliberately provocative in order to get a response, or perhaps there is something else you are trying to get at? Could you please explain what you are recommending? --Matt
Sorry, I wasn't trying to be provocative or confusing. I was following up on Abhijeet's original thread, which was about fitting a copper foil, presumably as practice for similar kinds of materials, such as alloys. I have seen many people in workshops proceed as he suggests with systems like crystalline metals: fit the first shell, take those results and prevent them from varying, expand the R-range and add paths and parameters, and then fit over the entire range but only varying the parameters for the outer path. I've never understood the benefits for that method with that kind of system. It doesn't mean there aren't any. Then Jeremy responded that he used that approach, and, since I was still thinking of things like copper foils, I tried to confirm I understood the approach he was suggesting, and asked more about the reasoning. Then you responded. It seemed to me you were discussing a very different kind of case from what I thought we were talking about, and in that case, it made sense to fix parameters from the first shell and then fit the second separately. So I tried to lay out some circumstances under which I would do that, as we now seemed to be talking about a broader set of cases. So I'm not so much recommending anything right now as I am indicating what I do when and why I do it, and trying to figure out what other people are doing and why. One possibility is that there are people who are frequently working with systems like the one you describe, and so they teach their students to use the approach where they fix the values for the first shell before moving on to the second as a general technique. The students might then apply that technique to the generic practice problem of copper foil, just to get used to how the approach, which will be quite appropriate for systems they will be working with. Because the majority of the cases I work with aren't like that, it's not what I teach my students to do, with the corresponding downside that it wouldn't be the first thing that would pop into their head in a system for which it was appropriate. As we both know, fitting can be a complicated and somewhat subjective process. Both for my own skills and for my ability to teach others the technique, I would like to understand more about why people use the approaches they do. --Scott Calvin Sarah Lawrence College On Apr 10, 2009, at 3:03 PM, Matt Newville wrote:
Hi Scott,
Sorry, I'm a little bit confused about what you are recommending for and against. Earlier today you said Well, I do know that many people do it that way, so it's not "wrong." But there are a number of problems with it:
and By doing that [not fitting the 1st shell with the 2nd], you're then distorting the fit to the next shell.
and Maybe someone who uses this strategy should speak up for it; I'd like to understand what the advantages are.
When Jeremy responded, you asked him again what was the advantage of fixing the first shell while fitting the second shell.
I read this (past and present form of "read") to mean that you do not approve of this approach. I do not see qualifications about what sorts of spectra you apply these rules to or mentions of special cases But you were eager to hear other opinions because clearly many people use this "problematic" approach......
Now you are saying that you sometimes do fit the 1st shell separately from the 2nd. Strange. It seems like you may have been deliberately provocative in order to get a response, or perhaps there is something else you are trying to get at?
Could you please explain what you are recommending?
--Matt _______________________________________________ Ifeffit mailing list Ifeffit@millenia.cars.aps.anl.gov http://millenia.cars.aps.anl.gov/mailman/listinfo/ifeffit
Scott, I read Abhijeets's But what I know about fitting is that we have to first fit the first shell and then keeping the first shell parameter constant , we go for the next shell and Jeremy's I typically perform the fitting as you suggest, at least in complicated systems, one shell at a time. to mean they fit one shell at a time, that is: when the second shell is being fitted, the first is not and the fit R-range is changed for the 2nd shell fit to not include (most of) the first shell. As you say, there is very little value in having the R-range include the first shell if you're not actually adjusting parameters that affect that part of the spectrum. --Matt
If I could add to the discussion and understand a bit more from it, Does Scott mean that when the structure is kind of unknown or is disordered then one follows the approach practiced by Abhijeet. Whereas when one has a crystalline system - there is no merit in fixing the parameters of the first shell and adding more paths to it. If this is the case then I would like to agree with Scott based on my experience in analyzing data on Ni2MnGa type alloys in austenitic phase and martensitic phase.
Kaustubh
++++++++++++++++++++++++++++++++++++++++++++
Dr. Kaustubh R. S. Priolkar
Department of Physics,
Goa University
Taleigao Plateau,
Goa 403 206 India
Phone (O): 91-832-6519340
(R): 91-832-2412235
Fax: 91-832-2451184
email: krp@unigoa.ac.in
++++++++++++++++++++++++++++++++++++++++++++
----- Original Message ----
From: Matt Newville
participants (5)
-
abhijeet gaur
-
Kaustubh Priolkar
-
Kropf, Arthur Jeremy
-
Matt Newville
-
Scott Calvin