Statisztika egyszerűen

Mágikus jelek nélkül...

Minta minta hátán... - Mennyire működik a bootstrapping?

2021. június 25. 08:00 - glantos70

cowboy_boots_2.jpg

A múlt heti cikkben (Gyártsunk mintából mintát) bemutattam azt a két elterjedt módszert a sokaság megbízhatósági tartományának meghatározására, amelyeket akkor tudunk alkalmazni, ha a hagyományos statisztikai tesztek valamilyen ok miatt nem alkalmazhatók. A cikk végén tettem egy olyan felelőtlen ígéretet, hogy kipróbálom a bootstrap módszert a gyakorlatban is.

Persze itt nem arra gondoltam, hogy széleskörű vizsgálatsorozatba kezdek, éppen csak annyit, hogy egyetlen példával összehasonlítom egy elméleti sokaság, illetve egy abból kivett minta alapján becsült megbízhatósági tartományokat és ez alapján próbálok képet alkotni arról, hogy mennyire lehet korrekt a bootstrap becslés. A vizsgálatom célja az, hogy egyetlen vizsgálat segítségével összehasonlítsam, vajon a sokaságból kivett minta alapján végzett bootstrap becslés mennyire felel meg - az ez esetben ismert - sokaságból kivett valós mintáknak, vagyis ez inkább csak egy benyomás lesz, nem egy tudományos alapú vizsgálat.

Először is létrehoztam egy 1000 elemből álló "krumpli eloszlású" sokaságot. Azért lett krumpli, hogy ha egy ilyen sokaságon működik a bootstrap, akkor van esélye annak, hogy mindenféle más eloszlásokkal is működni fog.

A mindennapokban vizsgált problémák esetében nem ismerjük a sokaságot, most azonban pont az a cél, hogy összehasonlítsuk a sokaságból kivett minták valós átlagainak eloszlását a minta alapján becsült megbízhatósági tartománnyal. Ezért véletlenszerű, de nem visszatevéses mintavétellel generáltam 100 000 darab 15-elemű mintát. A kivett minták átlagainak 95%-a 24,08 és 38,06 közé esik.

Akkor most válasszunk ki 15 számot véletlenszerűen a sokaságból:

Most érkeztünk el a vizsgálat legfontosabb pontjához. A minta elemeiből visszatevéses mintavétellel létrehoztam 100 000 darab mintát, majd kiszámoltam ezek átlagát és mediánját. Ezek szép nagy adattáblák, illetve vektorok lettek. A 100 000 darab minta átlagainak hisztogramja a következőképpen néz ki.

Utolsó lépésként kiszámoltam az x-tengelyen lévő értékeknek azt az alsó és felső határát, amelyek közé esik a 100 000 darab átlag 95%-a. Az így kapott alsó határ 18,95, a felső határ pedig 32,67. 

Az így kapott határértékek természetesen nem ugyanazok, mint amit a sokaság alapján kaptunk. A sokaság elemeinek 95%-a 24,08 és 38,06 közé, a mintából generált bootstrap megbízhatósági tartomány viszont 18,95 és 32,67, Mindkét tartomány szélessége nagyjából azonos, de a minta alapján becsült megbízhatósági tartomány viszont körülbelül 5-tel kisebb értékeket mutat.

Nyilván fogadjuk el, hogy ez egy becslés, és hogy egy minta sohasem fogja tökéletesen visszaadni a sokaság tulajdonságait, amelyből kivették. Másrészt vegyük figyelembe, hogy a sokaságból kivett minta nem adhatja vissza teljeskörűen a sokaság tulajdonságait, ezért a becslés jósága erősen függ a minta tulajdonságaitól. Egy szélsőségesen kiválasztott minta esetén ez a különbség még nagyobb is lehet. Viszont figyelembe véve, hogy a sokaság alakja mennyire szabálytalan, a mintaszám pedig relatíve kicsi, az eredmény nem is olyan rossz!

 

6 komment

A bejegyzés trackback címe:

https://statisztikaegyszeruen.blog.hu/api/trackback/id/tr8416601292

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

kikeriborsó 2021.06.29. 08:00:03

" amelyeket akkor tudunk alkalmazni, ha a hagyományos statisztikai tesztek valamilyen ok miatt nem alkalmazhatók"

Ez a mondat ezen a szinten nem igaz. Olyan teszt nem létezik a statisztikában, aminek ne lenne valamiféle eloszlása. Elvileg minden tesztre meg lehet állapítani a nullhipotézis alatti eloszlást. Ez néha bonyolult, ezért egyszerübb szimulálni. Vagy bootsrappolni.

Az igaz, hogy mindent lehet látatlanban bootstrappolni, de azt be kell bizonyítani, hogy az adott problémára a bootstrap mükodik-e.

Viszont a blog kontextusában a jó hír az, hogy az összes taglalt tesztre müködik a bootstrap. Söt, elméletileg pontosabban approximálja az (aszimptotikus) eloszlást mint a központi határeloszlás tétel. Így hát azért jó hogy van ilyen bejegyzés a blogoszférában.

glantos70 2021.06.29. 08:19:04

"... Az igaz, hogy mindent lehet látatlanban bootstrappolni, de azt be kell bizonyítani, hogy az adott problémára a bootstrap mükodik-e. ..."

Ezt hogyan lehet igazolni? A problémák jelentős részében nem ismerem a sokaság valós eloszlását, akkor honnan tudom, hogy a bootstrap mennyire adja vissza a sokaság tulajdonságait?

Az alábbi példában ha egy másik mintát használtam volna a becslésre, valószínűleg más eredményt kaptam volna. Akkor melyik minta alapján végzett becslés a jobb?

kikeriborsó 2021.06.29. 15:10:33

@glantos70:

A közhiedelemmel ellentétben a bootstrapról senki sem mondta matematikailag, hogy kis mintaelemszámok esetén használható. A bootstrap "müködése" azt jelenti, hogy egy statisztika bootstrap eloszlása nagy minta elemszám esetén (!!) konvergál a statisztika aszimptotikus (!!) eloszlásához.

A félreértés két okra vezethetö vissza: 1. bootstrappolni mindig lehet, mert az algortimus maga intuitív és egyszerü, 2. megmutatható, hogy sok közönséges statisztikai próba bootstrap eloszlása gyorsabban konvergál a statisztikai próba aszimptotikus eloszlásához, mint a központi határeloszlás tételen alapuló approximáció. De ez ilyen ordó (O) jelöléses "gyorsaság", tehát ugyanúgy nagy mintaelemszámról van szó.

Tehát a kérdésedre válaszolva: ha meg tudjuk mutatni a statisztika nagy mintaelemszám melletti eloszlását (pl. standard normál), és ez a statisztika nem túl "fura", akkor a bootstrap müködik, a fent leírt értelemben.

Minden más, föleg nem aszimptotikusan, csak remény.

glantos70 2021.06.29. 15:12:40

@kikeriborsó: Ok, megadom magam. Ilyen mélységben valóban nem merültem el a téma irodalmában. Köszönöm a hasznos kiegészítést. :-)

kikeriborsó 2021.06.30. 07:13:49

Valóban nem kötözködni jöttem, csak hogy meg legyen a korrekt értelmezés is az Interneten.

Tehát tessék használni bootstrapot a teljesen átlagos tesztekre is. Ha a teszt standard normál aszimptotikusan, akkor a bootstrap müködik, és jobb mint a "táblázatból keresés". Ma ez már egy gimnáziumi osztályban is opció lenne, nyilván amikor az egész statisztika "kánon" alakult, akkor még nem volt opció, hogy bootstrap szimuláljunk.

A másik titok az az, hogy ez az egész elméleti eszmefuttatás nem függ a bootstrap replikációk számától, csak a mintaelemszámtól.

Egy kb. 500-as (de legyen 1000) bootstrap replikáció szám már alapvetöen jó, nem kell 100 000.

glantos70 2021.06.30. 07:18:47

@kikeriborsó: Még véletlenül sem vettem kötözködésnek a kommentjeid, szerintem kultúráltan és szakami szempontból fejtetted ki a véleményed és ezzel az égvilágon semmi baj sincs. Engem érdekel a statisztika és bizonyos területein otthonosabban mozgok, mert ezeket időnként alkalmazom a munkám során. Más területeken - ilyen a bootstrap is - nem vagyok annyira járatos, mert eddig nem nagyon fordult elő, hogy alkalmaznom kellett. De próbálom szélesíteni az eszköztáram. :-)

A megjegyzéseid pedig kiváló kiegészítései annak, amit leírtam. úgyhogy köszönöm, hogy rászántad az időt és megírtad őket.
süti beállítások módosítása