Gnuplot 2: illesztés

Jegyzetben a 7. fejezet (88-96. oldalig).
Mazsix gnuplot oldalának fit fejezete.

Görbék illesztése


Elmélet

Több módszer létezik arra, hogy egy empirikus görbét hozzáillesszünk (reggesszió vagy angolul "fit") a megmért adatainkhoz. Ezek közül a "Nemlineáris legkisebb négyzetek módszerét" használja a Gnuplot. Az eljárás a nevét arról kapta, hogy az eltérések négyzetösszegét igyekszik minimalizálni. A regresszió analízisben akkor beszélünk nem-lineáris regressziószámításról, ha a függő és független változók közötti kapcsolat nem írható le lineáris függvénnyel.

LKNM

  • Vegyük az *f(x,a,b,c,...) függvényt
  • Legyen:

\begin{equation} \chi^2(a,b,c,...)=\sum^N_{i=1} \frac{[y_i-f(x_i,a,b,c,...)]^2}{\sigma_i^2}, \end{equation} ahol: \begin{equation} x_i, y_i \ \ \ -\ \ \ mérési\ adatok\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \end{equation} \begin{equation} a,b,c,....\ \ \ -\ \ \ paraméterek \ (ezeket\ keressük) \end{equation} \begin{equation} \sigma_i\ \ \ -\ \ \ y_i\ szórása \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \end{equation}

1. Görbe illesztés Gnuplotban

  • Első lépésben definiálni kell a keresett alakú függvényt
    • Példa: f(x)=a*x+b
  • El kell végezni az illesztést
    • Erre a fit utasítás szolgál
    • Használata:
fit FÜGGVÉNY ADATSOR via PARAMÉTEREK
fit f(x) "sinusadatok.txt" via a,b
  • Végül meg kell vizsgálni az illesztést, és el kell dönteni, sikeres-e

Mikor jó egy illesztés?

  1. "Brute-force" jól néz ki
  2. "Relatív" kicsi az illesztési hiba
  3. Statisztikailag elfogadható az illesztés (χ2 teszt)

Akkor jó statisztikailag az illesztés, ha: \begin{equation} \rho_{crit}>"final\ sum\ of\ squares\ of\ residuals", \end{equation}

adott konfidencia szint mellett.

Gnuplot illesztéskor a következő 2 paraméter jelenik meg:

  • Szabadsági fokok száma: FIT_NDF
  • Négyzetes összeg: "final sum of residuals"

A kritikus értéket, pedig táblázatból lehet kikeresni (http://kaufmann.web.elte.hu/estat/Khi_negyzet.pdf)

A próblémával bővebben az "Elemi Statisztika" előadás foglalkozik. http://kaufmann.web.elte.hu/estat/ES11n.pdf

Adott adatoszlopra történő illesztés

Ha megadott adatokra akarunk illeszteni egy adatfájlból, akkor itt is a using kapcsolót kell használni a plot parancshoz hasonlóan.

Példa

fit f(x) "sinusadatok.txt" using 2:(tan($3)) via a,b

Megj.: Itt is van lehetőség az adatokon műveleteket végezni.

Adott adattartományra történő illesztés

Ha nem a teljes adatsorra, csak egy részére akarunk illeszteni, itt is van lehetőség limitek beállítására:

fit [0:10] [-1:1] f(x) 'sinusadatok.txt' u 1:2 via a,b

2. Hibasávok ábrázolása

Minden mérés rendelkezik hibával, amit az ábrán fel is szoktunk tüntetni.

Hibasávok ábrázolásához szükséges még egy adatoszlopra, illetve az errorbars kapcsoló használatára a plot parancsnál:

plot "sinusadatok.dat" using 2:3:($1/100) with errorbars
            Tömören:
p "sinusadatok.dat" u 2:3:($1/100) w e