Next: 7.6 Goodness of Fit Parameters Up: 7 Fitting XAFS Data with Previous: 7.4 Executing a Fit

## 7.5 Estimating the uncertainties in fitted variables

The uncertainties in the fitted variables will be estimated by the feffit command immediately after the fit is done. No extra input from the user is required for this automated error analysis. The correlations between pairs of variables will also be calculated. We'll get to those is a bit, after talking about the variable uncertainties.

For each variable xxx, the scalar delta_xxx will be used to store the estimated uncertainty for that variable. This allows you to see the uncertainties two ways. Either you can either view the set of variables, best fit values and uncertainties together

```  Iff> show @variables
s02            =      0.93747649 +/-      0.02586825
e0             =     -0.86703986 +/-      0.34801825
delr           =      0.00757485 +/-      0.00153554
ss2            =      0.00352229 +/-      0.00015579
```
or you can select individual variables or uncertainties
```  Iff> show s02, delta_s02, e0, delta_e0
s02            =       0.937476486
delta_s02      =       0.025868253
e0             =      -0.867039864
delta_e0       =       0.348018253
```
The estimated uncertainties reflect the goodness-of-fit statistics and include the correlations between variables. Of course, the uncertainties are only an estimate. Also, note that if a variable is later set with a set() or def() command, the scalar delta_xxx will remain, probably holding an irrelevant value.

As mentioned above, the correlations between pairs of fit variables are also generated by feffit(). Because there are very many possible correlation parameters, many of which are small and uninteresting, these values are not automatically converted to Program Variables, but are kept internally (until the next time you execute a feffit() or minimize() command.) To view the correlations or to convert them to Program Variables, you can use the correl() command. A simple way to print out all the correlations is to say

```  Iff> correl(@all,@all,print)
correl_delr_s02 =    0.115944
correl_delr_e0  =    0.870971
correl_ss2_s02  =    0.880360
correl_ss2_delr =    0.116302
```
The will create the scalars shown (correl_XX_YY for variables XX and YY) and print out their values. The correl() command (further discussed in section 9.5) takes its first two arguments as the name of the variables to find the correlation of (with the special value @all meaning to find the correlations with all variables). The keyword print means to print out as well as save the correlation values. The minimum correlation (absolute value) to report can be set with the min keyword - the default value is 0.05.

Next: 7.6 Goodness of Fit Parameters Up: 7 Fitting XAFS Data with Previous: 7.4 Executing a Fit
Matt Newville
2004-02-09