Typické problémy analýzy energetických dat – a úkol pro machry

Dneska jsem četl příjemný článek Jiřího Hlavenky o Velkých Datech na Lupě. Asi mu rozumím trochu jinak, než většina diskutujících pod ním. Velká Data se používají občas jako kladivo na špendlíky, to ale neznamená, že to není dobře.

Ukážu vám, co analýza velkých dat není a co je – na příkladu dat o spotřebě elektřiny, tedy na úkolu, který dobře znám.

Mějme rezidenčního zákazníka, u něhož známe jeho minutové agregáty spotřeby elektřiny. Úkolem je navrhnout mechanismus analýzy této datové řady, která bude schopná v reálném čase určit, zda spotřeba je v normálu, nebo zda je něco se spotřebou v nepořádku. V nepořádku je spotřeba příliš malá (vypadl proud nebo část rozvodu) či příliš velká (neoprávněný odběr, ale poškozené či chybně zapnuté zařízení). To je normální analýza, i když i na ni musíte jít chytře. Tady vám nepomůže, že jste chodili jeden víkend na kurz programování, tady potřebujete slušné vzdělání v analýze dat a statistice. Vzdělání, které se teď hodí a které vás odlišuje od běžného nájemného kodera. Asi namítnete, že tohle s přehledem vyřeší směrodatná odchylka. Fakt? Jste machr? Stáhněte si tento export dat za měsíc a zkuste to ověřit či vyluštit – vymyslet takový algoritmus, který na těch datech bude fungovat a nebude hlásit plané poplachy, když si zapnete rychlovarnou konvici. Řešení posílejte na zandl zavináč energomonitor.cz či ho pište do komentářů a za nejlepší (či nejzajímavější) řešení vám pošlu sadu energomonitoru, abyste si příště mohli hrát s vlastními daty. To je větší legrace, věřte mi 🙂

Tohle ale analýza velkých dat není. Ani, když těch klientů budou tři miliony českých odběrných míst. Tohle je jen otázka hrubého výpočetního výkonu. Chytrý člověk se zapotí až při ladění parametrů takového algoritmu.

Co jsou velká data? Mějme toho samého rezidenčního zákazníka, ale vteřinová data. Úkolem je automaticky rozpoznat spotřebiče, které tento zákazník používá a nabídnout mu je, aby si je mohl popsat a říct, že tohle je lednička, tohle je pračka, tohle bojler (předpokládáme jen větší/žravější spotřebiče). Tady už se machr zapotí hodně, protože potřebujete kontinuálně vyhledávat vzory v signálu a odvrhnout šum (tedy menší spotřebiče). Tohle je hodně chytrá analýza. Přidejme tři miliony odběrných míst. Ještě pořád je to jen chytrá analýza, i když už je fest rozdíl v tom, jak navrhnete vyhledávací algoritmy na to, abyste vyhledali vzory, protože jinak se za nájem výpočetního výkonu nedoplatíte.

Váš úkol je jiný. Vzít takto zanalyzovaná a zákazníky otagovaná data a zjistit, který zákazník spotřebič používá tak, že jeho užitím proti průměru šetří a který ho naopak užívá nehospodárně. Výsledkem úkolu je, říct nehospodárným klientům, jak mají své zařízení používat lépe. Příklad:

  • Lidé, kteří utratí za vaření vody v rychlovarné konvici méně, vaří menší množství vody. Nestačilo by vám menší množství vody?
  • Za mytí nádobí v myčce ušetří ostatní lidé tak, že zvolí kratší mycí cyklus a nádobí myjí v nízkém tarifu.

Tři miliony záznamů musíte nejdříve dezintegrovat, pak analyzovat, rozpoznat, clusterovat do skupin podle typů domácností, aby další analýza dala smysl a pak znovu křížem analyzovat. Je v podstatě jedno, jakou komerční výpočetní sílu a technologie z roku 2000 byste chtěli použít, neuspěli byste s požadavkem, takový report zákazníkovi každotýdenně automaticky poskytovat. Tohle jsou velká data. Úkol obrovského datového rozsahu, obrovské algoritmizační složitosti s nutností průběžného zpracování v téměř reálném čase a na proměnných datech.

Troufáte si ještě hledat řešení takového problému? Pokud ano, je to dobře. Vyřešíte ho? Ještě lépe. Pak jste teprve big data machr a ne jen anonymní žvanil z diskuse na Lupě …

 

Chcete nové články emailem?

Přihlašte se zde a nově vydané články vám hned dorazí na email:
Jak se vám líbil článek?
1 Star2 Stars3 Stars4 Stars5 Stars (hlasováno , průměr: 1,00)
Loading...

15 komentářů

  • V minulosti sa to volalo data mining, to je teraz skarede slovo, tak to premenovali na big-data:-)

  • Pravda, tohle je opravdu moc pěkná ilustrace k Hlavenkově článku. Utratit hromady peněz za hardware, najít chytrý hlavy a co z toho? Objev že ohřát více vody stojí více energie to těžko zaplatí. Možná jsou tam nějaké skryté poklady, ale, lapidárně řečeno, ušetří aspoň tolik energie kolik se propálí na analýze?

  • Hynek: ale jo, s prehledem. Kdyby ne, tak taky nosite vysledky vyhledavani na papirku 🙂

  • Zajimava uloha. Nicmene jestli jedinym vstupem je jen hodnota na elektromeru, tak si nejsem jisty ze ma reseni. Nevim, jestli ta krabicka umi poznat i indukcni a kapacitni slozky, aspon k zakladnimu rozrazeni co za spotrebice muze byt zapnuto. Predpokladam, ze prvky smart-grid do domacnosti zavadet nechcete :o) Pokud je elektrinou reseno i topeni/klimatizace, coz je dost zasadni odber, tak to chce pridat i stahovani lokalniho pocasi.

    Nejspis bych to rozdelil na dve casti. Zjistil distribucni funkci pro staly odber, tzn. takove ty hodne zrave spotrebice typu topeni, klimatizace, apod. K tem se da pridat hodnota pocasi. Mno a pak se zabyval vykyvy. Tam by pomohl seznam pripojenych spotrebicu v domacnosti. Notebook vadit nebude, ale zapnout rychlovarku, troubu, mycku a zehlicku… a docilit nehlaseni krizoveho odberu uz je vyssi divci. Zvlast, kdyz je to domacnost ktera nema ustalene dny anzto hodiny na tyto cinnosti. Z pohledu proste agregovane sumy spotreby to bude vypadat jak kdyz by si soused k vam pripojil svuj sklenik s opiaty 😉

  • Tri miliony odbernych mist jsou fajn. Zajimave to zacne byt, az kdyz tohle vsechno zacnete aktivne ridit a davat do souvislosti treba s nakupem energie. Ale i to vyzaduje znacnou znalost problematiky, coz je vec, o ktere se nas Big Data buzzword snazi presvedcit, ze nebude potreba. A tak nejak jsem pochopil i clanek p. Hlavenky 🙂

  • Naznačený příklad je z říše snů. Tohle všechno jen na základě jednoho měřáčku? Jistě, když to prezentujete investorům v Powerpointu, tak to vypadá krásně, ale v praxi by to hraničilo s magií. Navíc i kdybyste se nakrásně k těm výsledkům dostali, opravdu někdo chce být buzerovaný automatem, že má dát do konvice méně vody? A proč ručně řešit, kdy je nízký tarif? To by snad myčka nebo pračka, nabouchaná elektronikou, mohla poznat sama!

    V Google Now je rádoby inteligence a radí nesmysly, v Adwords je rádoby inteligence a radí nesmysly, v Google Analytics je rádoby inteligence a radí nesmysly. Když to nezvládají mozky od Googlu, jak to půjde u vás ve firmičce?

    Navíc možností, jak v typické domácnosti ušetřit elektřinu, je strašně málo. Stačí sepsat deset univerzálních bodů pro všechny, jen na základě zdravého rozumu.

  • Zkusil bych analýzu signálu (odběru) na základě transientnich impulzu pro klasickou black box identifikaci. Pak klasifikaci do skupin a další podle výsledků plus bych zkusil reálné experimenty aby to bylo s čím porovnat.

  • Já ten článek na Lupě pochopil trochu jinak. A sice, že většina z nás prostě žádná big data nemá. Mají je jenom čistě internetové byznysy, což i Energomonitor je, protože bez něj by asi nebyl (nebo by report chodil pěkně poštou ranní).

    A má i pravdu v tom, že vygenerovat tuny dat dnes není žádná velká výzva, přijít ale na řešení problému, to už chce mozek. 🙂

  • Byl by nějaký popis těch dat – nebo je rozlousknutí toho, co který sloupec znamená, součástí kvízu? 🙂

  • Tak jestli výstupem analýzy velkých dat má být, že uživatel si má dát méně vody do konvice nebo pouštět myčku v nižším tarifu, tak mi to silně připomíná můj fail z dětských let.
    Tehdy jsem dostal své první Atari 800XE a naprogramoval jsem databázi/evidenci potravin ve špajzu a výstupem bylo i seznam potravin, které se mají dokoupit. Když jsem s velkou slávou předváděl rodině svůj výtvor, tak babička se nevinně zeptala: „A proč to mám používat, když mi stačí, abych si otevřela špajz a hned vidím, co mi chybí a co musím dokoupit?“
    Takže pokud lidem sepíšete seznam:
    1) Do varné konvice dávat jen tolik vody, kolik spotřebuji.
    2) Pračku/myčku/žehličku/sušičku/… používat v nízkém tarifu.
    3) Nakoupit úsporky do světel, kde to má význam.
    4) Zhasínat při odchodu z místnosti.
    atd., atd.,
    tak ušetříte hromadu peněz za analýzu velkých dat a výsledek bude ten samý.
    Váš výstup bych ocenil v případě, kdy by energomonitor byl schopen říct, že moje lednička za poslední 3 měsíce sežrala 2x více energie, takže je zřejmě rozbitá nebo zralá na výměnu, ale zároveň aby to nebyl falešný poplach, protože na baráku mi běží tepelné čerpadlo, sušička, pračka, několik televizí, infrazářiče v koupelnách (vše nepravidelně, dle potřeby), atd. a to asi na vstupním bodě baráku nepoznáte. Nebo ano?

  • @Pavel F.: Teroeticky by to z těch dat vytáhnout šlo, odrazil bych se od časové charakteristiky odběru různých spotřebičů (žehlička má nějaký náběh + pauzy + dohřívání, rychlovarka a lednice bude mít naopak odběr „rovný“); k tomu si vezmu délku používání, dobu sepnutí, kolik to žere – a z toho už by se celkem asi dalo odhadnout, jaký spotřebič byl zapnutý. Na to by to ale chtělo podrobnější vzorkování než po 5 minutách.
    A pak je ještě třeba myslet politicky: opravdu uživatele potěší, když si koupí novou lednici a ergomonitor mu za týden nahlásí, že se mu asi rozbila lednice, páč oproti minulému týdnu začala žrát dvojnásobek? 🙂

  • Ondřej Bouda: „Teoreticky“ jde všechno. Mě by spíše zajímalo to „prakticky“. Ona žehlička (aspoň v mém případě) má buď zapnuto/vypnuto, takže na hodinách nepoznám, zda jsem zapnul žehličku, rychlovarnou konvici nebo si žena fénuje vlasy – všechno má podobný příkon a i tu rychlovarnou konvici mohu sepnout víckrát (stejně jako žehlička dohřívá plotnu). Notabene, když všechny spotřebiče mohou běžet souběžně v čase. Taktéž třeba ta lednička má podobný okamžitý příkon jako hromada jiných zařízeních v domácnosti (TV, PC, atd.) i s podobnou spínací charakteristikou (PC zapnu a vypnu za 20 minut, televizi zapnu, chvíli koukám, pak ji vypnu, atd.). Jsem proto velmi skeptický k tomu, že by z jednoho místa, odkud mi jde elektřina do celého baráku, jsem schopen s přijatelnou pravděpodobností něco určit a pak s tím pracovat (aby to bylo něco jiného než přesná statistika nad neurčitými vstupními daty).

  • Pavel F.: Záleží na požadované přesnosti. Chtělo by si to hrát s daty, ale myslím si, že ty různé spotřebiče odlišit půjdou – tzn. že analýzou dat si vyprofiluju, že používáte např. 15 různých spotřebičů a poznám, který z nich je zapnutý. Ale potřebuju k tomu zmiňovanou vyšší frekvenci vzorkování – např. po 1 sekundě, což mi umožní rozlišit jednotlivé spotřebiče podle odběru při startu (každý bude mít svůj charakteristický průběh). Řeší se tím i souběh více spotřebičů najednou – pokud mi data umožní zachytit/odlišit starty jednotlivých spotřebičů, tak mám z poloviny vyhráno (že by startovaly dva spotřebiče ve stejném vzorku, to bude spíš vzácné).
    Samozřejmě i tak je docela pravděpodobné, že se seknu a zatímco si budu myslet, že máte 15 spotřebičů, ve skutečnosti jich budete mít 14 nebo 17. A taky určitě budu někdy např. PC považovat za TV a vrtačku za rychlovarku. Ale to je podle mě pořád dost dobrý (tzn. použitelný) výsledek.

  • Lednička nemá odběr „rovný“ – stejně jako trouba je to stroj, který udržuje teplotu v nějakém rozsahu, tj. cykluje a délka „vypnuté“ i „zapnuté“ části cyklu se mění podle okolní teploty, frekvence otevírání ledničky, obsahu atd. atd.

    Stejně tak PC nemá ani zdaleka rovný odběr – příkon je (poměrně lineární) funkcí hlavně zatížení CPU, zatímco ostatní komponenty mají celkem stabilní odběr, takže je to něco velmi přibližně na způsob y = ax + b, přičemž „a“ hodně skáče podle typu činnosti na PC. Plus ještě jsou tam různé šetřící módy (vypne se monitor, vypnou se disky, sníží se frekvence CPU apod.), takže celkově spotřeba PC je dlouhodobě dost chaos…

    Odlišit jednotlivé spotřebiče z celkového odběru určitě není lehké a určitě to nejde obecně za jakékoliv situace spolehlivě. Spíš jde o to, jestli se nám podaří jednotlivé spotřebiče s nějakou rozumnou pravděpodobností odhadnout a třeba nechat uživatele prametry doupřesnit („tohle není lednička, ale …“) Na základě délky cyklu, velikosti příkonu a patternů použití spotřebiče by to u běžné domácnosti mělo s nějakou docela rozumnou úspěšností jít.

  • @Mirek P.: Lednička cykluje vypnuto/zapnuto a v době „zapnuto“ bych očekával „rovný“ odběr – tak jsem to myslel. Jinak souhlas.