ZZN - Projekt: Porovnání verzí
(Není zobrazena jedna mezilehlá verze od stejného uživatele.) | |||
Řádek 2: | Řádek 2: | ||
=== Popis dat === | === Popis dat === | ||
− | Data, | + | 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 | rozhraní AR hry Ingress a obsahují údaje sesbírané v průběhu cca sedmi | ||
měsíců. | měsíců. | ||
Řádek 17: | Řádek 16: | ||
Hlavním cílem projektu je z daných dat získat co nejpřesnější statistický obraz vývoje hry ve městě. | 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 | + | 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. | znepřátelených stran. | ||
* rozložení získaných zkušeností (AP) v průběhu dne | * rozložení získaných zkušeností (AP) v průběhu dne | ||
* poměr jednotlivých akcí v průběhu dne | * poměr jednotlivých akcí v průběhu dne | ||
Získaná | 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 | 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á | tedy možno nerušeně provádět časově náročné operace ke kterým je vhodná | ||
Řádek 31: | Řádek 29: | ||
== Východiska práce == | == Východiska práce == | ||
V | 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 === | ||
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 | však tvořen pouze daty, ale také příslušnými úložnými médii a vztahy | ||
mezi daty samotnými. | mezi daty samotnými. | ||
Řádek 48: | Řádek 46: | ||
=== Dolování z dat === | === Dolování z dat === | ||
Dolování | 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 | 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í, | dostupných dat. Obvykle tento proces slouží ke získání výhody (obchodní, | ||
− | + | herní) strany, která proces provádí. | |
Při | Při | ||
tomto procesu je velmi důležité, aby dolování probíhalo nad správnými | 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í | 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 === | ||
Ingress je Augmented Reality hra | 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é | soupeří dvě frakce (Enlightened a Resistance) o portály vytvořené | ||
tajemnou rasou Shapers, pomocí kterých lze vytvářet trojúhelníková pole, | 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. | tomto poli. | ||
Řádek 74: | Řádek 72: | ||
=== Zdrojová podoba dat === | === Zdrojová podoba dat === | ||
Výchozí | 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 | 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é | nemusíme zabývat, jelikož je možno data získat v již předzpracované | ||
Řádek 96: | Řádek 94: | ||
=== Čištění zdrojových dat === | === Čištění zdrojových dat === | ||
K | 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: | Za pomoci skriptu v jazyce PHP byl vytvořen soubor dat fe formátu CSV s následujícím obsahem: | ||
Řádek 105: | Řádek 103: | ||
* Příznak, zda je hráč provádějící akci členem Enlightened | * Příznak, zda je hráč provádějící akci členem Enlightened | ||
Ke | 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. | nám nepodařilo do RapidMineru naimportovat data ve formátu data a času. | ||
=== Histogram poměrů bodů mezi frakcemi pro jednotlivé hodiny === | === Histogram poměrů bodů mezi frakcemi pro jednotlivé hodiny === | ||
Primárním | 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 | frakcí a tento čas je tedy vhodný k provádění akcí za nepřítomnosti | ||
protistrany. | protistrany. | ||
K vytvoření tohoto histogramu | 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 | hodiny spočítat poměry bodů získaných jednotlivými frakcemi. Z těchto | ||
dat pak již bylo možno vytvořit histogram. | dat pak již bylo možno vytvořit histogram. | ||
Řádek 121: | Řádek 119: | ||
Výsledný graf je možno vidět v příloze 1. | Výsledný graf je možno vidět v příloze 1. | ||
− | [[Soubor: | + | [[Soubor:Zzn1.png|Příloha 1]] |
=== Graf poměru jednotlivých akcí podle denní hodiny === | === Graf poměru jednotlivých akcí podle denní hodiny === | ||
Dále | 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 | 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 | 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. | možno vidět v příloze 2. | ||
− | [[Soubor: | + | [[Soubor:Zzn2.png|Příloha 2]] |
== Závěr == | == Závěr == | ||
Z | 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é | 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ž | jejvýhodnějším časem okolo druhé hodiny v noci (ráno), kdy už | ||
pravděpodobně většina Enlightened hráčů je doma. | pravděpodobně většina Enlightened hráčů je doma. | ||
Z | 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 | 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. | skalní příznivci hry. |
Aktuální verze z 10. 11. 2015, 13:39
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.
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.
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.