Regression method: the balanced Levenberg–Marquardt algorithm
The newAD2 program is designed to process many heterogeneous data sets simultaneously – most commonly ellipsometric and spectrophotometric data from different instruments, possibly along with data of other measured quantities – measured in different spectral ranges, with different numbers of points and of different physical nature. A naive sum of the weighted sums of squares over all data would in such a case favor data sets with a large number of points at the expense of data sets with fewer points, even though both could be equally important for the characterization. For this reason, newAD2 uses a special variant of the Levenberg–Marquardt algorithm (LMA) which solves this problem by balancing the contributions of the individual data sets. This method is referred to as the Balanced Levenberg–Marquardt algorithm. It was published and derived in detail in our paper [12] (see in particular Section 4 and Supplement 1, Section 1).
Partial sums of squares
For each of the \(N\) data sets (identified in newAD2 by the id of the experimental function, see the Modeling page) a partial sum of squares is calculated
$$ S_k(\vec p) = \sum_{j=1}^{N_k} w_{k,j} \left( Q_{k,j}^{\rm theory}(\vec p) - Q_{k,j}^{\rm exp} \right)^2 \text{,} $$where \(\vec p\) is the vector of sought model parameters, \(N_k\) is the number of points in the \(k\)-th data set, \(Q_{k,j}^{\rm exp}\) is the measured value of the \(j\)-th point of the \(k\)-th data set, \(Q_{k,j}^{\rm theory}(\vec p)\) is the corresponding theoretical value and \(w_{k,j}\) is the weight of the \(j\)-th point, defined as the inverse square of the estimated uncertainty of the measured quantity.
Standard and balanced algorithm
The sums of squares of the individual data sets enter the total sum of squares minimized by the LMA with balancing factors \(f_k\):
$$ S(\vec p) = \sum_{k=1}^{N} f_k S_k(\vec p) \text{.} $$
newAD2 offers two modes, switched by the Sequalization setting (a „S equalization“ checkbox in the graphical interface's Settings window, or the let Sequalization = on / let Sequalization = off command in text mode):
-
Standard LMA (
Sequalization = off): the factors \(f_k\) are fixed constants throughout the fit (equal to 1 by default). They can be set manually with thefactorcommand. -
Balanced LMA (
Sequalization = on, the default): the factors \(f_k\) are recalculated at the beginning of every iteration according to $$ f_k = \frac{t_k}{S_k(\vec p)} \text{,} $$ where \(t_k\) are pre-selected target values (\(t_k=1\) for all data sets by default), which can be set with thetargetcommand. This ensures that the contribution \(f_k S_k(\vec p)\) of every data set to the total sum is proportional to its target value \(t_k\), regardless of the number of points or the physical nature of the given data set.
At the minimum \(\vec p_{\min}\), the factors \(f_k\) and the sums \(S_k(\vec p_{\min})\) no longer change, and it can be shown that the solution found by the balanced algorithm corresponds to the stationary point of a different, equivalent merit function of product form:
$$ M(\vec p) = \prod_{k=1}^{N} S_k^{t_k}(\vec p) \text{.} $$The complete derivation of this equivalence is given in Supplement 1 (Section 1) of paper [12].
Assessing the fit quality – \(\chi\)
The quality of agreement between the theoretical and experimental values for the individual data sets is assessed using the quantity \(\chi_k\), defined in the usual way as
$$ \chi_k(\vec p) = \sqrt{\frac{S_k(\vec p)}{N_k}} \text{.} $$A value of \(\chi_k\) close to unity means that the differences between the theoretical and experimental values correspond to the estimated measurement uncertainties. In addition to the \(\chi_k\) of the individual data sets, an overall value \(\chi\) is calculated to assess the fit quality of all data sets together. This quantity is defined differently depending on which of the two algorithms above is used – in both cases, however, it is chosen so that it decreases monotonically together with the value of the minimized merit function.
For the standard LMA (Sequalization = off):
For the balanced LMA (Sequalization = on):
If all target values are the same, for example the default \(t_k=1\), the last formula simplifies to the geometric mean of the individual \(\chi_k\):
$$ \chi(\vec p) = \left( \prod_{k=1}^{N} \chi_k(\vec p) \right)^{1/N} \text{.} $$It is important to realize that the \(\chi\) formula used with S equalization switched off is not, in general, a monotonic function of the merit function \(M(\vec p)\) that is actually being minimized when S equalization is switched on (and vice versa).
Practical usage in newAD2
Overview of the related text-mode commands (for more details see the newAD2 page):
-
let Sequalization = on|off– switches between the balanced and the standard algorithm (on by default); this setting can also be changed in the newAD2gui graphical interface, the other commands mentioned here are available only in text mode. -
target id value– sets the target value \(t_k\) of data set id, used in the balanced mode. -
factor id value– manually sets the factor \(f_k\) of data set id, used in the standard mode. -
factor(without arguments) – performs a one-time setting of all factors \(f_k=t_k/S_k(\vec p)\) for the current parameter values – unlike S equalization switched on, however, they are not recalculated in subsequent iterations. -
settings– prints the current settings, including the S equalization state. -
informations– prints, among other things, the current values of \(S_k\), \(f_k\), \(\chi_k\) and \(\chi\) for all data sets; these values are also saved to the output files.
|