Zpracování výsledků měření početními metodami Měříme závislost jedné veličiny na druhé. Měření - soubor hodnot {y i, x i } a příslušných chyb. Hledáme vyjádření závislosti y = f(x; p 1,.., p n ). Chceme určit hodnoty parametrů závislosti p 1,.., p n a to včetně chyb σ p1,.., σ pn.
Metoda nejmenších čtverců Neznámější vyrovnávací(fitovací) metoda. Proložení křivky y = f(x, p 1,..., p k ) daty nalezení parametrů p 1, p 2,..., p k tak, aby křivka co nejlépe přiléhala k naměřeným bodům [x i, y i ]. Potřebuji kriterium kvality vyrovnání.
Metoda nejmenších čtverců Odchylky: Podmínka: ɛ i = y i y(x i, p 1,..., p k ) χ 2 = i ɛ 2 i σi 2 = min. - residuální součet čtverců = χ2 p i = 0, i = 1, 2,..., k. Nejčastější regresní funkce: y = a + bx y = a + bx + cx 2 y = p 0 + p 1 x + + p r x r y = a + b x y = ae bx lineární regrese kvadratická regrese polynomiální regrese hyperbolická regrese exponenciální regrese
Lineární regrese Metoda nejmenších čtverců pro regresní funkci y = a + bx. χ 2 = i σ 2 i (y i a bx i ) 2 Nejjednodušší případ. V tomto případě lze dojít k exaktnímu řešení: a = x 2 i yi x i xi y i n x 2 i ( x i ) 2 σ a = σ y xi n x 2 i ( x i ) 2 b = n x i y i x i yi n x 2 i ( x i ) 2 σ b = σ y n n x 2 i ( x i ) 2 kde σ y = 1 n i=1 n 1 (y i a bx i ) 2.
Nelineární regrese V ostatních případech je řešení složitější. Linearizace: Převedení dat do nových proměnných, v kterých očekáváme lineární tvar závislosti. POZOR: Je nutné přepočítat i chyby. Nafitování lineární závislosti - získání parametrů včetně chyb. Převod zpět do původních proměnných a to včetně chyb. Příklad: y = 1 a + bϕ(x) z = 1 y z = a + bϕ(x) y = ce bϕ(x) z = ln y z = a + bϕ(x); a = ln c Numerické řešení Excel: - automatické fitování jednoduchých funkcí, nebo použití minimalizéru - nutné spočítat chyby manuálně. Speciální software - GNUplot, ROOT,...
Fitování v Excelu (OpenOffice,... ) Hodnoty s chybami do tabulky a do grafu:
Fitování v Excelu (OpenOffice,... ) Určení koeficientů z podle y = a + b x Fitem v grafu. Pouze pro měření se stejnými chybami.
Fitování v Excelu (OpenOffice,... ) Určení koeficientů z podle y = a + b x pomocí funkce: SLOPE a INTERCEPT. Pouze pro měření se stejnými chybami.
Fitování v Excelu (OpenOffice,... ) Určení koeficientů z podle y = a + b x pomocí funkce: LINEST. Pouze pro měření se stejnými chybami. POZOR finta: ctr+shift+enter = vkladani pole. http://cameron.econ.ucdavis.edu/excel/ex54regressionwithlinest.html linest.pdf v materiálech k ZFM a = 2 ± 10 b = 5.0 ± 0.3
POZOR: SLOPE(), INTERCEP(), LINEST() neberou v úvahu chyby změřených bodů. Fitování v Excelu (OpenOffice,... ) Určení koeficientů z podle y = a + b x pomocí funkce: SLOPE a INTERCEPT. Pouze pro měření se stejnými chybami.
Fitování v Excelu (OpenOffice,... ) Jak to udělat naprosto správně?... naprosto manuálně. Postup: Spočítat hodnoty čtverců odchylek vážených chybami. Minimalizovat pomocí minimalizéru v Excelu. Dopočítat chyby. Zní to složitě a pracně...... a je to složité a pracné.... ale může se to hodit.
Fitování v Excelu (OpenOffice,... ) Zavedeme políčka pro parametry a, b a a spočítáme: χ 2 = i ɛ 2 i σi 2, kde ɛ i = y i y(x i, p 1,..., p k ) V našem případě lineárního fitu: χ 2 = i σ 2 i (y i a bx i ) 2 Je dobré zvolit rozumné počáteční hodnoty do políček pro parametry. (Zde se hodí primitivní fitování podle oka )
Fitování v Excelu (OpenOffice,... ) Výpočet χ 2 :
Fitování v Excelu (OpenOffice,... ) Minimalizace χ 2 pomocí Tools Solver : (Open Office potřebuje NLPsolver plugin)
Fitování v Excelu (OpenOffice,... ) Minimalizace - výsledek:
Fitování v Excelu (OpenOffice,... ) Srovnání (modrý fit bere v potaz chyby dat):
Fitování v Excelu (OpenOffice,... ) Nyní zbývá spočítat σ a, σ b podle: xi σ a = σ y n x 2 i ( x i ) 2 n σ b = σ y n x 2 i ( x i ) 2 kde σ y = 1 n (y i a bx i ) n 1 2. i=1
Fitování v Excelu (OpenOffice,... ) Kompletní výsledek:
Srovnání výsledků lineární regrese v Excelu Automatický fit Excelu - nebere v potaz chyby dat Manuální fit Excelu - používají se chyby dat a = 2 ± 10 b = 5.0 ± 0.3 a = 10 ± 2 b = 5.5 ± 0.3
Fitování v Excelu - závěr Použitelné v případě: - Jednoduchá fitovací funkce. - Pokud mě nezajímají chyby (např. kalibrační křivky) - Data mají stejné nebo žádné (rozuměj zanedbatelné) chyby. - Případě nouze,... Nevýhoda: Pracné, zdlouhavé - Linearizace - Hodně příležitostí k chybám Zábava na celé odpoledne. Jak zvládnout to samé v pěti minutách?...
GNUplot - lehký úvod Nástroj na 2D zobrazování dat: Ovládání přes příkazovou řádku Skriptovatelnost Lze fitovat jakoukoliv funkcí. Automaticky vypočítá chyby. Kvalitně vypadající výsledky. Možnost uložit jako.eps Velmi konfigurovatelný Zdarma. Součást distribuce Linuxu. Existuje i pro Windows. http://www.gnuplot.info/download.html
GNUplot - lehký úvod Kde sehnat informace, manuály, ukázky - Stránky praktika: http://praktiku.fjfi.cvut.cz - Spousta manuálů: http://www.root.cz/serialy/gnuplot/ http://www.duke.edu/ hpgavin/gnuplot.html http://t16web.lanl.gov/kawano/gnuplot/index-e.html http://www.ibm.com/developerworks/library/l-gnuplot/ http://physicspmb.ukzn.ac.za/index.php/gnuplot tutorial
GNUplot Vstup dat ze souboru: data.txt: # x y chyba y 10 44.0 2.0 15 78.0 5.0 20 109.0 8.0 30 142.0 12.0 50 270.0 20.0 70 340.0 40.0 Poznamka: Je nutné používat desetinnou tečku nikoliv čárku. Pro vykreslení stačí jeden příkaz: plot./data.txt using 1:2:3 with yerrorbars title "data"
GNUplot Skript pro lineární regresy: f(x)=a*x+b A=1 B=1 fit f(x)./data.txt using 1:2:3 via A,B titulek1="data" titulek2="fit" set xlabel "U [V]" set ylabel "I [ma]" set grid x y set terminal png set output obrazek.png plot./data.txt using 1:2:3 title titulek1 \ with yerrorbars, f(x) title titulek2
GNUplot Výsledek:
GNUplot Výsledek: