Ústav automatizace a informatiky Fakulta strojního inženýrství Vysoké učení technické v Brně
Přednáška č. 7 z předmětu
Zpracování informací © Ing. Radek Poliščuk, Ph.D.
Tato publikace vznikla jako součást projektu CZ.04.1.03/3.2.15.2/0285 „Inovace VŠ oborů strojního zaměření“, který je spolufinancován evropským sociálním fondem a státním rozpočtem České republiky
Zpracování informací, přednáška 7.
1/12
Ohlédnutí – přednášky 4-6 DBS umožňují uživatelům a IS vykonávat jejich DML i DDL požadavky na data (vytváření, zápis, aktualizace, čtení výsledků, tvorbu výstupních sestav,...). Pro formulaci těchto požadavků na data se používá počítačový jazyk SQL. Výstupem funkce SELECT bývá zpravidla Dataset ve formě tabulky. Dataset může obsahovat vyfiltrovaná, agregovaná i skalárně upravená vstupní data. Teprve takto získané vysledky se používají jako zdroj dat pro následnou analýzu v daném informačním systému.
Zpracování informací, přednáška 7.
2/12
Obsah přednášky Přednáška 7 – Analýza tabulkových dat vznik a určení tabulkových editorů relativně/absolutně adresovaná data a vzorce kontingenční tabulky a OLAP soustavy rovnic regresní a kovarianční analýzy vizualizace dat pomocí grafů
Realita
DATA
Informační systém
Informace Příjemce
Zpracování informací, přednáška 7.
3/12
Analýza tabulkových dat Paralelně s vývojem sekvenčních zápisových technik (výrobní postupy, recepty, algoritmy...) se používaly i vícerozměrné formy zápisu (tabulky, schémata, animace), např. Účetní knihy (starověk), matriky (středověk) a veškeré tabulkové protokoly (výstupem výpočtů prvních počítačů byly dělostřelecké tabulky). Takto zorganizovaný zápis umožňoval data nejen přehlednou formou zobrazit, ale i nad snadno definovatelnými skupinami provádět určité operace (přepočty, sumy...) a z DAT tak extrahovat INFORMACE. Všechny druhy číselných dat je možné transformovat do formy tabulky/tabulek. Většina DBS je schopná už v rámci DML (SQL příkaz Select) nad daty provádět základní analytické operace: filtrování (klauzule WHERE a HAVING) transformace (běžné algebraické operace nad výstupními daty: +-*/,sin,cos...) agregace (operace nad skupinami dat: Count, Sum, Avg, Min, Max ...) Výstupem je pak vždy zase datová tabulka („DATASET“). pro pokročilejší typy analýz (OLAP, regresní a kovarianční analýzy, řešení soustav rovnic, MKP...) a výstupů (grafy, animace...) už bývá vhodnější použít příslušný analytický software... Zpracování informací, přednáška 7.
4/12
Tabulkové editory Potřeba flexibilnější práce s daty než je pouhé „spuštění programu a čekání na výsledek“ vedla v 70. letech k návrhu prvních interaktivních „tabulkových procesorů“, umožňujících vytváření průběžných přehledů a rozvah (...účetnictví). Toto bylo umožněno zavedením „souřadnic“ pro jednotlivá pole tabulky, z nichž každé se tak může chovat nejen jako „textová konstanta“, ale i jako textová, číselná nebo jiná proměnná, indexovaná vždy svým sloupcem a řádkem. Každá buňka může obsahovat i vzorec, definující její hodnotu buď relativními (=A1), nebo absolutními (=$A$1) odkazy na okolní buňky nebo pole (A1:C5). Relativním rozkopírováním vzorců je potom možné definovat celé tabulky. 1 2 3 4 5 6 7
A B C D E Položka á ks cena vč. DPH 20% 10 500,00 Kč počítač 1 =B2*C2 =D2*(1+E$1) 6 200,00 Kč monitor 1 6 200,00 Kč 7 440,00 Kč myš 350,00 Kč 1 350,00 Kč 420,00 Kč klávesnice 720,00 Kč 1 720,00 Kč 864,00 Kč DVD média 10,00 Kč 25 250,00 Kč 300,00 Kč Celkem: =SUM(D2:D6) 22 569,00 Kč
Prvním komerčním tabulkovým procesorem pro PC byl VISICALC (viz http://www.danbricklin.com/visicalc.htm), následoval Lotus 1-2-3 (a další, které se jeho funkce dodnes snaží kopírovat – MS Multiplan, MS Excel, SO/OOo Calc...). Zpracování informací, přednáška 7.
5/12
Analýza tabulkových dat Tabulkové editory pracují buď s vlastními (přímo zadanými) daty, nebo mohou prostřednictvím SQL přistupovat k datasetům z existujících datových zdrojů. podobně jako u DBS, je možné na získaná data aplikovat řádkové filtry (v Excelu i Calcu, menu „Data“),
transformace (přepočet dat vzorci do nových sloupců s použitím a relativních a abs. odkazů) agregační funkce (sumační, statistické,...) s výstupem ve vzorcových polích. Zpracování informací, přednáška 7.
6/12
Analýza tabulkových dat Některá data transformovat jednoduchými vzorci nejde přímo => speciální funkce: Konsolidace dat sloučení zdrojových dat z více zdrojů (oblastí, vlastních i mapovaných DB listů) Kontingenční tabulky (Pivot Tables, v OOo viz „průvodce daty“) určeno k přehledné vizualizaci vzájemného vztahu dvojic statistických znaků agregace řádkových záznamů do tabulky dle zvolených statistických kritérií (filtry, sumace, průměry, min/max,...): Pobočka Brno Brno Praha Praha Plzeň Plzeň Plzeň Brno Praha
Produkt A A A B A B A C A
Měsíc
Rok 1 3 2 1 1 2 2 1 3
Ks 2005 2005 2005 2005 2005 2004 2004 2005 2005
Zpracování informací, přednáška 7.
5 3 6 2 3 4 1 5 8
Pobočka
(Vše)
Součet z Ks Rok Měsíc 2004 2 Celkem z 2004 2005 1 2 3 Celkem z 2005 Celkový součet
Produkt A 1 1 8 6 11 25 26
B 4 4 2
C
2 6
5 5
Celkový součet 5 5 15 6 11 32 37
5
7/12
Analýza tabulkových dat Online Analytical Processing (OLAP, E.F. Codd & Associates,1993) „Dolují-li“se kontingenční data ne z jedné, ale z mnoha (typicky časovými) relacemi propojených tabulek, je mezikrok s 2D zdrojovou tabulkou neefektivní a nekonzistentní (spousta opakujících se dat = velký dataset, nepřehledné a děravé KT, pomalé zpracování=>offline data). Pobočka
(Vše)
Součet z Ks Rok Měsíc 2004 2 Celkem z 2004 2005 1 2 3 Celkem z 2005 Celkový součet
Produkt A 1 1 8 6 11 25 26
B 4 4 2
C
2 6
5 5
5
Celkový součet 5 5 15 6 11 32 37
=> Snaha o „vícerozměrný on-line“ pohled na data („hyperkostka“), s výstupem vždy jen ve zvolených řezech, vedených podél os které nás zajímají. data se drží buď v dynamické vícerozměrné struktuře (MOLAP - viz spreadsheety, XML), nebo se obvyklé relační tabulky doplňují o „předzpracované“ informace (ROLAP) specializovaná SQL nadstavba „MDX“ (Microsoft, '97), výrazně zjednodušující dotazy: Zpracování informací, přednáška 7.
SELECT { [Measures].[Store Sales] } ON COLUMNS, { [Date].[2002], [Date].[2003] } ON ROWS FROM Sales WHERE ( [Store].[USA].[CA] )
8/12
Analýza tabulkových dat Mnoho technických úloh vede k řešení soustav lineárních rovnic: Ax=b => x = A-1 b kde A je čtvercová matice soustavy, x je vektor proměnných a b je vektor pravých stran. pro menší soustavy (<1282 polí) jsou použitelné funkce pro inverzi matic koeficientů: OOo Calc: MInverse(rozsah zdrojových dat), MS Excel/CZ: Inverze(rozsah zdrojových dat) ...nutno zadat jako maticový vzorec, jinak se výsledek nerozloží do matice! Pro větší soustavy lin. rovnic (>128×128) je nutný specializovaný software, využívající přímé metody (Gaussova eliminační metoda, L-U rozklad...) - pomalejší - ale fungují vždy, nebo iterační metody (Jacobiho, Gauss-Seidel) – pro vhodná data rychlé, nemusí vždy konvergovat!
Zpracování informací, přednáška 7.
9/12
Analýza tabulkových dat Regresní a kovarianční analýzy: Statistická analýza vzájemné závislosti náhodných veličin (podrobnosti viz Matematika 3)
f(x )
Nejčastěji používaná: Metoda nejmenších čtverců hledá se ideální přímka (lze zobecnit i na polynom) pro proložení množiny bodů:
míru vzájemné lineární závislosti x a y pak udává korelační koeficient:
Zpracování informací, přednáška 7.
kde
10/12
je rozptyl (disperze) dané veličiny
Analýza tabulkových dat Vizualizace dat pomocí grafů: Graf je grafické zobrazení číselných dat. Namísto procházení mnoha sloupců čísel na listu stačí letmý pohled k tomu, abyste zjistili potřebné údaje. Před vlastní tvorbou grafu bychom si měli ujasnit, co zobrazuje a k čemu slouží: zobrazení prosté posloupnosti hodnot (spojité:čarové grafy, diskrétní:bodové) zobrazení vzájemného poměru hodnot (blokové, skládané a koláčové grafy) zobrazení závislosti mezi sloupci (X-Y grafy, radarové grafy) zobrazení statistických údajů (proložení regresních křivek, krabicové grafy...) Opatrně s 3D pohledy: některé řady mohou zůstat zakryté, u koláčových grafů dojde ke zkreslení!
Zpracování informací, přednáška 7.
11/12
Celoškolský software Během studia na FSI se možná setkáte s tímto komerčním analytickým softwarem: ABAQUS (simulace a metody konečných prvků) ANSYS, LS-DYNA, CivilFEM (MKP) Labview (laboratorní software pro řízení, sběr, analýzu i vizualizaci dat) Maple (symbolický algebraický a vizualizační sw – více viz předmět Matematika 2) Mathematica (dtto) Matlab (dtto) Microsoft Windows a Office (kancelářské aplikace – Word, Excel, Access,...) Minitab (statistický software) Pro/ENGINEER (konstrukce) Statistica (statistika a kvalitativní ukazatele výroby, plánování experimentů) (některé licence jsou na serveru https://sw.vutbr.cz volně přístupné i pro studenty FSI)
Open-Source nebo zdarma dostupné varianty: OpenOffice.org (kancelářské aplikace, náhrada MS Office) GNU Octave (symbolický algebraický a vizualizační sw, náhrada Matlabu) Python (symbolický algebraický software, rozhraní pro vývoj univerzálních aplikací)
Při znalosti potřebných algoritmů si můžete vytvořit i svou vlastní aplikaci pomocí Delphi 6PE (nainstalováno na internetových studovnách, pro nekomerční použití) Lazarus (multiplatformní Open-Source klon Delphi, vč. object Pascalu) Microsoft Visual Studio.Net (Visual Basic, C#, C++, Java; „Express“ edice zdarma). Zpracování informací, přednáška 7.
12/12