ZZN - Projekt

From Waritkova wiki
Jump to navigation Jump to search

Zadání

Popis dat

Data, která budou v projektu použita jsou pravidelně získávána z webového rozhraní AR hry Ingress a obsahují údaje sesbírané v průběhu cca sedmi měsíců.

Data jsou časovým obrazem vývoje hry ve městě Brno, každý řádek těchto dat obsahuje tyto základní údaje:

  • co se stalo (akce)
  • kdy se to stalo (čas)
  • kdo akci provedl
  • kde se akce stala
  • v případě že to dává smysl, úroveň použité výbavy (rozsah 1-8, jinak 0)

Co chci z dat získat

Hlavním cílem projektu je z daných dat získat co nejpřesnější statistický obraz vývoje hry ve městě.

Z dat budou tedy získávány znalosti o rozložení jednotlivých akcí v rámci dnů/týdne/měsíce či případné korelace mezi akcemi jednotlivých znepřátelených stran.

  • rozložení získaných zkušeností (AP) v průběhu dne
  • poměr jednotlivých akcí v průběhu dne

Získaná data poté bude možno využít pro taktické plánování hry ve městě, jelikož budou známy intervaly, ve kterých je velice malá aktivita a je tedy možno nerušeně provádět časově náročné operace ke kterým je vhodná nepřítomnost protistrany.

Východiska práce

V této kapitole se věnuji základní teorii, popisující proces dobývání dat z databáze. Dále se zde také zabývám stručným popisem zdroje dat.

Databáze

Databáze je systémem, který slouží k ukládání a následnému zpracování dat. Není však tvořen pouze daty, ale také příslušnými úložnými médii a vztahy mezi daty samotnými.

Existuje několik druhů databází, rozlišení je možno například následující:

  • Relační databáze
  • Objektová databáze
  • Objektově-relační databáze
  • Dokumentově orientovaná databáze

Dolování z dat

Dolování z dat (data mining) je analytická metodologie, která slouží ke získávání skrytých, netriviálních a potenciálně užitečných informací z dostupných dat. Obvykle tento proces slouží ke získání výhody (obchodní, herní) strany, která proces provádí.

Při tomto procesu je velmi důležité, aby dolování probíhalo nad správnými daty. V opačném případě hrozí, že získané výsledky, i přesto že na první pohled vypadají správně, budou zcela nesmyslné.

Ingress

Ingress je Augmented Reality hra vytvářená v Niantic Labs pod záštitou společnosti Google. Ve hře spolu soupeří dvě frakce (Enlightened a Resistance) o portály vytvořené tajemnou rasou Shapers, pomocí kterých lze vytvářet trojúhelníková pole, která posléze jsou schopna ovlivňovat myšlení lidí nacházející se v tomto poli.

Data, která jsou zde použita představují záznam veškerých akcí na území města Brno v rozmezí od března do počátku listopadu.

Analýza dat

Tato kapitola se zaměřuje na zpracování dat a jejich analýzu s pomocí programu RapidMiner.

Zdrojová podoba dat

Výchozí data se vyskytují v podobě poměrně složitých objektů, kde každý objekt popisuje právě jednu akci. Naštěstí, v tomto projektu se těmito daty nemusíme zabývat, jelikož je možno data získat v již předzpracované podobě.

Z databáze je možno data získat jako dvojici spolu provázaných tabulek s následující strukturou:

Tabulka players

  • ID hráče
  • Jméno
  • Frakce
  • Pomocná data, nejsou relevantní

Tabulka actions

  • ID hráče, který akci provedl (reference na tabulku players)
  • UNIX timestamp kdy byla akce provedena
  • Název akce (z množiny názvů akcí)
  • Úroveň
  • GPS souřadnice

Čištění zdrojových dat

K provedení analýzy bylo třeba data sloučit do jednoho datového balíčku a vygenerovat chybějící údaje, které je možno z dat vypočítat.

Za pomoci skriptu v jazyce PHP byl vytvořen soubor dat fe formátu CSV s následujícím obsahem:

  • Denní hodina, kdy k akci došlo
  • Název akce
  • Získané body
  • Příznak, zda je hráč provádějící akci členem Enlightened

Ke konverzi časového razítka na denní hodinu jsme dospěli z důvodu, že se nám nepodařilo do RapidMineru naimportovat data ve formátu data a času.

Histogram poměrů bodů mezi frakcemi pro jednotlivé hodiny

Primárním cílem práce bylo zjistit výhodné hodiny, kdy je nižší aktivita jedné z frakcí a tento čas je tedy vhodný k provádění akcí za nepřítomnosti protistrany.

K vytvoření tohoto histogramu bylo nutno data agregovat podle denní hodiny a poté pro jednotlivé hodiny spočítat poměry bodů získaných jednotlivými frakcemi. Z těchto dat pak již bylo možno vytvořit histogram.

Výsledný graf je možno vidět v příloze 1.

Příloha 1

Graf poměru jednotlivých akcí podle denní hodiny

Dále se práce zabývá zjištěním skladby jednotlivých akcí v průběhu dne. Ke zjištění tohoto údaje bylo nutno data agregovat podle denní hodiny a akce. Z výsledných dat již je možno vytvořit výsledný graf, který je možno vidět v příloze 2.

Příloha 2

Závěr

Z grafu poměrně jasně vyplývá, že nejvýhodnější poměr akcí mezi jednotlivými frakcemi ve prospěch Enlightened je jednoznačně okolo sedmé hodiny ráno. Tím se také potvrdila doměnka mezi brněnskou komunitou, že Resistance je v ranních hodinách neaktivní. Naopak pro Resistance je jejvýhodnějším časem okolo druhé hodiny v noci (ráno), kdy už pravděpodobně většina Enlightened hráčů je doma.

Z grafu rozložení jednotlivých akcí v průběhu dne pak vyplývá, že nejvíce nově obsazených protálů je v brzce odpoledních hodinách. Z tohoto vyvozujeme domněnku, že v odpoledních hodinách je aktivní většina nových a příležitostných hráčů, kdežto v nočních hodinách hrají převážně skalní příznivci hry.