Magamról

Saját fotó
Főiskolai, majd egyetemi diplomamunkáimtól kezdve világ életemben, adatok, adatbázisok, adattárházak (leginkább Oracle) környékén mozogtam. Mostanság adattárházasként, adatbányászként élem napjaimat.

2010. augusztus 18., szerda

Prediktálás: pontosság vagy stabilitás?

.
Egy kicsit egyre cikibb, emiatt egyre inkább szégyellem magam, hogy az összes jó témát a szakmai társblog veti fel: én meg csak itt reflektálok (párhuzamosan és hosszúságtól függetlenül). Talán annyiban megbocsátható, hogy ez a valami, amit próbálok itt a felszínen tartani, az egyfelöl eléggé perifériális, másfelöl szeretném a tárgybeli egy-két mondatomat egy helyen látni, nem pedig hozzászólásokban szétszórva, általam is nehezen követhetően. Halkan jegyzem meg azt a további potenciális enyhítő körülményt, hogy még az sem kizárt, hogy meglehet vannak akik irántam való jóindulatból próbálják meg kúsza soraimon átrágni magukat (olykor reflektálásba is torkollóan), nem pedig a téma iránti szoros kapcsolódásból. (Nekik egyébként külön köszönet ezért, ezúton is)

Mennyire pontos a prediktív modellem?

Nem kizárt, hogy hülyeség a fenti címbeli terminológiai kötözködésem, az is lehet, hogy a szakmai életben tök egyedül vagyok vele /vállalom :o)/, de én sose pontosságban, hanem tágabb kontextusban mindig, pontosságot magába foglalóan stabilitásban gondolkodom, a prediktív modellek esetében.

Persze lehetne [pontosság;stabilitás] párban gondolkodni, csak ezzel meg az a bajom, hogy a pontosság és a stabilitás az én érzésem szerint - fordított arányban - összefügg, azaz ha sikerül javítani (pusztán csak algoritmikus alapokon) a pontosságon, akkor esélyesen sikerül rontani a stabilitáson. Egyszer ezt az egész gondolatmenetet jó lenne egy külön blogposztban vesézni, itt elöljáróban röviden arra utalnék csak, hogy az én (biztosan vitatható) intuicióm szerint minden feladatnak megvan a maga prediktálási pontossági potenciálja, amin algoritmikusan relevánsan csak lokálisan lehet javítani, a stabilitás oltárán való áldozással. (Ha új magyarázó változót vezetünk be, sőt ha egy meglévő magyarázó változó megy tönkre/torzul - lásd még "change point detection"; ezek már újabb feladatoknak tekinthetők, ebben a kontextusban.)

A pontosság eleve nem egy két tizedes jegyre megadott effektív konkrét százalék, hiszen annak semmi értelme a téma jellegéből fakadóan. Eleve egy intervallumot érdemes megadni rá, amibe aztán egyes modellkiértékeléseknél vagy sikerül beletrafálni vagy nem.

Zárójelben: a pontosságot - tárgyunk szempontjából másik - bántó aspektusa a prediktív modellezés során bekövetkező túltanulás. Hiába érek el jó pontosságot, ha releváns túltanulással érem el, akkor a hajamra kenhetem.

Ha absztrahálunk (hogy mindenki jobban érthesse), akkor van egy (ideális esetben értelmes) tanító adathalmazunk, arra tudunk prediktív modellt építeni. Aztán van x darab kéznél lévő validáló teszt adathalmazunk, amin mindenféle okosságot tudunk csinálni (prediktálás/modellkiértékelés, visszamérés, finomhangolás), és van y darab jövőbeli adathalmazunk, amiről adott konkrét perpillanatban halvány lila segédfogalmunk sincs. A nyílvánvaló cél, hogy a jövőbeli ismeretlen adthalmazainkon működjenek jól a modelljeink, illetve detektáljuk ha már nem működnek jól és tudjunk érdemben reagálni (visszacsatolással) e történésekre, ne adj isten egyenesen valós időben humán és/vagy szoftveres eszközökkel (real-time decision management).

Rögtön felmerül a kérdés mi a jobb stratégia? Kitalálni (kifizetni) egy prediktív modellt, ami elég gyenge mutatókkal, de a rohanó idő mellett is akár évekig stabilan működik (például logisztikus regressziós modell alkalmazásával sokszor van erre bőven esély), avagy megcélozni pofásabb prediktálási mutatókat (olyan 'hazardírozós' algoritmusokkal mint SVM), jóval nagyobb instabilitás mellett és felkészülni érdemben az instabilitás menedzselésére (folyamatmenedzsment). (Nyílván egy adatbányászversenyen ez így nem merül fel konkrét problémaként ott a versenykiírás szerinti teszthalmazo(ko)n kell legjobban teljesíteni)

Eszembejut adalékként, a jövőbeli adathalmazok való totális információhiányára, egy szerintem jó példa, nevezetesen a Netflix I. videótékás adatbányászverseny, ahol volt validáló meg teszt adathalmaz továbbá a versenyben élenjáróknak egy külön olyan plusz teszthalmaz, amiről semmi infomációjuk nem volt. Ha jól meggondoljuk teljesen jogos ez a "körülményesség", hiszen a konkrét versenyben egy teszt adathalmaz is hordoz olyan modellépítésnél akár fel is használható plusz információkat (mint a konkrét esetben) hogy kik milyen filmeket néztek meg. Egy korrekt kiértékelésnél az ilyen anomáliákat természetes módon érdemes szűrni.

Konklúzió? Lehet, hogy még a stabilitás sem megfelelően korrekt / teljes fogalom? :o)))))))))))

Nincsenek megjegyzések:

Megjegyzés küldése