Monthly Archives

March 2020

Dél-Korea vagy Olaszország sorsára jutunk? Nem csak rajtunk múlik!

By | Big Data, Cloudera, Data Visualization, Machine Learning, Python, Spatial data | No Comments

A kezdeti nehézségek ellenére meglehetősen jól alkalmazkodtunk a körülményekhez és – bár a többség számára nehezen érzékeltethető – de az IT világában igenis folyik a munka. Sok esetben meglehetősen hatékonyan. Egyik véglet, amikor munka közben négy gyereket kell menedzselni egy 80 nm-es lakásban, ahol a 2 nm-es erkélyre lehet maximum kimenni, a másik végleg a szingli életmód egy belvárosi lakásban, ahol hetek óta senkivel sem találkozol. Mindkettőre könnyű példát találni. Meggyőződésem, hogy egyik sem tartható fenn huzamosabb ideig anélkül, hogy valakinek az idegállapota ne változzon jelentős mértékben. Az erőjelzések alapján azonban a jelenlegi állapot hosszú hetekig még fenn marad, hiszen ha lazítanak a szabályokon, akkor a vírus terjedése elindul. Idén tehát valószínűleg sokaknak elmarad a nyár vagy a saját lakás/kertre, esetleg nyaralóra, de mindenképp szűk családi körre koncentrálódik.

Hatékony járványkezelés, lehetséges?

A híreket olvasva kerestem példákat, hogy más országokban mi a helyzet. Azt már tudjuk, hogy hogyan ne kezeljük a helyzetet, látva az olaszországi, spanyol és francia példákat, ahol százak halnak meg naponta a vírustól. Vajon azt tudjuk hogyan lehetne másképp, jobban kezelni, hogy a vírus ne terjedjen, ugyanakkor a korlátozások se legyenek ilyen drasztikusak? Van erre példa, méghozzá Dél-Korea.

Dél-Koreában ugyan több, mint 9200 fertőzést regisztáltak (2020. március 26-dikai adat), a lakossághoz és a népsűrűséghez mérten ez egyáltalán nem sok. A megdöbbentő azonban, hogy milyen gyorsan úrrá lettek a vírus terjedésén: február 20-dikán regisztálták hivatalosan az első fertőzötteket és március 4-dikén már meg tudták törni a lendületet, majd 8-dikán újra egy törés, március 12-dike óta pedig átlagban, kevesebb, mint 100 új esetet regisztrálnak naponta.

Sum Cases South Korea COVID-19
Daily Increase South Korea COVID-19

A Wikipédia szerint Dél-Korea lakossága körülbelül 51 millió fő, 1960 óta megduplázódott. (Érdekesség, hogy eközben, a hasonló népességű Irán lakossága majdnem megháromszorozódott.) Földrajzilag szomszédos Kínával (ahonnan a vírus elindult), de közvetlen szárazföldi kapcsolata Kínával nincs. Szárazföldi kapcsolata Észak-Koreán keresztül van, Észak-Korea zártsága miatt arra viszonylat kevesen járnak. Így a határai jól kontrollálhatóak, vizi és légi kikötőkre korlátozódnak. Azonban nem ennek a sajátos helyzetnek köszönhetik, hogy ilyen jól kordában tudták tartani a vírus terjedését. A háborút még ők sem nyerték meg, de sok csatát már megnyertek és jók a kilátásaik a végső győzelemre.

A Max Fisher NYT újságírójának beszámolója alapján Dél Korea a felkészültségének és a hihetetlen professzionizmussal végrehajtott “hadműveletének” köszönheti a hatékony védekezését. A “hadművelet” négy fontos részből áll:

  • Gyors beavatkozás, még a krízishelyzet kialakulása előtt (Lee Sangwon, an infectious diseases expert at the Korea Centers for Disease Control and Prevention said: “We acted like an army,”)
  • Korai tesztelés, gyakran és biztonságosan (hogy nehogy az orvos/nővér is megbetegedjen)
  • Kapcsolatok követése, izolálása és megfigyelése
  • Lakosság segítségül hívása, bevonása

Ezen pontok egyike sem egyszerű önmagában, de mind a négy pont hatékony végrehajtása és összehangolása nagyon komoly felkészültséget feltételez. Dél Koreában valószínűleg tanultak a 2002-2004-es első SARS hullámból. Sajnos vagy szerencsére abból Magyarország, de még a teljes Európa is majdnem kimaradt, az EU-ban mindössze Franciaországban volt halálos áldozata és a legtöbb országban hivatalosan nem is jelent meg a fertőzés. Dél-Koreában viszont igen, igaz csak 3 igazolt esetben.

Ennél is talán fontosabb a 2012-ben kirobbant Közel-keleti légyúti szindróma (MERS) járvány, ami Dél Koreát 2015-ben érte el és “küldött” közel 6800 főt karanténba.

MERS Worldwide
MERS in South Korea

Forrás: https://en.wikipedia.org/wiki/2002%E2%80%932004_SARS_outbreak

Feltehetőleg ez készítette fel az koreai hatóságokat, hogy hogyan kell védekezni egy világjárvány ellen, hogyan védjék meg a lakosságot, főként az a ~13,6%-ot (~7 millió embert), aki 65 éven feletti.

Az első két pont (gyors beavatkozás, gyors döntéshozatal, jó stratégia megalkotása és a korai tesztelés) abszolút a felkészültségről szól. (Van-e például a raktárban tömegesen olyan teszt, ami kimutatja a vírust.) A negyedik pont számomra evidens egy hatékonyam működő társadalomban a tájékoztatás, a kommunikáció nagyon fontos, hiszen bármit kitalálhatsz, ha az embereket nem tudom magad mellé állítani, akármilyen jó is az ötlet, nem fog működni.

Technológia jelentősége a járványkezelésben

A harmadik pont az ami engem érdekel, technológiai szempontból ez a legérdekesebb. Hogyan tudunk egy 51 millió fős lakosságot hatékonyan lekövetni, izolálni és megfigyelni?

A válasz nem is olyan bonyolult az adatok világában. Egyrészt nem 51 millió embert kell egyszerre megfigyelni, csak azt, aki közvetlen kapcsolatba kerül olyan emberrel, aki fertőzött. Miután a tömeges teszteléssel hatékonyan beazonosították egy adott területen, hogy ki a fertőzött és ki nem, már csak azokra kellett koncentrálniuk, aki fertőzött. A mobil telefonok világában nem technológiailag nem túl bonyolult lekövetni, hogy ki merre jár. A Google Maps Timeline-on például most is meg tudom nézni, hogy két éve március 15-dikén éppen merre jártam. Sőt még azt is, hogy mivel közlekedtem: gépkocsi, kerékpár vagy gyalog. Persze ez nem mindenkinél engedélyezett és egy más kérdés az, hogy kivel osztom meg, de a mozgás követése évekre visszamenőleg adott, hiszen egy globális helymeghatározó eszközt hordanak az emberek a zsebükben, aminek neve: okostelefon. Mindegy, hogy Android vagy iOS, legfeljebb az a különbség, hogy melyik gyártó szerverére küldi az adatokat, ha nincs ez a funkció letiltva.

Maps Timeline Example

Magyarországi helyzetkép

Jelenleg 5,3 millió (~57,4%) okostelefon használó van Magyarországon, úgyhogy ezzel még nem oldottuk meg fertőzöttek követését, csak nagyjából minden másodikét, feltételezve, hogy megkapjuk az engedélyt az adatok beszerzésére.

A GPS korrdináták követésén kivül van azonban egy nem közismert, de más kontextusban gyakran használt megoldás. Bárkinek a mozgása, aki mobiltelefont használ a mobil hálózaton keresztül, ha nem GPS pontossággal, de lekövethető. Az adatok magyarországi használata nem is példa nélküli, a Nemzeti Turisztikai Ügynökség például vásárolt és elemzett ilyen adatokt nem is olyan régen.

A pontosság a hálózat sűrűségétől és a beállításaitól persze nagy mértékben függ, de a célnak megfelelő és azt a tévhitet is el kell vetni, hogy csak azok a mobil telefonok követhetőek le, amelyek éppen hívásban vannak. Minden bekapcsolt állapotú mobiltelefon lekövethető. Erre egyébként a hazai mobilszolgáltatók céges gépjárműflotta követésére már több, mint 10 éve nyújtanak szolgáltatást (Mobil Flotta, Flotta Helymeghatározó vagy Flottakövetés).

Itt jön képbe a BigData

Tegyük fel, hogy az adatok elérhetőek. Innentől egyszerűen csak össze kell vetnünk a koordinátákat időben és térben és le kell fejlesztenünk az algoritumust, ami akár valós időben megmondja, hogy egy kiválaszott időpontban ki találkozhatott az útja során fertőzött személlyel. Ha ezt a megfigyelt körnél automatikusan végezzük az elmúlt két hétre, akkor az eredmény a másodperc töredéke alatt lekérdezhető.

Az adatok hatékonyt tárolását számos Big Data megoldás támogatja, a kapacitáshiányban nem szenvedünk a felhőmegoldásoknak (például AWS, Azure, GCP) köszönhetően, de ha például ez nemzetbiztonsági kockázatot jelent, akkor építhetünk magunknak Hadoop rendszert, például egy on-prem Cloudera clustert, amit “olcsó” hardveren üzemeltethetünk és tárolhatunk benne akár petabyte (10^15 byte) méretű adathalmazt is, amelyet másodpercek alatt fel lehet dolgozi.

Megtalálni a megfigyelt személy útját keresztező személyeket nem triviális. Számos oldalról meg lehet közelíteni és kis kutatással, kész algoritmust is találhatunk az Interneten, például itt. Az algoritmus (akármilyen hatékony is) feldolgozókapacitást igényel, de ez 2020-ban szintén nem lehet akadály. Megfelelően méretezett on-prem clusteren vagy a felhőben elérhető a megfelelő “processing capacity”. Sőt manapság már a tárolás és a feldolgozás nem feltétlenül kell egy helyen legyen, “csak” a két hely között mozgatott adatmennyiségre kell figyelni, hogy a hatékonyság ne vesszen el. Költséghatékonyan megoldani persze semmit sem egyszerű, de nem is lehetetlen. Minden technológia és tudás is adott hozzá a csapatunkban.

Az algoritmus eredménye birtokában, akár a fertőzési valószínűséget számító Machine Learning modellekkel, SMS formájában értesíthető minden potenciálisan éritett személy és beirányítható egy tesztközpontba.

Személyiségi jogok

A járványkezelés kapcsán sokszor felmerül a személyiségi jog kérdésköre, úgy ahogyan bármilyen üzleti célú adatgyűjtés, BigData és Machine Learning alkalmazása kapcsán is.

Véleményem szerint a járványkezeléssel kapcsolatban, ahol a hatékonyság elmaradása emberéleteket követelhet – szemben mondjuk egy üzleti alkamazással, ahol “egyedül” a profit áll szemben a jogokkal – a társadalomi igény magasabb szintent kell, hogy képviseljen, mint az egyén személyiségi joga.

Ettől a morális vitától függetlenül, a vázolt technológiai megoldás, a cellainformációkon alapuló kontakt kutatás anonimizált módon tudna zajlani. A szolgáltatók az adatvagyonnal jelenleg is rendelkeznek és úgy vélem, hogy az adotok anonimizált “átadása” egy központi járványkezelő szerv számára semmilyen törvényi akadályt nem sértene, de ennek a kérdésnek a megválaszolása természetesen már a szakjogászok feladata.

Hogyan tovább?

A koronavírus kapcsán talán már késő egy ilyen megoldás megvalósítása, de addig érdemes a témát napirenden tartani, amíg forró, hiszen egy esetleges következő járvány során a megvalósításba fektetett költségek elenyészőek ahhoz képest, hogy akár a társadalom az emberéleteken keresztül, akár a gazdaság a szigorú és hosszan tartó korlátozások határása mekkora károkat szenvedhet el. 

A dél-koreai példából is jól látható, hogy ha erre valaki fel van készülve és tömegesen, hatékonyan tudja végrehajtani a védekező intézkedéseket, akkor a járvány komolyabb korlátozások nélkül, meglehetősen rövid idő alatt kordában tartható.

Azt hiszem egyik ország sem kezelheti másként a helyzetet, legfeljebb ellaposíthatja a szigorú intézkedésekkel a vírus terjedésést, és elodázhatja ezeket a feladatokat. Hosszú távon – véleményem szerint – ez a rendkívüli állapot nem fenntartható anélkül, hogy komolyabb – nem feltétlenül közvetlenül a vírus okozta – károkat szenvedjünk. Így vagy úgy, mindenesetre jobb ha megtanulunk mindezzel együtt élni.

Ipar 4.0 Big Data-s szemmel

By | Tech Trends | No Comments

Első céges gyárlátogatásom az Ipar 4.0 buzzword köré fűződött egy budapesti „mintagyárban”. Ez a vállalat a gyártás mellett egyben jó példával is szolgál a feltörekvő cégek számára. Ennek kapcsán mutatták be megoldásaikat egy, körülbelül háromórás kiselőadás és körbevezetés során.

Íme, így működnek már a magyar fővárosban is az ipar jövőbe mutató megoldásai…

A lokációt szemmel láthatóan jó nagy alapterületű gyárak csarnokai töltik meg. Bár a tömegközlekedést tízperces, GPS-es gyaloglással kombinálva viszonylag könnyen megközelíthető a helyszín, azért az autó használata erősen javallott. A portán és recepción túljutva az emeleti tárgyalóban, az U-alakban elhelyezett tárgyalóasztalok mögött megtekinthetőek a mérőeszközökkel felszerelt, asztalszerű szerelőpadok, mindenféle kapcsolóval, monitorral, oldalt fémdobozokra erősített villanymotorokkal és szelepekkel, a sarokban 3D-nyomtatónak tűnő objektumok és egy-két jól felismerhető kompresszor.

A kezdetben fafeldolgozásra, majd pneumatikára szakosodott cég láthatóan nagyon komolyan veszi a gyártást. Magyarországon a második legnagyobb európai gyárkapacitással rendelkeznek, ezen belül gyártás és gyártmányfejlesztés, terméktervezés, logisztika és értékesítés is zajlik itt. A gyártás mellett ez a gyártóközpont egyben kompetenciaközpontként is szolgál, úgy tűnik, elég komolyan veszik az oktatást is, ami persze el is várható egy közel 100 milliós beruházástól.

Optimalizált folyamatok

A cég az úgynevezett „pull” gyártási filozófiát igyekszik követni, amely nagyvonalakban annyit tesz, hogy a középpontba az ügyfél és annak egyedi igényei kerülnek. Így a megrendeléstől a gyártáson át a kiszállításig minden ezek köré szerveződik, így a teljes értékáram húzza magával a termelést. Mindez a megrendelési variabilitás növekedésének a következménye, ahol a gyárnak egy 30 ezres cikkszámú katalógusból történő, havi szinten 70 ezres nagyságrendű megrendelést átlagosan három rendelési mennyiséggel kell tudni kielégíteni úgy, hogy a megrendeléstől számított 24 órán belül már szállítás alatt kell lennie a legyártott terméknek.

Emellett a cég törekszik arra is, hogy a lehető legkevesebb komponens, legyártott termék, alapanyag legyen raktáron, ezzel csökkentve a tárolási költségeket. Ennek szellemében nincs is késztermékraktár és az alapanyagraktár is minimális. Az egyes gyártási folyamatokat analizálják, és folyamatoptimalizációval igyekeznek

  • minimalizálni a fölösleges fázisokat,
  • csökkenteni a szükséges, de nem értékteremtő lépéseket (ilyen például a ragasztás szárítási ideje),
  • és persze maximalizálni az értékteremtő szakaszokat.

Informatika a fejlődés szolgálatában

A cég folyamatosan vizsgálja annak lehetőségét, hogyan lehet a mindennapi informatikát beépíteni a gyártási folyamatokba, ezáltal egyszerűsítve és optimalizálva annak lépéseit. Itt jön képbe a mobilitás, a gyártási adatokból származó információk ügyfélrendszerekbe történő integrálása. Ilyen például az automatikus rendelés a folyamatos feltöltéshez a minimum- és maximumszintek biztosításával, ha valamely fontos alapanyag éppen kifogyóban van.

Bár a manuális lépések – például a 12 hetes termeléstervezés – még az egyes folyamatok részeit képezik, a meglevő folyamatokból származó információk visszacsatolása már nagyon sok szinten beépült a gyár mindennapi életébe. Szinte mindenről valós időben tájékoztatást kapnak a felelősök; real time ismerik a készletinformációkat és a megrendelések állapotát, illetve azonnal értesülnek a meghibásodásokról is. Ahol csak lehetséges, ezt segítő módszereket (Lean, Kanban stb.) alkalmaznak.

Gyakorlatias technológiahasználat

Mivel a gyártócsarnokban folyamatos az erős háttérzaj, nagyon jól jött a fülre erősíthető rádióvevő, melyen keresztül narráció kísérte a körbevezetést. A csoportot az előadó vezette, miközben egy másik személy hátulról biztosította, hogy senki se „kalózkodhasson” az üzemi területen. Elsőként a minőségellenőrző állomást tekinthettük meg, majd megismertünk egy teljesen automatizált magasraktárat, ahol az egyes alkatrészeket, illetve a beszerzés során beszállított alapanyagokat tárolják. Ehhez persze automatikus kiszolgálás párosul.

Láthattuk a fémalkatrészeket megmunkáló CNC-eszközöket is; majd a fröccsöntő gépeket is, melyek apró, mérgező granulátumokból változatos műanyagformákat állítanak elő. Megnéztünk, hogyan munkálkodnak a mérnökcsapatok, amelyek az egyes munkafolyamatok optimalizálásán, illetve a gyártóeszközök fejlesztésén szorgoskodtak.

Külön részleg foglalkozott az egyes munkafolyamatok lehetséges fejlesztéseivel (Continuous Improvement). Megtudtuk, hogy ha valakinek a gyártási folyamatok javítására irányuló ötlete támad, ennek megvalósíthatóságát a gyárban használt eszközökön helyben kipróbálhatják és lemérhetik a hasznosságát, vagy akár nagyobb méretű projekt is indulhat a hatékonyság lehetséges növelésének kivizsgálására.

A második emeleti összeszerelő részlegen a magasraktár ismét nagy szerepet kapott. Láthattuk, hogy a csomagolás és szállítás során a raktárban dolgozók okoskesztyűk segítségével végzik a munkájukat. Utunkat az oktatóhelyiséggel zártuk, ahol – előre meghatározott példadarabok legyártásán keresztül – minden új alkalmazott elsajátíthatta a gyártás alapjait és megismerheti a gyártósorok működését. A cég láthatóan nagy hangsúlyt fektet az oktatási folyamat lerövidítésére; elhangzott, hogy az átlagos betanítási időt sikerült három hónapról három hétre redukálniuk.

Modulokban gondolkodnak

A gyárlátogatás során különösen tetszett, hogy a cégnél modulokban gondolkodnak. A legkisebb egységeket is igyekeznek vonalkódokkal azonosítani, hogy a megrendelőhöz jutva a gyártási és tesztelési információk azonnal elérhetővé váljanak nem csak a kész alkatrészekre, hanem azok egyes moduljaira vonatkozóan is. A gyakorlatban mindez az jelenti, hogy egy kompletten legyártott levegőelőkészítő bármely komponenséről már a gyártás megkezdésétől kezdve gyártói adatok érhetők el a megrendelők számára online.

A legtöbb helyen a termelésáram iránya optimalizált, a gyártócsarnokokat már eleve eszerint rendezték be. A karbantartók számára a nagy távolságok leküzdése céljából motorkerékpárok állnak rendelkezésre, így minimalizálva a leállási időket, melyeket az esetlegesen elromlott gépek kihasználatlan állapotban töltenek. Az operátorok munkája visszakövethető, vonalkóddal ellenőrizhető, és ahol lehet, ott a gyártási folyamat önmagát is ellenőrzi. Egy-egy univerzálisabb összeszerelő gépbe például csak a megrendeléshez tartozó présgépek illeszthetők be, minden más esetben az operátor figyelmeztetést kap. A berendezések jelentős része képes az autonóm karbantartásra akár egyetlen operátor közreműködésével is.

Szabványokhoz igazított innováció

Az infrastruktúrát főként belső fejlesztésű rendszerek alkotják, melyeket integráltak a cég cloud alapú megoldásaihoz. A gyártás folyamatát támogató eszközöket szigorúan az ipari szabványok követésével alakították ki (pl. OPC UA).

Ezzel kapcsolatban megtudtuk, hogy az ipari folyamatoknál csakis vezetékes jeltovábbítás engedélyezett, kivételt csupán a kevésbé kritikus csomagoló és szállító részlegek jelentenek, ahol WiFi-alapú megoldásokkal is találkozhattunk. A megrendeléseket egyébként prediktív becslés alapján teljesítik a valós idejű számokkal kalkulálva; ez főként a drága és nehezen tárolható alkatrészek esetében fontos.

Ipar: Adatok és optimalizáció

Adatokkal foglalkozó mérnökként érdekes volt számomra, hogy nem gyűjtenek minden apró szenzorból adatokat csak azért, hogy majd később analizálják azokat. Csakis azokat az eseményeket, státuszinformációkat tárolják, amelyekről azt gondolják, hogy optimalizációs lehetőséget rejtenek magukban. Felmerül azonban a kérdés, hogy honnan lehetnek biztosak benne, hogy ezzel a megközelítéssel nem szűrnek-e ki rejtett optimalizációs lehetőségeket.

A távlati célok és aktuális problémák terén – saját bevallásuk szerint – nem biztos, hogy a további optimalizáció lenne a legfontosabb cél (bár ennek ellenére felvásároltak egy mesterséges intelligenciával foglalkozó céget), ehelyett inkább egyszerű kapacitásnövelést kellene kivitelezni, emiatt épült egyébként új gyártócsarnok is a közelben. Igazi optimalizációt az jelentene, ha a terméktervezésbe a gyártási folyamatot is bevonnák.

A cég igyekszik új irányokat megnyitni a virtuális valóság gyártási folyamatokra történő kiterjesztésével; ez kifejezetten hasznos lehet például a veszélyes termékek gyártása során. Kutatóközpontjuk vizsgálja a bionikus eszközök fejlesztését és alkalmazhatóságát is, elsősorban az önszerveződés ipari célú felhasználása céljából.

A koncepcióból látszik, hogy az Ipar 4.0 nem egyenlő a teljeskörű automatizáltsággal (persze, hiszen automatizációt alkalmaztak már a ’70-es években is); viszont az jelentős előfeltétele a jelenlegi megoldásoknak és a jövőbeli fejlesztési irányoknak. A különböző típusú visszacsatolások beépítése a folyamatokba azonban jelentős mértékű megtakarításhoz és egyben piaci előnyhöz is juttathatja azokat a cégeket, amelyek képesek ezt megérteni és ügyesen kihasználni. A teljesen adatalapú megközelítések használata azonban még az önmagukat Ipar 4.0 kategóriába soroló cégeknél is váratnak magukra. Ha ez egyszer teljesen megvalósul, már nemcsak a gyártási folyamatokból, hanem magából a legyártott termékekből is visszacsatolást kaphatnak a gyártók. Az sem kizárt azonban, hogy a saját beszállítóik előrejelzései alapján automatikus módszerekkel is optimalizálhatják a rendelési költségeiket.

 

Ha az ipar kevésbé vonzó, tekintsd meg milyen egyéb adatokkal kapcsolatos cikkeinket:
https://datandroll.hu/2020/02/12/adatelemzes-trend-bizni-az-adatokban/

datandroll.hu/2020/03/16/megjosoljuk-hogy-megjosoljak-facebook-prophet/

Nézz körbe a Big Data szolgáltatásaink között:

https://thebigdataplatform.hu/big-data-uzleti-megoldasok/

Ha érdekel a cégünk, csapatunk, esetleg csatlakoznál, látogass el a főoldalunkra:

https://united-consult.hu/

Megjósoljuk, hogy megjósolják – Facebook Prophet

By | Big Data News, Business, Data Science, Data Visualization | No Comments

Az elmúlt hetekben alapjaiban forgatta fel társadalmunkat és világról – különösen annak biztonságáról – alkotott képünket a Kínából indult koronavírus-járvány, és persze a globális felmelegedés témája is folyamatosan foglalkoztatja a közvéleményt.

A 21. században egyre nagyobb jelentőséggel bírnak és egyre pontosabbak a különböző prognózisok. Vajon az ezek mögött álló előrejelző algoritmusok tényleg alkalmasak arra, hogy megbízható információkkal szolgáljanak például az időjárásról, a közúti forgalom, esetleg a részvényárfolyamok alakulásáról, vagy akár a járványok terjedéséről? Erre is választ keresünk a Facebook Prophet gyakorlati bemutatásán keresztül.

Nem kérdés, hogy mindennapi életünket egyre jobban befolyásolják a különböző előrejelző algoritmusok. Elég, ha csak az időjárás-előrejelzésre, a forgalmi prognózisokra vagy a részvényárfolyamok előrejelzésére gondolunk. „Vajon milyen idő lesz holnap? Ha holnap arra indulok kocsival, vajon dugóba kerülök? Vajon most érdemes beszállni ebbe az üzletbe?” – annyira gyakorlatias kérdések ezek, hogy akár az elmúlt fél órában is hallhattuk volna valakitől, vagy akár mi magunk is feltehettük volna bármelyiket.

Még ha nem is tudatosul bennünk, számos előrejelzést „futtatunk” magunk is: korán indulunk, hogy legyen hely a munkahelyi parkolóban, hogy ne kelljen sorba állni a menzán; esetleg megpróbáljuk egy korai vagy éppen késői hazaindulással a dugót elkerülni; és így tovább. Mindez tapasztalataink alapján az esetek többségében működik is, ha pedig tévedünk, olyan nagy kockázattal jellemzően nem jár.

Amikor az adatok jóslásának következménye van

Az üzleti életben az előrejelzések ennél sokkal racionálisabban működnek, és persze nagyobb téttel is bírnak. A forgalmi adatok előrejelzése például egy rendszerüzemeltetéssel foglalkozó vállalatnál kulcsfontosságú. Még ha tudnák is úgy méretezi a rendszereiket, hogy azok az elképzelhető legnagyobb forgalmat is elbírják, nem lenne költséghatékony azt mindig a maximális kapacitáson üzemeltetni. Ehelyett inkább a korábbi minták alapján próbálják megbecsülni a várható forgalmat, és az IT-infrastruktúrát az előrejelzéshez méretezni. Szerencsére az elasztikus skálázhatóság ma már nem probléma.

Egy call centernél sem mindegy, hogy mikor hány operátor dolgozik. Az sem volt mindegy, hogy a 2000-es évek derekán a telekommunikációs vállalatok mekkorának becsülték az év végi SMS-forgalmat, hiszen köztudott volt, hogy akkortájt az rövid szöveges üzenetek nagy része karácsonyra és szilveszterre koncentrálódott.

Az előrejelzés-automatizálás előretörése minden területen törvényszerű, így ma már az interneten is számos algoritmus elérhető. Egyikre sem tekinthetünk természetesen mindent tudó varázsgömbként, de van egy-két említésre méltó közöttük. Ebben a bejegyzésben a Facebook által publikált generikus prediktív elemzési megoldást vizsgáljuk: kipróbáltuk a Mark Zuckerberg és fejlesztői csapata „prófétáját”.

A Facebook Prophet egy Python és R nyelven használható előrejelző eszköz, melyet Facebook data science csapata fejlesztette ki a Stan fejlesztőeszköz használatával. Szükséges bemenete egy timestamp típusú attribútum és egy hozzá tartozó numerikus érték. Ebből adódóan ez az eszköz azokra az esetekre hasznos,  mikor az adatnak szezonális tartalma van. Tapasztalataink alapján leginkább napi bontású, legalább egy évet tartalmazó adatok elemzésére alkalmas. Az implementációja követi az sklearn fit és predict függvények struktúráját.

A Prophet paraméterezhetősége

A Prophet erőssége a paraméterezhetőség, a lehetőség olyan információk átadására a modellnek, amelyek alapvetően az adatból nem következnek, de szeretnénk azokat figyelembe venni egy megbízhatóbb előrejelzés létrehozásakor.

  • Saturating Forecasts: minimum(floor), maximum(cap) érték meghatározása a perdiktálás keretek között tartása érdekében. Valamely konstans keretérték megadása, ami az adott előrejelzés logikája alapján szükséges lehet.
  • Trend Changepoints: az emberi ismeretekkel előre sejthető, jövőbeli trendben számíthatóan bekövetkező váltópontok számának meghatározása (n_changepoints), trend flexibilitásának beállítása (changepoint_prior_scale) vagy a váltópontok helyének meghatározása (changepoints). Ilyen lehet például a labdarúgó-világbajnokság fináléja.
  • Seasonality and Holiday Effects: szezonalitás meghatározása (add_seasonality), alapvetően heti és éves intervallumokkal számol a modell. Ünnepek meghatározása (holidays). Abban az esetben, ha szeretnénk meghatározni ilyen ünnepi dátumokat, akkor azt a múltra és jövőre vonatkozóan is meg kell tenni, különben nem veszi figyelembe a modell. A különböző ünnepek között meghatározható prioritás (prior_scale) és az ünnepi hatások csillapítása is lehetséges (holidays_prior_scale).
  • Outliers: Az outlier adatok kezelésére azt javasolják, hogy egyszerűen csak cseréljük le nem létező adatra, mert a Prophet jól kezeli a hiányzó adatokat.
  • Non-Daily Data: Abban az esetben, ha nem éves adatokra tanítjuk be a modellünket, akkor az előre jelzésre is olyan intervallumot használjunk, mint amit a tanító halmazban.

Időjárás-előrejelzés

A Prophet eszköztárának kipróbálására Budapest egy kerületének a hőmérsékleti adatait használtuk fel, mint erősen szezonális adatokat. Az adathalmazunk 1901. 01. 01-tól 2010. 12. 31-ig tartalmaz hőmérséklet adatokat napi bontásban. Az utolsó 2010-es évet vettük ki a tanító halmazból és használtuk fel az előrejelzés visszamérésére.

# Eredeti adathalmaz oszlopainak átnevezése
df = df.rename(columns={'#datum': 'ds', 'd_ta': 'y'})
data = df[['ds', 'y']]
# Dátum formátum megváltoztatása
training = data[data['ds']<'2010-01-01'] test = data[data['ds']>='2010-01-01']
# Modell létrehozásda és tanítása
m = Prophet(changepoint_prior_scale=0.5)
m.fit(training)
# Jövőbeli dátum intervallum létrehozása
future = m.make_future_dataframe(periods=365)
forecast = m.predict(future)
# Vizualizáció
plt.plot( forecast_2010['ds'], forecast_2010['yhat']
         ,forecast_2010['ds'], forecast_2010['yhat_lower']
         ,forecast_2010['ds'],forecast_2010['yhat_upper']
         ,forecast_2010['ds'],test_2010['y'] )
plt.show()

 

Időjárás 2010A fenti ábrán a 2010-es év valós időjárása piros vonallal látható. A Prophet által illesztett előrejelzés a kék vonal és a hozzá tartozó narancs és zöld színnel ábrázolt y_lower és y_upper, felső és alsó határérték.

 

Decemberre illesztett görbe:


forecast_december = forecast.tail(31)

test_december = test.tail(31)

plt.plot( forecast_december['ds'], forecast_december['yhat']

         ,forecast_december['ds'], forecast_december['yhat_lower']

         ,forecast_december['ds'],forecast_december['yhat_upper']

         ,forecast_december['ds'],test_december['y'] )

Időjárás 2010 december

Az decemberre vonatkozó előrejelzés megmutatta, hogy kisebb intervallumok kiemelése esetén sokkal nagyobb arányban esik a prediktált felső és alsó határértékeken is kívül a valós hőmérséklet. Mint láttuk, az éves előrejelzésnél lévő körülbelüli +/– 5 fokos felső és alsó határon belülre kerülnek az akkori valós hőmérsékleti adatok túlnyomó többsége.

Októberre illesztett görbe:


forecast_oct= forecast[forecast['ds']>='2010-10-01']

forecast_oct = forecast_oct[forecast_oct['ds']='2010-10-01']

test_oct = test_oct[test_oct['ds']<'2010-11-01']

plt.plot( forecast_oct['ds'], forecast_oct['yhat']

         ,forecast_oct['ds'], forecast_oct['yhat_lower']

         ,forecast_oct['ds'],forecast_oct['yhat_upper']

         ,forecast_oct['ds'],test_oct['y'] )

plt.show()

Időjárás 2010 október

Az októberi adatok vizsgálatakor látható, hogy egy hőmérsékletben kevésbé ingadozó hónap esetén meglehetőségen pontos előrejelzést kapunk a modelltől. Ebben az esetben például a prediktált és alsó határérték közé esik – kevés kivétellel – az összes valós hőmérsékleti érték.

Prophet a globális felmelegedésről

Érdekességképpen kipróbáltuk, milyen következtetést von le a jövő időjárásra vonatkozóan a Prophet. Megnéztük, milyen előrejelzést ad száz év hőmérsékletadatait figyelembe véve a 2039-es évre vonatkozóan.


future_forecast = forecast[forecast['ds']>='2039-01-01']

future_forecast.head()

future_forecast.tail()

test_2010_cut = test_2010[test_2010['ds']<='2010-12-24']

future_forecast.tail()

test_2010_cut.tail()

plt.plot( future_forecast['ds'], future_forecast['yhat']

         ,future_forecast['ds'],test_2010_cut['y'] )

plt.show()

Időjárás 2039 előrejelzés

Ebben az esetben a teljes adathalmazt felhasználtuk a tanításra  1901.01.01-től 2010.12.31-ig és a következő 30 évre illesztettünk egy görbét a Facebook Prophet segítségével. A kékkel látható a 2039-es évre prediktált görbe és sárgával az adathalmazunk utolsó 2010-es évének hőmérséklete. Alapozva az elmúlt 100 év hőmérsékleti trendjére, szinte az év minden napján jó pár fokkal magasabb hőmérséklet várható.

A Facebook Prophet alapvetően egy újabb nem-lineáris regresszióval dolgozó előrejelző eszköz, ami specifikus esetekben, leginkább a benne implementált paraméterezhetőségével tud hasznos segítséget adni.

via facebook.github.io/prophet/

 

Tekintsd meg a legfrissebb adatokkal kapcsolatos előrejelzéseinket:
https://datandroll.hu/2020/02/12/adatelemzes-trend-bizni-az-adatokban/

https://datandroll.hu/2020/01/29/2020-az-adatok-eve-lesz/

Nézz körbe a Big Data szolgáltatásaink között:

https://thebigdataplatform.hu/big-data-uzleti-megoldasok/

Ha érdekel a cégünk, csapatunk, esetleg csatlakoznál, látogass el a főoldalunkra:

https://united-consult.hu/