| change to English
Pro správné zobrazení těchto stránek vypněte si, prosím, AdBlock (na stránkách nejsou reklamy).

newAD2 - program pro optickou charakterizaci

Regresní metoda: balancovaný Levenberg–Marquardtův algoritmus

Program newAD2 je navržen tak, aby dokázal zpracovávat současně mnoho heterogenních datových sad – nejčastěji elipsometrická a spektrofotometrická data z různých přístrojů, případně i data dalších měřených veličin – měřených v různých spektrálních oblastech, s různým počtem bodů a různou fyzikální povahou měřené veličiny. Naivní součet vážených sum čtverců přes všechna data by v takovém případě zvýhodňoval datové sady s velkým počtem bodů na úkor datových sad s malým počtem bodů, byť by obě mohly být pro charakterizaci stejně důležité. newAD2 proto používá speciální variantu Levenberg–Marquardtova algoritmu (LMA), která tento problém řeší vyvažováním (balancováním) příspěvků jednotlivých datových sad. Pro tuto metodu bylo zavedeno označení Balanced Levenberg–Marquardt algorithm. Metoda byla publikována a podrobně odvozena v naší práci [11] (viz zejména sekce 4 a Supplement 1, sekce 1).

Parciální sumy čtverců

Pro každou z \(N\) datových sad (identifikovaných v newAD2 pomocí id experimentální funkce, viz stránka Modelování) se počítá parciální suma čtverců

$$ 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{,} $$

kde \(\vec p\) je vektor hledaných parametrů modelu, \(N_k\) je počet bodů v \(k\)-té datové sadě, \(Q_{k,j}^{\rm exp}\) je naměřená hodnota \(j\)-tého bodu \(k\)-té datové sady, \(Q_{k,j}^{\rm theory}(\vec p)\) je odpovídající teoretická hodnota a \(w_{k,j}\) je váha \(j\)-tého bodu, definovaná jako převrácená hodnota čtverce odhadnuté nejistoty měřené veličiny.

Standardní a balancovaný algoritmus

Sumy čtverců jednotlivých datových sad se do celkové sumy čtverců, kterou LMA minimalizuje, skládají s balančními faktory \(f_k\):

$$ S(\vec p) = \sum_{k=1}^{N} f_k S_k(\vec p) \text{.} $$

newAD2 nabízí dva režimy, přepínané nastavením Sequalization (v grafickém rozhraní zaškrtávacím políčkem „S equalization“ v okně Settings, v textovém režimu příkazem let Sequalization = on / let Sequalization = off):

V bodě minima \(\vec p_{\min}\) se faktory \(f_k\) i sumy \(S_k(\vec p_{\min})\) dále neupravují, takže lze ukázat, že řešení nalezené balancovaným algoritmem odpovídá stacionárnímu bodu jiné, ekvivalentní účelové funkce ve tvaru součinu:

$$ M(\vec p) = \prod_{k=1}^{N} S_k^{t_k}(\vec p) \text{.} $$

Úplné odvození této ekvivalence je uvedeno v Supplementu 1 (sekce 1) k práci [11].

Hodnocení kvality fitu – \(\chi\)

Kvalita shody teoretických a experimentálních hodnot pro jednotlivé datové sady se hodnotí pomocí veličiny \(\chi_k\), definované obvyklým způsobem jako

$$ \chi_k(\vec p) = \sqrt{\frac{S_k(\vec p)}{N_k}} \text{.} $$

Hodnota \(\chi_k\) blízká jedné znamená, že rozdíly mezi teoretickými a experimentálními hodnotami odpovídají odhadnutým nejistotám měření. Kromě \(\chi_k\) jednotlivých datových sad se počítá i celková hodnota \(\chi\) hodnotící kvalitu fitu všech datových sad dohromady. Tato veličina je definována odlišně podle toho, který z výše uvedených dvou algoritmů je použit – v obou případech je ovšem zvolena tak, aby monotónně klesala společně s hodnotou minimalizované účelové funkce.

Pro standardní LMA (Sequalization = off):

$$ \chi(\vec p) = \sqrt{\frac{S(\vec p)}{\sum_{k=1}^N f_k N_k}} \text{.} $$

Pro balancovaný LMA (Sequalization = on):

$$ \chi(\vec p) = \left( \prod_{k=1}^{N} \chi_k^{t_k}(\vec p) \right)^{1/t} \text{,} \qquad t=\sum_{k=1}^N t_k \text{.} $$

Pokud jsou všechny cílové hodnoty stejné, například implicitní \(t_k=1\), zjednoduší se poslední vzorec na geometrický průměr jednotlivých \(\chi_k\):

$$ \chi(\vec p) = \left( \prod_{k=1}^{N} \chi_k(\vec p) \right)^{1/N} \text{.} $$

Je důležité si uvědomit, že vzorec pro \(\chi\) používaný při vypnutém nastavení S equalization není obecně monotónní funkcí účelové funkce \(M(\vec p)\), která se ve skutečnosti minimalizuje, je-li nastavení S equalization zapnuté (a naopak).

Praktické použití v newAD2

Přehled souvisejících příkazů textového režimu (podrobněji viz stránka newAD2):