Szakdolgozat. Miskolci Egyetem. Matematikai statisztikai feladatok szemléltetése MATLAB programcsomag segítségével

Hasonló dokumentumok
FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

A Statisztika alapjai

Készítette: Fegyverneki Sándor

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

Diplomamunka. Miskolci Egyetem. Leghosszabb szériák vizsgálata. Készítette: Selling István Mérnök Informatikus MSc jelölt

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

x, x R, x rögzített esetén esemény. : ( ) x Valószínűségi Változó: Feltételes valószínűség: Teljes valószínűség Tétele: Bayes Tétel:

Függvények ábrázolása

Statisztika - bevezetés Méréselmélet PE MIK MI_BSc VI_BSc 1

Valószínűségszámítás összefoglaló

Véletlen jelenség: okok rendszere hozza létre - nem ismerhetjük mind, ezért sztochasztikus.

Elméleti összefoglaló a Valószín ségszámítás kurzushoz

Gazdasági matematika II. Tantárgyi útmutató

STATISZTIKA ELŐADÁS ÁTTEKINTÉSE. Matematikai statisztika. Mi a modell? Binomiális eloszlás sűrűségfüggvény. Binomiális eloszlás

TANTÁRGYI PROGRAM Matematikai alapok II. útmutató

Miért fontos számunkra az előző gyakorlaton tárgyalt lineáris algebrai ismeretek

biometria II. foglalkozás előadó: Prof. Dr. Rajkó Róbert Matematikai-statisztikai adatfeldolgozás

e (t µ) 2 f (t) = 1 F (t) = 1 Normális eloszlás negyedik centrális momentuma:

Baran Ágnes. Gyakorlat Függvények, Matlab alapok

A valószínűségszámítás elemei

TANTÁRGYI PROGRAM Matematikai alapok 2. útmutató

Matematikai statisztika c. tárgy oktatásának célja és tematikája

A maximum likelihood becslésről

4. Az A és B események egymást kizáró eseményeknek vagy idegen (diszjunkt)eseményeknek nevezzük, ha AB=O

MATLAB alapismeretek II.

Gazdasági matematika II. tanmenet

SCILAB programcsomag segítségével

Nagy számok törvényei Statisztikai mintavétel Várható érték becslése. Dr. Berta Miklós Fizika és Kémia Tanszék Széchenyi István Egyetem

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

A SZAKMAI GYAKORLAT KÖVETELMÉNYEI

Grafikus felhasználói felület (GUI) létrehozása A GUI jelentése Egy egyszerű GUI mintaalkalmazás létrehozása

A MATLAB alapjai. Kezdő lépések. Változók. Aktuális mappa Parancs ablak. Előzmények. Részei. Atomerőművek üzemtana

Matematika A3 Valószínűségszámítás, 6. gyakorlat 2013/14. tavaszi félév

Számítógépes döntéstámogatás. Statisztikai elemzés

[Biomatematika 2] Orvosi biometria

Eseményalgebra. Esemény: minden amirl a kísérlet elvégzése során eldönthet egyértelmen hogy a kísérlet során bekövetkezett-e vagy sem.

Biomatematika 12. Szent István Egyetem Állatorvos-tudományi Kar. Fodor János

[Biomatematika 2] Orvosi biometria

Véletlen sorozatok ellenőrzésének módszerei. dolgozat

STATISZTIKA ELŐADÁS ÁTTEKINTÉSE. Mi a modell? Matematikai statisztika. 300 dobás. sűrűségfüggvénye. Egyenletes eloszlás

STATISZTIKA. A maradék független a kezelés és blokk hatástól. Maradékok leíró statisztikája. 4. A modell érvényességének ellenőrzése

Alap-ötlet: Karl Friedrich Gauss ( ) valószínűségszámítási háttér: Andrej Markov ( )

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

Gazdasági matematika II. vizsgadolgozat megoldása A csoport

Matematikai geodéziai számítások 10.

MATLAB alapismeretek V. Eredmények grafikus megjelenítése: oszlopdiagramok, hisztogramok, tortadiagramok

egyenletesen, és c olyan színű golyót teszünk az urnába, amilyen színűt húztunk. Bizonyítsuk

MATLAB alapismeretek IV. Eredmények grafikus megjelenítése: vonalgrafikonok

Elméleti összefoglaló a Sztochasztika alapjai kurzushoz

A valószínűségszámítás elemei

6. Előadás. Vereb György, DE OEC BSI, október 12.

Bevezető. Mi is az a GeoGebra? Tények

Leíró és matematikai statisztika el adásnapló Matematika alapszak, matematikai elemz szakirány 2016/2017. tavaszi félév

Matematika osztályozó vizsga témakörei 9. évfolyam II. félév:

TÁJÉKOZTATÓ AZ OSZTATLAN TANÁRKÉPZÉS DIPLOMAMUNKÁJÁNAK KÖVETELMÉNYEIRŐL

Baran Ágnes. Gyakorlat Halmazok, függvények, Matlab alapok. Baran Ágnes Matematika Mérnököknek Gyakorlat 1 / 34

2. A ξ valószín ségi változó eloszlásfüggvénye a következ : x 4 81 F (x) = x 4 ha 3 < x 0 különben

Kutatásmódszertan és prezentációkészítés

7. Előadás Grafikus felhasználói felületek.

Mi az adat? Az adat elemi ismeret. Az adatokból információkat

MATLAB. 5. gyakorlat. Polinomok, deriválás, integrálás

A számok kiíratásának formátuma

A Föld középpontja felé szabadon eső test sebessége növekszik, azaz, a

Közlemény. Biostatisztika és informatika alapjai. Alapsokaság és minta

Biometria az orvosi gyakorlatban. Korrelációszámítás, regresszió

Kabos: Statisztika II. t-próba 9.1. Ha ismert a doboz szórása de nem ismerjük a

Szakdolgozat. Miskolci Egyetem. Matematikai statisztikai feladatok szemléltetése MATLAB programcsomag segítségével

Valószínűségszámítás és statisztika

A MATLAB alapjai. Kezdő lépések. Változók. Aktuális mappa Parancs ablak. Előzmények. Részei

Gazdasági matematika II. vizsgadolgozat, megoldással,

Biomatematika 2 Orvosi biometria

Matematikai alapok és valószínőségszámítás. Normál eloszlás

Hipotézis STATISZTIKA. Kétmintás hipotézisek. Munkahipotézis (H a ) Tematika. Tudományos hipotézis. 1. Előadás. Hipotézisvizsgálatok

[Biomatematika 2] Orvosi biometria

1. Alapok. #!/bin/bash

BSc hallgatók szakdolgozatával szemben támasztott követelmények SZTE TTIK Földrajzi és Földtani Tanszékcsoport

6. gyakorlat. Gelle Kitti. Csendes Tibor Somogyi Viktor. London András. jegyzetei alapján

BIOMATEMATIKA ELŐADÁS

INFORMATIKAI ALAPISMERETEK

MATLAB alapismeretek III.

Gazdasági matematika II. vizsgadolgozat megoldása, június 10

Numerikus módszerek 1.

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

Gauss-Seidel iteráció

Az importálás folyamata Felhasználói dokumentáció verzió 2.1.

Matematika A2 vizsga mgeoldása június 4.

Bevezetés a programozásba. 5. Előadás: Tömbök

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása

A következő feladat célja az, hogy egyszerű módon konstruáljunk Poisson folyamatokat.

4. előadás. Kiegyenlítő számítások MSc 2018/19 1 / 41

Matematikai geodéziai számítások 6.

11. Előadás. 11. előadás Bevezetés a lineáris programozásba

Komputer statisztika gyakorlatok

Bevezetés a biometriába Dr. Dinya Elek egyetemi tanár. PhD kurzus. KOKI,

Vektorterek. =a gyakorlatokon megoldásra ajánlott

Kísérlettervezés alapfogalmak

Algoritmus terv 3. Fejezet: Folyamatok meghatározása

Matematika III. 5. Nevezetes valószínűség-eloszlások Prof. Dr. Závoti, József

Diagram készítése. Diagramok formázása

1. tétel. Valószínűségszámítás vizsga Frissült: január 19. Valószínűségi mező, véletlen tömegjelenség.

Átírás:

Szakdolgozat Miskolci Egyetem Matematikai statisztikai feladatok szemléltetése MATLAB programcsomag segítségével Készítette: Rigó Balázs Programtervező informatikus BSc Témavezető: Dr. Karácsony Zsolt egyetemi docens Miskolc, 2014

Miskolci Egyetem Gépészmérnöki és Informatikai Kar Alkalmazott Matematikai Tanszék Szám: Szakdolgozat Feladat Rigó Balázs (DOZ5B9) programtervező informatikus jelölt részére. A szakdolgozat tárgyköre: Valószínűségszámítás és matematikai statisztika A szakdolgozat címe: Matematikai statisztikai feladatok szemléltetése MATLAB programcsomag segítségével A feladat részletezése: Irodalomkutatás és az elmélet összefoglalása, alkalmazási területek bemutatása, a programban használt tételek kimondása. Több probléma számítógépes implementációja MATLAB programban, a MATLAB megfelelő toolboxainak használatával. Kihelyezve a hangsúlyt a matematikai statisztika alaptételének (Glivenko-tétel), a kétdimenziós normális eloszlás szemléltetésére és a centrális határeloszlás-tétel szimulálására egyenletes eloszlás, valamint véletlenbolyongás segítségével. Témavezető(k): Dr. Karácsony Zsolt, egyetemi docens A feladat kiadásának ideje: 2013. október 7.................................. szakfelelős 2

Eredetiségi Nyilatkozat Alulírott Rigó Balázs; Neptun-kód: DOZ5B9 a Miskolci Egyetem Gépészmérnöki és Informatikai Karának végzős Programtervező informatikus szakos hallgatója ezennel büntetőjogi és fegyelmi felelősségem tudatában nyilatkozom és aláírásommal igazolom, hogy Matematikai statisztikai feladatok szemléltetése MATLAB programcsomag segítségével című szakdolgozatom/diplomatervem saját, önálló munkám; az abban hivatkozott szakirodalom felhasználása a forráskezelés szabályai szerint történt. Tudomásul veszem, hogy szakdolgozat esetén plágiumnak számít: szószerinti idézet közlése idézőjel és hivatkozás megjelölése nélkül; tartalmi idézet hivatkozás megjelölése nélkül; más publikált gondolatainak saját gondolatként való feltüntetése. Alulírott kijelentem, hogy a plágium fogalmát megismertem, és tudomásul veszem, hogy plágium esetén szakdolgozatom visszautasításra kerül. Miskolc,............év............hó............nap................................. Hallgató 3

1. A szakdolgozat feladat módosítása szükséges (módosítás külön lapon) nem szükséges................................................. dátum témavezető(k) 2. A feladat kidolgozását ellenőriztem: témavezető (dátum, aláírás): konzulens (dátum, aláírás):................................................................................. 3. A szakdolgozat beadható:................................................. dátum témavezető(k) 4. A szakdolgozat................... szövegoldalt................... program protokollt (listát, felhasználói leírást)................... elektronikus adathordozót (részletezve)...................................... egyéb mellékletet (részletezve)................... tartalmaz.................................................. dátum témavezető(k) 5. bocsátható A szakdolgozat bírálatra nem bocsátható A bíráló neve:............................................................................................. dátum szakfelelős 6. A szakdolgozat osztályzata a témavezető javaslata:................ a bíráló javaslata:................ a szakdolgozat végleges eredménye:................ Miskolc,......................................................... a Záróvizsga Bizottság Elnöke 4

Tartalomjegyzék 1. Bevezetés 7 2. Történeti áttekintés 8 2.1. A valószínűségszámítás történeti áttekintése............... 8 2.2. Matematikai statisztika történeti áttekintése............... 9 2.3. MATLAB történeti áttekintése...................... 10 3. Téma elméleti kifejtése 11 3.1. Valószínűség-számítás elmélete....................... 11 3.2. A matematikai statisztika alaptétele.................... 13 3.3. A többdimenziós normális eloszlás..................... 14 3.3.1. A többdimenziós standard normális eloszlás........... 15 3.3.2. A többdimenziós normális eloszlás szemléltetése......... 15 3.4. Centrális határeloszlás-tétel........................ 16 4. Fejlesztői dokumentáció 18 4.1. A MATLAB programcsomag bemutatása................. 18 4.1.1. Változók vektorok, mátrixok MATLAB környezetben...... 18 4.1.2. Parancsok és vezérlési szerkezetek................. 19 4.1.3. Ábrák készítése MATLAB-ban................... 20 4.1.4. Felhasznált eloszlások sűrűségfüggvényeinek kirajzolása..... 24 4.1.5. Statistics Toolbox.......................... 26 4.1.6. GUIDE bemutatása......................... 27 4.2. A megoldott feladatok bemutatása.................... 32 4.2.1. A Glivenko-tétel szimulálása.................... 32 4.2.2. A kétdimenziós normális eloszlás szemléltetése.......... 34 4.2.3. A centrális határeloszlás-tétel szimulálása egyenletes eloszlás segítségével.............................. 35 4.2.4. Véletlenbolyongás animációja................... 37 5. Összefoglalás 38 Irodalomjegyzék 39 Adathordozó használati útmutató 40 5

Köszönetnyilvánítás Ezúton szeretnék köszönetet nyilvánítani azoknak, akik segítsége nélkül ez a szakdolgozat nem készülhetett volna el. Elsősorban témavezetőmnek, Karácsony Zsoltnak, a sok segítségért, türelemért, figyelemért és ötleteiért, amikkel előresegítette a szakdolgozatom haladását, Dr. Fegyverneki Sándornak, aki megismertette, és megszerettette velem a valószínűség-számítás tudományát és Olajos Péternek, hogy megtanította a L A TEX programnyelv alapjait, így megkönnyítette a szakdolgozatom formázását. Köszönettel tartozom a Miskolci Egyetem Alkalmazott Matematikai Tanszékének, hogy támogattak a tanulmányaim során. Ugyancsak szeretném megköszönni szüleimnek,testvéremnek és barátaimnak a segítséget, támogatást, és türelmet, amit nyújtottak. Végül, de nem utolsó sorban pedig szeretném megköszönni a kedves Olvasónak, amiért idejét, és figyelmét szakdolgozatomra áldozza. 6

1. fejezet Bevezetés A szakdolgozat demonstrációs célokkal készült, mely a felsőoktatásban tanító tanárok számára jelenthet hasznos didaktikai módszert. Manapság tapasztalható, hogy a diákok egyre nehezebben értik meg a komolyabb problémákat, mivel előfordul, hogy az alapokat sem tudják elsajátítani korábbi tanulmányaik során. "Ez nyílvánvalóan több okkal is magyarázható, melyek között olyanok is szerepelnek, melyek nem mindig a hallgatók hanyagságára vezethetőek vissza. Gondolok itt például a közoktatásban, és hasonlóan a felsőoktatási alapképzésben is felmerülő problémákra (pl. óraszámcsökkentések, kreditrendszer problémái, stb.), vagy akár pl. az internet-használat néha káros következményeire is." [lásd 5] Erről a problémáról és pontosabb magyarazátáról a Libor Józsefné: Rekurziós eljárások, Monte Carlo módszerek és aszimptotikus eredmények oktatási célú összehasonlító elemzése, Doktori (PhD) értekezésében olvashat bővebben. Az szakdolgozatom is hasonló témát feszeget, azonban a fő cél néhány matematikai statisztikai tétel, feladat bemutatása és ismertetése a hallgatóság számára. Saját bőrömön is tapasztaltam tanulmányaim során, hogy az egyes definíciókat és tételeket nehéz megérteni első hallásra. Véleményeim szerint ez a probléma sem vetíthető sem a hallgatókra, sem a felsőoktatásban oktató tanárokra. Egyéb okokból nekik is be kell tartani egy ütemtervet, és nem tudják mindig figyelembe venni, ha a hallgatóknak lemaradásai voltak már a korábbi tanulmányaik során. Így a probléma gyökerénél kellene már a problémát csírájában elfolytani. Szakdolgozatomban ezt a problémát szemléltetésekkel és részletesebb elméleti kifejtéssel próbálom orvosolni. Úgy gondolom, sokkal érthetőbb egy tételt megérteni, ha például készül rá számítógépes implementáció, amely szemlélteti a hallgatóság számára a tétel lényegét és fontosságát. Viszont az általam kifejtett szimulációk elméleti anyagának nem mindegyikét tanították egyetemei tanulmányaim során, illetve nem a teljesség igényével. Így azokat az elméleteket bővebben kifejtem. Az órákon megtanított elméleteket nem ismertetem, viszont az irodalomjegyzékben megtalálható irodalmakban utánajárhat a kedves olvasó az alapfogalmak után is. Most rátérnék szakdolgozatom felépítésére. Lássuk is miről olvashat a kedves érdeklődő. Szakdolgozatom első fejezetében rövid történeti áttekintést adok a valószínűségszámítás, matematikai statisztika és a MATLAB programnyelv kialakulásáról. A második fejezetben összefoglalom a szakdolgozatban felhasznált ismeretanyagot, irodalmat. Kihelyezve a hangsúlyt a programban megvalósított implementációk elméleti hátterére: kétdimenziós normális eloszlás, Glivenko-tétel, centrális határeloszlás-tétel. A harmadik fejeztben a MATLAB programcsomagot mutatom be, kihelyezve a hangsúlyt az általam felhasznált funkcióira. Ezek után pedig röviden bemutatom a megírt MATLAB programot és az egyes témakörökben elért eredményeket elemzem. 7

2. fejezet Történeti áttekintés Először is nézzünk egy rövid történeti áttekintést, honnan is indult maga a valószínűségszámítás és a matematikai statisztika. Néhány fontosabb mérföldkövet megemlítenék a továbbaikban a teljesség igénye nélkül. A fejezet végén Valamint a MATLAB programnyelvről is olvashat egy rövid áttekintést. Akit mélyebben érdekelnek további előzmények, keresse fel az általam felhasznált irodalmakat. Ebben az fejezetben az alábbi irodalmakat használtam fel: Csörgő Sándor: A szentpétervári paradoxon [lásd 2] és Wikipedia, http://www.wikipedia.org [lásd 9]. 2.1. A valószínűségszámítás történeti áttekintése A valószínűség-számítás a matematika egyik tudományága. Eredeti motivációját a véletlen tömegjelenségek mennyiségi, gyakorisági viszonyainak vizsgálata adta, melyek egyrészt tetszőlegesen sokszor ismétlődhetnek ezért nevezzük őket tömegjelenségeknek, de minden megismétlődésük többféle eredménnyel járhat, ugyanakkor nem tudjuk pontosan megmondani, kiszámítani, melyik ismétlődés alkalmával melyik eredmény következik be (ettől véletlen a tömegjelenség). Bár számos előzmény után, a valószínűségszámítás 1654-ben indult meg igazán Blaise Pascal (1623-1662) és Pierre de Fermat (1601-1665 híres levelezésével. A tárgyalt kérdések mindegyike szerencsejátékokra vonatkozott és ezek azonmód elterjedtek Párizs "matematikus köreiben" és intellektuálisabb szalonjaiban. Így tanulta meg ezeket az oda 1655-ben érkező ifjú Christiaan Huygens (1629-1695), aki, miután Pascallal is áttételes kapcsolatba került, a következő évben egy 16 oldalas füzetben a maga Pascaléval megegyező megoldásait holland nyelven leírta. Ez 1660-ban jelent meg, de közben latin fordítását De Ratiociniis in Lude Aleae címmel Huygens korábbi tanára, Frans van Schooten, kiadta 1657-ben megjelent Exercitationum Mathematicarum című, népszerűvé vált tankönyvének függelékeként. Huygens appendiye volt az első kinyomtaott munka a tárgyban, amely a fél évszázadra meghatározóvá vált. A következő nagy lépés Jacob Bernouilli (1654-1705) nevéhez fűzödik, aki a nevezetes bázeli család matematikus hagyományának alapjait öccsével együtt lerakta. Öccse, Johannes Bernoulli (1667-1748), a leibnizi analíis diadalravivőinek legfontosabbika, előbb tanítványa volt bátyjának mint matematikus, de hamarosan egymás keserű riválisaivá váltak [...] A Felvilágosodás korának utolsó nagy matematikusa következik, Pierre Simon de Laplaca (1749-1827). Ahogy legjobban korátrsaiéra is, a valószínűség és matematikai statisztika elméletében kifejtett egész munkásságára nagy hatással voltak korának, a 8

2.2. Matematikai statisztika történeti áttekintése newtoni világkép kiteljesedésének nagy tudományos problémái.a kérdések legtöbbje a naprendszer égitestjeinek mozgásával volt kapcsolatoos, a mozgások pontos leírását a gravitáció elveiből kellett levezetni és egyzetetni a hibákkal terhelt, évszázadokra visszanyúló konkrét csillagászati mérésekkel. A hibákkal történő bánás szempontjából a két erősen összefüggő kérdés az volt, hogy mik a hibák eloszlásának lírására szolgáló jó valószínűségi modellek és mik a megfigyelések kombinálásának jó módszerei, vagyis az alkalmas becslési eljárások. Thomas Simson (1710-1761) angol "lkalmazott" matematikus, Tobias Meye (1723-1762) német csillagász, Daniel Bernouilli, Euler, Lagrange és Laplace tettek meg néhány fontos kezdeti lépést független diszkrét véletlen változók összegei eloszlásának kiszámítására, de Moivre kezdeti probálkozásai után, Lagrange használta először igazi virtuozitással a generátorfüggvények és a Laplace-transzformáció módszerét. A további közbülső lépésel Lagrange és Laplace nevéhez fűződnek, mígnem eljutunk a legkisebb négyzetek módszerének Adrien Marie Legendre (1752-1833) által 1805-ben, illetve Carl Friedrich Gauss (1777-1855) által 1809-ben történt publikálásáig. A történés a XIX. század közepétől egyre inkább a statisztika mezején zajlott, később társadalomtudományainak nevezett területeken és a kísérletes pszichológia első próbálkozásaiban, majd mint a századvégére e század elejére kialakuló angol iskola eseteében, nem kis részben a darwini elmélet által motiválva, az öröklődés és általában a korreláltság vizsgálatában. Laplace "bayesiánus" statisztikai hozzáállása és valószínűségi szubjektivizmusa csak majd a jelen század közepétől kezd népszerűségre szert tenni. [...] A szerencsejátékok elmélete később biztosítási, népesedési és sztochasztikus (véletlen) geometriai problémákkal bővült. A következő matematikusok, akik ilyen problémákkal foglalkoztak: Moivre, Legendre, Bayes, Poisson, Gauss, Buffon. A XIX. században a valószínűség-számítás a matematika önmagában is hatalmas, önálló ágává vált. A modern kori (XIX. század második fele - XX. század első fele) valószínűség-számítást orosz matematikusok vitték tovább: Csebisev, Markov, Kolmogorov. Kolmogorov végezte el az elmélet axiomatikus megalapozását. E lépéssel a valószínűség-számítás a modern matematika többi ágával teljesen egyenrangú formális elméletté vált. A valószínűség-számítás nemcsak megalapozódott a huszadik században, hanem folyamatosan újabb területekkel bővült, például egy részecske bolyongásának leírása többdimenziós euklideszi térben (Brown-mozgás). A huszadik század második felében született meg önálló tudományként műszaki, mérnöki és statisztikai problémák termékeként a valószínűség-számítás két fontos új ága: a folyamat-statisztika, illetve az információelmélet. 2.2. Matematikai statisztika történeti áttekintése A statisztika a valóság számszerű információinak megfigyelésére, összegzésére, elemzésére és modellezésére irányuló gyakorlati tevékenység és tudomány. Gyakran hívják statisztikának a statisztika módszereit és a statisztikai tevékenység eredményeként keletkező adatokat is. Ezenkívül statisztikának nevezik egy statisztikai minta elemeinek ismeretlen paramétert nem tartalmazó függvényeit is. Eredetileg (ma már ritka, elavultnak számító értelmezés szerint) a statisztika matematikai eszközöket igénybe vevő államháztartástant jelentett, vagyis azon módszerek gyűjteményét és elméletét, amelyek segítségével az újkorban kialakuló modern államok számon tarthatták erőforrásaikat és a társadalmi problémákat (népesség, termelés, betegségek stb.). Erre utal a szó etimológiája is, minthogy a szót az újlatin statisticum 9

2.3. MATLAB történeti áttekintése collegium (államtanács) és az olasz statista (államférfi, politikus) kifejezésekből származtatják. A statisztika atyja, Gottfried Achenwall is ilyen értelemben használta e szót munkáiban (az állam tudománya), először 1749-ben. A szó mai értelmét (az adatgyűjtés és adatfeldolgozás általános tudománya) csak a tizenkilencedik század elején nyerte el. A következtető statisztika mindenekelőtt a matematikai ismeretek (ezeken belül is főként a valószínűség-számítás) gyors fejlődésének következtében, a leíró statisztika pedig a különböző adatszerzési és mintavételi technikák kialakulásával, fejlődésével jutott el a mai szintjére. 2.3. MATLAB történeti áttekintése A MATLAB egy speciális programrendszer, amelyet numerikus számítások elvégzésére fejlesztettek ki és emellett egy programozási nyelv. A The MathWorks által kifejlesztett programrendszer képes mátrix számítások elvégzésére, függvények és adatok ábrázolására, algoritmusok implementációjára és felhasználói interfészek kialakítására. A MATLAB-ot (jelentése: matrix laboratory) az 1970-es évek elején Cleve Moler kezdte el fejleszteni, az akkori Új-Mexikói Egyetem Számítástudományi Intézetének elnöke. Kezdetben csak a diákjai munkáját tervezte megkönnyíteni, hogy ezen keresztül el tudják érni a LINPACK és EISPACK csomagokat Fortran tudás nélkül. Hamarosan elterjedt más egyetemek hallgatói és munkatársai között is és így erős érdeklődésre tett szert az alkalmazott matematikával foglalkozók körében. Jack Little, egy mérnök, Molernél tett látogatása során felismerte a MATLAB-ban lévő lehetőségeket 1983-ban. Utána nem sokkal csatlakozott Molerhez és Steve Bangert-hez, majd újraírták a MATLAB-ot C nyelven és megalapították a The MathWorks-öt 1984-ben. Ezek az újraírt könyvtárak JACKPAC néven váltak ismerté. 2000-ben a MATLAB-ot ismét újraírták, hogy újabb módszereket alkalmazzon a mátrixokkal való műveletekre, ebből született a LAPACK csomag A MATLAB-ot először az irányítástechnikában alkalmazták, ami Little szakterülete is volt, de gyorsan elterjedt más területeken is. Manapság szintén használatos még az oktatásban, különösen a lineáris algebra és numerikus analízis szemléltetésében és népszerű még a képfeldolgozással foglalkozó kutatók között is Ahhoz, hogy megértsük a szakdolgozatomban felhasznált elméletet, szükségünk lesz néhány fogalomra. Így a további fejezetekben definiálok néhány valószínűségszámítás és matematikai statisztika definíciót, tételt. 10

3. fejezet Téma elméleti kifejtése Ebben a fejezetben néhány fontosabb definíciót és tételt ismertetek, amelyek megértése fontos szerepet játszik a szakdolgozatban megoldott programok megértéséhez. Felhasznált források: - Fazekas István: Valószínűségszámítás [3] - Fazekas István: Bevezetés a matematikai statisztikába [2] - Fegyverneki Sándor : Valószínűség-számítás és matematikai statisztika [4] - Selling István : Valószínűség-számítási feladatok szemléltetése MATLAB programcsomag segítségével [7]. 3.1. Valószínűség-számítás elmélete Itt rövid elméleti összefoglalót olvashat a szakdolgozatban felhasznált valószínűségszámítás elméletéről. Amennyiben az alapfogalmakat is fel szeretné eleveníteni, illetve bővebben olvasni a felhasznált elméletekről, például a Fazekas István: Valószínűségszámítás [3]-ben juthat további információhoz. 3.1. definíció. Legyen ξ és η valószínűségi változó, D 2 ξ <, D 2 η <, E = m ξ, Eη = m η. A ξ és η kovarianciáján a mennyiséget értjük. cov(ξ, η) = E[(ξ m ξ )(η m η )] A definícióból közvetlenül adódik, hogy D 2 ξ = cov(ξ, ξ). Valószínűségi vektorváltozók (lásd [3] 77.oldal) Legyenek ξ 1, ξ 2,..., ξ n valószínűségi változók. Ekkor a ξ = (ξ 1,..., ξ n ) n-dimenziós vektort valószínűségi vektorváltozónak nevezzük. A p k1...k n = P (ξ 1 = x k1,..., ξ n = x kn ) számokat a ξ eloszlásának nevezzük ( itt x ki, végigfut ξ i értékkészletén). ξ eloszlása nem más, mint komponeseinek együttes eloszlása. ξ várható érték vektorát koordinátaként képezzük. A ξ szórásmátrixa (kovariancia 11

3.1. Valószínűség-számítás elmélete mátrixa) a cov(ξ i, ξ j ) elemekből állő n n-es var(ξ) mátrix. A ξ, az Eξ vektorok és a var(ξ) = cov(ξ, ξ) mátrix struktúrája: ξ 1 Eξ 1 cov(ξ 1, ξ 1 )... cov(ξ 1, ξ n ) ξ =., Eξ =., var(ξ) =... ξ n Eξ n cov(ξ n, ξ 1 )... cov(ξ n, ξ n ) A 3.1 ábra (lásd [3] 78.oldal) olyan (ξ, η) valószínűségi változó párra vonatkozó 10-10 megfigyelést (konkétan céllövést) mutat amelyekben az alábbiak teljesülnek. 3.1. ábra. (a)-(b): eltérés a várható értékben; (c)-(d): eltérés a szórásban; (e)-(f) pozitívan, ill. negatívan korrelált (a) A két változó független, a középértékek 0-k, a szórások egyenlőek; (b) a két változó független, a középértkek nem 0-k, a szórások egyenlőek; (c) a két változó független, a középértékek 0-k, a szórások egyenlőek és kicsik; (d) a két változó független, a középértékek 0-k, a szórások egyenlőek és nagyok; (e) a két változó pozitívan korrelált; (f) a két változó negatívan korrelált. 12

3.2. A matematikai statisztika alaptétele 3.2. A matematikai statisztika alaptétele A matematikai statisztika alaptétele Glivenko szovjet matematikus nevéhez kapcsolható. 3.2. tétel (Glivenko tétele). Legyenek ξ 1, ξ 2,..., ξ N egy statisztikai sokaságból kiválasztott N elemű minta, más szóval legyenek a ξ k változók (k=1,2,...,n) egyforma eloszlásúak és függetlenek, közös eloszlásfüggvényüket jelölje F(x). Legyen F N (x) a minta empirikus eloszlásfüggvénye, azaz jelente F N (x) a ξ k számok közül az x-nél kisebb számok relatív gyakoriságát. Legyen N = akkor n 1 valószínűséggel 0-hoz konvergál. sup F N (x) F (x), <x<+ Bizonyítás. (ld. [7] 20.oldal vagy Rényi Alfréd: Valószínűségszámítás 423.oldal) Legyen X Ek (k = 0, 1, 2,..., E) az a legkisebb x érték, amelyre teljesülnek az F (x) k F (x + 0) egyenlőtlenségek. Akkor E N max( (1) N, (2) N ) + 1 ahol E (1) N = max F N (x E,k ) F (x E,k ) és (2) N ) = max F N (x E,k + 0) F (x E,k + 0) 1 k N 1 k N Mivel F N (x) annak az eseménynek a relatív gyakorisága egy N független kísérletből álló kísérletsorozatban, hogy egy F (x) eloszlásfüggvényű változó értéke x-nél kisebb, míg F (x) ennek a valószínűsége, továbbá F N (x + 0) annak a relatív gyakorisága, hogy ugyanezen változó értéke x-nél nem nagyobb, aminek a valószínűsége F (x + 0), tehát a nagy számok erő törvénye értelmében x minden rögzített értékére ( ) P lim F N(x) = F (x) = 1, N és azaz és Ilyen módon tehát ( ) P lim sup (1) N > 0 N Hasonlóan ( ) P lim sup (2) N > 0 N ( ) P lim N(x + 0) = F (x + 0) N = 1, ( ) P lim sup F N (x) F (x) > 0 = 0, N ( ) P lim sup F N (x + 0) F (x + 0) > 0 N k=1 k=1 = 0. n ( ) P lim sup F N (x E,k ) F (x E,k ) > 0 N = 0. n ( ) P lim sup F N (x E,k + 0) F (x E,k + 0) > 0 N = 0, és így ( ) P (lim sup max( (1) N, (2) N ) > 0) = 0. N 13

3.3. A többdimenziós normális eloszlás Tehát ( P lim sup N > 1 ) N E az E pozitív egész szám minden értékére. Ha lim sup N > 0, N akkor létezik olyan E pozitív egész szám, hogy = 0, lim sup N > 1 N E. azaz Ezért P (lim sup N > 0) N Ezzel a tétel állítását beláttuk. ( P lim sup N > 1 ) N E E=1 P (lim sup N = 0) = 1. N = 0, Glivenko tételének nagy jelentősége van, hiszen a tétel azt mutatja meg, hogy egy nagy elemszámú minta empirikus eloszlásfüggvénye 1 valószínűséggel egyenletes konvergál a statisztikai sokaság valódi eloszlásfüggvényéhez. Ezt azt jelenti, hogy a mintavétel útján teljes mértékben kimerítő képet nyerhetünk egy statisztikai sokaság (más szóval egy valószínűségi változó) eloszlásáról. 3.3. A többdimenziós normális eloszlás 3.2. ábra. A kétdimenziós normális sűrűségfüggvény 14

3.3. A többdimenziós normális eloszlás A többdimenziós normális eloszlás alapvető szerepet játszik a statisztikában, így itt részletesen tárgyaljuk. A többdimenziós normális eloszlást két módon szokták bevezetni. A többdimenziós standard normális eloszláson és a sűsűrségfüggvényeken alapul. Ezt itt röviden összefoglaljuk. A második bevezetési mód elegánsabb: a karakterisztikus függvényekre támaszkodik. Ezt fogjuk részletezni. 3.3.1. A többdimenziós standard normális eloszlás 3.3. definíció. Legyenek ξ 1, ξ 2,..., ξ n független, standard normális eloszlású valószínűségi változók. Ekkor a ξ = (ξ 1,..., ξ n ) valószínűségi vektorváltozót n-dimenziós standard normális eloszlásúnak nevezzük. Mivel Eξ i = 0, Dξ i = 1 és cov(ξ i, ξ j ) = 0(i j), így Eξ = 0 (n-dimenziós nullvektor) és var(ξ) = I (n n-es egységmátrix). ξ eloszlásának jelölése ξ N (0, I). Ha a dimenzióra is utalni akarunk, akkor ξ N n (0, I). 3.3. ábra. Koncentráció ellipszisek 3.3.2. A többdimenziós normális eloszlás szemléltetése Könnyen látható, hogy a (nem elfajult) kétdimenziós standard normális eloszlás sűrűségfüggvényének képe éppen egy harang alakú felület (a haranggörbe saját tengelye körüli megforgatottja). Általában az η N (m, D) nem elfajult kétdimenziós normális eloszlás sűrűségfüggvénye a fenti harang "eltorzítottja". Középpontja m-ben van, szintvonalai pedig ellipszisek. Egy-egy ilyen ellipszis középpontja m-ben van, tengelyei pedig s 1 és s 2 irányúak és hosszuk λ 1, illetve λ 2 -vel arányos. Itt s 1 és s 2 a D mátrix λ 1, illetve λ 2 sajátértékéhez tartozó sajátvektorai. Ez a tény az 1 f(x) = (2π n/2 )(det D) exp{ 1 1/2 2 (x m) D 1 (x m)} = c egyenlet megoldásából következik. Ebből ugyanis a D = SAS felbontás ahol S az ortonormált sajátvektorok mátrixa, A pedig a sajátértékek diagonális mátrixa v 2 1 λ 1 + v2 2 λ 2 = c 15

3.4. Centrális határeloszlás-tétel adódik. Itt v 1 és v 2 az x m vektor két koordinátája az s 1 és s 2 alkotta bázisban. A 3.2 és 3.3. ábrához m = (2, 1) és D = [ 7 ] 3 8 8 3 8 5 8 = [ 3 2 1 2 1 2 3 2 ] [ 1 0 0 1 2 ] [ 3 2 1 2 1 2 3 2 ] = SAS választással éltünk. Így D sajátvektorai s 1 = ( 3, 1 2 2 ) és s 2 = ( 1, 3 2 2 ), sajátértékei pedig λ 1 = 1 és λ 2 = 1/2. A 3.2 ábrán a sűrűségfüggvény harangja és annak ellipszis alakú szintvonalai láthatóak. A 3.3 ábrán újra a szintvonalak éáthatóak, de most a fenti N 2 (m, D) normális eloszlásból generált 400 véletlen számmal együtt. Ezen 400 pont jól mutatja a fenti ellipszisek koncentráció ellipszis elnevezésének a jogosságát: a normális eloszlású valószínűségi vektorváltozó a belső ellipszisektől kifelé haladva egyre kisebb valószínűséggel esik. 3.4. Centrális határeloszlás-tétel Ebben a fejezetben a centrális határeloszlás-tétel elméletét és tételét ismertetem, felhasználva Selling István szakdolgozatát is, melyben főleg a nagy számok törvényéről tudhatunk meg több információt. A valószínűség-számítás legfontosabb állításai azok, amelyek független valószínűségi változók normalizált összegeire vonatkoznak. A legfontosabb ilyen tételek a nagy számok törvényei és a centrális határeloszlás-tétel, és annak változatai. A nagy számok törvényei független, azonos eloszlású valószínűségi változók számtani átlagára vonatkoztak. De mi történik akkor, ha az összeget nem a tagok számával osztjuk? Ez a kérdés a valószínűség-számítás egyik jelentősebb problémája, és erre a kérdésre adnak választ a centrális határeloszlás-tételek. A centrális határeloszlás-tétel statisztikai tétel, vagyis bizonyos, célszerűen megadott formulák határeloszlását megadó matematikai állítás, és nem természeti törvény. Fontos kiemelni, hogy ez a tétel eloszlásokról, és nem változókról szól. Mivel a valószínűség-számítás felfogható a matematika eloszlásokról szóló területének, így bizonyos értelemben mondható, hogy ez a tétel a leginkább valószínűség-számítási tétel. (lásd [7]) 3.4. tétel. Legyenek ξ 1, ξ 2,... független, azonos eloszlású valószínűségi változók sorozata, és létezzen az E(ξ i ) = µ és D 2 (ξ i ) = σ 2 > 0. Ha S n = n k=1 ξ k, akkor ( lim P Sn nµ n σ n ahol Φ a standard normális eloszlásfüggvény. ) < x = Φ(x), x R, Ezen tétel speciális esete a következő, úgynevezett Moivre-Laplace tétel. 3.5. tétel. Legyen a ξ valószínűségi változó binomiális eloszlású n és p paraméterrel és 0 a < b n egész, akkor P (a ξ b) = b k=a ( ) ( n b np + 1 ) ( p k q n k 2 a np 1 ) 2 Φ Φ. k npq npq 16

3.4. Centrális határeloszlás-tétel A centrális határeloszlás tétel, és annak változatai fejezik ki, hogy nagyszámú független valószínűségi változó összege közelítőleg normális eloszlású, feltéve, hogy az összeg minden egyes tagja (nagy valószínűséggel) igen kicsi az egész összeghez képest. Ezek a tételek világítják meg, hogy a természetben és az emberi tevékenység különböző területein, így a termelésben, a tudományos kísérleteknél stb. miért találkozhatunk igen gyakran közelítőleg normális eloszlású, véletlentől függő mennyiségekkel. Egyszerű példának a mérési hibák problémáját lehet felhozni. Egy mérés eredményére általában igen sok, egymástól független apró, zavaró, a véletlentől függő tényező van hatással, és e hatások összegződéséből alakul ki a mérés hibája. A valószínűség-számítás centrális határeloszlás tételei tehát fényt vetnek arra, hogy miért követik a mérési hibák közelítőleg a normális eloszlás törvényét, amelyet éppen ezért hibatörvénynek szokás nevezni. A valószínűség-számítás centrális határeloszlás tételei tartalmazzák a hibaszámítás alapvető felvetésének elméleti indoklását, annak a feltevésnek a magyarázatát, hogy a hibaszámításban a mérési hibákat normális eloszlású valószínűségi változóknak szokás tekinteni. Hasonlóan sok esetben jogos közelítőleg normális eloszlásúnak tekinteni a tömeggyártással készített gépalkatrészek vagy más gyártmányok méreteit is. Viszont a centrális határeloszlás tételek csak bizonyos feltevések mellett érvényesek. Így például, ha valamilyen természeti jelenségnél, vagy ipari folyamatnál az egymástól független véletlen hatások nem összegződnek, hanem összeszorzódnak, akkor a határeloszlás feltételei az illető mennyiség logaritmusára érvényesek csak, maga az illető mennyiség a normális eloszlástól különböző, úgynevezett logaritmikusan normális eloszlást követ. Éppen emiatt nem helyes előzetes vizsgálat nélkül normális eloszlásúnak feltételezni valamely véletlentől függő mennyiséget. (lásd [7]) 17

4. fejezet Fejlesztői dokumentáció 4.1. A MATLAB programcsomag bemutatása Ebben a fejezetben bemutatom a MATLAB programcsomagot, kihelyezve a hangsúlyt azokra a funkciókra, amelyeket felhasználtam a programok írása során. Illetve a kedves Olvasó néhány alapdologról is olvashat, mint például a parancsok és vezérlési szerkezetek felépítéséról. Először ezeket vezetem be, majd rátérek az általam használt toolboxokra (Statistic Toolbox, GUIDE), végezetül pedig néhány a programban felhasznált parancsot ismertetek részletesebben. 4.1.1. Változók vektorok, mátrixok MATLAB környezetben Változókat az értékadó operátorral lehet deklarálni, ami az =. A MATLAB egy dinamikusan típusos nyelv, ami azt jelenti, hogy a változókat típusdeklaráció nélkül is lehet használni, kivéve, ha szimbolikus objektumnak szánjuk őket. A változók az értékeiket kaphatják konstansokból, számításokból, vagy egy függvény visszatérési értékéből is. A MATLAB többféle kényelmes megadási módot kínál vektoroknak, és mátrixoknak. Tömböket ciklus használata nélkül is fel lehet tölteni az alábbi szintaxissal mettől:mennyivel:meddig. Például:»array=1:2:9 eredménye array=1 3 5 7 9 lesz. Ez a példa egy array nevű egydimenziós tömb változót deklarál, amely az 1,3,5,7 és 9 értékeket tartalmazza. Ezzel a megadással a tömb elemei gyakorlatilag egy számtani sorozatot fognak képezni, amelynek első eleme a szintaxis első részében megadott mettől lesz, az utolsó eleme, a szintaxis utolsó részében megadott meddig, és a módosítás értéke a szintaxis közepén álló mennyivel lesz. Ha a meddig nem tagja a sorozatnak, akkor a legnagyobb tag a tőle kisebb számok közül az a szám lesz, amelyben a mennyivel legtöbbször megvan. Például:»array=1:3:9 eredménye 1 4 7 sorozat lesz. Ha a mennyivel értéket nem adjuk meg, akkor alapértelmezetten 1 lesz. A MATLAB nyelvben, ahogy a matematikában is, a tömbök és mátrixok indexelése 1-től kezdődik, ellentétben a legtöbb programozási nyelvvel, ahol 0-ról. A mátrixokat az elemek felsorolásával is meg lehet adni szóközzel, vagy vesszővel elválasztva úgy, hogy a 18

4.1. A MATLAB programcsomag bemutatása listát szögletes zárójelek között helyezzük el. A pontosvessző azt jelenti a felsorolásban, hogy az utána álló elemek a következő sorba kerüljenek. A kerek zárójelek használatával megtudjuk jeleníteni a mátrixot elemeit, illetve almátrixokat. Például:» A = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1] A = 16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1» A(2,3) ans = 11» A(2:4,3:4) ans = 11 8 7 12 14 1 Tetszőleges n*m-es zérusmátrixokat hozhatunk létre a zeros(n,m) paranccsal. Például: A=zeros(2,3). Ekkor A egy olyan zérusmátrix lesz, ami két sorból, és 3 oszlopból áll. 4.1.2. Parancsok és vezérlési szerkezetek A MATLAB-ban a parancsok végén a pontosvesszőnek más szerepe van, mint más programozási nyelvekben, ahol a parancsokat választja el egymástól. MATLAB-ban, ha egy parancs végén szerepel pontosvessző, akkor az a parancs eredménye nem kerül kiírásra, ha nincs, akkor kiírásra kerül a promptra. Vezérlési szerkezetek megtalálhatóak a MATLAB nyelvében ugyanúgy, ahogy más programozási nyelvekben. A vezérlési szerkezeteket az end parancs zárja. Például: while feltétel utasítások end if feltétel utasítások end for i=cikluskezdete:ciklusvége ciklusmag end Változók beolvasására az input parancsot használjuk, aminek paraméterezésébe megadhatunk egy kiírandó szöveget a bekérésnél. Például: x=input( Kérem adja meg az x értékét ); A szöveget jelek közé helyezzük. 19

4.1. A MATLAB programcsomag bemutatása Változók kiíratására a disp parancsot használjuk, amivel szöveget is írhatunk a változóhoz, így olvashatóbbá tehetjük a kiíratást. Például: x = [1 2 3]; disp([ X értékei:, num2str(x)]); Aminek eredménye: X értékei: 1 2 3 lesz. Véletlenszámokat alapértelmezetten a rand() paranccsal tudunk létrehozni, [0,1] intervallumon, egyenletes eloszlás szerint. Ha csak egy véletlenszámot akarunk létrehozni, akkor rand() parancs a megfelelő, de lehetőségünk van véletlenszámokból álló vektort, vagy mátrixot is létrehozni. Például: A=rand(2,3); A = 0.8147 0.1270 0.6324 0.9058 0.9134 0.0975 Kerekítésre a MATLAB-ban a round() függvény szolgál, ami a közelebbi egészre kerekít. Például: a=round(rand()*n); MATLAB-ban lehetőségünk van egységmátrixot, illetve zérusmátrixot is létrehozni, ezek megfelelő parancsai az eye(n), és a zeros(n) parancs. Ha n*m-es alakú mátrixot akarunk létrehozni, akkor eye(n,m) és zeros(n,m) a megfelelő parancs. Ha vektort akarunk létrehozni, akkor az n, vagy az m értékét 1-nek vesszük, attól függően, hogy sor-, vagy oszlopvektort akarunk létrehozni. A MATLAB programcsomagban lehetőségünk van egy vektor elemei közül maximum, minimum kiválasztására, átlag kiszámolására, ezekhez rendre a max(), min(), és mean() függvények alkalmasak. 4.1.3. Ábrák készítése MATLAB-ban A MATLAB programcsomagban készíhetünk ábrákat is. A legegyszerűbb parancs erre a plot(y) parancs, ami során az y vektort kirajzolja. Ekkor a hozzá tartozó x vektor az y minden eleme az elsőtől az y hosszának mértékéig indexekkel van feltöltve. Lehetőségünk van megadni egy ettől eltérő x vektort is, ilyenkor plot(x,y) paranccsal adhatjuk meg, hogy ábrázolja a vektorainkat egymáshoz képest. Ugyanígy megadható több vektorpár is, amiket egymáshoz képest rajzol ki: plot(x 1, Y 1, X 2, Y 2,..., X n, Y n ) alakban. Lehetőségünk van a rajzolt görbe színének, illetve a görbe kirajzolásának módjának is meghatározására, így az alapértelmezett kék folytonos vonal helyett rajzolhatunk más színekben, illetve a vonal lehet szaggatott, lehet speciális karakterekből álló (például keresztekből, körökből, stb.). Például: x = -pi:.1:pi; y = sin(x); plot(x,y) Kirajzol egy szinuszgörbét, [ π, π] tartományon, és minden egységen 10 pontot vesz fel. Rajzolás során megadhatunk további tulajdonságokat az elkészült ábrához. Ilyenek: 20

4.1. A MATLAB programcsomag bemutatása xlabel, ylabel parancsok: feliratozhatjuk a tengelyeket velük, xlim, ylim parancsok: ezekkel megadhatjuk, hogy az x, és y tengelyek mekkora részét ábrázoljuk, axes parancs: ezzel egybevonhatjuk az xlim, és ylim parancsokat, title parancs: nevet adhatunk az ábrának, text parancs: feliratozhatjuk az ábránkat, hold on: ezen parancs segítségével megállíthatjuk a rajzolást, és megadhatunk adatokat, legend: ezzel készíthetünk jelmagyarázatot az ábránk számára. Például: 4.1. ábra. Példa plot műveletre h1=-3; h2=3; mu=0; szigma=1; axis([h1 h2 0 1]); plot(h1:0.05:h2, normcdf(h1:0.05:h2, mu, szigma), k-, LineWidth, 1); xlabel( [-3,3] intervallumon a standard normális eloszlás eloszlásfüggvénye, FontSize,16); hold on; 21

4.1. A MATLAB programcsomag bemutatása MATLAB-ban lehetőségünk van a rajzolandó területre több különálló függvényt, diagramot kirajzolni, erre a subplot parancs való. Alapértelmezetten három paramétere van, az első kettővel meghatározzuk, hogy milyen mátrix formájában rajzoljuk ki, a harmadikkal pedig, hogy éppen hanyadik részre rajzoljunk. Erre nézünk egy példát, amit a centrális határeloszlás (egyenletes eloszlás segítségével) szemléletésénél használtam fel: 4.2. ábra. Példa subplot használatára % n*m véletlen eloszlásből generált véletlen változó gyakoriság hisztogramja subplot(1,2,1) xlabel( Megfigyelés ) ylabel( Gyakoriság ) % m elemű minta átlag gyakoriság hisztogramja subplot(1,2,2) xlabel( Megfigyelés ) ylabel( Gyakoriság ) 22

4.1. A MATLAB programcsomag bemutatása Továbbá lehetőségünk van két és háromdimenziós ábrák készítésére is. Az alábbi kódokat megtalálhatja a Stoyan Gisbert: MATLAB könyvben is [8]. 4.3. ábra. Példa kétdimenziós ábrázolásra: kétdimenziós normális eloszlás haranggörbéje m1=2; m2=1; x=linspace(-3,3,60); y=x; [xx,yy]=meshgrid(x,y); fi=-pi/6; s1=sqrt(2); s2=1/sqrt(2); u=cos(fi)*xx+sin(fi)*yy; v=-sin(fi)*xx+cos(fi)*yy; z=normpdf(u,0,1).*normpdf(v,0,s2); axis([-3+m1 3+m1-3+m2 3+m2 -.35.3]); grid on; hold on; xlabel( x ); ylabel( y ); zlabel( f(x,y) ); meshc(x+m1,y+m2,z,gradient(z)); hold on; colormap( hsv ); set(gca, XTick,[0 2 4], FontSize,16); set(gca, YTick,[-1 1 3 ], FontSize,16); set(gca, ZTick,[ 0 0.2 0.3], FontSize,16); set(gca, DataAspectRatio,[2 2.2]); 23

4.1. A MATLAB programcsomag bemutatása 4.1.4. Felhasznált eloszlások sűrűségfüggvényeinek kirajzolása A Glivenko-tétel szemléltetése témakörnél szükségem volt a különböző eloszlások elméleti és tapasztalati sűrűségfüggvényeinek kirajzolására. Ebben a részben ezeknek a MATLAB implementációját mutatom be. I. Elméleti eloszlásfüggvények kirajzolása: 1. Normális eloszlás h1=-3; h2=3; mu=0; szigma=1; axis([h1 h2 0 1]); plot(h1:0.05:h2, normcdf(h1:0.05:h2, mu, szigma), k-, LineWidth, 1); hold on; 4.4. ábra. Standard normális eloszlás eloszlásfüggvénye 2. Egyenletes eloszlás h1=-0.5; h2=1.5; a=0; b=1; axis([h1 h2 0 1]); plot(h1:0.05:h2, unifcdf(h1:0.05:h2, a, b), k-, LineWidth, 1); hold on; 3. Exponenciális eloszlás lambda=1; axis([-.5 10 0 10]); z=0:.02:10*1/lambda; y=1-exp(lambda*-z); plot(z, y, k-, LineWidth,1); 24

4.1. A MATLAB programcsomag bemutatása 4.5. ábra. Egyenletes eloszlás eloszlásfüggvénye hold on; 4.6. ábra. Exponcenciális eloszlás eloszlásfüggvénye 4. Cauchy-eloszlás xc=[-6:0.05:6]; y=tcdf(xc,1); plot(xc,y, k-, LineWidth,1); axis([-6 6 0 1.2]); a=tinv(.25, 1); b=tinv(.75, 1); set(gca, XTick,[a 0 b]); set(gca, YTick,[0.25.5.75 1]); 25

4.1. A MATLAB programcsomag bemutatása hold on; 4.7. ábra. Cauchy-eloszlás eloszlásfüggvénye II. Tapasztalati eloszlásfüggvények kirajzolása: if(n<100) for i=1:n+1 plot([x(i) x(i+1)], [(i-1)/n (i-1)/n], ro-, LineWidth, 1,..., MarkerEdgeColor, k,... MarkerSize,1.5); plot( x(i+1), (i-1)/n, k., LineWidth,3); end; elseif (n>=100) for i=1:n+1 plot([x(i) x(i+1)], [(i-1)/n (i-1)/n], r-, LineWidth, 2); end; end 4.1.5. Statistics Toolbox A Statisztika Toolbox statisztikai és gépi tanulási algoritmusokat tartalmaz, valamint eszközöket rendezésére, elemzésére és modellezési adatokat. Használhatja regressziók vagy osztályozások predektív(jósló) modellezésére, véletlenszám generálásra például Monte Carlo szimulációkhoz, statisztikai tételek szemléltetésére, valamint hipotézis vizsgálatokra is. Főbb jellemzők: - Regressziós technikák, beleértve a lineáris, általánosított lineáris, nemlineáris, robusztus, szabályos, ANOVA és vegyes hatásos (mixed-effects) modelleket - Ismételt kísérletek modellezése 26

4.1. A MATLAB programcsomag bemutatása - Egy és többváltozós valószínűségi eloszlások, beleértve kopulákat és Gauss keverékeket is - Véletlen és kvázi véletlenszám-generátorok és a Markov-lánc mintavevők (Markov chain samplers) - Hipotézisvizsgálatok eloszlásokra, szórásokra Forrás: http://www.mathworks.com/products/statistics/ 4.1.6. GUIDE bemutatása A MATLAB programcsomag segítségével lehetőségünk van GUI (Graphical User Interface) készítésére. Egy GUI egy grafikus ablak vagy ablakok, amelyeken vezérlő elemek vannak, amik segítségével a felhasználónak lehetősége van interaktív feladatok végrehajtására, és ehhez nincs szüksége szkriptek készítésére, vagy parancsok beírására a parancssorba. Ehhez a GUIDE-t (Graphical User Interface Design Environment) használjuk. Ennek segítségével lehetőségünk van GUI létrehozására, illetve szerkesztésére.fig típusú fájlokból, és ezen felületek kezelésére. A funkció eléréséhez egyszerűen gépeljük be a parancssorba a guide parancsot. Ezzel meghívódik a guide függvény, és a MATLAB feldob egy ablakot (Quick Start Dialog), ahol lehetőségünk van kiválasztani, hogy milyen új GUI-t készítsünk, illetve mely már korábban elkészítettet nyissuk meg. A MATLAB több mintát biztosít GUI létrehozására, illetve létrehozhatunk egy GUI-t teljesen önállóan is. Ha a guide parancs paraméterébe megadjuk a már korábban elkészített interfészünk nevét, akkor megnyitja a MATLAB, ha a megfelelő munkakönyvtárban van. Ha nincs ott, akkor lehetősünk van a guide parancs paraméterének teljes elérési útvonalat megadni. Például a guide(proba) parancs megnyitja a proba.fig interfészünket. Ismerkedjünk meg a GUI-k működésével! A legtöbb GUI a felhasználótól függ, a felhasználótól várja a vezérlők kezelését, és erre ad válaszokat. Minden egyes vezérlőnek, és magának a GUI-nak is van legalább egy rutinja, ami gyakorlatilag egy végrehajtható MATLAB kód. Ezek a rutinok callback néven ismertek, mivel gyakorlatilag egy hívást intéznek a MATLAB felé, hogy az végrehajtsa a megfelelő feladatot. Ezen callback rutinok mind a felhasználó tevékenységétől függően aktiválódnak, például a felhasználó megnyom egy gombot, kattint az egérrel, kiválaszt egy elemet egy legördülő menüből, begépel egy értéket, vagy csak egyszerűen egy vezérlő felett elhúzza az egeret. Ezeket eseményeknek nevezzük, és ezek bekövetkezésekor a GUI válaszeseményt generál. Ezt a típusú programozást eseményvezérelt programozásnak nevezzük. A callback rutinok aszinkron működésűek, a szoftvertől független események váltják ki őket. MATLAB esetében a legtöbb esemény a felhasználó GUI-val való interakciójának eredménye, de van lehetőségünk úgy megírni az interfészünket, hogy az más események hatására váltódjon ki, például egy fájl létrehozására, megnyitására. MATLAB-ban kétféle módon írhatjuk meg ezeket a rutinokat. Az egyik lehetőség MATLAB függvényekként, amik a MATLAB nyelvén íródtak, és.m kiterjesztésű fájlokban tárolódnak le. A másik lehetőség sztringekben tárolt MATLAB kifejezések, parancsok formájában történhet. Például: c=sqrt(a*a+b*b);. A két módszer közül a függvények használása az ajánlottabb, mivel függvények használatával több paramétert tudunk kezelni, több lehetőségünk van, és sokkal rugalmasabb. Mielőtt elkezdenénk elkészíteni az interfészünket, meg kell terveznünk azt. El kell döntenünk, hogy milyen felhasználók fogják használni a GUI-t, pontosan milyen felada- 27

4.1. A MATLAB programcsomag bemutatása tok ellátására akarjuk használni, hogyan használják a felhasználók a GUI-t, és milyen vezérlőkre van szükségünk a használatához. Pontosan meg kell tervezni, hogy milyen bemeneti adatokra van szükségünk, illetve milyen kimenetet akarunk belőle készíteni, hogyan kérjük be az adatokat, illetve milyen formában jelenítsük meg a kimenetet, hogyan viselkedjen a GUI a különböző vezérlőkön kiváltott eseményekre. Miután a tervezéssel készen vagyunk, kezdhetjük meg ténylegesen az interfészünk elkészítését, leprogramozását. Kétféleképpen lehet felépíteni a MATLAB grafikus interfészünket, ennek egyik módja a GUIDE használata, a másik pedig a GUI programozása. Mindkét módszernek vannak előnyei, illetve hátrányai, így a legcélszerűbb a kettőt együtt, egymás mellett használni. Első megközelítésként használjuk a GUIDE-t. A GUIDE létrehoz nekünk egy alap interfészt, ha a blank GUI lehetőséget választottuk. A felugró ablak jobb oldalán található egy eszköztár, ahonnan lehetőségünk van vezérlők létrehozására. Tekintsük meg ezeket! Push button: egy nyomógombot hoz létre. Slider: az interfészen való navigálásra csúszkát hozhatunk létre. Radio button: több választási lehetőség esetén ezzel tudunk egyet kiválasztani. Check box: több választási lehetőség esetén ezzel többet is kiválaszthatunk. Edit text: szöveges beviteli mezőt hozunk létre. Static text: felhasználó által nem változtatható szöveges mezőt hozunk létre. Pop-up menu: felnyit egy választási listát, ahonnan a felhasználó az egérrel választhat egyet. Listbox: Egy elemlistát hozunk vele létre, ahonnan a felhasználónak lehetősége van több elem kiválasztására is. Toggle button: Létrehoz egy nyomógombot, aminek két állapota van. Ha a felhasználó rákattint, benyomódik, és így is marad, míg a felhasználó nem kattint rá megint. Table: egy táblázatot tudunk ezzel a paranccsal létrehozni. Axes: képek, és MATLAB által készített függvények megjelenítésére szolgáló vezérlő. Panel: ezen vezérlő segítségével tudunk más vezérlőket egy csoportba rendezni. Ha a vezérlő elemeket panelekbe rendezzük, akkor egyszerűbben értelmezhető, és átláthatóbb GUI-t készíthetünk. Button group: ezen vezérlő hasonlít a panel vezérlőhöz, viszont az külön radio button, és toggle button vezérlők összefoglalására használható. ActiveX control: activex vezérlőket hozhatunk vele létre. Nézzük meg pár általános használható tulajdonságát ezeknek a vezérlőknek! Ha létrehoztunk egy vezérlőt, és kétszer kattintunk rajta, felnyílik a property inspector nevű menü, ahol lehetőségünk van a vezérlő tulajdonságait módosítani. Lehetőségünk van a vezérlők háttérszínének megváltoztatására, ahol választhatunk a MATLAB által előredefiniált színek közül, vagy RGB komponenseit megadva a színnek létrehozhatjuk saját színünket. Lehetőségünk van itt megírni a függvényeket, amik az adott vezérlő eseményeit kezelik, vagy ha alapértelmezetten hagyjuk, akkor a GUIDE létrehoz egy függvénykeretet, amit később szerkeszthetünk. Beállíthatjuk, hogy az adott vezérlő elérhető legyen a felhasználó számára, vagy sem, továbbá a gombokon megjelenő feliratok esetében a betűtípust, betűméretet, betűk színét, a szöveg dőltségét, félkövérségét, illetve beállíthatjuk, hogyan helyezkedjen el a szöveg horizontálisan, illetve vertikálisan. Lehetőségünk van beállítani, hogy az adott vezérlő mikor legyen látható, például egy 28

4.1. A MATLAB programcsomag bemutatása 4.8. ábra. GUIDE felület feladat leírása csak akkor legyen látható, ha a felhasználó azt a feladatot választotta ki. Lehetőségünk van a vezérlők elhelyezkedését is beállítani, illetve a méretüket. A vezérlőknek adhatunk saját nevet, amivel könnyebben tudjuk megkeresni programozás során, illetve a feliratot is be lehet állítani, ami egy vezérlőn megjelenik, pl. egy gombon, vagy egy szöveges mezőn. Ha mindent beállítottunk itt, akkor tekintsük meg a programozás részét! Ehhez annyit kell tenni, hogy rákattintunk az M-file Editor gombra. Ha még nem mentettük el az interfészünket, a MATLAB most felajánlja a mentést. Ha elmentettük, akkor megjelenik az eddig elkészített GUI kódja. Használjuk a függvény ikont, és tekintsük meg a MATLAB által létrehozott függvényeket! A MATLAB minden vezérlőhöz, és magához a GUI-hoz is létrehoz egy OpeningFcn nevezetű függvényt, ami még azelőtt fut le, hogy az adott vezérlőnk láthatóvá válik. Itt tudjuk megadni legegyszerűbben, hogy mi legyen látható, amikor az adott vezérlő megjelenik, például ha rákattintunk egy gombra, akkor ennek hatására jelenjenek meg más vezérlők, vagy váljanak nem láthatóvá a felhasználó számára. A MATLAB ezenkívül minden vezérlőhöz létrehozza a callback rutint. Ideírva a megfelelő kódrészleteket, tudjuk vezérelni az eseményeket, hogy mi történjen, ha az bekövetkezik. Például ha egy gombot lenyomunk, akkor olvassa be a megfelelő értékeket, ellenőrizze őket, és az ellenőrzés eredménye alapján váltson ki új eseményeket. A MATLAB nyelvben a vezérlők értékek bekérésére, illetve beállítására a get és set parancspáros szolgál. A get parancs lekéri az adott objektum paramétereit. Ezt értékek beolvasására szokás felhasználni. Ezt egy kis példával illusztrálom. Tegyük fel, hogy van egy szövegbeviteli mező, amibe a felhasználó különböző értékeket írhat be. 29

4.1. A MATLAB programcsomag bemutatása Legyen ez a mező mellett egy gomb, aminek lenyomására a program beolvassa az adott beviteli mező értékét. Ezt úgy valósítjuk meg, hogy a gomb callback függvényében végrehajtjuk a beviteli mező lekérését a következőképpen: a=get(handles.bevitelimezo, String ); Ekkor az a változó értékébe letároltuk a beviteli mező aktuális értékét, szövegként. Ha ezt nem szöveg formában akarjuk letárolni, akkor típuskonverziós függvényeket kell használnunk. Például, ha ez az érték, amit beolvasunk valós szám, akkor a beolvasást a következő módon kell végrehajtanunk: a=str2double(get(handles.bevitelimezo, String )); Ezzel az a változóba letároltuk a beviteli mező értékét, ami valós szám volt. Viszont, a programot fel kell készíteni arra az esetre is, hogy a felhasználó hibás értéket ad meg, például egy szöveget ír oda, ahol valós számot várunk, vagy valós számot oda, ahol csak egészeket fogadunk el. Ezeket az ellenőrzéseket a bekérés után tudjuk végrehajtani, azaz jelen példánkban a gomb lenyomása után, így a gomb callback függvényének meghívásakor. Minden beviteli mező esetén, ahol vannak értékmegkötéseink, írnunk kell egy hibaellenőrzést. Például, ha egy pozitív egész számot akarunk bekérni, akkor ellenőriznünk kell, hogy az adott szám pozitív-e, és azt, hogy egész szám-e. Egy egyszerű ellenőrzés kinézhet a következőképpen is: if(a<10) msgbox( Az a változó értéke nem lehet tíznél kisebb, Hiba1 ); end Ebben az esetben a MATLAB egy felugró ablakot fog létrehozni, ha a változó értékét rosszul állítottuk be. Fontos, hogy a programunkat ne engedjük hibás paraméterekkel futtatni, azaz a hibaellenőrzésnek hamarabb kell megtörténnie, mint a program lefuttatásának. Erre egy egyszerű megoldás az, hogy a gomb lenyomásakor végrehajtódnak az ellenőrzések, ha hibát kapunk, felugró ablakban közöljük a felhasználóval, és egy változóban eltároljuk, hogy hibát kaptunk. Ezek után, miután minden ellenőrzés lezajlott, megvizsgáljuk a hibát jelző változók értékeit, és ha nem kaptunk hibát, meghívjuk a feladatot megoldó függvényt. Vezérlők értékének beállítására a set parancs szolgál. Ennek segítségével beállíthatjuk a programunkból egy szöveges beviteli mező értékét, vagy egy statikus szöveg értékét átírhatjuk (a programunk változtathatja a static text értékét, csak a felhasználó nem), elrejthetünk vezérlőket, vagy megjeleníthetjük őket, megváltoztathatjuk tulajdonságaikat. Tekintsünk meg ezek közül néhányat! Ahhoz, hogy a GUI átlátható legyen, célszerű, hogy a felhasználó ne lássa egyszerre az összes vezérlőt, ha azok nem egy témához tartoznak, a feleslegeseket rejtsük el, mert zavaró lehet. Ezért célszerű a GUI készítésekor létrehozni paneleket, mert ebben az esetben nem kell minden egyes vezérlőt egyesével elrejteni, hanem elég a panelt elrejteni. Ahhoz, hogy felhasználó általa nem láthatóva tegyünk egy panelt, a következő parancsot kell megadnunk: set(handles.panel1, Visible, off ); Ezzel a paranccsal a panel1 nevű panelt, rajta az összes vezérlővel, nem láthatóvá tettük. Ha ugyanezt on értékkel adjuk meg, akkor az adott panel látható lesz. Így ha a panelek megjelenését gombokkal szabályozzuk, akkor minden egyes gomb lenyomására elrejti az összes panelt, ami nem kell, és láthatóvá teszi azokat, amik kellenek. Set parancs használatával tudunk értéket adni egy beviteli mezőnek. Például tudunk adni egy lehetséges kezdőértéket, amit a programból állítunk be, ha a felhasználó csak először használja a programot, akkor legyen lehetősége megfelelő paraméterek mel- 30

4.1. A MATLAB programcsomag bemutatása lett megtekinteni a program futását. Hibaellenőrzésnél is hasznos tud ez lenni, ha az egyik beviteli mező értéke nem volt helyes, akkor egyszerűen beállítjuk üresre az adott beviteli mező értékét, így a felhasználó rögtön látja, hol vétett hibát, és a hibaüzenet segítségével tudja javítani. Az értékadásnak a kódja a következőképpen néz ki: set(handles.text1, String, 15 ); Ezzel a MATLAB beállítja a text1 szöveges mezőnk értékét tizenötre. Ha üresre szeretnénk állítani a mezőt, akkor legyen az utolsó paraméterünk. A MATLAB programcsomag lehetőséget biztosít többsoros beviteli mező készítésére, aminek segítségével lehetőségünk van többsoros szövegeket létrehozni, például egy leírást. Ez a következőképpen programozható: set(handles.text1, String, Többsoros bevitel, első sora ; ; Kihagytunk egy üres sort, ez már a harmadik sor;); Ekkor a text1 értéke három sorból fog állni, amiből a második sor egy üres sor. 31

4.2. A megoldott feladatok bemutatása 4.2. A megoldott feladatok bemutatása 4.2.1. A Glivenko-tétel szimulálása 4.9. ábra. Glivenko-tétel szimuláció kezdőképernyője A szimuláció a Glivenko-tételt mutatja be, azaz szemlélteti ahogy a tapasztalati eloszlásfüggvény egyenletesen konvergál az elméleti eloszlásfüggvényhez. A mintaszám növekedésével tapasztalható, hogy a maximális eltérés egyre kisebb, illetve kellően nagy mintaszám esetén, már majdnem 100%-ban "rásimul" a tapasztalati eloszlásfüggvény az elméletire. A 4.9. ábrán láthatjuk a szimuláció kiindulási állapotát. A "Leírás" gomb megnyomásával rövid tájékoztatót kaphatunk a programról. A "Segítség" gomb lenyomásával pedig a szükséges paraméterekről kaphatunk információt. A szimuláció animáció jellegű, beállítható, hogy mekkora mintaszámtól induljon, illetve végződjön a szimuláció. Valamint megadható a lépésköz, mellyel tulajdonképpen azt állíthatjuk be, hogy minden x-edik állapot rajzolódjon ki. A program többféle eloszlásra is működik: normális, egyenletes, exponenciális, Cauchy. Minden eloszlásra be vannak állítva alapértelmezett értékek, amelyekkel ajánlatos a szimulációt lefuttatni. Természetesen a paraméterek módosíthatóak, de a nem megengedett értékekre hibát jelez a program. A szimuláció a "Szimulálás!" gomb megnyomására indul el. A 4.10. ábrán egy aktuális állapotot láthatunk egy szimulálásból, melyben a Cauchy eloszláselméleti eloszlásfüggvényét közelítjük a tapasztalati eloszlásfüggvénnyel. 32

4.2. A megoldott feladatok bemutatása 4.10. ábra. Glivenko-tétel szimuláció Cauchy eloszlás esetén Megfigyelhető, hogy alacsonyabb mintaszám esetén még viszonylag nagy a maximális eltérés. A 4.11. ábrán normális eloszlás esetén 20000 mintaszámra már jóval kisebb a maximális eltérés, majdnem 0. 4.11. ábra. Glivenko tétel szimuláció standard normális eloszlás esetén 20000 mintaszámra 33

4.2. A megoldott feladatok bemutatása 4.2.2. A kétdimenziós normális eloszlás szemléltetése 4.12. ábra. Kétdimenziós normális eloszlás szemléltetése és a koncentráció ellipszisek Az 4.12. ábrán látható a témakör kezdőképernyője. Bal oldalon a kétdimenziós normális eloszlás haranggörbélyét láthatjuk, melynek két paramétere állítható: a várható érték és a szórás. A felület jobb oldalán pedig a koncentráció ellipsziseket szemlélteti megadott mintaszám esetén. Alaphelyzetben az ábrán látható kovariancia mátrixszal megadott helyzetet láthatjuk, amelynek módosíthatóak a szórásai. Az együttes várható értékek nem változtathatóak. A Generál gomb megnyomására a megadott középértékkel és mintaszámmal generál két független, azonosan 1 szórású változók esetén. A két ábra egymástól függően is változik. Ha bal oldalt váltjuk a szórásokat, akkor a koncentrációs ellipsziseken is láthatjuk a változást, viszont a várható értékek állítására csak a haranggörbe változik. Ha a jobb oldalon lévő kovariancia mátrixot állítjuk, szintén változik mind a két ábra a Módosít gomb lenyomására. A Leírás gomb megnyomására általános ismertetést kaphat a programról. A segítség gomb megnyomásával pedig a gombok funkcióiról és a paraméterekről kaphat információt. 34

4.2. A megoldott feladatok bemutatása 4.2.3. A centrális határeloszlás-tétel szimulálása egyenletes eloszlás segítségével A centrális határeloszlás-tétel (CLT) azt mondja ki, hogy adott feltételek mellett, elegendően nagy számú és független valószínűségi változó középértéke (várható értéke) jó közelítéssel normális eloszlású, ha a független valószínűségi változók jól meghatározott középértékkel és szórásnégyzettel rendelkeznek. A MATLAB script egyenletes eloszlásból vett mintát generál [1, 2] intervallumon többszöri lefutással. 4.13. ábra. Centrális-határelsozlás tétel szimulálása egyenletes eloszlás segítségével Az 4.13. ábrán egy futási eredményt láthatunk 100 elemű mintát generáltunk 500- szor, aminek az eredménye 50000 egyenletesen generált szám és 500 mintaátlag. Az ábra baloldalán az 50000 véletlen generált szám gyakoriság hisztogramja, míg a jobboldalán az 500 mintaátlag gyakoriság hisztogramja látható. Az egyenletes eloszlásból genertál véletlen számok szórását, várható értékét, valamint a mintáátlagokat kézzel számoltam az alábbiakat felhasználva: a=1 b=2 E(X) = a + b 2 = 1 + 2 2 = 1.5 D(X) = 1 12 (a b)2 = 1 12 (2 1)2 = 0.083 E( X) = E(X) = 1 2 = 1.5 35

4.2. A megoldott feladatok bemutatása D( X) = D(X) = 0.083 = 8.3 10 4 n 100 Az eredmény: A mintaátlag és a tapasztalati mintaátlagok szórása 1.4990 és 8.109 10 4. Illetőleg az elméleti eredmények: 1.5 és 8.333 10 4. 4.14. ábra. Centrális-határelsozlás tétel szimulálása egyenletes eloszlás segítségével A 4.14. ábrán 5000 elemű mintát generáltunk 10000-szer, aminek az eredménye 50 millió egyenletesen generált szám és 10000 mintaátlag. Végkövetkeztetés: A CLT kimondja, hogy a tapasztalati várható érték és a szórás szorosan illeszkedik az elméleti értékekre. 500 kísérletet végeztünk annak érdekében, hogy kellően nagy mintaátlagot hasonlíthassunk az eloszlásokhoz. Még nagyobb tesztértékek esetén még jobban bizonyítja a CLT-t, hogy szinte majdnem megegyeznek a tapasztalati és az elméleti értékek. 36