[Ifeffit] Use of restraint

Bruce Ravel bravel at bnl.gov
Wed Jun 22 10:55:50 CDT 2016


A restraint is implemented in Larch and Ifeffit as a term that is 
evaluated then added in quadrature to the chi-square fitting metric.  It 
can be of any functional form.  Matt's example in the talk that you 
provided the link for involves a well-shaped functional form using 
ifeffit's built-in "penalty" function.  That function is has linear 
walls with a flat bottom.

The idea of that functional form is that you think you know the 
approximate value of parameter.  For instance, you might think that S02 
should be between 0.7 and 0.95.  As long as the fitted value of S02 is 
between 0.7 and 0.95, the penalty will evaluate to 0 and there will be 
no addition to chi-square.  As the fitted value of S02 wanders outside 
of that range, the restraint takes on a value which is added in 
quadrature to chi-square.

The way to think about this is that the restraint encourages S02 to stay 
within range, but allows it to go outside of the range if the data part 
of the fit improves enough to overcome the penalty imposed by the 
restraint part of the fit.  So S02 can be a bit outside of the range if 
it really, truly improves things.  To say that another way, the 
restraint is a way to allow the fit to prove your initial assumption 
wrong (or accept it if it is right).

The restraint is not required to have this functional form.  The 
well-shaped function is handy, but it can be anything.  Here's an 
  (That's mostly taken from a similar example Matt presented in a talk 
on bond valence sums -- a bit of googling should turn up that talk of his.)

In Artemis, you specify the restraint with a math repression.  In that 
sense, it is just like a def parameter.  However, the restraint is 
handled differently behind the scenes.  Ifeffit and Larch each have 
their way of specifying a restraint -- Artemis does the right thing with 
the restraint's math expression.

At the end of the fit, Artemis simply evaluates the math expression. 
That evaluation is the thing that is added in quadrature to the data 
part of chi-square.  The chi-square reported in the log file is the 
sum-in-quadrature of the data part and the restraint part.

All of that makes all kinds of sense, but only because I haven't 
discussed how much you should trust you assumptions.  That is, in the 
S02 example above, you need to decide how strongly you believe that S02 
should be between 0.7 and 0.95.  If you are highly confident, then the 
scaling factor should be large.  That will make the evaluation of the 
restraint a large number even for a small deviation from the bounds. 
When added in quadrature to the data part of chi-square, this will have 
the effect of only allowing S02 to wander out of bounds if is REALLY, 
REALLY improves the fit.

If, on the other hand, you aren't feeling very confident of your 
assumption about S02, make the scale a small number.  This will have the 
effect of allowing a much bigger deviation from the bounds before the 
penalty applied to chi-square has an impact.

The thing about "square root of chi-square" is an observation that's 
been made over the years.  That's a size that tends to be neither large 
nor small in the sense explained above.  It's a size that doesn't show 
high confidence in the assumption, but does show some confidence.  How 
much confidence you have is something you have to decide for yourself.

Hope that helps,

On 06/22/2016 09:05 AM, Maureen Le Bars wrote:
> Hello,
> I have a couple of questions about data analysis on artemis
> I used a restraint for my fits. I've read some documentation about it
> and found Matt Newville's talk
> (https://pubweb.bnl.gov/~frenkel/BNLworkshop2001/newville.pdf). It is
> reported that a restraint adds a "V" term to the chi-square (slides
> number 16 and 17).
> According to this formula, what is the number that artemis gives for the
> "restrain" parameter at the end of the fit? How should we consider this
> number in the evaluation of the fit ?
> I also don't really know very much about the scaling factor to apply in
> the formula : scale*penalty(X,a,b). I've read that the square root of
> chi-squareseems to be a good size from some of Bruce Ravel's answers in
> ifeffit mailing list. How does the scaling factor control the restraint
> ? What is its relationship with the chi-square ?
> Thank you in advance for your help,
> Maureen
> /PhD student at CIRAD - ADEME//
> //CEREGE - Europôle de l'Arbois//
> //BP 80//
> //13545 Aix en Provence Cedex 4
> France
> +33 4 42 97 15 48/
> _______________________________________________
> Ifeffit mailing list
> Ifeffit at millenia.cars.aps.anl.gov
> http://millenia.cars.aps.anl.gov/mailman/listinfo/ifeffit
> Unsubscribe: http://millenia.cars.aps.anl.gov/mailman/options/ifeffit

  Bruce Ravel  ------------------------------------ bravel at bnl.gov

  National Institute of Standards and Technology
  Synchrotron Science Group at NSLS-II
  Building 743, Room 114
  Upton NY, 11973

  Homepage:    http://bruceravel.github.io/home/
  Software:    https://github.com/bruceravel
  Demeter:     http://bruceravel.github.io/demeter/

More information about the Ifeffit mailing list