Véletlen bolyongás. Statisztikai programcsomagok véletlenszám-generátorainak ellenırzése hipotézisvizsgálattal

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

Statisztika I. 9. előadás. Előadó: Dr. Ertsey Imre

Két diszkrét változó függetlenségének vizsgálata, illeszkedésvizsgálat

Számítógépes döntéstámogatás OPTIMALIZÁLÁSI FELADATOK A SOLVER HASZNÁLATA

A biostatisztika alapfogalmai, hipotézisvizsgálatok. Dr. Boda Krisztina Boda PhD SZTE ÁOK Orvosi Informatikai Intézet

1. Adatok kiértékelése. 2. A feltételek megvizsgálása. 3. A hipotézis megfogalmazása

Hipotézis vizsgálatok

[Biomatematika 2] Orvosi biometria

y ij = µ + α i + e ij

Eloszlás-független módszerek 13. elıadás ( lecke)

Biostatisztika Összefoglalás

A biostatisztika alapfogalmai, hipotézisvizsgálatok. Dr. Boda Krisztina PhD SZTE ÁOK Orvosi Informatikai Intézet

Statisztika Elıadások letölthetık a címrıl

Hipotézis vizsgálatok

Biostatisztika Összefoglalás

Variancia-analízis (folytatá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

Hipotézis, sejtés STATISZTIKA. Kétmintás hipotézisek. Tudományos hipotézis. Munkahipotézis (H a ) Nullhipotézis (H 0 ) 11. Előadás

Statisztikai alapismeretek (folytatás) 4. elıadás (7-8. lecke) Becslések, Hipotézis vizsgálat

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport

Gyakorlat 8 1xANOVA. Dr. Nyéki Lajos 2016

Bevezetés a hipotézisvizsgálatokba

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

Nemparaméteres próbák

[Biomatematika 2] Orvosi biometria

Kísérlettervezés alapfogalmak

Ismétlı áttekintés. Statisztika II., 1. alkalom

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

y ij = µ + α i + e ij STATISZTIKA Sir Ronald Aylmer Fisher Példa Elmélet A variancia-analízis alkalmazásának feltételei Lineáris modell

Eloszlás-független módszerek (folytatás) 14. elıadás ( lecke) 27. lecke khí-négyzet eloszlású statisztikák esetszámtáblázatok

Kabos: Statisztika II. ROC elemzések Szenzitivitás és specificitás a jelfeldolgozás. és ilyenkor riaszt. Máskor nem.

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

Matematikai alapok és valószínőségszámítás. Valószínőségi eloszlások Binomiális eloszlás

Adatelemzés az R-ben április 25.

Egyszempontos variancia analízis. Statisztika I., 5. alkalom

Szigma Integrisk integrált kockázatmenedzsment rendszer

Statisztikai programcsomagok gyakorlat Pót zárthelyi dolgozat megoldás

INFORMATIKAI ALAPISMERETEK

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

Matematikai alapok és valószínőségszámítás. Statisztikai változók Adatok megtekintése

Lineáris regresszió vizsgálata resampling eljárással

Módszertani dilemmák a statisztikában 40 éve alakult a Jövőkutatási Bizottság

Alapfogalmak áttekintése. Pszichológiai statisztika, 1. alkalom

Kiválasztás. A változó szerint. Rangok. Nem-paraméteres eljárások. Rang: Egy valamilyen szabály szerint felállított sorban elfoglalt hely.

Biostatisztika VIII. Mátyus László. 19 October

Leíró statisztika. Adatok beolvasása az R-be és ezek mentése

INFORMATIKAI ALAPISMERETEK

Kalibrálás és mérési bizonytalanság. Drégelyi-Kiss Ágota I

földtudományi BSc (geológus szakirány) Matematikai statisztika elıadás, 2014/ félév 6. elıadás

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

Véletlen szám generálás

Függvények ábrázolása

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

Mérési jegyzőkönyv. az ötödik méréshez

Az első számjegyek Benford törvénye

AWK programozás, minták, vezérlési szerkezetek

Véletlenszám generátorok és tesztelésük HORVÁTH BÁLINT

STATISZTIKA. Egymintás u-próba. H 0 : Kefir zsírtartalma 3% Próbafüggvény, alfa=0,05. Egymintás u-próba vagy z-próba

Nem-paraméteres és paraméteres módszerek. Kontingencia tábla, rangtranszformálás, párosított minták, két független minta

Centura Szövegértés Teszt

Normális eloszlás tesztje

LABMASTER anyagvizsgáló program

Táblázatkezelés. Táblázatkezelés célja. Alapfogalmak. Táblázatkezelık szolgáltatásai. Alapfogalmak. Alapfogalmak

Kvalitatív elemzésen alapuló reakciómechanizmus meghatározás

Elemi statisztika. >> =weiszd= << december 20. Szerintem nincs sok szükségünk erre... [visszajelzés esetén azt is belerakom] x x = n

Segítség az outputok értelmezéséhez

Kettőnél több csoport vizsgálata. Makara B. Gábor

FANUC Robotics Roboguide

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

Teszt terv Új funkció implementációja meglévı alkalmazásba

AWK programozás, minták, vezérlési szerkezetek

K oz ep ert ek es variancia azonoss ag anak pr ob ai: t-pr oba, F -pr oba m arcius 21.

Egymintás próbák. Alapkérdés: populáció <paramétere/tulajdonsága> megegyezik-e egy referencia paraméter értékkel/tulajdonsággal?

FELHASZNÁLÓI KÉZIKÖNYV

Mérnökgeodéziai hálózatok feldolgozása

ELTE TáTK Közgazdaságtudományi Tanszék ÖKONOMETRIA. Készítette: Elek Péter, Bíró Anikó. Szakmai felelős: Elek Péter június

A kutatási eredmények nyilvánossá tétele

Tisztaszınyeg nyilvántartó

Kettőnél több csoport vizsgálata. Makara B. Gábor MTA Kísérleti Orvostudományi Kutatóintézet

Internetes Elıjegyzés Elıjegyzési Központon keresztül

Hipotéziselmélet - paraméteres próbák. eloszlások. Matematikai statisztika Gazdaságinformatikus MSc szeptember 10. 1/58

Programozás alapjai. 6. gyakorlat Futásidő, rekurzió, feladatmegoldás

Mintavételi eljárások

Operációs rendszerek

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

Korreláció és lineáris regresszió

TANTÁRGYI ÚTMUTATÓ. Alkalmazott számítástechnika. tanulmányokhoz

Statisztikai csalások és paradoxonok. Matematikai statisztika Gazdaságinformatikus MSc november 26. 1/31

Integráci. ciós s tesztek. ciós s tesztek (folyt.) Integration Level Testing (ILT) Ficsor Lajos. Miskolci Egyetem Általános Informatikai Tanszék

Véletlenszám generátorok. 6. előadás

Biomatematika 13. Varianciaanaĺızis (ANOVA)

Laborgyakorlat 3 A modul ellenőrzése szimulációval. Dr. Oniga István

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

Többváltozós lineáris regressziós modell feltételeinek tesztelése I.

Véletlen bolyongás. Márkus László március 17. Márkus László Véletlen bolyongás március / 31

11.Négymezős táblázatok. Egyezés mérése: kappa statisztika Kockázat becslés: esélyhányados (OR) Kockázat becslés: relatív kockázat (RR)

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

GVMST22GNC Statisztika II. Keleti Károly Gazdasági Kar Vállalkozásmenedzsment Intézet

Többváltozós lineáris regressziós modell feltételeinek

Biometria gyakorló feladatok BsC hallgatók számára

Átírás:

Nem-paraméteres statisztika esettanulmány Véletlen bolyongás Statisztikai programcsomagok véletlenszám-generátorainak ellenırzése hipotézisvizsgálattal Bevezetés Mindannyian többször kerültünk már szembe olyan feladatokkal, melyekben szimulált adatbázisokkal kellett dolgoznunk. Ezekben a feladatokban két közös pont biztosan akadt: egyrészt valamilyen statisztikai programmal kellett megoldanunk ıket, másrészt mindegyik megoldás támaszkodik az adott program program véletlenszám-generátorára. Ezért kiemelten fontos tudnunk, hogy a különbözı programok véletlenszámai valóban véletlenek-e. Ebben az esettanulmányban arra a kérdésre próbálok választ adni, hogy az Egyetemen általunk használt programcsomagok, nevezetesen az R, a Stata, az SPSS és az Excel megfelelıen mőködnek-e a véletlenszám-generálás tekintetében. A tanulmány elıkészítésekor az alábbi felépítés szerint haladtam: 1. Az adatok generálása, ennek ismertetése az adott programban. 2. Az adatok transzformálása Statában. 3. Az eredmények kiértékelése Statában. A reprodukálhatóság érdekében és az érdeklıdık számára a különbözı programokban alkalmazandó parancssorokat is belefoglaltam a tanulmányba. A felhasznált módszer Arra a kérdésre, hogy a véletlenszám-generátorok jól mőködnek-e, statisztikai módszerekkel fogok választ adni. Minden szoftverben egy 300x1000-es véletlenszám mátrixot hozok létre. Ezen mátrixok minden egyes oszlopát egy-egy véletlen bolyongásnak

tekinthetjük. A könnyebb értelmezhetıség érdekében mindegy egyes adatból kivontam 0,5-öt. Nullából indulunk, minden pozitív szám egy egységnyi lépést jelent pozitív irányba, egy negatív szám pedig egy egységnyi lépést negatív irányba. A így a tengelyre valóvisszatérést az jelentené, hogy a kiindulás utáni akármelyik 2N-dik lépésben a nullát kapunk a korábbi lépkedések értékeinek összegéül. Azokat a véletlen bolyongásokat fogjuk vizsgálni, ahol a már megtett lépések kumulált összegének értéke sehol nem 0, azaz 300 lépésen belül nem tér vissza a tengelyre. A véletlen bolyongás eloszlása ismert, tudjuk azt, hogy a véletlen bolyongásnál a visszatérés valószínősége 300 lépésen belül jó közelítéssel 95,4%, tehát ez használható kritikus értéknek. 1000 oszlopunk lesz, azaz 1000 db 300 lépés hosszú véletlen bolyongást fogom vizsgálni. A hipotézis: A hipotézis, amit vizsgálunk: Az adott program véletlenszám-generátora jól mőködik. Várható érték: 1000 trajektória közül legalább 46 olyan legyen, amely nem metszi a tengelyt, tehát miután elindul pozitív vagy negatív irányba, nem vált elıjelet. Ha 46-nál kevesebb van, elvetnénk a nullhipotézist. Elfogadási tartomány: Az alapelıoszlás jellegébıl fakadóan egyoldali próbát fogunk végezni. Tehát csak arra kell, hogy érzékeny legyen a próbánk, ha túl kevés esetben tér vissz a trajektória a tengelyre. A határeloszlásban normalitást feltételezve meghúzhatjuk a 4,6%-os szignifikancia szinthez tartozó konfidencia intervallum határait. A kritikus tartományunk így 46 1,69 1000 0,046 0,954 46 11,2 34,8. Tehát, ha az eredményünk kisebb, mint 34,8, akkor fogjuk elvetni a nullhipotézist.

Az R véletlenszám-generátorának vizsgálata Az adatok létrehozása Az adatok létrehozásához az R 2.12.0-s verzióját használtam. Az adatgenerálás R-ben igen egyszerő és gyors: a <- runif(300000, 0, 1) m <- matrix (a, nr=300, nc=1000, byrow=false) write.csv2(m, runif_r_1000.csv2, row.names = FALSE, col.names = FALSE, quote=false) Létrehozok egy 300.000 (0:1) közötti, egyenletes eloszlásból vett véletlenszámokból álló vektort, majd oszloponként betöltöm egy 300x1000-es mátrixba. Amennyiben korábban meghatároztuk a munkakönyvtárat, elı is állt a 300x1000-as mátrixot tartalmazó csv2 file, amit aztán viszonylag könnyen meg tudunk nyitni abban a programban, amiben az elemzést végezni kívánjuk, esetemben ez a Stata/SE 10.0 volt. R véletlenszámok elemzése Az R által generált véletlen bolyongások eredményeként az alábbiakat kaptuk: szamlalo Freq. Percent Cum. 0 299 99.67 99.67 53 1 0.33 100.00 Total 300 100.00 Az 1000-bıl 53 olyan trajektória van, amely nem tér vissza a tengelyre. A várható érték fölött van, nem vetjük el a nullhipotézist, az R véletlenszám-generátora jól mőködik.

A Stata véletlenszám-generátorának vizsgálata Az adatmátrix létrehozása Véleményem szerint a Stata is nagyon egyszerően és jól használható ilyen szimulációs feladatokra. Létrehozok 300 megfigyelést az üres fájlban, megadok egy tetszıleges kezdıpontot a véletlenszám-generátornak (erre nem is feltétlenül lenne szükség), elejét veszem annak, hogy manuálisan kelljen lépegetnem majd az outputban, egy for ciklus pedig létrehozza a 300x1000-es mátrixot és feltölti véletlenszámokkal a (0:1) intervallumon vett egyenletes eloszlásból. set obs 300 set seed 115 set more off forvalues i = 1(1)1000 { gen v`i' = uniform() Stata véletlenszámok elemzése Miután az adatokat véletlen bolyongássá formáltuk, számoljuk meg, hogy 1000 futamból hány olyan van, amely nem tér vissza a tengelyre! szamlalo Freq. Percent Cum. 0 299 99.67 99.67 56 1 0.33 100.00 Total 300 100.00

A Statában generált 1000 db 300 hosszú trajektória közül 56 nem tért vissza 300 lépésen belül a tengelyre, a nullhipotézist nem vetjük el, a véletlenszám-generáló rendben van. Az SPSS véletlenszám-generátorának vizsgálata Az adatbázis létrehozása Az esettanulmány készítésekor az SPSS 19-es verzióját használtam (IBM SPSS 19). Az SPSS-ben az adatmátrixot létrehozni véleményem szerint már egy kicsit komplikáltabb, de még így sem tart sokáig. new file. input program. vector v(1000). loop #i=1 to 300. loop #j=1 to 1000. compute v(#j)=uniform(1). end loop. end case. end loop. end file. end input program. exec. SPSS-bıl az adatainkat pedig könnyen ki tudjuk menteni *.dta Stata formátumban. SPSS véletlenszám-generátor tesztelése Elıször ebben az esetben is véletlen bolyongássá kell alakítanunk az adatokat, összeszámolni aztán összeszámolni, hogy hány esetben nem tért vissza a futam a tengelyre.

szamlalo Freq. Percent Cum. 0 299 99.67 99.67 55 1 0.33 100.00 Total 300 100.00 Az SPSS-ben generált véletlenszámokból létrehozott véletlen bolyongások közül 55 nem tért vissza a tengelyre, ez a kritikus értékünk fölött van, a nullhipotézisünket nem vetjük el, az SPSS véletlenszám-generátora is rendben mőködik. Az Excel véletlenszám-generátorának tesztje Az adatok létrehozása Az adatmátrixunkat az Excelben kissé másképp, manuálisan kell létrehoznunk. Kérünk egy véletlenszámot a (0:1) egyenletes eloszlásból az A1 cellába, ezt pedig széthúzhatjuk kellı méretőre, jelen esetben az 1-300 sorokban és az A-ALL oszlopokban helyezkedik el az adatmátrixunk. Ezt kell majd kiértékelnünk. Az esettanulmány készítésekor a 2010-es Excellel dolgoztam. Az Excelben létrehozott adatok tesztelése Az Excelben elkészített adatok esetében is véletlen bolyongássá kell alakítanunk az adatokat, összeszámolni aztán összeszámolni, hogy hány esetben nem tért vissza a futam a tengelyre.

szamlalo Freq. Percent Cum. 0 299 99.67 99.67 40 1 0.33 100.00 Total 300 100.00 Az Excelben generált, majd véletlen bolyongássá alakított adatmátrix futamai közül mindössze 40 tért vissza a tengelyre, ez a kritikus értékünk alatt van, azonban elfogadási tartományon belül (a várható értéktıl -1,1 standard hibára). A nullhipotézist nem vetjük el, azonban érdemesnek tartjuk nagyobb elemszámon való szimuláció elvégzését is az Excel megfelelı mőködésének bizonyítására. 1 Összegzés és további lehetıségek Ebben a tanulmányban tehát azt találtam, hogy az R, a Stata és az SPSS véletlenszámgenerátora jól mőködik,meglehetısen hasonló eredményeket kaptunk, rendre 53, 56 és 55 visszatérés 1000bıl, azonban az Excel esetében csak 40 visszatérést tapasztaltunk, ez az érték azonban az elfogadási tartományon belül található, így nem tudtunk szignifikáns bizonyítékot adni arra, hogy az Excel véletlenszám generátora rosszul mőködne. Az eredmények pontosítása érdekében érdemes lenne ezeket a szimulációkat sokkal nagyobb, néhány tízezres, esetleg százezres ismétlésszámmal lefuttatni. Az eziránt érdeklıdıknek saját tapasztalataim alapján azt tudom javasolni, hogy idıben kezdjenek neki, ugyanis a számomra rendelkezésre álló hardver (AMD Athlon 64 3000+ 1,81 GHz) mellett egy 40ezres szimuláció (pontosabban az adatmanipuláció és a számolások) már egy egész éjszakán át futna, és ezzel programcsomagonként kalkulálni kell. 1 Az ellenőrzést elvégeztük egy 2500 bolyongásból álló szimulációval, az Excel megfelelő működésére nem tudtunk rácáfolni.

Az elemzéshez használt Stata programsor: Az adatok 300*1000-es formátumban legyenek már bent a Statában, a nevük v1- v1000 legyen, utána futtatható: foreach v of var v1-v1000 { replace `v'=`v'-0.5 foreach v of var v1-v1000 { gen ir_`v'=0 for num 1/300: if `v'>0 in X replace ir_`v'=1 in X for num 1/300: if `v'<0 in X replace ir_`v'=-1 in X drop v1-v1000 foreach v of var ir_v1-ir_v1000 { gen C`v' = sum(`v') drop ir_v1-ir_v1000 foreach v of var Cir_v1-Cir_v1000 { gen rossz`v'=1 if `v' ~= 0 gen szamlalo=0 foreach v of var rosszcir_v1-rosszcir_v1000 { replace szamlalo=szamlalo+1 if sum(`v') == 300 tab szamlalo Azoknak, akik csak arra kíváncsiak, ha valamelyik a kritikus érték alatt volt: gen megbukott=0 replace megbukott=1 if szamlalo<38.2 tab megbukott