ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE F AKULTA ELEKTROTECHNI CKÁ
BAKALÁŘSKÁ PRÁCE
Jakub Klíma
2008
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická Katedra měření
STATISTICKÉ ZPRACOVÁNÍ VÝSLEDKŮ MĚŘENÍ
STATISTICAL EVALUATION OF MEASUREMENT RESULTS
Vedoucí páce Ing. Radek Sedláček, Ph.D.
Autor Jakub Klíma Praha 2008
PROHLÁŠENÍ
Prohlašuji, že jsem svou bakalářskou práci vypracoval samostatně pod vedením Ing. Radka Sedláčka, Ph.D. a použil jsem pouze podklady (literaturu, projekty, SW atd.) uvedené v přiloženém seznamu. Nemám závažný důvod proti užití tohoto školního díla ve smyslu § 60 Zákona č.121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů (autorský zákon).
V Praze dne …………………………………….
……………………………………. podpis
1
ANOTACE Ve své bakalářské práci se budu věnovat popisu programu pro statistické zpracování výsledků měření, který jsem naprogramoval. K vytvoření programu jsem použil prostředí Microsoft Visual Studio 2008 a programovací jazyk C#. Program umožňuje načtení experimentálních dat z externího textového souboru. Vlastní zpracování údajů zahrnuje posouzení odlehlých výsledků pozorotest, Kolmogorovvání, ověření naměřených dat z hlediska normality (histogram, Smirnovův test), dále určení konfidenčních mezí náhodné a nevyloučené systematické chyby a v neposlední řadě též stanovuje celkovou krajní chybu měření. K LÍ Č OV Á S L OV A : Statistické zpracování, C#, normální (Gaussovo) rozložení, histogram, testy normality, konfidenční meze.
2
ANNOTATION In my baccalaureate work I will attend to a description of a programme for the statistical evaluation of measurement results. To make this programme up I used the software called Microsoft Visual Studio 2008 and the programming language C#. My programme enables to unload experimental data from an external text file. The own processing of data includes examination of the remote results of sighting, checking of the measured data in term of normality (histogram, χ2 -test, Kolmogorov-Smirnov test), than determination of the confidence bound of random and non-eliminated systematic error. Not least the programme determinates the total extreme measurement error. K E Y W OR D S : Statistical processing, C#, Normal distribution (Gaussian distribution), Histogram, Test of the normality, Confidence bound.
3
O BSAH Anotace ....................................................................................................................................... 2 Annotation .................................................................................................................................. 3 1
Úvod..................................................................................................................................... 6
2
Teoretický úvod do použitých statistických metod ................................................................. 8
3
4
2.1
Grubbsův test .......................................................................................................................... 8
2.2
Absolutní chyba ....................................................................................................................... 8
2.3
Relativní chyba ........................................................................................................................ 9
2.4
Histogram ................................................................................................................................ 9
2.5
Aritmetický průměr ................................................................................................................. 9
2.6
Medián................................................................................................................................... 10
2.7
Směrodatná odchylka ............................................................................................................ 10
2.8
Směrodatná odchylka výsledku jednoho pozorování ........................................................... 10
2.9
Střední kvadratická chyba aritmetického průměru ............................................................... 10
2.10
Pravděpodobná chyba aritmetického průměru .................................................................... 11
2.11
Krajní chyba měření............................................................................................................... 11
2.12
Distribuční funkce .................................................................................................................. 11
2.13
Test dobré shody – kritérium 1 ............................................................................................. 12
2.14
Test dobré shody – kritérium 2 ............................................................................................. 13
2.15
Chí kvadrát test...................................................................................................................... 13
2.16
Kolmogorov-Smirnovův test .................................................................................................. 13
2.17
Konfidenční meze náhodné chyby výsledku měření ............................................................. 15
2.18
Směrodatná odchylka nevyloučené systematické chyby ...................................................... 15
2.19
Konfidenční meze nevyloučené systematické chyby ............................................................ 15
2.20
Konfidenční meze celkové chyby měření .............................................................................. 16
Zvolená metoda zpracování a cíl práce................................................................................. 17 3.1
Volba jazyka C# ...................................................................................................................... 17
3.2
Požadavky kladené na program ............................................................................................ 17
3.3
Úskalí C# ................................................................................................................................ 17
3.4
Budoucí upgrade ................................................................................................................... 18
3.5
Přínos bakalářské práce ......................................................................................................... 18
Jádro práce: popis programu ............................................................................................... 19 4.1
Grafika ................................................................................................................................... 19
4
5
4.2
Celkový vzhled programu ...................................................................................................... 20
4.3
Hlavní lišta ............................................................................................................................. 20
4.4
Rozbor záložek ....................................................................................................................... 22
4.5
Naměřená data ...................................................................................................................... 22
4.6
Základní zpracování ............................................................................................................... 23
4.7
Histogram .............................................................................................................................. 25
4.8
Chyby měření......................................................................................................................... 27
4.9
Distribuční funkce .................................................................................................................. 28
4.10
Testy dobré shody ................................................................................................................. 30
4.11
Konfidenční meze .................................................................................................................. 35
Výsledky práce (experimentální část) .................................................................................. 37 5.1
Experimentální data .............................................................................................................. 37
5.2
Zobrazení naměřených dat.................................................................................................... 38
5.3
Porovnání hodnot základního zpracování ............................................................................. 38
5.4
Zobrazení histogramu............................................................................................................ 40
5.5
Porovnání vypočtených chyb měření .................................................................................... 41
5.6
Zobrazení distribuční funkce ................................................................................................. 41
5.7
Srovnání testů dobré shody .................................................................................................. 42
5.8
Porovnání konfidenčních mezí .............................................................................................. 43
5.9
Další testování ....................................................................................................................... 43
6
Závěr .................................................................................................................................. 45
7
Poděkování ......................................................................................................................... 47
8
Citovaná literatura .............................................................................................................. 48
9
Bibliografie ......................................................................................................................... 49
10 Přílohy ................................................................................................................................ 50 10.1
Seznam tvarů vývojového diagramu ..................................................................................... 50
5
1 Ú VOD Předmětem mé bakalářské práce bylo vytvoření programu, který lze využít ke statistickému zpracování výsledků měření. Dosud byla k dispozici pro řešení obdobných problémů pouze starší verze programu tohoto charakteru. Bylo však zapotřebí jej značně obnovit- zejména pro nemožnost načtení většího množství dat z externího datového souboru. Další nevýhodou byla nutnost vlastnit software Matlab, neboť v něm byl původní program, resp. pouze skript, vytvořen. V neposlední řadě byl stávající program znevýhodněn též z důvodu nepoužitelnosti při vlastnění nekompatibilní verze prostředí Matlab. Motivací k výběru zadání bakalářské práce byla zejména má osobní snaha naučit se zacházet s programovacím jazykem C#, jehož prostřednictvím jsem zadání realizoval. Dalším impulzem pro volbu byla také potřeba rozšíření si vlastních vědomostí v oblasti statistických funkcí využívaných v mém studijním oboru. Součástí mé bakalářské práce je nejen vytvoření samotného programu, ale také tento doprovodný text, v němž se budu věnovat jeho popisu. Může proto také posloužit potenciálnímu uživateli- a to jednak jako „návod k použití“ a na druhou stranu také pochopitelně jako prostředek pro bližší poznání možností a vlastností programu Při vytváření softwaru jsem se pohyboval ve vývojovém prostředí Microsoft Visual Studio 2008 a jako programovací nástroj jsem zvolil jazyk C#. Ohlédnu-li se zpět, považuji tento výběr za šťastný. Nicméně bych na tomto místě rád dodal, že jsem na druhou stranu touto volbou sám sebe znevýhodnil tím, že všechny kódy pro statistické testy jsem musel osobně implementovat. Výsledkem úsilí se stal – jak předpokládám- uživatelsky intuitivní program. Jeho prostřednictvím lze načíst velké množství hodnot uložených v externím datovém souboru. Po načtení dat lze snadno přistoupit k samotnému zpracování. To zahrnuje: posouzení odlehlých výsledků pozorování ověření naměřených dat z hlediska normality (histogram, test, Kolmogorov-Smirnovův test (KS test)) určení konfidenčních mezí náhodné a nevyloučené systematické chyby stanovení celkové krajní chyby měření vykreslení diskrétní distribuční funkce Množství dat k vyhodnocení může být velmi rozsáhlé (při testování se mi podařilo zpracovat až 500 000 hodnot; toto množství je výrazně závislé na výkonu konkrétního počítače a zejména na velikosti jeho operační paměti). Předpokládám, že program může být využit studenty jako učební pomůcka k zpracování výsledků jejich vlastního měření. Má naznačit postup při zpracování a ukázat, jestli data z měření, resp. jakákoli jiná data, mají normální rozložení a jsou dále použitelná k samotnému zpracování. Je zřejmé, že program může být využíván nejen studenty, ale i kterýmkoli z pedagogů a jiných akademických pracovníků ČVUT.
6
Kupování licencí pro statistické programy je značně drahé, proto za přínos pro fakultu také považuji prakticky nulovou ekonomickou nákladnost při získání mnou vytvořeného programu.
7
2 T EORETICKÝ ÚVOD DO POUŽITÝCH STATISTICKÝCH METOD S T A TI ST I K A je matematická věda a zároveň z původního pohledu postup, jak rozvíjet lidské znalosti použitím empiricky získaných dat. Tato věda je větví aplikované matematiky. Pomocí teorie pravděpodobnosti jsou v teorii statistiky modelovány náhodnost a neurčitost. T E ORI E P RA V D ĚP O D OB NO ST I je dnes základním teoretickým oborem pro matematickou statistiku. V této teorii na základě znalosti chování určité náhodné veličiny (tedy na základě zákona rozdělení pravděpodobnosti) určujeme pravděpodobnost určitého chování systému v dané situaci (tzn. určujeme výsledek náhodného pokusu). V matematické statistice je tomu naopak, tzn. na základě určitých dat (tzv. náhodného výběru) hledáme obecný model chování náhodné veličiny (obvykle charakteristiky rozdělení). Tento postup, tzn. hledání rozdělovacího zákona nebo charakteristik rozdělení, se označuje jako STATISTICKÁ INDUKCE. S T A TI ST IC K Á AN A LÝ Z A D AT nabývá na stále větším významu a zároveň se stává jedním ze základních přístupů v celé řadě technicky, přírodovědně, lékařsky a sociálně zaměřených věd. Výhodou počítačové analýzy může být zpracování souborů obsahujících např. řádově až statisíce hodnot. V E S V ÉM PR OGR AM U sloužícím ke statistické analýze dat získaných praktickým měřením, využívám (dle zadání bakalářské práce) následujících statistických testů a metod:
2.1 G RUBBSŮV TEST V případě, že se v získané skupině výsledků pozorování jeden nebo dva výsledky výrazně odlišují od všech ostatních, je nutné otestovat, zda tyto výsledky nejsou zatíženy hrubými chybami a není je tudíž nutno vyloučit ze skupiny. Jako nejvhodnější statistickou metodu pro použití k těmto účelům jsem zvolil metodu F. E. Grubbse- tzv. Grubbsův test. [1] Testujeme-li hodnoty, zda nejsou zatížené hrubou chybou měření, vypočteme poměr
následně nalezneme v tabulce hodnotu odpovídající zvolené hladině významnosti a počtu pozorování. [1] Zjistíme-li, že , výsledek xi je zatížen hrubou chybou a je vhodné jej vyškrtnout ze souboru naměřených hodnot. [1]
2.2 A BSOLUTNÍ CHYBA V matematice je chybou aproximace označována odchylka přibližné (aproximované) hodnoty od skutečné (přesné) hodnoty. Je-li a přibližná (aproximovaná) hodnota veličiny a b její přesná (skutečná) hodnota. [2]
8
2.3 R ELATIVNÍ CHYBA Relativní chyba se často uvádí v procentech a udává odchylku od skutečné (přesné) hodnoty v procentech. [2]
2.4 H ISTOGRAM Provedeme-li náhodný výběr o rozsahu n, mohou se některé hodnoty opakovat vícekrát. Počet výskytů ni hodnoty xi označujeme jako (absolutní) četnost pozorování hodnoty xi. Poměr nazýváme poměrnou (relativní) četností pozorování xi. Platí
Tedy součet četností je roven rozsahu n. Podobně tak je součet relativních četností roven 1. [3] Součet četností všech pozorování, která nepřevyšují hodnotu xi, označujeme jako kumulativní četnost pozorování xi. Součet poměrných četností všech pozorování, která nepřevyšují hodnotu xi, se nazývá kumulativní poměrnou (relativní) četností pozorování xi. [3] Při velkém rozsahu n náhodného výběru rozdělujeme hodnoty do tzv. tříd (třídních intervalů). Celý obor hodnot je pak rozdělen na třídní intervaly, přičemž daná pozorovaná hodnota spadá vždy do jedné třídy. Počet tříd k lze volit podle potřeby. Obvykle se k pohybuje mezi 5 a 20, nebo se volí tzv. Sturgesovo pravidlo. [3]
Pozorování spadající do jedné třídy, jsou považována za ekvivalentní. Hodnoty všech pozorování spadajících do jedné třídy nahrazujeme jednou hodnotou, obvykle středem třídního intervalu. Počty pozorování v jednotlivých třídách nazýváme třídní četností. Poměr třídních četností k celkovému počtu pozorování n pak nazýváme poměrnou (nebo také relativní) třídní četností. [3] Četnosti, resp. poměrné četnosti, zaznamenáváme obvykle do tzv. četnostní tabulky, ve které jsou uvedeny zaznamenané hodnoty xi a jim odpovídající četnosti, resp. poměrné četnosti. Četnostní tabulky se sestavují i pro kumulativní a třídní četnosti. [3] Známe-li poměrné třídní četnosti, můžeme sestrojit tzv. histogram, což je sloupcový graf, v němž každé třídě přiřadíme její četnost. [3]
2.5 A RITMETICKÝ PRŮMĚR Aritmetický průměr je statistická veličina, která v jistém smyslu vyjadřuje typickou hodnotu popisující soubor mnoha hodnot. Aritmetický průměr se obvykle značí vodorovným pruhem nad názvem proměnné, popř. řeckým písmenem μ (které také označuje střední hodnotu souboru). Definice aritmetického průměru je
9
tzn. součet všech hodnot vydělený jejich počtem. V běžné řeči se obvykle obecným slovem průměr myslí právě aritmetický průměr. [4]
2.6 M EDIÁN Medián (označován Me nebo ) je hodnota, jež dělí řadu podle velikosti seřazených výsledků na dvě stejně početné poloviny. Ve statistice patří mezi míry centrální tendence. Platí, že nejméně 50 % hodnot je menších nebo rovných a nejméně 50 % hodnot je větších nebo rovných mediánu. [5]
2.7 S MĚRODATNÁ ODCHYLKA Směrodatná odchylka je v teorii pravděpodobnosti a statistice často používanou mírou statistické disperze. Jedná se o kvadratický průměr odchylek hodnot znaku od jejich aritmetického průměru. [6] Zhruba řečeno vypovídá o tom, jak moc se od sebe navzájem liší typické případy v souboru zkoumaných čísel. Je-li malá, jsou si prvky souboru většinou navzájem podobné, a naopak velká směrodatná odchylka signalizuje velké vzájemné odlišnosti. Pomocí pravidel 1σ a 2σ lze přibližně určit, jak daleko jsou čísla v souboru vzdálená od průměru, resp. hodnoty náhodné veličiny vzdálené od střední hodnoty. Směrodatná odchylka je nejpoužívanější míra variability. [6]
2.8 S MĚRODATNÁ ODCHYLKA VÝSLEDKU JEDNOHO POZO ROVÁNÍ [6]
2.9 S TŘEDNÍ KVADRATICKÁ C HYBA ARITMETICKÉHO P RŮMĚRU
10
Střední kvadratická chyba aritmetického průměru vyjadřuje nejistotu, s jakou přesností jsme aritmetickým průměrem určili měřenou veličinu. Chybu můžeme odhadnout právě pomocí střední kvadratické chyby aritmetického průměru. [7]
2.10 P RAVDĚPODOBNÁ CHYBA ARITMETICKÉHO PRŮMĚRU Pravděpodobná chyba aritmetického průměru udává takovou hodnotu chyby, při které je 50% pravděpodobnost, že se přesná hodnota neliší od aritmetického průměru více, než o tuto hodnotu. Má dvojí značení: a . [7]
2.11 K RAJNÍ CHYBA MĚŘENÍ Krajní chyba měření je taková chyba, v jejímž rozmezí se nachází správná hodnota s pravděpodobností 99,73%. [7]
2.12 D ISTRIBUČNÍ FUNKCE 2.12.1
R OZDĚLENÍ
PRAVDĚPODOB NOSTI
Rozdělení pravděpodobnosti náhodné veličiny je pravidlo, kterým každému jevu popisovanému touto veličinou přiřazujeme určitou pravděpodobnost. Rozdělení pravděpodobnosti náhodné veličiny tedy získáme, pokud každé hodnotě diskrétní náhodné veličiny, popř. intervalu hodnot spojité náhodné veličiny, přiřadíme pravděpodobnost. [8] Rozdělení pravděpodobnosti lze také chápat jako zobrazení, které každému elementárnímu jevu přiřazuje určité reálné číslo, které charakterizuje pravděpodobnost tohoto jevu. [8] Pravděpodobnost, že diskrétní náhodná veličina X bude mít po provedení náhodného pokusu hodnotu x, značíme P(X = x), P[X = x] nebo stručně P(x). [8] Výsledkem jednoho náhodného pokusu je to, že náhodná veličina bude mít právě jednu hodnotu. Všechny hodnoty definičního oboru náhodné veličiny tedy představují úplný systém neslučitelných jevů, což znamená, že součet pravděpodobností všech možných hodnot x diskrétní náhodné proměnné X je roven 1. [8]
11
Rozdělení pravděpodobnosti diskrétní náhodné veličiny tedy vyjádříme tak, že určíme pravděpodobnost P(x) pro všechna x definičního oboru veličiny X. Pravděpodobnost výskytu jedné hodnoty je právě
Pravděpodobnosti jednotlivých hodnot x jsou tedy vyjádřeny funkcí P(x), kterou označujeme jako pravděpodobnostní funkci. [8] Pomocí pravděpodobnostní funkce můžeme zavést tzv. distribuční funkci. [8]
2.12.2
D ISTRIBUČNÍ
FUNKCE
Distribuční funkce je neklesající a je spojitá zleva. Hodnoty distribuční funkce leží . Pro diskrétní náhodnou veličinu X lze pro libovolné reálné číslo v rozsahu x vyjádřit distribuční funkci vztahem
jestliže hodnoty náhodné veličiny leží v intervalu
, pak F(a) = 0 a F(b) = 1. [8]
Distribuční funkci lze, podobně jako pravděpodobnostní funkci, použít k výpočtu pravděpodobnosti. [8]
2.13 T EST DOBRÉ SHODY – KRITÉRIUM 1 Z výsledku pozorování x1,..,xn se vypočte hodnota
podle vztahu
pro zvolenou hladinu významnosti α1 se v tabulce 2.1 naleznou odpovídající hodnoty Hypotéza o normalitě vyšetřovaného souboru výsledků pozorování se podle kritéria 1 nezamítá v případě, že platí [1]
Počet pozorování n 11 16 21 26 31 36
α1/2 [%] 1 0,9359 0,9137 0,9001 0,8901 0,8827 0,8769
5 0,9073 0,8884 0,8768 0,8686 0,8625 0,8578
(1 - α1/2) [%] 10 0,8899 0,8733 0,8631 0,8570 0,8511 0,8468
90 0,7409 0,7452 0,7495 0,7530 0,7559 0,7583
95 0,7153 0,7236 0,7304 0,7360 0,7404 0,7440
99 0,6675 0,6829 0,6950 0,7040 0,7110 0,7167
12
41 46 51
0,8722 0,8682 0,8648
0,8540 0,8508 0,8481
T ABULKA 2.1 (H ODNOTY
0,8436 0,8409 0,8385
0,7604 0,7621 0,7636
PRO KRITÉRIUM
0,7470 0,7496 0,7518
0,7216 0,7216 0,7291
1)
2.14 T EST DOBRÉ SHODY – KRITÉRIUM 2 Podle tohoto kritéria se hypotéza o normalitě nezamítá v případě, že vztah
neplatí pro více než m hodnot xi. [1]
2.15 C HÍ KVADRÁT TEST Test dobré shody je založen na tom, že náhodnou veličinu s multinomickým rozdělením lze transformovat na veličinu mající přibližně rozdělení chí kvadrát. [9] POSTUP PŘI TESTU DOBRÉ SHODY 1. Obor všech možných hodnot náhodné veličiny se rozdělí na k nepřekrývajících se částí. 2. Pro každou část se stanoví pravděpodobnost pi, že náhodná veličina nabude hodnoty z i-té části. 3. Provede se N pokusů a zjistí se, kolikrát z těchto pokusů nabyla náhodná veličina hodnoty z 1., 2., … k-té části. Tyto četnosti se označí X1,X2,...,Xk. Porovnají se očekávané četnosti v jednotlivých částech (Npi) se skutečnými četnostmi (Xi). [9]
Pokud má testovaná náhodná veličina předpokládané rozdělení, má náhodná veličina χ2 přibližně rozdělení chí kvadrát. Jestliže bylo rozdělení dáno včetně všech parametrů, je počet stupňů volnosti k-1; jestliže byl některý parametr rozdělení neznámý, snižuje se počet stupňů volnosti za každý neznámý parametr (bylo jej nutno nejprve z dat odhadnout a pak teprve stanovit pravděpodobnosti pi). [9] Hodnotu veličiny χ2 porovnáme s kritickou hodnotou příslušného rozdělení chí kvadrát na požadované hladině významnosti. Test lze použít za předpokladu, že všechny hodnoty Npi jsou alespoň 5. [9]
2.16 K OLMOGOROV -S MIRNOVŮV TEST Kolmogorov-Smirnovův test dobré shody používá k testování hypotézy o tvaru rozdělení zkoumané náhodné veličiny X přímo jednotlivé její naměřené hodnoty x1,…,xn (předpokládáme zde, že jsou všechny navzájem různé), zatímco v χ2 testu dobré shody se
13
tyto naměřené hodnoty nejprve zařadily do jednotlivých tříd a pak se již používaly pouze četnosti těchto tříd. [10] Kolmogorov-Smirnovův test dobré shody je možné použít i v případě malých náhodných výběrů, což u χ2 testu dobré shody nešlo, protože by třídy byly velmi málo četné, nebo by jich bylo extrémně málo. [10] Zde budeme předpokládat, že hypotetické rozdělení, které se testuje, je rozdělení spojité a navíc že jsou v nulové hypotéze zadány i všechny jeho parametry. Jsou ale vyvinuty i obecnější varianty Kolmogorov-Smirnovova testu pro případy, kdy tyto předpoklady neplatí. [10] Pro popis hypotetického rozdělení veličiny X se použije jeho distribuční funkce je tzv. hypotetická distribuční funkce. Při Kolmogorov-Smirnovově testu jde tedy o test nulové hypotézy H0: rozdělení veličiny X je dáno distribuční funkcí proti alternativě H1: rozdělení veličiny X je dáno jinou distribuční funkcí než Při testu postupujeme tak, že nejprve z naměřených hodnot x1,…,xn určíme tzv. výběro(je to jistý odhad skutečné (neznámé) distribuční funkce velivou distribuční funkci činy X). Tato výběrová distribuční funkce je definována vztahy
přitom x1,…,xn je tzv. uspořádaný náhodný výběr, což jsou hodnoty z náhodného výběru x1,…,xn , ale uspořádané podle velikosti od nejmenšího do největšího. [10] Další postup spočívá v tom, že porovnáme zjištěnou výběrovou distribuční funkci s . Nulovou hypotézu H0 pak zamítneme zhruba řečehypotetickou distribuční funkcí no tehdy, je-li maximální rozdíl mezi hodnotami těchto dvou funkcí hodně veliký. Přesněji řečeno zamítáme H0, je-li
kde je kritická hodnota uvedené testovací statistiky R. Dá se ukázat, že se (vzhle) dá testovací statistika R dem k výše uvedené definici výběrové distribuční funkce spočítat ze vztahu
Kritické hodnoty
jsou uvedeny v tabulkách kritických hodnot. [10]
14
Kolmogorov-Smirnovův test dobré shody (test o rozdělení náhodné veličiny) je popsán v následující tabulce. [10] H0 Rozdělení X má distribuční fci
H1 Rozdělení X nemá distribuční fci
Testovací statistika R
Kritický obor
T ABULKA 2.2 (K OLMOGOROV -S MIRNOVŮV TEST )
Poznámka
– kritická hodnota pro Kolmogorov-Smirnovův test
2.17 K ONFIDENČNÍ MEZE NÁHODNÉ CHYBY VÝSLEDKU MĚŘENÍ Důležitou součástí statistického zpracováni výsledků pozorování je stanovení intervalu spolehlivosti (konfidenčního intervalu) pro skutečnou hodnotu měřené veličiny xS. 100(1 - α) % intervalem spolehlivosti pro hodnotu xS se rozumí náhodný interval, který hodnotu xS pokrývá s pravděpodobností (1 - α) (tato pravděpodobnost se nazývá konfidenčním koeficientem příslušným k uvažovanému konfidenčnímu intervalu). [1] Pro konkrétně naměřené hodnoty x1, ... ,xn se odpovídající hodnoty 100(1 - α)% konfidenčních mezí náhodné chyby výsledku měření vypočítá podle vztahu [1]
K vyjádření 100(1 - α)% intervalu spolehlivosti pro μ lze použít vztah [1]
2.18 S MĚRODATNÁ ODCHYLKA N EVYLOUČENÉ SYSTEMATI CKÉ CHYBY V případě, že počet složek ξ je vysoký (m -> ∞), se rozdělení veličiny ξ blíží normálnímu rozdělení s nulovou střední hodnotou a se směrodatnou odchylkou. [1]
2.19 K ONFIDENČNÍ MEZE NEVY LOUČENÉ SYSTEMATICKÉ CHYBY V případě menšího poctu složek nevyloučené systematické chyby jsou konfidenční meze této chyby úměrné druhé odmocnině ze součtu kvadrátů hodnot
15
Ukazuje se, že pro konfidenční koeficienty menší než 0,99 hodnota součinitele K jen málo závisí na počtu složek nevyloučené systematické chyby. Např. pro (1 - α) = 0,95 se doporučuje volit K = 1,1, pro (1 - α) = 0,99 a m > 4 se volí K = 1,45. [1] Při velmi malém počtu složek nevyloučené systematické chyby (m = 2 ÷ 3) je vždy třeba provést kontrolu, zda pro vypočtenou hodnotu . [1]
Pokud tato podmínka není splněna, hodnotu
je třeba počítat ze vztahu [1]
2.20 K ONFIDENČNÍ MEZE CELKOVÉ CHYBY MĚŘENÍ Při určování konfidenčních mezí ze vztahu
celkové chyby výsledku měření se vychází
hodnoty obou sčítanců v čitateli se určují pro tentýž konfidenční koeficient. [1] Interval spolehlivosti lze vyjádřit pomocí vztahu [1]
16
3 Z VOLENÁ METODA ZPRACOVÁNÍ A CÍL PRÁCE Cílem tohoto textu je uvedení do problematiky a nastínění možností využití mnou vytvořeného programu „Statistické zpracování výsledků měření“. Doporučeným vývojovým prostředím k vytvoření programu bylo prostředí Matlab. Zvolil jsem však jinou variantu, a tedy prostředí Microsoft Visual Studio 2008 a jazyk C#.
3.1 V OLBA JAZYKA C# DŮVODEM VÝBĚRU JAZYKA C# (po dohodě s vedoucím bakalářské práce Ing. Radkem Sedláčkem) byla: výhoda pro uživatele, že pro jeho počítač není nutné vlastnit licenci softwaru Matlab hrozící nekompatibilita různých verzí vývojového prostředí Matlab s mým programem z mého pohledu nekomfortní vývojové prostředí Matlab PROČ JSEM ZVOLIL JAZYK C#? lepší přenositelnost mého programu na platformě Windows k práci není třeba žádného dalšího speciálního softwaru (pouze NET Framework 3.5, o kterém předpokládám, že bude v blízké budoucnosti standardním softwarovým vybavením) NET Framework 3.5 je již dnes ke stažení zdarma C# je dnes nejvíce se rozvíjejícím programovacím jazykem v mém osobním zájmu je rozvíjet své programátorské schopnosti v tomto jazyce
3.2 P OŽADAVKY KLADENÉ NA PROGRAM POŽADAVKY K MNOU VYTVÁŘENÉMU PROGRAMU: program umožní načtení konkrétních externích dat z textového souboru vlastní zpracování údajů bude zahrnovat posouzení odlehlých výsledků pozorování bude existovat možnost ověření naměřených dat z hlediska normalit: histogram a testy dobré shody určení konfidenčních mezí náhodné a nevyloučené systematické chyby program umožní stanovení celkové krajní chyby měření
3.3 Ú SKALÍ C# S JAKÝMI OBTÍŽEMI JSEM SE PŘI PROGRAMOVÁNÍ V C# POTÝKAL? Hlavní výhodou vývojového prostředí Matlab jsou předem definované statistické funkce, s čímž není možné při programování v C# počítat. Tato skutečnost se pro
17
mě stala problematickou. Definování všech statistických funkcí bylo časově nejnáročnější a mnohdy i velmi obtížné. Složitější také bylo kreslení grafů, to jsem musel naprogramovat bod od bodu. A taky tato část programu skrývá největší nedostatky. Nakonec se mi však podařilo implementovat všechny požadované funkce.
3.4 B UDOUCÍ UPGRADE Stejně jako každý software, ani můj program není dokonalý a v budoucnu jej tedy bude možné vylepšit a upravit. Domnívám se, že hlavní změny a úpravy by se rámcově mohly týkat následujících bodů: Co se týče programové části, zde by se hlavní upgrade mohl vztahovat k oblasti kreslení grafů pomocí GDI. V současné- první- verzi jsem použil základní vykreslování. Jeho nedokonalost tkví v tom, že při překreslení graf „blikne“ (překreslení je viditelné), navíc při velkém počtu zobrazovaných dat (asi nad 5000) hrozí, že se program stane nestabilním. Pro budoucí vylepšení bych doporučil použít alespoň dvojitého bufrování. Další vylepšení by se potenciálně mohlo týkat naprogramování dalších statistických funkcí.
3.5 P ŘÍNOS BAKALÁŘSKÉ PRÁCE Největší přínos této práce vidím v možném praktickém využití studenty, a to na jakémkoli počítači s operačním systémem Windows. Další výhoda tkví ve skutečnosti, že program oproti starším verzím dokáže načíst úctyhodné množství dat, asi okolo půl milionu. Toto číslo nelze určit přesně, záleží na výkonu daného počítače.
18
4 J ÁDRO PRÁCE : POPIS PROGRAMU V následujících bodech se budu věnovat konkrétnímu rozboru jednotlivých částí programu. V první řadě nastíním postup a důvod volby způsobu tvorby grafické stránky programu. Následně objasním význam a funkci jednotlivých položek, které jsou součástí hlavní lišty. Nakonec rozeberu funkčnost záložek, které se v programu nacházejí pod hlavní lištou. Vlastní zdrojový kód nebudu vypisovat, neboť- podle mého názoru- nemá takový popisný charakter a navíc by zaujal podstatnou část práce. Z těchto důvodů jsem se rozhodl u funkcí, které mi nepřipadají tak zásadní, vytvořit vývojové diagramy, které mají velmi názorný a vysvětlující charakter. Pro objasnění všech tvarů vyskytujících se ve vývojovém diagramu jsem do přílohy vložil jejich seznam 10.1.
4.1 G RAFIKA Ke grafické stránce svého programu jsem obrátil zvláštní pozornost, proto mi její řešení zabralo velkou část času, který jsem vytváření programu věnoval. Mým cílem bylo vytvořit program esteticky zajímavý, uživatelsky intuitivní, přehledný a snadno ovladatelný. Z tohoto důvodu jsem zvolil především specifické ikony, které jsou velké, schopné upoutat, a proto je jejich užívání snadné a přehledné. Z důvodu větší přehlednosti jsem vynechal klasické menu. K členění jednotlivých statistických funkcí jsem využil záložky. Jejich jednotlivé funkce podrobně rozeberu níže.
O BRÁZEK 4.1 (Ú VODNÍ OKNO )
19
4.2 C ELKOVÝ VZHLED PROGRAMU
O BRÁZEK 4.2 (V LASTNÍ PROGRAM )
4.3 H LAVNÍ LIŠTA Hlavní lišta je základní ovládací prvek programu, slouží ke všem důležitým operacím. Nabídka S TAR T slouží k základnímu ovládání programu. Obsahuje položky jako Nový, Načíst data, Exportovat do .txt a .xlsx, Konec. Podrobnější popis viz níže. Položka N AČÍ S T obsahuje dvě ikony: Nový vytvoří nový textový soubor, do kterého je možné zadat data pro statistickou analýzu. Načíst data zobrazí otevírací dialog a vyzve uživatele k vybrání textového souboru, ze kterého se budou načítat data. Funkce je zajímavá tím, že vytvoří nový podproces a v něm načítá data. Toto řešení jsem zvolil s ohledem na to, že při načítání velkého počtu dat hlavní vlákno není stále zaneprázdněno a tudíž program „nezamrzne“. Ve vývojovém diagramu 4.1 jsem se snažil nastínit operace pragramu.
20
Hlavní proces
Načti data
Jméno souboru
Větvení
Uspi hlavní vlákno na danou dobu
Vytvoř podproces
Inicializace souboru
Načti řádek a uprav
Ne
Ne Načteno?
Vše?
Ano
Ano
Zobraz data
Ulož do programu
Zpřístupni výpočet
Ukonči podproces
V ÝVOJOVÝ DIAGRAM 4.1 (N AČÍST DATA )
Položka E XPO RT O VA T nabídne dvě možnosti formátu exportovaného souboru: Nejjednodušeji můžeme exportovat do textového souboru – varianta, která je spustitelná na každém počítači, avšak méně pohodlná a přehledná. Další možností je exportovat data do aplikace Excel. Načtená data s výpočty se vloží do nového sešitu aplikace Excel a jsou připravena k případnému dalšímu zpracování. Další položkou je N AST AV E NÍ , které obsahuje dvě ikony: Kalkulačka spustí kalkulačku systému Windows. Nastavení zobrazí možné nastavení aplikace. Lze nastavit minimální počet dat vstupního souboru. Pokud tato podmínka není splněna, program ohlásí chybu a nepovolí prácí s daty. Další volbou je nastavení zobrazovaných dat. Vzhledem k použité metodě zobrazení v grafech tohoto programu není vhodné, nikoli však nemožné, vykreslovat větší počet dat a to hlavně kvůli stabilitě programu. Optimální počet vykreslených dat by se měl pohybovat do 2000. Jako poslední možnou volbu jsem vytvořil nastavení jména nápovědy. To umožní uživateli nastavit jméno a typ formátu nápovědy. Podporovány jsou všechny formáty aplikace Microsoft Word.
21
RUN je zcela zásadní ikona. Po načtení dat začne blikat, čímž vybízí ke stisku. Po něm se rozběhnou všechny výpočty aplikace. Po jejich dokončení již není možné znovu na ikonu kliknout. Metoda zinicializuje a spustí všechny konstruktory a metody. Vypočtené hodnoty zobrazí do vlastní aplikace. P AN EL
J AZ YK Ů
umožňuje nastavit uživateli jazyk.
Základním jazykem je čeština, dále je možné zvolit angličtinu. Položka N ÁP O V Ě DA : otevře nápovědu, při stisku trojúhelníčku se zobrazí ikony Nápověda a O aplikaci.
4.4 R OZBOR ZÁLOŽEK Nyní se pokusím vyložit vlastnosti a vlastní programové zpracování jednotlivých záložek.
4.5 N AMĚŘENÁ DATA V této záložce (Obrázek 4.3) se vykreslí naměřená data. Je možné zobrazit Křížky, Kroužky a Křivku, dále můžeme data Seřadit podle velikosti. Vlastní programování zde není tak zajímavé. Na tomto místě bych pouze rád poznamenal, že z jednoduchého důvodu, že C# je relativně mladý programovací jazyk, zatím nemá významnou knihovní podporu. Proto jsem knihovny pro kreslení grafů nenašel. Tudíž jsem veškeré vykreslování grafů musel psát ručně, a to nejen u naměřených dat, ale i u histogramu a distribuční funkce. Vlastnosti grafu mají celkem čtyři možnosti. Ikona Křížky vykreslí křížky na souřadnicích naměřených dat, podobně je tomu i při užití ikony Kroužky. Křivka spojí jednotlivé body. Poslední Ikona Seřadit seřadí hodnoty dle velikosti. Tyto možnosti jsou prakticky totožné (až na možnost seřadit) i na záložce Distribuční funkce.
22
O BRÁZEK 4.3 (N AMĚŘENÁ DATA )
4.6 Z ÁKLADNÍ ZPRACOVÁNÍ Záložka Z Á KL A DN Í Z PR A CO V ÁNÍ obsahuje již zmiňované statistické výpočty. Domnívám se, že z programové části je pravděpodobně nejzajímavější vyložit výpočet Grubbsova testu. Zde jsem se setkal s problémem omezené znalosti kritických hodnot Va pro jednotlivé významnosti a velikosti souboru. Tuto obtíž jsem vyřešil tak, že jsem vyhledal výpočet kritických hodnot, ovšem pro studentovo T rozdělení. Toto rozdělení by do výpočtu sice vnášelo jakousi chybu, ovšem díky vlastnosti, že při vyšším počtu dat přechází do normálního rozdělení, je tuto implementaci možné použít. Vlastní programové zpracování jsem názorně vyjádřil v níže uvedeném vývojovém diagramu.
23
Vytvoření konstruktoru Grubbs‘ test
Metoda Grubbsův test
Vytvoření dynamické ho listu
Výpočet průměru a směr. odchylky
i<51
V
Ne
Množství dat
i>50
Rozřazení dle významnosti
Vypočti kritickou tabulkovou hodnotu Va
Výpočet kritické hodnoty pro danou hodnotu
Výpočet kritické hodnoty pro danou hodnotu
Porovnání s tabulkovou hodnotou
Ulož hodnotu do dynamickéh o listu
Va
V
Přeskoč hodnotu
Ulož hodnotu do dynamickéh o listu
Všechny data?
Porovnání s tabulkovou hodnotou
Va
Ne Přeskoč hodnotu
Všechny data?
Ulož nová data
Ukonči metodu
V ÝVOJOVÝ DIAGRAM 4.2 (G RUBBSŮV TEST )
24
O BRÁZEK 4.4 (Z ÁKLADNÍ ZPRACOVÁNÍ )
4.7 H ISTOGRAM Záložka H IS TO GR AM zobrazí histogram načtených dat. V možnostech nastavení je zobrazení P OP I S KŮ D A T a možnost nastavení P OČ T U SL O UP C Ů . Dále jsou na pravé straně zobrazeny M EZ E H I ST OG RA M U a V ÝS K YT D A T V D A N ÝC H M EZ Í C H . Výpočet histogramu není nikterak složitý, skládá se ze dvou základních částí. Nejprve se stanový maximální interval hodnot z načtených dat. Poté se tento interval dle počtu hodnot rozdělí na určitý počet sloupců a to podle vzorce 2.5. Výpočet podle vzorce 2.5 se provede pouze tehdy, když uživatel nenastaví vlastní počet sloupců. Druhá část algoritmu spočívá v tom, že každé číslo je zařazeno do odpovídajícího sloupce.
25
Vytvoření konstruktoru Histogram
Srovnej data podle velikosti
Ne
Nastav počet sloupců na 5
Po dokončení výpočtu mezí
Metoda spočti meze
Metoda urči výskyt dat v daných mezích
Sloupců > 5?
Vytvoř pole o k prvcích
Vytvoř pole o k + 1 prvcích
Nastav meze
Nastav min, max a spočti krok
Vyber data
Ne Dopočítej všechny meze
Ne
Všechny data v mezích? Ano
Všechny data?
Ano Ukonči metodu
V ÝVOJOVÝ DIAGRAM 4.3 (H ISTOGRAM )
26
O BRÁZEK 4.5 (H ISTOGRAM )
4.8 C HYBY MĚŘENÍ Záložka C HYB Y M ĚŘ EN Í obsahuje shrnutí základních informací o naměřených datech. Všechny vypisované hodnoty jsou dynamicky zaokrouhlovány na šest desetinných míst. Tento výpis je kompatibilní s M ICR O SO F T E X C EL , při používání české desetinné čárky ve výpisu se bohužel zbavujeme možnosti kompatibility s výpočetním programem M A TL AB . K programovému zpracování není mnoho co říci, v této části programu jsou používány pouze základní operace jako sčítání, odčítání, suma atd. Jedná se o přesné vyjádření vzorců, které jsou popsány jak v úvodní teoretické části, tak i na samotné záložce.
27
O BRÁZEK 4.6 (C HYBY MĚŘENÍ )
4.9 D ISTRIBUČNÍ FUNKCE Záložka D IS TRIB U ČNÍ F UN KC E umožňuje stejné nastavení, které jsem již popsal výše u popisu záložky N AM Ě Ř EN Á D A T A . Hlavní úskalí při programování distribuční funkce tkvělo v tom, že hodnoty normálního rozložení nemohu výpočtem generovat, a proto jsem je musel vygenerovat předem a pevně uložit do programu. Uloženou ideální distribuční funkci N, která má rozmezí hodnot od -3,999 do 3,999 s krokem 0,001 a počtem hodnot 7983, jsem musel aproximovat na ideální distribuční funkci U podle střední hodnoty a směrodatné odchylky.
Výpočet distribuční funkce pro daná data je nastíněn v kapitole 2.12.
28
Vytvoření konstruktoru Distribuční funkce
Výpočet hustoty pravděpod obnosti
Metoda pro aproximaci distribuční fce N(0,1)
Metoda pro výpočet distribuční funkce
Načti ideální hodnotu a aproximuj
Vytvoř pole o k prvcích
Vše?
Spočti nultou hodnotu jako P0/2
Ne
Ano Ulož novou ideální distribuční fci
Spočti hodnotu distribuční funkce daného prvku Ne
Vše?
Ano Ulož distribuční fci a ukonči metodu
V ÝVOJOVÝ DIAGRAM 4.4 (D ISTRIBUČNÍ FUNKCE )
29
O BRÁZEK 4.7 (D ISTRIBUČNÍ FUNKCE )
4.10 T ESTY DOBRÉ SHODY Testy dobré shody jsou jedny z nejdůležitějších algoritmů v celé aplikaci. Dělí se na dvě základní skupiny (podle množství vstupních dat): 1. Použitelné do 50 dat 2. Vhodné nad 50 dat Toto dělení je zavedeno z toho důvodu, že pro malé a velké množství dat není vhodné používat stejné testy (zejména v zájmu zachování přesnosti). 1. Soubory s počtem dat do 50 Tato skupina testů zahrnuje dvě kritéria. První kritérium, které je počítáno podle vzorce 2.17 a 2.18, je označeno nadpisem Kritérium 1. Obsahuje základní vzorec, možnost nastavení hladiny významnosti, vypočítané kritérium d, horní, dolní mez a má grafický výstup v podobě ikony.
30
Vytvoření konstruktoru Testy dobré shody
Spočti Sumu ze vzorce 2.17
Vypočítej kritickou hodnotu pro načtená data
Zařaď podle počtu dat =11+i*5 Rozřaď dle významnosti
Vyber dle významnosti horní a dolní mez kritéria
=10
<11+i*5
Rozřaď dle významnosti
Vyber dle významnosti horní a dolní mez kritéria
Rozřaď dle významnosti
Spočti horní a dolní mez kritéria
Ulož dolní a horní mez kritéria
V ÝVOJOVÝ DIAGRAM 4.5 (K RITÉRIUM 1)
Další je Kritérium 2. Obsahuje základní vzorec, možnost nastavení hladiny významnosti. Počet hodnot, pro které nebylo kritérium splněno. Má také grafický výstup v podobě ikony.
31
Vytvoření konstruktoru Testy dobré shody
Nastavení základních konstant
Vypočítej kritickou hodnotu pro načtená data
Rozděl dle významnosti 1% 2% Nastav kritickou hodnotu pro danou významnost
3% Nastav kritickou hodnotu pro danou významnost
Nastav kritickou hodnotu pro danou významnost
Vyber hodnotu z načtených dat Počítej počet hodnot, které nesplňují kritérium
Ano
Splňuje kritérium?
Ne
Vše Ukonči metodu
V ÝVOJOVÝ DIAGRAM 4.6 (K RITÉRIUM 2)
2. Soubory s počtem dat nad 50 Nyní se přesuneme k testům dobré shody pro množství vstupních dat větší než 50. a. Chí kvadrát test- obsahuje: základní vzorec, možnost nastavení hladiny významnosti, vypočítaný příslušný chí kvadrát (ten musí být větší než vypočítaná kritická hodnota pro načtená data). Dále zobrazuje, zda byla splněna podmínka, aby každá z hodnot Npi obsahovala alespoň 5 prvků (pokud tato podmínka není splněna, test ztrácí na významnosti, stále však má určitou výpovědní hodnotu). Chí kvadrát test má grafický výstup v podobě ikony. Samotný algoritmus je řešen následujícím způsobem: nejprve se načtená data musí rozdělit do několika sloupců. Počet sloupců je generován buď automaticky (podle vzorce 2.5), nebo je na uživateli aby zvolil vlastní počet sloupců. Do těchto sloupců je automaticky vygenerováno nejmenší možné množství hodnot podle vzorce pro ideální hustotu pravděpodobnosti. Množství těchto hodnot je plošně přenásobeno konstantou, poté se množství sečtou a porovnají s načtenými daty. Pokud je součet ideálních dat a načtených dat shodný, algoritmus začne
32
porovnávat dle vzorce 2.20. Pokud výsledek odpovídá kritériu, můžeme prohlásit, že načtená data mají normální rozdělení. Vytvoření konstruktoru Chí kvadrát test
Výpočet mezí histogram u
Použití metody Histogram
Naplnění daných sloupců histogram u
Metoda pro výpočet ideální hustoty pravděpodobnosti
Funkce pro zrychlení naplnění ideálního histigramu
Násobení ideálního histogramu konstantou
Ne
Součet prvků ideálního histogramu
Jsou si součty rovny? Ano Spočti kritické hodnoty Chí kvadrát testu
Ověř podmínku minima sloupců
Ulož hodnoty a ukonči metodu
V ÝVOJOVÝ DIAGRAM 4.7 (C HÍ KVADRÁT TEST )
b. Kolmogorov-Smirnovův test- je posledním testem, který se nachází na této záložce. Skládá se ze dvou hlavních součástí: 1) z určení maximální odchylky distribučních funkcí 2) ze samotného určení KS testu (určení nulové hypotézy a procentuální shody naměřených dat s normálním rozdělením) 1) Nejprve bych se zmínil o určení maximální odchylky distribučních funkcí. Tato metoda pracuje s již dříve vypočtenou aproximovanou ideální distribuční funkcí. Protože hodnoty ideální distribuční funkce jsou v programu dané tabulkou (po kroku jedné tisíciny), není zaručena stoprocentní shoda hodnot. Z tohoto důvodu se hledá nejbližší
33
možná hodnota. Po jejím nalezení se odečtou hodnoty pravděpodobností obou distribučních funkcí. Takto se otestují všechny hodnoty v souboru a je nalezena maximální odchylka. 2) Druhá část je již samotná implementace KS testu. Nejprve je spočtena hypotéza H0. Ta je následně rozdělena do dvou částí: pro počet hodnot menších než 20, kde je kritická hodnota nalezena v tabulce počet hodnot větších než 20, kde se kritická hodnota spočítá Dále se v závislosti na maximální odchylce spočítá odpovídající pravděpodobnost, která říká, na kolik procent se načtená data shodují s normálním rozdělením. Vytvoření konstruktoru KS test
Výpočet KS testu
Metoda pro zjištění maximální odchylky
Metoda pro výpočet KS testu
Nastav počáteční nulové hodnoty
Spočti vzdálen aproximované a vypočtené distribuční funkce
N<20
Ne
Ne Vše?
Ne
Je tato vzdálenost nejmenší možná
Počet hodnot n
N>20
Nalezení kritické tabulkové hodnoty
Výpočet kritické hodnoty
Test hypotézy H0
Test hypotézy H0
Ano Ano
Ukonči metodu
Odečti hodnoty pravděpodobnosti v daném bodě
Je největší
Výpočet shody s normálním rozložením
Ulož distribuční fci a ukonči metodu
Ano
Ulož tuto hodnotu
V ÝVOJOVÝ DIAGRAM 4.8 (K OLMOGOROV -S MIRNOVŮV TEST )
34
O BRÁZEK 4.8 (T ESTY DOBRÉ SHODY )
4.11 K ONFIDENČNÍ MEZE Záložka K ONFI D E NČN Í M EZ E umožňuje spočítat konfidenční meze náhodné chyby výsledku měření, konfidenční meze nevyloučené systematické chyby výsledku měření a konfidenční meze celkové chyby výsledku měření. Všechny výpočty jsou doprovázeny grafickým vzorcem. Konfidenční meze nevyloučené systematické chyby výsledku měření se zadávají do levého sloupce. Při zadání alespoň 5 hodnot je umožněno zadat 99% interval spolehlivosti.
35
O BRÁZEK 4.9 (K ONFIDENČNÍ MEZE )
36
5 V ÝSLEDKY PRÁCE ( EXPERIMENTÁLNÍ ČÁST ) Praktické testování zadaných funkcí je obtížné (zejména protože statistického softwaru je velmi málo). Pokud by nějaký software vyhovoval mému zadání, je placený. K porovnání vlastních výsledků měření jsem proto použil starší verzi používaného programu S T AT , vytvořenou Petrem Pfeifrem, program M ICR O S OF T E X C E L a také v neposlední řadě matematický program M AT L AB . Microsoft Excel jsem zvolil z důvodu nemožnosti exportování dat ze starší verze programu S TA T . Matlab, který je velmi mocným matematickým nástrojem, obsahuje většinu funkcí, které jsem implementoval. Výpočty, které nebyly v programu Stat, Matlab nebo Microsoft Excel implementovány nějakou vlastní metodou, jsem nesrovnával. Zejména z toho důvodu, aby srovnání s mým programem mělo co největší váhu a já se nedopustil dvakrát nějaké chyby implementace. Porovnával jsem: zobrazení naměřených dat základní zpracování (Grubbsův test, krajní chyba měření, absolutní chyba, relativní chyba, poměr V/Va, kumulativní distribuční funkce a odchylka od ideální kumulativní distribuční funkce) histogram chyby měření (střední hodnota souboru, směrodatná odchylka, chyba) distribuční funkce testy dobré shody konfidenční meze
5.1 E XPERIMENTÁLNÍ DATA Pokusil jsem se vygenerovat data například při měření 1000 Ω odporu. Z důvodu maximálního počtu dat ve starší verzi programu S TA T jsem vygeneroval pouze 45 hodnot k porovnávání. i data i data i data i data i data i data i data
1 999.0701 8 999.2204 15 1003.7291 22 998.7972 29 999.358 36 1000.7584 43 1003.042
2 1000.7419 9 997.2375 16 999.3204 23 1001.1024 30 1002.4731 37 1001.8884 44 999.9231
3 1001.4566 10 1000.6311 17 997.7204 24 997.8003 31 998.7374 38 995.7591 45 1002.4549
4 1004.2243 11 1003.1065 18 999.5778 25 1000.172 32 995.3496 39 998.7106
5 997.2854 12 1001.4158 19 1002.3805 26 995.9909 33 997.5367 40 998.5914
6 997.9548 13 1003.9148 20 997.7676 27 999.0138 34 1002.1113 41 997.9637
7 1002.0757 14 1001.0091 21 1001.2705 28 1000.9241 35 999.7736 42 999.6358
T ABULKA 5.1 (E XPERIMENTÁLNÍ DATA )
37
5.2 Z OBRAZENÍ NAMĚŘENÝCH DAT S T A TI ST I K A
O BRÁZEK 5.1 (N AMĚŘENÁ DATA , PROGRAM S TATISTIKA )
STAT
O BRÁZEK 5.2 (N AMĚŘENÁ DATA , PROGRAM S TAT )
5.3 P OROVNÁNÍ HODNOT ZÁKLADNÍHO ZPRACOVÁNÍ
38
K porovnání hodnot ze základního zpracování (absolutní, relativní odchylka a hodnoty kumulativní distribuční funkce) jsem použil program Microsoft EXCEL (z důvodu nemožnosti exportování, ale i jakéhokoli zkopírování dat ze starší verze programu). Jak je možné vyčíst z tabulky 5.3-1, hodnoty vypočtené mým programem a programem EXCEL se naprosto shodují. Hodnoty Grubbsova testu jsem zkontroloval se starší verzí programu. Data KS – testu vyjadřují odchylku distribuční funkce od ideální distribuční funkce v každém bodě. Toto je pouze ukázková hodnota; pro bod s největší odchylkou se počítá právě procento shody s normálním rozložením. Tato hodnota se liší od původního programu v řádu desítitisícin. To je způsobeno použitou programovou metodou. i
Hodnota
Grubbsův test
3σ*
Absolutní odchylka
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
995,3496 995,7591 995,9909 997,2375 997,2854 997,5367 997,7204 997,7676 997,8003 997,9548 997,9637 998,5914 998,7106 998,7374 998,7972 999,0138 999,0701 999,2204 999,3204 999,3580 999,5778 999,6358 999,7736 999,9231 1000,1720 1000,6311 1000,7419 1000,7584 1000,9241 1001,0091 1001,1024 1001,2705 1001,4158 1001,4566 1001,8884 1002,0757 1002,1113 1002,3805 1002,4549 1002,4731 1003,0420 1003,1065 1003,7291
OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK
OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK
4,6277 4,2182 3,9864 2,7398 2,6919 2,4406 2,2569 2,2097 2,1770 2,0225 2,0136 1,3859 1,2667 1,2399 1,1801 0,9635 0,9072 0,7569 0,6569 0,6193 0,3995 0,3415 0,2037 0,0542 0,1947 0,6538 0,7646 0,7811 0,9468 1,0318 1,1251 1,2932 1,4385 1,4793 1,9111 2,0984 2,1340 2,4032 2,4776 2,4958 3,0647 3,1292 3,7518
Absolutní odchylka EXCEL 4,6277 4,2182 3,9864 2,7398 2,6919 2,4406 2,2569 2,2097 2,1770 2,0225 2,0136 1,3859 1,2667 1,2399 1,1801 0,9635 0,9072 0,7569 0,6569 0,6193 0,3995 0,3415 0,2037 0,0542 0,1947 0,6538 0,7646 0,7811 0,9468 1,0318 1,1251 1,2932 1,4385 1,4793 1,9111 2,0984 2,1340 2,4032 2,4776 2,4958 3,0647 3,1292 3,7518
Relativní odchylka 0,4628 0,4218 0,3986 0,2740 0,2692 0,2441 0,2257 0,2210 0,2177 0,2023 0,2014 0,1386 0,1267 0,1240 0,1180 0,0964 0,0907 0,0757 0,0657 0,0619 0,0400 0,0341 0,0204 0,0054 0,0195 0,0654 0,0765 0,0781 0,0947 0,1032 0,1125 0,1293 0,1439 0,1479 0,1911 0,2098 0,2134 0,2403 0,2478 0,2496 0,3065 0,3129 0,3752
Relativní odchylka EXCEL 0,4628 0,4218 0,3986 0,2740 0,2692 0,2441 0,2257 0,2210 0,2177 0,2023 0,2014 0,1386 0,1267 0,1240 0,1180 0,0964 0,0907 0,0757 0,0657 0,0619 0,0400 0,0341 0,0204 0,0054 0,0195 0,0654 0,0765 0,0781 0,0947 0,1032 0,1125 0,1293 0,1439 0,1479 0,1911 0,2098 0,2134 0,2403 0,2478 0,2496 0,3065 0,3129 0,3752
Distribuční funkce 0,0000 0,0222 0,0444 0,0667 0,0889 0,1111 0,1333 0,1556 0,1778 0,2000 0,2222 0,2444 0,2667 0,2889 0,3111 0,3333 0,3556 0,3778 0,4000 0,4222 0,4444 0,4667 0,4889 0,5111 0,5333 0,5556 0,5778 0,6000 0,6222 0,6444 0,6667 0,6889 0,7111 0,7333 0,7556 0,7778 0,8000 0,8222 0,8444 0,8667 0,8889 0,9111 0,9333
Distribuční funkce EXCEL 0,0111 0,0333 0,0556 0,0778 0,1000 0,1222 0,1444 0,1667 0,1889 0,2111 0,2333 0,2556 0,2778 0,3000 0,3222 0,3444 0,3667 0,3889 0,4111 0,4333 0,4556 0,4778 0,5000 0,5222 0,5444 0,5667 0,5889 0,6111 0,6333 0,6556 0,6778 0,7000 0,7222 0,7444 0,7667 0,7889 0,8111 0,8333 0,8556 0,8778 0,9000 0,9222 0,9444
KS test 0,0175 0,0052 0,0097 0,0393 0,0212 0,0220 0,0187 0,0016 0,0170 0,0215 0,0426 0,0196 0,0153 0,0029 0,0155 0,0030 0,0158 0,0128 0,0175 0,0332 0,0166 0,0287 0,0259 0,0211 0,0022 0,0615 0,0583 0,0391 0,0446 0,0364 0,0290 0,0332 0,0327 0,0165 0,0522 0,0527 0,0345 0,0408 0,0259 0,0055 0,0297 0,0118 0,0230
39
44 45
1003,9148 1004,2243
OK OK
OK OK
3,9375 3,9375 0,3938 0,3938 4,2470 4,2470 0,4247 0,4247 T ABULKA 5.2 (Z ÁKLADNÍ ZPRACOVÁNÍ )
0,9556 0,9778
0,9667 0,9889
0,0079 0,0044
5.4 Z OBRAZENÍ HISTOGRAMU S T A TI ST I K A
O BRÁZEK 5.3 (H ISTOGRAM , PROGRAM S TATISTIKA )
STAT
O BRÁZEK 5.4 (H ISTOGRAM , PROGRAM S TAT )
40
5.5 P OROVNÁNÍ VYPOČTENÝCH CHYB MĚŘENÍ
Aritmetický průměr Medián Směrodatná odchylka Směrodatná odchylka jednoho pozorování Střední kvadratická chyba aritmetického průměru
Statistika Excel Střední hodnota souboru 999,9773 999,9773 999,7736 999,7736 Směrodatná odchylka 2,1957 2,1957
Stat
Matlab
999,9773 -
999,9773 999,7736
2,1957
2,1957
2,2205
2,2205
2,2205
2,2205
0,3310
0,3310
0,3310
0,3310
0,2207
0,2207
-
-
6,5872
6,5872
-
-
Chyba Pravděpodobná chyba aritmetického průměru Krajní chyba měření
T ABULKA 5.3 (C HYBY MĚŘENÍ )
5.6 Z OBRAZENÍ DISTRIBUČNÍ FUNKCE S T A TI ST I K A
O BRÁZEK 5.5 (D ISTRIBUČNÍ FUNKCE , PROGRAM S TATISTIKA )
STAT
41
O BRÁZEK 5.6 (D ISTRIBUČNÍ FUNKCE , PROGRAM S TAT )
5.7 S ROVNÁNÍ TESTŮ DOBRÉ SHODY K RI T ÉRI UM 1 Kritérium 1 je statistický test určený pro počet hodnot menší než 50. Tento test jsem nenašel implementovaný v Matlabu, proto jsem jej Matlabem netestoval. Statistika Splněno pro hladinu významnosti 1, 5 i 10 %
Stat Splněno pro hladinu významnosti 2 %
T ABULKA 5.4 (K RITÉRIUM 1)
K RI T ÉRI UM 2 Kritérium 2 je- stejně jako Kritérium 1- určeno pro méně než 50 hodnot. Taktéž není implementováno Matlabem. Statistika Splněno pro hladinu významnosti 1, 2 i 5 %
Stat Splněno pro hladinu významnosti 2 %
T ABULKA 5.5 (K RITÉRIUM 2)
K O LM O G OR OV – S M IR NO VŮ V Statistika Odpovídající interval spolehlivosti je 99,43 % a maximální odchylka 0,0615
T ES T
Stat Odpovídající hladina spolehlivosti 67,72% a maximální odchylka 0,0538
Matlab Odpovídající interval spolehlivosti je 98,92 % a maximální odchylka 0.0649
T ABULKA 5.6 (K OLMOGOROV - SMIRNOVŮV TEST )
CHÍ
K VA D R Á T T E ST
Statistika Splněno pro hladinu významnosti 1 i 5%
Stat -
Matlab Kritérium se nezamítá, odpovídající interval spolehlivosti je 49,29 %
T ABULKA 5.7 (C HÍ KVADRÁT TEST )
42
5.8 P OROVNÁNÍ KONFIDENČNÍCH MEZÍ Zvolené konfidenční meze 995 997 1003 1005 Vypočítané konfidenční meze Statistika Stat Stanovení konfidenčních mezí náhodné chyby výsledku měření Konfidenční meze náhodné chyby výsled0,6671 0,6671 ku měření Odpovídající interval spolehlivosti ( 999,31 ; 1000,64 ) ( 999,31 ; 1000,64 ) Stanovení konfidenčních mezí nevyloučené systematické chyby výsledku měření Počet složek nevyloučené systematické 4 4 chyby Směrodatná odchylka nevyloučené sys1154,7104 1154,7104 tematické chyby Konfidenční meze nevyloučené systema2200,0187 2200,0187 tické chyby Stanovení konfidenčních mezí celkové chyby výsledku měření Konfidenční meze celkové chyby měření 2200,0552 2200,0552 Odpovídající interval spolehlivosti ( -1200,08 ; 3200,03 ) ( -1200,08 ; 3200,03) T ABULKA 5.8 (K ONFIDENČNÍ MEZE )
5.9 D ALŠÍ TESTOVÁNÍ V následující tabulce 5.9 jsem vygeneroval 21 souborů s daty s různými parametry. Zde jsem testoval jen testy dobré shody vhodné pro n > 50 a pro nejlepší srovnání jsem je porovnával se statistickými funkcemi vypočtenými v Matlabu. Sloupec Jméno souboru obsahuje názvy souborů s vygenerovanými daty, které se nacházejí na přiloženém CD.
43
T ABULKA 5.9 (T ESTOVÁNÍ KS TESTU A C HÍ KVADRÁT TESTU )
44
6 Z ÁVĚR Nyní bych chtěl zhodnotit a konfrontovat svou práci se zadáním. Zadání bakalářské práce jsem splnil v celém jejím rozsahu, navíc jsem přidal jeden test dobré shody, a to Chí kvadrát test. Jako vývojové prostředí byl doporučen software Matlab, již z výše uvedených důvodů jsem se rozhodl pro vývojové prostředí Microsoft Visual Studio a jazyk C#. Do programu jsem vložil mnoho vlastního nastavení, jako různé zobrazení grafů, možnost mazaní a obnovy dat, nastavení různých hladin významnosti (Grubbsův test, Kritérium 1, Kritérium 2, Kolmogorov-Smirnovův test, Chí kvadrát test a Konfidenční meze), nastavení počtu sloupců u histogramu a Chí kvadrát testu, výpis mezí a četností histogramu. Mým cílem bylo vytvořit program esteticky zajímavý, uživatelsky intuitivní, přehledný a snadno ovladatelný.
V kapitole 5 (Výsledky práce (experimentální část)) jsem se snažil dokázat správnost svých výpočtů, resp. implementovaných algoritmů. Pokusím se tedy postupně zhodnotit jednotlivé body kapitoly, porovnat výsledky se starší verzí programu Stat, Matlabem a Microsoft Excelem. Data jsem vygeneroval pomocí Matlabu a funkce random (Tabulka 5.1). Budu postupovat postupně podle pořadí záložek mého programu. Začnu s naměřenými daty (Obrázek 5.1). Ty se shodují přesně jak s programem Stat (Obrázek 5.2), Matlabem, tak i s Excelem. Všechny grafy neuvádím z důvodu malé významnosti. Tabulka 5.2- základní zpracování. Zde jsem porovnával absolutní a relativní chybu s Excelem, hodnoty se shodují 100%. Dále pak výsledek Grubbsova testu se Stat, tyto hodnoty se také shodují na 100%. Zobrazení histogramu (Obrázek 5.3)- opět úplná shoda jak s programem Stat (obrázek 5.4), tak i s Matlabem. Vypočtené chyby měření mají 100% shodu se všemi výše uvedenými programy. Zobrazení distribuční funkce (Obrázek 5.5) jsem srovnával pouze se Stat (Obrázek 5.6). Zde jsou již odlišnosti patrné. Mnou vypočtená distribuční funkce začíná od nuly a nabývá jedničky, je schodovitá. Další bod jsou testy dobré shody. Ty- jak jsem již uvedl dříve- se dělí podle počtu hodnot. S testy dobré shody pro n malé (do n < 50) není problém (Tabulka 5.4, 5.5), ty se shodují. V podstatě se jedná o snadný výpočet a nalezení příslušné hodnoty v tabulce. Naopak testy pro n velké (n > 50) jsou již rozdíly měřitelné. V tabulkách 5.6, 5.7 a 5.9 jsou uvedeny významné hodnoty. Neboť Kolmogorov-Smirnovův test a Chí kvadrát test se ne vždy shodovaly, vytvořil jsem 21 souborů s vygenerovanými hodnotami a s různými parametry a porovnával jsem je se svým programem. Při použití dat v tabulce 5.1 se hodnoty procentuální shody distribučních funkcí KS testu liší o 31,71% u programu Stat a o 0,51% od Matlabu. Proto jsem vytvořil tabulku 5.9 a porovnával hodnoty KS testu a Chí kvadrát testu. Jak je patrné z této tabulky, průměrná maximální
45
odchylka distribučních funkcí je 0,0021 a procentuální odchylka je 0,64%. Z těchto výsledků usuzuji, že program udává naprosto adekvátní hodnoty.
Pokud bych měl navrhnout postup dalšího zdokonalení mého programu, pravděpodobně bych se zaměřil na dvě oblasti. Nejprve bych ještě vylepšil kreslení grafů. Má své nedostatky, které jsou patrné hlavně při načtení velkého množství dat (přibližně nad 2000). Druhým upgradem bych se pokusil hlouběji proniknout do statistické teorie. Největší otázkou při tvorbě programu v podstatě byla distribuční funkce. Při testování programu pro mě byl alfou a omegou matematický software Matlab a při srovnávání maximálních odchylek distribučních funkcí se ne vždy 100% shodoval. Průměrně, jak vychází z tabulky 5.9, byla odchylka 0,0021. Proto bych viděl budoucí upgrade hlavně ve snížení této odchylky- pokud možno na nulu.
Využití tohoto programu je opravdu rozmanité. Může být využit studenty jako učební pomůcka- ke zpracování výsledků jejich vlastního měření, ale i kterýmkoli z pedagogů a jiných akademických pracovníků ČVUT. Tento program může posloužit všem, kdo se snaží zjistit, jestli data mají normální rozložení a jsou dále použitelná k samotnému zpracování.
Jak již jsem dříve uvedl, myslím si, že největší přínos této práce je v možném praktickém využití studenty, a to na jakémkoli počítači s operačním systémem Windows. Program se snadno nainstaluje, vyžaduje pouze NET Framework 3.5, pokud ho uživatel nemá NET Framework se sám stáhne z internetu a nainstaluje. Tudíž program nevyžaduje od uživatele žádné zvláštní softwarové vybavení.
46
7 P ODĚKOVÁNÍ Touto cestou vyslovuji poděkování vedoucímu bakalářské práce Ing. Radku Sedláčkovi, Ph.D., za pedagogické usměrnění, podnětné rady a podporu, kterou mi poskytoval při vypracovávání bakalářské práce.
47
8 C ITOVANÁ LITERATURA 1. Boháček, J. Haasz. Teorie měření - cvičení. Praha : Skripta ČVUT, 1992. 2. Wikipedia. Chyba aproximace. Wikipedia, otevřená encyklopedie. [Online] 12. Květen 2008. [Citace: 21. Červen 2008.] http://cs.wikipedia.org/wiki/Absolutn%C3%AD_chyba. 3. —. Četnost. Wikipedia, otevřená encyklopedie. [Online] 7. Květen 2007. [Citace: 21. Červen 2008.] http://cs.wikipedia.org/wiki/Histogram. 4. —. Aritmetický průměr. Wikipedia, otevřená encyklopedie. [Online] 21. Duben 2008. [Citace: 21. Červen 2008.] http://cs.wikipedia.org/wiki/Aritmetick%C3%BD_pr%C5%AFm%C4%9Br. 5. —. Medián. Wikipedia, otevřená encyklopedie. [Online] 31. Květen 2008. [Citace: 21. Červen 2008.] http://cs.wikipedia.org/wiki/Medi%C3%A1n. 6. —. Směrodatná odchylka. Wikipedia, otevřená encyklopedie. [Online] 10. Červen 2008. [Citace: 21. Červen 2008.] http://cs.wikipedia.org/wiki/Sm%C4%9Brodatn%C3%A1_odchylka. 7. Červenka, Milan. Chyby měření. Herodes. [Online] [Citace: 21. Červen 2008.] http://herodes.feld.cvut.cz/mereni/chyby/chyby.php. 8. Wikipedia. Rozdělení pravděpodobnosti. Wikipedia, otevřená encyklopedie. [Online] 14. Květen 2008. [Citace: 21. Červen 2008.] http://cs.wikipedia.org/wiki/Rozd%C4%9Blen%C3%AD_pravd%C4%9Bpodobnosti. 9. —. Test dobré shody. Wikipedia, otevřená encyklopedie. [Online] 16. Prosinec 2007. [Citace: 21. Červen 2008.] http://cs.wikipedia.org/wiki/Test_dobr%C3%A9_shody. 10. J., Pavlík. Aplikovaná statistika. Praha : VŠCHT Praha, 2005. 80-7080-569-2 .
48
9 B IBLIOGRAFIE 1. Boháček, J. Haasz. Teorie měření - cvičení. Praha : Skripta ČVUT, 1992. 2. Wikipedia. Chyba aproximace. Wikipedia, otevřená encyklopedie. [Online] 12. Květen 2008. [Citace: 21. Červen 2008.] http://cs.wikipedia.org/wiki/Absolutn%C3%AD_chyba. 3. —. Četnost. Wikipedia, otevřená encyklopedie. [Online] 7. Květen 2007. [Citace: 21. Červen 2008.] http://cs.wikipedia.org/wiki/Histogram. 4. —. Aritmetický průměr. Wikipedia, otevřená encyklopedie. [Online] 21. Duben 2008. [Citace: 21. Červen 2008.] http://cs.wikipedia.org/wiki/Aritmetick%C3%BD_pr%C5%AFm%C4%9Br. 5. —. Medián. Wikipedia, otevřená encyklopedie. [Online] 31. Květen 2008. [Citace: 21. Červen 2008.] http://cs.wikipedia.org/wiki/Medi%C3%A1n. 6. —. Směrodatná odchylka. Wikipedia, otevřená encyklopedie. [Online] 10. Červen 2008. [Citace: 21. Červen 2008.] http://cs.wikipedia.org/wiki/Sm%C4%9Brodatn%C3%A1_odchylka. 7. Červenka, Milan. Chyby měření. Herodes. [Online] [Citace: 21. Červen 2008.] http://herodes.feld.cvut.cz/mereni/chyby/chyby.php. 8. Wikipedia. Rozdělení pravděpodobnosti. Wikipedia, otevřená encyklopedie. [Online] 14. Květen 2008. [Citace: 21. Červen 2008.] http://cs.wikipedia.org/wiki/Rozd%C4%9Blen%C3%AD_pravd%C4%9Bpodobnosti. 9. —. Test dobré shody. Wikipedia, otevřená encyklopedie. [Online] 16. Prosinec 2007. [Citace: 21. Červen 2008.] http://cs.wikipedia.org/wiki/Test_dobr%C3%A9_shody. 10. J., Pavlík. Aplikovaná statistika. Praha : VŠCHT Praha, 2005. 80-7080-569-2 . 11. Sels, Chris. C# a WinForms - programování formulářů Windows. Brno : Zoner Press, 2005. 80-86815-25-0. 12. Prosise, Jeff. Programování v Microsoft .Net. Brno : Computer Press, 2003. 80-7226879-1. 13. Milan Meloun, Jiří Militký. Kompendium statistického zpracování dat. Praha : Academia, 2002. 80-200-1008-4. 14. Bayer, Jurgen. C# 2005, Velká kniha řešení. Brno : Computer Press, 2007. 978-80-2511620-3. 15. Wikipedia. Kolmogorov-Smirnov test. Wikipedia, The Free Encyclopedia. [Online] 2. 6 2008. [Citace: 1. 7 2008.] http://en.wikipedia.org/wiki/Kolmogorov-Smirnov_test.
49
10 P ŘÍLOHY 10.1 S EZNAM TVARŮ VÝVOJOVÉ HO DIAGRAMU Proces
Předefinovan ý proces
Přímá data
Zobrazení
Rozhodnutí
Dokument
Uložená data
Vnitř ní úložiš tě
Ruční vstup
Karta
Ruční operace
Příprava
Data
Sekven ční data
Papírová páska
Paralelní režim
Omezení smyčkou
Terminátor
Odkaz na stránc e
Odkaz na jinou stránku
50