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.

2014. március 25., kedd

"Senki sem tudja, mit kellene csinálni"

.
Elgondolkodtató poszt jelent meg ma Duronelly Péter közgazdásztól a fenti címmel, az index.hu-n.

Senki sem tudja, mit kellene csinálni

Fontosság szerinti csökkenő sorrendben pár gondolat. Az adatbányász/elemzős hajlamokkal való bármilyen kapcsolódás, NEM a véletlen műve. :DDDDDDDDDDDD

...nem világos, hogy a jövőnkért makroszinten felelős döntéshozók szándékai pontosan milyenek...a valóság az, hogy igazából senki sem tudja, mit is kellene csinálni. Én sem. Sőt: Orbán Viktor sem. És persze Bajnai Gordon sem. De akkor ki tudja? Az az igazság, hogy előre senki.
* Tudja-e vagy "elég-e", ha csak véleménye van az akárkit takaró "senki"-nek is? (Ami vélemény, mint tudjuk, olyan, mint a s*gglyuk: mindenkinek van és senki nem kiváncsi a másikéra)? Tudunk-e ismeretelméleti kontextusban beszélni "tudás"-ról?

* Hogyan definiáljuk, hogy képes-e tudni az idézett dolgot? Értelmezésemben azt, hogy aki tudja (előre), az ki tudja számítani a hatások-ellenhatások fonalas láncolatát, illete váratlan nem látható elágazásokra tudja, hogy lesz dinamikus - egyetlen és többiből kimagasló jó - válasz. Szándékosan fogalmaztam ilyen erősen, gyengébben nem tudok. Viszont, lássuk be ez "kicsit" irreális, azaz az említett "tudás" már ezen a ponton megbukik. És hol vagyunk még a posztban helyesen említett komplex rendszerektől?

* Érdemes lenne szétválasztani, idődimenzió mentén, a "pillanat"-ot az "időtáv"-tól. Ha valaki "tud"-ja a tutit azt definitive egy adott időpillanatban tudja (véli tudni), míg ez a tudás és hatása egy lényegesebben hosszabb távon kell teljesítsen.

* Az egy dolog, hogy van-e univerzális és optimális recept országos gazdasági bajokra, de az is jogos problémaként merül fel hogy mennyire hiteles ez a "tudás", ki áll mögéje, milyen hatásfokkal, mennyire járódik végig az út (avagy első adandó alkalommal, okkal vagy ok nélkül, jön véletlenül egy valamilyen kitérő), stb.

* Nagyon fontos az "előre(jelzési)" párhuzam. Az analógia abban is megáll például, hogy
(a) valószínűleg elhangzik a "legjobb" gondolat mindkét esetben (vagyis a legjobb receptre illetve előrejelzésekre), csak éppen senki nem tudja, hogy a konkrét esetben ki mondja a jót (ki kell választani őt a sok közül, mindannyiunknak).
(b) mindkét esetben, az érvelés, a mögöttes tartalom az igazán perdöntő. Az ember időkímélésből meg energiaspórolásból szeret csak az egyébként látványos adott konkrétumban gondolkodni (tuti-megmondás vagy konkrét előrejelzés), pedig az ördög a részletekben rejlik.
(c) Garancia sincs rá, hogy aki egyszer megmondta a (jó) tutit, vagy előrejelzést, az legközelebb is meg tudja ezt ismételni..
(d) Kommentek között elhangzott a  (Kondratyev)-ciklus. Ez is erősítheti az analógiámat. Mind a "tudás", mind az "előrejelezhetőséget" alapvetően determinálhatják a ciklusok. Már amennyiben vannak relevánsak. Vannak-e? Tekinthető-e a 45-60 év Kondratyev-ciklus komolyan vehetőnek ilyen hibahatárokkal? Ha a ciklusok teszemazt 10-szer bejöttek, 11-dszerre is bejönnek? 11-dszerre és 12-dszerre is bejönnek? Fejünket is rátennénk? ;) Azt gondolom a ciklusosság egy faktor csupán, amit meg lehet becsülni meg elemezni kell, de semmiképpen nem csak önmagában, más ható fetaure-öket kizárva.

* Az ember szeret egydimenziósan gondolkodni (sorosan). Pedig a valóság tudhatóan komplexebb. Tegyük fel egy pillanatra, hogy a posztban emlegetett növekedés helyes és jó dolog. Elég-e csak erről beszélni, csak ebben a jóval szűkebb kontextusban is? Mi a helyzet a sérülékenységgel (látványos rövid növekedést felválthatja egy tartósabb és mélyebb csökkenés)? Mi a helyzet a gyakorlati tapasztalati alátámasztottsággal (avagy csak teoretikus és/vagy impakt-faktoros tudományos intellektuális onanizálásról van-e csak szó egy-egy "jobbító" ötletroham esetében)?

* Csábít a válaszra az így feltett kérdés: tényleg tudja-e valaki a tutit? Kommentek között elhangzott Bokros Lajos neve is. Azt gondolom ez a legrosszabb válasz. Nem Bokros személye vagy pláne kártékonysága miatt; Matolcsy emlegetése is éppúgy rossz válasz lett volna - lehet, hogy a pénzügyminiszterségig jutottak ab ovo alkalmatlanok lennének? :)

Ezek azért rossz válaszkísérletek, nézetem szerint, mert megosztóak, így definitive nem visznek közelebb a megoldáshoz, csak a zsákutcához. Az én ajánlatom velük szemben a (jóval) kisebb horderejű, ám támadhatatlan állítások keresésének útja, reménykedve abban, hogy a kisebb ám támadhatatlan állítások jó súlyozással adódnak össze, érvényre jut a kollektív bölcsesség.

Az így megalapozott közösségi döntés
(a) nem a legjobb lesz, lehetséges nála jobb, mint ahogy persze rosszabb is.
(b) viszont időben a legstabilabb, kiegyensúlyozott lesz, ami mögé oda lehet állni, vállalni lehet érte a nehézségeket, az érintett közösségnek ("hálózatnak").

Azaz én például ezért sem az állam szerepvállalási súlyára szeretek fókuszálni (ami egyébként sem eredendő bűn, nézetem szerint, ami így aztán horribile dictu "megosztó" is lehet a fenti kontextusban), hanem a döntés közösségi súlyának növelésére a sérülékenységi veszély csökkenése érdekében, mint mondjuk egy Paks2 horderejű topikban. Hiszen ilyen horderőben "orosz" rulettezni biztosan kevesebben szeretnek.

A gazdaságot hagyományosan valami kiszámítható, előre tervezhető dologként fogjuk fel. Szeretjük kontroll alatt tartani a dolgainkat...Majd aki jobban tudja, előre megmondja, hogyan lesz, és hogy nekünk hogyan lesz jobb. És mindig van olyan közülünk, akit ambicionál, hogy jobban tudja és majd ő intézze, ezért intézi is. Pedig nem kéne. A gazdaság ugyanis egy komplex, adaptív rendszer
* Igen, komplex rendszer. Ha valaki eddig még nem adta volna fel, hogy a "tuti tudás" létezik, az még most is megteheti :)

* És igen: jobb is, hogy reménytelen ez a fajta predesztináltság, kiszámíthatóság.;)

* Azt gondolom, hogy amit az ember meg tud célozni, az nem más, mint konszenzusosan helyes elvek alkalmazása. Ilyen lehet az emlegetett oktatási fókusz, hozzátéve, hogy persze ezt is el lehet rontani (értelmetlen és/vagy korrupt pénzköltéssel).

* Ahogy az analógiában emlegetett előrejelzéseknél is lehet helyes elveket használni: tippmixben például ugyan lehet akár 10-es kötésbe is szervezni a legmagasabb/legfizetősebb oddsokat, de ez csak a várható nyeremény összegét fogja növelni, a bekövetkezési esélyét kevésbé. ;)

...egy sikersztoriról biztos nem...
* Ne legyünk telhetetlenek, ne a boldogságról, mint célról beszéljünk. Elégedjünk meg a sikerrel, mint komfort-tényezővel. Ezzel is éppen elég baj van. ;)

* Rögtön az első probléma, hogy nemhogy nem mérhető egzaktan, de szubjektív. Ha erőteljesen redukálunk a témában, akkor eljutunk oda, hogy a növekedést GDP-kontextusban szokták tárgyalni. Ami GDP úgy "egzakt" szám, hogy köztudomásúlag rengeteg problémát vet fel, azzal kapcsolatban, amit és ahogyan mér. Ami egzakt még az is gáz. ;)

* Van-e irigykedési faktor? Tudunk-e jól fókuszálni?

* Tudunk-e helyesen arányítani? A növekedési/innovációs történetben potenciálisan meglévő (exponenciális) pilótajáték-effektust most nem érintve: mekkora erőfeszítés kell, mekkora előrelépéshez - teszem fel a kérdést, ha már egyszer egy adatbányász blogon vagyunk :DDDD?

* Ha nézzük a - posztban említett - országrangsor "középmezőny"-ét ("189-ből 54-dik"), akkor bármilyen kontextusban reális-e az élmezőny mögötti középmezőny tömeg látványos nagyságrendi emelkedése? Arról már nem is beszélve, hogy ezt a növekedést mennyire kellene elképzelni más rovására?

* Észrevesszük-e a jót? A nagy pesszimisták tudatában van-e hely annak például, hogy az átlagéletkor korábban soha nem látott magasságokat ostromol, itthon is. Avagy csak a hiány és/vagy a problématenger van csak a fókuszunkban?

* Mennyiben nagyok - horribile dictu túlzóan irreálisak - az elvárásaink itt is, mint az élet sok más területén, lásd hozzá még akár a - létre sem jövő és/vagy gyorsan felbomló - hétköznapi párkapcsolatok ingoványos talaját is. Az én meglátásom szerint sokszor felüllövünk az értelmesnél sokkal jobban is, az elvárások terén.

* A siker tekinthető-e egydimenziósnak (abszolút értékében)? Például mennyire szoktuk tárgyalni a lehetőségek kiaknázásának hatékonyságát, mint siker-fokmérőt?

* Hogy viszonyolunk az egyenlőtlenségekhez, olló szétnyílásokhoz? Felfelé és lefelé?


Végül pár apróság

...hiszen egy mély recesszióból a felpattanás is nagy szokott lenni...
Nem értem: mi az hogy "szokott"? Milyen időtávban, milyen amplitudóval? Nemcsak potenciál és/vagy látványosság csak inkább?

Az „elmúltnégyév” elemzése nem egyszerű dolog, mert a gazdaságot, társadalmat jellemző általános tényezők keverednek a legutóbbi választások óta jellemző faktorokkal.
Nem egyszerű-e? Szerintem inkább lehetetlen. ;) Persze támadhatatlan állításokat tenni azért meg lehet kísérelni még ebben a témában is. ;)

Bár a közgazdasági elmélet (amit inkább dogmatikának lehetne nevezni) azt mondja, hogy a gazdaság szereplői minden döntésükkor az optimumot keresik, a valóság az, hogy a tényleges döntések pusztán valami elfogadhatóan jó megoldás megkereséséről szólnak.
Ez így ebben a formában szerintem túlságosan erős általánosítás, ami nem visz közeleb a megértéshez. Egzaktul cáfolni persze nem tudok, kérdés, hogy a posztíró tud-e egzaktul érvelni mellette? ;)

...de a pénzeső egyben átok is, amennyiben megnöveli a motivációt a befolyás szemmel látható végletes koncentrációja iránt.
A pénzeső ilyetén kontextusú említése fontos gondolat. Elemzése viszont nagyon messzire is vezetne, nem is egyszerű történet.

Talán mi vagyunk saját magunk legnagyobb ellenségei.
Utolsó mondatként nagyon durva konklúzió. Tény, hogy az ember korlátos és kevéssé hatékony önmagában is, csoportként is. De azért van benne lehetőség is. ;)

Az intézményrendszer minőségét hosszú távon az a tény jellemzi, hogy az adott országban hogyan változik a jólét, és hogy ez a jólét mennyire széles rétegek között oszlik meg. Rövidtávon azt hasoníthatjuk össze, hogy az intézmények mennyire szolgálják a tiszta verseny érdekeit, mennyire védik a pénzügyi és szellemi tulajdont, hogy az előre jutáshoz mennyire elegendő pusztán a szorgalom, és hogy a rendszer mennyire segíti vagy akadályozza a vállalkozás szabadságát és hatékonyságát.
...
A politikai erő birtokosain csökkenő demokratikus kontroll megkérdőjelezi a társadalom széles rétegei tulajdonjogainak biztonságát. Direkt államosítások még nem voltak, a magánnyugdíjpénztári rendszer de facto felszámolása is „csak” egy zsarolási hadművelet volt, de a mára elharapódzó zűrös ügyek felvetik a kérdést, hogy ebben a folyamatban hol állunk meg.
Ez a két bekezdés viszont sokat rontott a cikk alapvetően tárgyilagos rendszerszemléletű megközelítésén. Az én ízlésemnek ezek már túlságosan specializálóak és kevéssé alátámasztottak még a fenti gondolatmenetekhez képest is. Kár értük. :( Mondhatnám offtopikok. ;)

2014. január 19., vasárnap

Coursera: Machine Learning course - DONE :)






Ha félév halasztása után is, de csak sikerült elvégeznem a tárgybeli  második (utolsó?) - időtartamát tekintve 10 hetes - Machine Learning-es Coursera-s kurzusumat, a tavaly nyári Data Science kurzus után. Elvben egyben akartam megcsinálni mindkettőt, de aztán a munka bedarált, esélyem sem volt rá végül. Most viszont végre sikerült: munka mellett, ráadásul észrevétlenül: még a kollégáim, főnökeim sem tudtak róla.

Hogy miért volt fontos számomra a kurzus? Van pár ok:

* Az egy dolog, hogy én szeretem az adatbányászatot, és az meg egy másik, hogy ezt elhiszi-e valaki nekem, egyáltalán azt, hogy ez nemcsak plátói - távolról érzett - (szakmai) szerelem ez. :) Nyilván ahogy házasságkötés nélkül is lehetséges igazi tartalmas párkapcsolat, nem a papír adja a garanciát hozzá, mégis valamilyen (tőlem) független kritérium-rendszer szerint teljesíteni szerettem volna valamit, a - mondjuk most így - l'art pour l'art érdeklődés felett.

* Ne felejtsük el, mivel lassan őskövületként 50 éves elmúltam, amikor én egyetemre jártam (ELTE programtervező matematika szakra), akkor nemhogy nem tanították (szisztematikusan) az adatbányászatot, de még a fogalom sem volt ismert itthon. Megboldogult nagyszerű Nemetz Tibor professzor úgy mesélt nekem tananyagon kívül a k-NN szépségeiről, hogy még véletlenül sem ejtett ki még csak hasonló fogalmat sem. Mindez maga után vonta, hogy (1) voltak hiányosságaim a témában, kvázi csak azok voltak (2) a lyukakat érdemes lenne valahogy szisztematikusan betömni.

Mindazonáltal nem javaslom senki hozzám hasonlatos "túlélőnek", hogy első lépéseit az adatbányászatban evvel a kurzussal tegye meg (nekem sem ezek voltak az első lépéseim). Maximum csak, ha valaki nagyon tehetséges, meg a matek iránt erősen affinis. Ugyanis mellbeverő a kurzus nehézsége, komplexitása (nekem legalábbis).

* Ha csak szimplán a felhasználói/üzleti vetületét nézem az adatbányászatnak, még ebben is csak 50%-osnak értékelem magam (maximum). Abban az értelemben mindenképpen, hogy projektszinten beérkező - akár szakmán kívülről jött - ötletek jelentős hányada egyszerűen nem jut eszembe (amikor kéne). És ezt maximum avval tudom kiegalizálni, hogy cserébe viszont mára már nekem is vannak olyan ötleteim, amik meg másoknak nem jutnak eszébe :) Mindez egyébként számomra - ensemble technikák analógiájára - erősen kidomborítja az adatbányászat csapatsport jellegét. A kurzus nagyban növelte a nagyon hiányzó 50% legalább valamelyest befogásának esélyét.

* Azt gondolom ez az a kurzus, ami nélkül a szó szoros értelmében nem halhat meg - ;) - adatbányász (feltéve, hogy nem tanulta korábban a tárgyat). Érdemes lehet idevágóan Kaggle-s fórumokat böngészni, (1) mennyi hálás tanítványa van Andrew Ng-nek. De ha ez nem lenne elég, (2) volt olyan verseny, amit az ő 2011-es cikke alapján nyert meg a győztes ("black box challange"). Mind szemléletében, mind konkrétumaiban, példamutató értékű a professzor tanár hozzáállása (számomra mindenképpen).

* Paradox módon ugyan, de a téma (avagy mitől és hogyan döglik a(z adatbányászatos) légy; az algoritmusok kontextusában) legnehezebb része tanítható a legkönnyebben, leguniverzálisabban. Ehhez nem kell más "csak" le kell menni a pokol tornácára (a matekhoz, vagyis az adatbányászat "assembly" nyelvéhez). Ez adja aztán a szükséges alapot ahhoz, hogy az adatbányász pontosabban tudja érzékelni, milyen feladatban mennyi potenciál van, mi az, amit már nem érdemes eröltetni és/vagy módszertant váltani hozzá. Amikor az adatbányász nemcsak bele a világba "klikkelget", hanem megalapozott értelemmel munkálkodik.

* Octave/Matlab hihetetlenül erős nyelv, nem is gondolná az ember, megadja a problémára fókuszálás maximális élményét (90%-10%), tömörséggel, élvezettel, nagy hatékonysággal

* Említésre méltók a számonkéréses feladatok. Egyrészt voltak tesztkérdések (kb.: 90-100 darab), másrészt voltak programozási feladatok (kb.: 40-50 darab). A neurális hálóknál volt 90 pontos brutális nehézségű feladat is, illetve voltak bónusz feladatok is (hogy lehessen plusz pontok szerzése révén határidő-csúszásokat kiegalizálni). És voltak törtpontok (legkisebb megszerezhető a 0.2 volt). Bónusz-feladatok nélkül a maximális elérhető pontszám 890 volt a két feladattípusban (ennyi kellett a 100%-hoz), bónuszokkal együtt 940 pont. Én ez utóbbit értem el 106% erejéig. Azért volt annak feelingje (számomra), hogy 0.2 pontot sem hagytam veszendőbe :)

* Angol nyelvi aspektusok. Mivel nem a nyelvzsonglőrök osztályát erősítem, így érthető módon öröm, meg sikerélményt adó volt érdemben és értelmesen gyakorolni az angol nyelvet. Külön élvezet volt a teszteknél a nyelvi finomságokra is figyelni. De nem hallgathatom el a hátrányát is. Egyfelöl sok-sok fogalomnak, definiciónak nem is tudom a magyar megfelelőjét, teljességgel angolul rögzül bennem. Másfelöl mivel angolul tanultam, így ugyanakkora erőbefektetés mellett az angol nyelven való tanulás sokkal kevésbé tud mély lenni (számomra), mintha ugyanezt magyarul tenném meg (saját tapasztalatom alapján).

* Végére hagytam a gépi tanulás "beskatulyázásának" aspektusát. Azt gondolom az adatbányászati szaktudásnak két nagy vetülete van (háromféle megközelítésben).
- Algoritmikus és nem-algoritmikus (értsd: adott esetben vajákolásosan misztikus)
- Domain-free és domain-specific, ahol az utóbbi mindig jobb eredményeket fog adni egy rablló-pandúr játék keretében (jelenlegi infók alapján illetve szerintem).
- Kutatói és üzleti adatbányászat.

Hallom az általános felhördülést "lelki füleimmel", hogy a visual streames szoftverhasználatot miért hagyom ki. Hát ennek a nem hangsúlyozásnak több oka is van:
- Egy Clementine-t még egy Microsoft Office-nál is könnyebb használni, annyira kézreáll.
- Csak "hangulatkeltéshez" elég, érdemi módon megalapozott adatbányászathoz nem.
- Ha lenne valós részesedése, akkor az 1-2%-nál többet nálam nem tudna elérni a másik kettőhöz képest, ami lássuk be mikroszkópikusan kicsi.
- Ha szigorúan vesszük, akkor az adatbányászat/machine-learning nem más mint egy pár új transzformációs oszlop egy meglévő dataset-hez, execute gomb megnyomás után. Jó egy kis paraméter pótméterezéssel. ;) Lássuk be az érdemi hozzáadott érték az alap dataset előállásában, a paraméterezésben, és az eredmények interpretálásában van, nem pedig abban, hogy hogyan kell az execute gombot megnyomni.

Azaz ezek mindegyike külön (nagy) tudomány:
- Adatbányász célú adatpiac építés
- Machine learning algoritmuselmélete
- Vizualizálás
- Prezentálás (sok infóból, a kellőt, célbaérően megmutatni)

És persze jó lenne a szakmába belemenve a konkrét részletekről is írni, de akkor sose fejezem be ezt a blogposztot ;)

2013. december 8., vasárnap

Adatvizualizálási oknyomozás

.
Alcím: Adatvizualizálási hazugságok, hamisítások :)

Steve Jobs elhíresült prezentációs diája látható fenn (azóta már oktatási anyagokba is került az "adatvizualizálási hazugság faktorok" fejezetbe. :)

Mit is látunk? Egy tortadiagramot, és Steve Jobs úgy intézte, hogy az Apple 19.2%-a szemre nagyobb legyen, mint az "egyéb" 21.2%-a ;) Nyilván pénzről, profitról, expanzióról szól a történet, ennyi turpisság bele "kell" férjen a várható haszon tükrében. Steve Jobs tehát nem tudhat rosszul kijönni a sztoriból, még a konkrétumok szintjén sem. ;)

Mi áll a dolog elméleti hátterében? Az hogy az emberi szem a négyzetek/téglalapok területi arányait sokkal-sokkal gyorsabban és pontosabban érzékeli, nagyobb tömegben végzett vizsgálatnál is. Míg a körnél/körcikknél meg ugyanezt nagyon, értsd nagggggggggggyon rosszul. Ezért favorizáltabb a szakmában például az oszlopdiagramok, hiszen ott ilyen megtévesztési/befolyásolási mókákra kevesebb lehetőség nyílik. Más kérdés, hogy van ahol célkitűzés az illuzionizmus. ;)

És mi lenne a hamisítás, a hazudással szemben? Mármint az én olvasatomban. Ha kör helyett "ellipszizálnánk", akárcsak icipici mértékben is. Hiszen akkor már az ívhosszak önmagukban is hazugságfaktorok tudnak lenni.

Steve Jobs csak hazudott-e avagy hamisított is? Sajnos a fényképezés torzít, mondhatni önmagában "ellipszizálhat". Utólag meg igen nehéz rekonstruálni a történteket. Én azt valószínűsítem, hogy SJ megelégedett a finomabb hazugság-módszerrel, nem akart túl sokat markolni.Azaz az előadásában tényleg rendes tortadiagram lehetett. Evvel maximalizálta is a sztori a hasznát is. Azt meg nem feltételezem, hogy SJ nem volt tisztában az egész történet ezen finom részleteivel. ;)

Tableau Data Visualization Cookbook

.
Én értékelésemben minden idők legrosszabb szakkönyve jelent meg 2013 augusztusában (elektronikusan 20, míg papírkötésben 40 USD):

Pact Publishing: Tableau Data Visualization Cookbook

Pedig a könyvkiadót a szakkönyveivel nagyon szeretem. Nagyon frissen cuppannak rá, nagyon aktuális témákra.

Ennél a könyvnél ráadásul a kiadó inkorrektnek tűnik első ránézésre, mert a tartalomjegyzéknél nem látszanak oldalszámok. Ez a cookbook írd és mondd, az index utolsó oldalával együtt 156.oldal(!). A könyv "overview"-jánál meg egyenesen 172 oldal látszik.

Már ennyiből is látszik, hogy nehéz komolyan venni a könyvet, leginkább azért, mert nincs minősítés (kezdő-haladó).
Azt el tudom (nagy nehezen) képzelni, hogy haladó fogások egy halmazára elég legyen 156 oldal, de ilyesmiről itt nincs szó.
Azt is el tudom képzelni, hogy egy bevezető "szakácskönyv" legyen 156 oldal - hiszen egyébként pártolom a minél kevesebb betűre való törekvést, itt a blogomon is :)

Chapter 1: Connecting to Data Sources
Chapter 2: Creating Univariate Charts
Chapter 3: Creating Bivariate Charts
Chapter 4: Creating Multivariate Charts
Chapter 5: Creating Maps
Chapter 6: Calculating User-defined Fields
Chapter 7: Customizing and Saving
Chapter 8: Exporting and Sharing
Chapter 9: Exploring Advanced Features

Hogyan lehet egy ilyen tartalomjegyzékkel megúszni a témát? A legdurvább, legutolsó advanced feature a "create parameter". Ezt mégis hogyan tudja komolyan gondolni egy ember? A könyvnek egyetlen érdemi értéke van, hogy az egyes tippeknél vannak "there's more" szekciók, valós, nagyon jó linkekkel. A könyv egyedül emiatt lehet esetleg érdekes, meg ha azt vesszük annyira nem drága (szigorúan csak elektronikus verzióban).

Személyes adalék:

Jövőre, 30 éves pályám során (20 évesen kezdtem lyukkártyás R-11-es IBM360-as KGST-klónon), mindösszesen csak három téma kapcsán fordult meg bennem, hogy de jó lenne tanítani, meg milyen nagy dolog lenne.

(1) SQL. Ezt elsősorban azért, mert meggyőzödésem, hogy világszerte rosszul tanítják, rossz elvek és rossz tankönyvek alapján. Én magam mondhatni egyetlen jó SQL-tankönyvet nem láttam (referencia nem tartozik ide, hiszen az nehezen tud rossz lenni). Ezt tudom nagyon hihetetlenül/morbidan hangzik, egy alaptémánál, de akkor is így van. Az én határozott véleményem az, hogy jobb tanítási módszerekkel, sokkal többet hozhatnának ki a felhasználók az sql-ből, sokkal "funny"-bb módon.

(2) Adatbányászat. Nyilván. :) Itt persze elsősorban az izgat, hogy hogyan lehetne kedvet csinálni hozzá, hogyan kellene a hatalmas anyagból válogatni, rendszerezni, mondjuk 1 másfélórás előadásra vagy 1 féléves főiskolai kurzusra. Hogyan lehetne közelhozni az egészet, érdekes és nem triviális módon (ami a legtöbb tananyag nagy hibája olvasatomban).

(3) Tableau. Szintén nyilván :) Tableau-val egy nagy gondom van e téren, hogy az idő múlásával párhuzamosan amint belekeveredek egyre "durvább" Tableau-s projektekbe, veszem észre, hogy egyre több mindent kéne még tudnom, egyre több van hátra. ;) Pedig egy egyszerű, felhasználóbarát szoftvernek néz csak ki, amit imádnak az üzleti userek. 

Mindez pedig azért gond, mert egy oktató felé minimális elvárás, értelmezésemben, hogy legalább valamilyen szinten ontopik módon meg tudjon válaszolni minden - oktatás során - felmerülő kérdést. Na ettől én még messze érzem magamat, igazándiból csak egyetlen embert ismerek, aki megfelel ennek a kritériumnak. Azt gondolom egyébként, hogy nagyon nagy erőfeszítést igényel a 90%-ról a 99%-ra lépni.(ezért is lenne jó hivatalos Tableau oktatási anyagokat látni, amire eddig nem volt még módom).

2013. november 26., kedd

RapidMiner v6: verzió-upgrade-k negatív guinness-rekordja

.
Hát ilyen rosszul kevés verzió-upgrade esett jól nekem, pedig még csak nem is vagyok célközönsége a terméknek, nem volt még pénzes projektem a tárgybeli data mining tool-lal.

Ezért "kár" volt 5 millió dollár tőkét invesztálni a termék cégébe, beletaposva a RapidMiner közösség erre - a durva árskálázós lépésre - érzékeny részébe.

A verzió  legnagyobb ujdonsága, ugye a kommercializálódása:

Press Kit | RapidMiner
  • Starter Edition, with 1 GB of memory, access to MS Excel and Access data, and no licensing fee;
  • Personal Edition, with 4 GB of memory, access to most common data files and open source databases, 14 days of support, priced at $999;
  • Professional Edition, with 8 GB of memory, access to most common data files and databases, 14 days of support, priced at $1,999/$2.999; and
  • Enterprise Edition, with unlimited memory, access to all files and databases, (including HDFS, SAS, SPSS, and SAP), full support, with pricing available on request.
CHOOSE YOUR SUBSCRIPTION


- Kiváncsi lennék az 1 GB-os verzió célközönségére. Mondjuk egyetemeken talán lehet tanítani vele, de ismerve az eszköz memóriaéhségét ebben sem vagyok biztos. Mintha ingyen se kéne az embernek, kár bele az erőfeszítés és idő is. Ez a STARTER dolog egyébként egy rossz emlékű deja vu-t is felidéz, a Microsoft Windowsnak van ilyen használatatlannak érzett starter verziója.

- Azért az szép teljesítmény a nyugati transzparancia híveinek, hogy az Enterprise-verzió árát ki sem merték írni, ami listaáron 6-7-8.000 USD lehet minimum. Az én konteóm szerint egyébként lesz  akinek olcsóbb és lesz akinek drágább lesz, a demokrácia legnagyobb dicsőségére. Én az ilyen terméket ab ovo szeretem kerülni.

- A legnagyobb baj/szomorúság, hogy a böhöm mamutok (pl.:SAS) malmára hajtja a vizet ez a durva árskálázós lépés, szvsz. Annyira még nincs jó híre, meg nem egyenszilárd a RapidMiner, hogy például egy SPSS Modelerrel versenyezzen enterprise kategóriában, ráadásul ugye az IBM/SPSS megteszi azt a tudván-tuhatóan szintén inkorrekt lépést, hogy nagy cégeknek akár 80%-os árkedvezményt is ad termékeiből. Egy Modelet 25.000 dolláros listaára így 5.000 dollárra csökken, ami már egyenesen versenyképes a RapidMiner áraival.

- Akinek nélkülözhetetlen a visual stream, annak megmarad:
Knime
RapidMiner v5.3
Weka
Python-Orange

 - Érdemes megvizsgálni a kérdést, mennyire létkérdés a visual stream használata az adatbányászatban. Az egyik szétbontás szerint vannak céges és vannak magánzó(kutató/data scientist) adatbányászok. Egy másik felbontás szerint van a core adatbányászat és van a mindenféle pre meg post tevékenység - pl.:vizualizálás, ugye ;)

- Egy kutató/magánzó data scientist gyönyörűen elvan az SQL/Python/R/Octave négyessel (esetleg C/Java kiegészítéssel), nagyon jó eséllyel. Ha valakinek, akkor neki aztán semmi szüksége visual stream-re. Enterprise könyezetben egyelőre a visual stream-ek lehetnek a nyerők, de perdöntően inkább csak a modell-fejlesztésnél, ezért is tud szárnyalni egy SAS is. Hogy lesz-e paradigmaváltás az ügyben, azt szerintem még korai elemezni, érdemben. Kicsit analógnak érzem a Linux elterjedését server és desktop gépeken. Előbbi kategóriában egyértlműen sikerült neki, utóbbin meg nem. A visual streamek a windows-os desktop gépeknek felelnek meg, kérdés tudnak-e "linuxosodni".

- A visual stream-ek nagy hátránya, hogy elsősorban az egyéni munkát támogatja jobban (avval, hogy segíti a programozni nem tudó, de klikkelgetni szerető üzleti emberek munkáját). Kvázi mint az Excel. Egy vállalatnak viszont komplex adatbázisai, folyamatai vannak, amiknek komoly integrációs impactjai vannak. Na és ezt a visual streamek világa már rosszul támogatja (költségek, és nem technikai korlátok szempontjából). A core adatbányászat (mondjuk most így dataset-ből dataset-be transzformálás), az viszont bőven megvan visual stream nélkül.

2013. november 24., vasárnap

Kell-e adattárház ODS és DATA MART közé?

.
Egy teljesen természetes interakciós folyamat lehet az, hogy
- STAGE/ODS rétegben gyűlnek a forrásrendszerek napi snapshotjai
- STAGE/ODS rétegből képződik egy adattárház, mondjuk VAULT módszertan szerint.
- VAULT adattárházból készülnek pl.: riporting adatpiacok.
- Ki kell mutatni, hogy az ODS/STAGE minden szükséges adata 100%-ban megjelenik az adatpiacban.
- Mivel a felhasználó csak az adatpiaccal érintkezik, azonnal felmerül benne a laikus kérdés, minek adattárházat finanszírozni fejlesztési és üzemeltetési költségekkel. Neki elég az adatpiac is, úgymond.
- Korrekt STAGE/ODS, korrekt DATA MART valamint korrekt leképezés mellett minek adattárház?

KÉRDÉS: Lehet-e, szabad-e egyből DATA MART-o(ka)t építeni? Mi a hozzáadott értéke egy adattárháznak, mennyiben tekinthető szükséges rossznak?


Pro érvek lehetnek az adattárház ignorálására:

- Elképzelhető olyan scenárió,  amikor egyszerű forrásrendszerek, komoly adattárházépítési logika felmerülési igénye nélkül kvázi egymás mellé önthetők egyetlen adatpiacban. Ilyenkor valóban tűnhet felesleges overhead-nek egy közbülső adattárház.

- Sajnos még mindig sokszor csillagrombolós költségvetésű egy-egy adattárház-fejlesztése, és mellé nagyon lassú, nehézkes, költséges tud lenni az organikus fejlődése, up-to-date-n tartása.

- Felelőtlen forrásrendszer-felelősök könnyen haza tudnak vágni egy adattárházat (használhatóságilag) nem körültekintő fejlesztésekkel, ahogy általában is az OLTP forrásrendszerek könnyen jutnak nagyobb budgethez, nagyobb prioritáshoz üzleti fejlesztések keretében.

- Tipikus forgatókönyv szokott lenni ilyen fent említett adattárház-elmászásoknál, hogy az üzleti user gyorsan megneszeli a problémát, majd a gépén lévő Access/Excel-lel rácsattan a forrásrendszerre, lehúzza a gépére az adatait és kis magászigetecskéjén elemez. Ennél már a versengő adatpiacok is jobb gondolat. ;)

- Az üzleti élet pörög és egyre jobban csak pörög egyre több dolgozónak van szüksége egyre nagyobb mennyiségű adat átfésülésére a napi munkájához, a gyorsítás igénye folyamatosan napirenden szokott lenni, aminek logikus következménye az adattárház létszükségletének megkérdőjelezése.

- Miért ne lehetne "versengő" adatpiacok egymás mellett élése egy vállalatban, szabályozott redundancia és környezet mellett?


Pro érvek lehetnek az adattárház mellett:

-  Régen rossz, ha forrásrendszerek úgymond "összege" kiadja az "analitikus" igények, adatszármaztatási vonzatának 100%-át, ott valami nem kerek jó eséllyel, látatlanban is.

- Képződ(het)nek új adatok, tudni kell aktuálisan még nem is létező új forrásrendszereket integrálni.

- Talán a legfontosabb, hogy az enterprise MDM (mind a master data ~, mind a meta data management) leginkább ebben az esetben tartható valamiféle mederben. A versengő adatpiacok sokkal könnyebben csábítanak vállalaton belüli fegyelmezetlenségekre, dokumentálatlanságokra, párhuzamosságokra, inkonzisztenciákra (lásd pl.: ügyféldeduplikálási problémák => könnyebb káoszt eredményezni, mint rendbetenni).

- A VAULT módszertan már komoly hozzáadott értéket ad az adattárházépítés rugalmasságához, tulajdonképpen kevés overheaddel. Komoly érv kell tehát az ignorálására: nem tűnik triviálisnak a dolog.



Én négy dolgot állítok, konklúzióként:

- Mindkét forgatókönyv lehet életképes, komoly megalapozott tervezés eredményeként csak, persze

- Nincs hüvelykujjszabály melyik a jobb: lokális specifikumok határozzák meg döntéshozatal alapját.

- Az élet hozhatja úgy, hogy bár jó volt az eredeti választási döntés, de át kell térni a másik verzióra.

- Az a vállalat működik jól üzleti intelligencia értelemben, ahol
* jó adatokkal, jól számolnak az üzleti userek, konszenzusos válaszidőkkel
* nincs divergálás az adatok között DQM-problémákat generálva
* organikus és konszenzusosan gyors a fejlődés
* adatpiacok üzleti intelligencia produktumai össze tudnak adódni vállalati értékké.
* a maximalizált vállalati üzleti intelligencia érték optimális további növelése csak nagy befektetéssel növelhető (magyarán nem éri meg).

Breaking News: Haskel Financial Data Modeling and Predictive Analytics

.
Haskel Financial Data Modeling and Predictive Analytics

Friss meleg nyomdaszagú könyv:) Csak 165 oldal és így is annyira kemény a témája, hogy csak hírt vagyok képes adni róla, kutyafuttában, egyéb teendők miatt.

Mennyi, de mennyi rossz érzésem volt a funkcionális nyelvek irányába, minden erényük elismerése mellet, mit vitatkoztam az ügyben, árral szembemenve :)

Az ellenérzéseim perdöntően abból fakadtak, hogy
* Ki fogja ezeket megtanulni (na és melyiket: Scala, Clojure, Erlang etc.)?
* Na pláne ki fog módosítani, egy korábbi fejlesztést?
* Mennyire átjárhatók egy C/PASCAL analógiában?
* Mennyire zavar be az OO-paradigma támogatása?
* Mennyire elég, ami belőlük a Pythonban van implementálva, limitáltan?
* Mennyi hozzáadott érték van, effektíve pros-cons alapon számbavehető módon?
* Mennyiben intellektuális onanizálás az egész?
* Mennyiben l'art pour l'art -> valami mesterséges absztrakt szépség ideálért?
* Mennyiben hype?

Ami a véleményemmel szemben zavart_
* A párhuzamos feldolgozás látványos támogatása kezdettől fogval nyugtalanító volt számomra :)
* Tömörség,
* Lambda-kalkulus tömör ám kifejező ereje 
* A hírek szerint, jobban működő programok írhatók, értsd valószínűbben csinálják azt, amire írták
* Ehhez jött a MapReduce paradigmában betöltött életerős szerepük.* És most már a prediktív analitika ajtaján is dörömbölnek a funkcionális nyelvek.
* Alkalmazás is van már láttam Clojure-wrappert java-s data mining libraryhez.
* Könyv is jelenik meg még ha első körben csak 165 oldalban

Érdekesség: a 165 oldalba még install-folyamat, nyelvi bevezető és text-feldolgozás is belefért.

Az első "igazi" topik,  a Grubb's test outlier analízishez.

Igazándiból a Kálmán-filter-t lett volna érdekes kiemelni, mert az jóval közismertebb, de kedvezzünk az egyszerűségi elvnek. :)

Bemásolom ide alább a vontkozó kódot, elmékedésre, és én elhallgatok. ;)


module Grubbs (
      grubbs
    ) where

import qualified Data.Vector.Unboxed as U
import Statistics.Sample

grubbs :: [Double] -> Maybe Double
grubbs xs           
    | numOfOutliers > 0 = Just $ fst $ U.maximumBy cmpByG outliers
    | otherwise         = Nothing
    where   n                       = fromIntegral $ length xs
            gCritical               = (n-1)/(sqrt n)
            v                       = U.fromList xs
            (m,s)                   = meanVarianceUnb v
            stddev                  = sqrt s
            getGtuple   x           = (x, (abs (x - m))/stddev)
            isOutlier (_, g)        = g > gCritical
            outliers                = U.filter isOutlier $ U.map getGtuple v
            numOfOutliers           = U.length outliers
            cmpByG (_, a) (_, b)    = compare a b