Efektivní práce s daty v prostředí MATLAB. Nové datové typy, nové přístupy, Big Data, využití ve finančních aplikacích

Podobné dokumenty
Brno. Datová analytika. Machine Learning a Big Data. Jan Studnička

MATLAB: Vývoj a nasazení finančních aplikací

Programování LEGO MINDSTORMS s použitím nástroje MATLAB a Simulink

Workshop. Vývoj embedded aplikací v systému MATLAB a Simulink. Jiří Sehnal sehnal@humusoft.cz. info@humusoft.cz.

MATLAB & Simulink. Matematické výpočty, analýza dat a tvorba aplikací. Jaroslav Jirkovský jirkovsky@humusoft.cz. info@humusoft.

MATLAB a Simulink R2015b

MATLAB. Měření a analýza dat, statistika a optimalizace. Jaroslav Jirkovský jirkovsky@humusoft.cz. info@humusoft.cz.

Příprava dat v softwaru Statistica

Předmluva 9 Obsah knihy 9 Typografické konvence 10 Informace o autorovi 10 Poděkování 10

1 Webový server, instalace PHP a MySQL 13

MATLAB. Matematické výpočty, analýza dat a tvorba aplikací. Jaroslav Jirkovský jirkovsky@humusoft.cz. info@humusoft.

Maturitní otázky z předmětu PROGRAMOVÁNÍ

MATLAB & Simulink. Návrh digitálních filtrů pro úpravu signálů a analýza obrazu. Jaroslav Jirkovský jirkovsky@humusoft.cz

Obsah. Předmluva 13. O autorovi 15. Poděkování 16. O odborných korektorech 17. Úvod 19

MBI - technologická realizace modelu

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

MATLAB. Matematické výpočty, analýza dat a tvorba aplikací. Jaroslav Jirkovský jirkovsky@humusoft.cz. info@humusoft.

MATLAB Úvod. Úvod do Matlabu. Miloslav Čapek

Vzdělávací obsah vyučovacího předmětu

MATLAB & Simulink. novinky v roce Jan Houška houska@humusoft.cz. HUMUSOFT s.r.o.

Vstupní požadavky, doporučení a metodické pokyny

1. Webový server, instalace PHP a MySQL 13

Automatizační a měřicí technika (B-AMT)

Ústav automatizace a měřicí techniky.

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

Microsoft Access tvorba databáze jednoduše

Modelování elektromechanického systému

Profilová část maturitní zkoušky 2017/2018

Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Jarkovský, L. Dušek, M. Cvanová. 5. Statistica

LabView jako programovací jazyk II

Pro tvorbu samostatně spustitelných aplikací je k dispozici Matlab library.

POZVÁNKA NA KURZY. Literatura Ke všem kurzům jsou poskytovány metodické příručky pro školství v elektronické podobě.

Stručný obsah. K2118.indd :15:27

Velmi stručný návod jak dostat data z Terminálu Bloomberg do R

Business Intelligence

Profilová část maturitní zkoušky 2013/2014

Obsah Úvod Kapitola 1 Než začneme Kapitola 2 Práce s hromadnými daty před analýzou

PowerPivot pro Microsoft Excel 2013

Matematika v programovacích

Wonderware Information Server 4.0 Co je nového

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

Autorizovaný software DRUM LK 3D SOFTWARE PRO VYHODNOCENÍ MĚŘENÍ ODCHYLEK HÁZIVOSTI BUBNOVÝCH ROTAČNÍCH SOUČÁSTÍ

LabView jako programovací jazyk II

Vybraná zajímavá Lotus Notes řešení použitelná i ve vašich aplikacích. David Marko TCL DigiTrade

WORKSHOP. Bloomberg Terminal PRAKTICKÉ UKÁZKY A NÁVODY. Martin Řezáč, Ondřej Pokora

Paralelní výpočty ve finančnictví

1 Základní funkce pro zpracování obrazových dat

Základy databází. O autorech 17 PRVNÍ ČÁST. KAPITOLA 1 Začínáme 19

Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace. Maturitní otázky z předmětu INFORMATIKA A VÝPOČETNÍ TECHNIKA

Informační systémy 2006/2007

Služby Microsoft Office 365

FORTANNS. 22. února 2010

xrays optimalizační nástroj

Analýza a prezentace dat

Typy souborů ve STATISTICA. Tento článek poslouží jako přehled hlavních typů souborů v programu

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320

Jádrem systému je modul GSFrameWork, který je poskytovatelem zejména těchto služeb:

Měření teploty, tlaku a vlhkosti vzduchu s přenosem dat přes internet a zobrazování na WEB stránce

VÝVOJ ŘÍDICÍCH ALGORITMŮ HYDRAULICKÝCH POHONŮ S VYUŽITÍM SIGNÁLOVÉHO PROCESORU DSPACE

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

Algoritmizace a programování

Moderní nástroje pro vývoj elektronických řídicích jednotek

RadioBase 3 Databázový subsystém pro správu dat vysílačů plošného pokrytí

VYUŽITÍ MATLAB WEB SERVERU PRO INTERNETOVOU VÝUKU ANALÝZY DAT A ŘÍZENÍ JAKOSTI

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Úvod 9

Marketingová komunikace. 3. soustředění. Mgr. Pavel Vávra Kombinované studium Skupina N9KMK3PH (vm3bph)

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Kapitola 4. Úvod 11. Stručný úvod do relačních databází 13. Platforma 10g 23

Spark SQL, Spark Streaming. Jan Hučín

Marketingová komunikace. 2. soustředění. Mgr. Pavel Vávra Kombinované studium Skupina N9KMK1aPH/N9KMK1bPH (um1a1ph/um1b1ph)

Počítačové kurzy buildit

Návrhy elektromagnetických zení

VÝVOJ INTERNETOVÝCH APLIKACÍ - VIA

Tabulka základních vlastností nástroje C++Builder dle edice

Možnosti aplikace: Copyright 2001, COM PLUS CZ, Praha

UDS for ELO. Univerzální datové rozhraní. >> UDS - Universal Data Source

IBM SPSS Decision Trees

Předmluva 11 Typografická konvence použitá v knize Úvod do Excelu

BI & DWH & MIS nástroj 2. generace

13 Barvy a úpravy rastrového

Marketingová komunikace. 2. a 3. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK3PH (vm3aph)

TECHNICKÁ SPECIFIKACE PŘEDMĚTU PLNĚNÍ

Vývoj a testování elektronických řídicích jednotek pro automobily

Úvodem 9. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10. Než začneme 11

Virtuální přístroje. Matlab a Instrument Control Toolbox. J.Tomek, A.Platil

MATURITNÍ ZKOUŠKY Obor: OBCHODNÍ AKADEMIE

Kurz je rozdělen do čtyř bloků, které je možné absolvovat i samostatně. Podmínkou pro vstup do kurzu je znalost problematiky kurzů předešlých.

Vyvinuté programové vybavení (projekt čís. TA )

Praktické využití Mathematica CalcCenter. Ing. Petr Kubín, Ph.D. Katedra elektroenergetiky, ČVUT v Praze, FEL

KANCELÁŘSKÉ APLIKACE

VZOROVÝ STIPENDIJNÍ TEST Z INFORMAČNÍCH TECHNOLOGIÍ

Import a export dat EU peníze středním školám Didaktický učební materiál

AUTOMATICKÉ ŘÍZENÍ S INTERNETOVOU KOMUNIKACÍ V PHP Automatic Control with Internet Communication in PHP

Informace k e-learningu

SRSW4IT Inventarizační SW. Prezentace aplikace. Vedoucí DP: ing. Lukáš Macura Autor: Bc. Petr Mrůzek

Vytěžování znalostí z dat

Alcatel-Lucent. NMS OmniVista Účtování a zprávy. Ing.Martin Lenko listopad 2012

Microsoft Excel 2010 pro ekonomy + procvičování

Úvod do modelování v programu COMSOL Multiphysics verze 4

Spark SQL, Spark Streaming. Jan Hučín

Transkript:

05.06.2018 Efektivní práce s daty v prostředí MATLAB Nové datové typy, nové přístupy, Big Data, využití ve finančních aplikacích Jan Studnička studnicka@humusoft.cz www.humusoft.cz info@humusoft.cz www.mathworks.com

2 Co je MATLAB a Simulink MATLAB Profesionální nástroj pro analýzu dat, vývoj algoritmů a tvorbu modelů Grafické a výpočetní nástroje Grafická uživatelská rozhraní (GUI) Otevřený systém Simulink Nadstavba MATLABu Modelování, simulace a analýza dynamických systémů Prostředí blokových schémat Platforma pro Model Based Design Aplikační knihovny Strojové učení, statistika a optimalizace Deep learning, neuronové sítě, fuzzy Zpracování obrazu a počítačové vidění Zpracování signálu a komunikace Finanční analýza a datová analytika Výpočetní biologie Modelování fyzikálních soustav Návrh řídicích systémů a robotika Systémy diskrétních událostí Měření a testování Tvorba samostatných aplikací Generování kódu (RT a embedded)

Struktura systému MATLAB Měření a testování Generování kódu Aplikace v reálném čase, P, DSP, FPGA, PLC Samostatně spustitelné aplikace Aplikační knihovny Knihovny funkcí Knihovny bloků Simulink Simulace a modelování dynamických systémů MATLAB Výpočty, programování, vizualizace... 3

Výpočty, funkce, programy, aplikace Tisíce funkcí z různých oblastí Připravené interaktivní aplikace Pokročilá grafika a vizualizace Tvorba programů a algoritmů nástroje pro ladění programu Tvorba vlastních interaktivních aplikací 4

Finanční výpočty v prostředí MATLAB Přístup k datům Soubory Analýza a řešení Analýza & Vizualizace Sdílení výsledků Reporty Databáze Modelování Aplikace Datové kanály Vývoj aplikací Produkční systém 5 Automatizace

Způsoby práce v prostředí MATLAB Zápis kódu Plnohodnotný programovací jazyk Zadávání příkazů Skripty Funkce Objektově orientované programování Interaktivní přístup Využití grafických nástrojů Umožnují generovat kód 6

MATLAB Live Editor Interaktivní dokumenty výpočty a výsledky grafické výstupy formátované texty odkazy, obrázky a rovnice Publikování v HTML a PDF Využití výuka laboratorní protokoly výzkumné zprávy prezentace výsledků 7

Dokumentace Syntaxe funkcí Příklady kód lze volat bez kopírování Návody Vysvětlení problematiky Novinky ve verzích 8

Část 1: Načítání dat finanční a ekonomická data

Načítání dat Soubory Excel tabulky, csv, txt, dat Databáze Všechny ODBC a JDBC kompatibilní relační databáze SQLite, Oracle, SAS, MySQL, Microsoft SQL Server, Microsoft Access, PostgreSQL, Nerelační databáze Neo4j, MongoDB Datové kanály aktuální, intradenní, historická, real-time data 10

Soubory Interaktivní nástroj Import Tool Funkce readtable Načte data ze souboru do tabulky v MATLABu Nastavitelné parametry načítání detectimportoptions Parametry pro funkci readtable detekuje z dat 11

Databáze Interaktivní nástroj Database Explorer ODBC a JDBC kompatibilní databáze Funkce conn Vytvoří připojení k databázi sqlread Načte tabulku z databáze do tabulky v MATLABu 12

Datové kanály Datafeed Toolbox Bloomberg (Terminal & B-Pipe) Thomson Reuters (Datastream, RMDS, Elektron, NewsScope, Tick History) FACTSET FRED / Haver analytics / IQFEED / kx / Money.Net / RavenPack News Analytics / SIX Financial Information / STATS.com / Twitter 13

Část 2: Nové datové typy efektivní práce s daty 14

Data v prostředí MATLAB Numerická datetime duration double, single, logical categorical calendarduration str Heterogenní str timetable str structure cell table str Text 15 c h char {c h} cell string str string tall

Tabulky table Různorodá data v tabulkovém formátu Různé typy dat v různých proměnných Text, numerické data, časová data, kategoriální data, Drží data i metadata Snadné zpracování a analýza Voláním funkcí přímo na tabulky Zpracování chybějících a odlehlých údajů Třídění, přeskládání a spojování tabulek Souhrnné statistiky Tvorba modelu, predikce / klasifikace 16

Kategoriální data categorical Diskrétní nenumerická data Data nabývají hodnot z konečné množiny kategorií Efektivní z hlediska zabrané paměti Porovnáváme logickými operátory ==, ~= Můžeme zavést uspořádání <, <=, >, >= 17

Datum a čas datetime reprezentuje datum a čas (body na časové ose) duration, calendarduration reprezentují dobu trvání (časové intervaly) Slouží pro výpočty i zobrazení sčítání, odčítání, seřazení, porovnání, vykreslení nastavitelný formát zobrazení přesnost na nanosekundy časové zóny, přestupné sekundy, letní čas 18

Časové tabulky timetable Tabulky s časovými značkami pro jednotlivé řádky indexování dle času Zpracování dat pomocí specializovaných funkcí reorganizace dat změna časové škály synchronizace a spojení časových tabulek Zpracování dat pomocí funkcí pro table 19

Text string Efektivní práce s textovými daty >> "image" + (1:3) + ".png" 1 3 string array "image1.png" "image2.png" "image3.png" Příklad: Ověření, zda je v textovém řetězci obsažen jiný text Dříve: if ~isempty(strfind(textdata,'dog')) Nyní: if contains(textdata,"dog")) Až 50x rychlejší výpočet s funkcí contains a datovým typem string než se strfind a cellstr. Až 2x méně využité paměti s datovým typem string oproti cellstr. 20

Big Data tall Automaticky optimalizuje přístup k datům Použijeme stejný kód, který voláme na data v paměti MATLAB automaticky seřadí výpočetní operace tak, aby minimalizoval přistupování k disku. Případy využití: Sloupcová data s mnoho řádky Množství dat je příliš velké, aby se vešlo do paměti Operace jsou povahou statististické Machine Memory Pro statistické výpočty i Machine Learning Stovky funkcí podporovaných v základním MATLABu a Statistics and Machine Learning Toolbox Tall Data 21

Část 3: Tabulky table, timetable 22

Příklad 1: Načtení a vykreslení 1. Načteme data z meteostanic do tabulky funkce readtable funkce detectimportoptions 2. Zbavíme se chybějících údajů funkce rmmissing 3. Zobrazíme závislost teploty na čase Záložka Plots 23 plot upravit graf generovat funkci šablona pro vykreslení nových dat

Příklad 2: Tvorba tabulky z dat v MATLABu 1. Vytvoříme tabulku z numerických dat a vybereme několik prvních řádků T = table(var1, var2, var3, ); funkce head 2. Rozdělíme proměnné s více sloupci funkce splitvars 3. Přidáme proměnnou funkce addvars 24 4. Prozkoumáme vlastnosti tabulky T.Properties

Výběr podtabulky Indexování kulatými závorkami: () T2 = T( [1 2 3 4 5], [2 4 5] ) T2 = T( 1:5, [2 4 5] ) T2 = T( :, [2 4 5] ) T2 = T( T.JmenoProm>0, : ) T2 = T( :, JmenoProm ) T2 = T( :, { JmenoPromA, JmenoPromB } ) T2 = T( :, vartype( numeric ) ) 25 pomocí funkcí head, tail, topkrows, unique T2 = head(t, k)

Výběr dat z tabulky Indexování složenými závorkami: {} X = T{ [1 2 3 4 5], [2 4 5] } X = T{ 1:5, [2 4 5] } X = T{ :, [2 4 5] } X = T{ T.JmenoProm>0, : } X = T{ :, JmenoProm } X = T{ :, { JmenoPromA, JmenoPromB } } X = T{ :, vartype( numeric ) } 26 Indexování tečkovou notací p = T.JmenoProm p = T.JmenoProm([1 2 3])

Příklad 3: Souhrnné statistiky 1. Výpočet souhrnných statistik funkce summary 2. Výběr dat indexování do tabulky 3. Zobrazení závislostí funkce boxplot 4. Výpočet souhrnných skupinových statistik funkce groupsummary 27

Export tabulky Do souborů Excel tabulky, csv, txt, dat funkce writetable Do databází funkce sqlwrite 28

Příklad 4: Převedení tabulky na numerickou matici Výběr dat daného typu vartype Aplikace funkce na zvolené proměnné varfun datetime numerická reprezentace času datenum categorical umělé proměnné dummyvar 29

Časové tabulky table2timetable table timetable timetable Synchronizace pozorování z odlišných časových intervalů do jedné tabulky Změna časové škály 30

Příklad 5: Časové tabulky 1. Načíst do tabulek měření z několika stanic (různé časy měření) funkce readtable funkce detectimportoptions 2. Převod na časovou tabulku funkce table2timetable synchronize 3. Sjednotíme tabulky do jedné funkce synchronize 31 nastavení časového kroku interpolace chybějících měření agregace více měření v časovém kroku

Příklad 6: vyhlazení dat a odlehlá pozorování data teplota v Bostonu filtrace / lokální regrese funkce smoothdata pro vyhlazení zvolíme 12-denní klouzavý průměr odlehlá pozorování funkce filloutliers pro nahrazení odlehlých pozorování zvolíme metodu lineání interpolace 32

table další užitečné funkce přeskupení proměnných movevars, removevars, mergevars přeskládání tabulky stack, unstack, rows2vars, inner2outer seřazení řádků issortedrows, sortrows, topkrows, unique spojování tabulek a množinové operace [], join, innerjoin, outerjoin, union, intersect, ismember, 33

table další užitečné funkce počet proměnných nebo řádků width, height aplikace funkcí na proměnné nebo řádky varfun, rowfun normalizace dat normalize filtrace dat nebo lokální regrese smoothdata 34

table další užitečné funkce nalezení / nahrazení chybějících údajů standardizemissing, ismissing, fillmissing nalezení / nahrazení odlehlých pozorování isoutliers, filloutliers nalezení lokálních extrému a detekce změn islocalmin, islocalmax ischange 35

table další užitečné funkce skupinové statistiky findgroups, splitapply převody na jiné datové typy table2array, table2cell, table2struct, table2timetable určit zda je proměnná typu table istable 36

timetable další užitečné funkce tvorba z podkladových dat timetable změna časové škály retime zpoždění lag určit zda je časový krok konstantní isregular 37

timetable další užitečné funkce výběr dat timerange, withtol převod na table timetable2table určit zda je timetable istimetable funkce podporující table 38

table v toolboxech Statistics and Machine Learning Toolbox předzpracování a analýza dat klasifikace a regrese Classification Learner App a Regression Learner App funkce fit*, stepwise*, predict, random Econometrics Toolbox Econometric Modeler testy odhady parametrů modelu 39

timetable v toolboxech Econometrics Toolbox Econometric Modeler Financial Toolbox Zpracování a zobrazení finančních dat, technická analýza, řízení portfolia https://www.mathworks.com/help/finance/manage-financial-time-tables.html fints timetable R2018a: Přechod od Finantial Time Series na Timetables fts2timetable Risk Management Toolbox Market Risk backtesting Signal Processing Toolbox, Wavelet Toolbox 40

Část 4: Big Data tall 41

Tall Arrays Nový datový typ v prostředí MATLAB Machine Memory Případy využití: Sloupcová data s mnoho řádky Množství dat je příliš velké, aby se vešlo do paměti Operace jsou povahou statististické Pro statistické výpočty i Machine Learning Stovky funkcí podporovaných v základním MATLABu a Statistics and Machine Learning Toolbox Tall Data 42 Zpracujeme Big data na desktopu, clusteru, nebo clusteru s nástroji Hadoop a Spark

Big Data bez velkých změn Jeden soubor Sto souborů 43

Příklad 7: Práce s Big Data v prostředí MATLAB Cíl: Vytvořit model pro predikci ceny za jízdu taxi službou v New York City. Vstupy: Měsíční záznamy z jednotlivých jízd Databáze obsahuje více než 2 miliony řádků 44 Přístup: Předzpracovat a prozkoumat data Prototypování na podmnožině dat Natrénovat lineární model Předpovědět jízdné a provést validaci modelu Provézt na celé množině dat na HDFS

Big Data vizualizace pomocí tall Podpora pro: histogram histogram2 ksdensity plot scatter binscatter confusionmat Podpora dále bude růst! 45

Tall Array Run in parallel on compute clusters MATLAB Distributed Computing Server Local disk Shared folders Databases Compute Clusters Spark + Hadoop Tall arrays MATLAB 100 s of functions supported MATLAB Statistics and Machine Learning Toolbox Run in parallel Parallel Computing Toolbox Run in parallel on Spark clusters MATLAB Distributed Computing Server Deploy MATLAB applications as standalone applications on Spark clusters MATLAB Compiler 46

Část 5: Econometrics Toolbox nová aplikace Econometrics Modeler App

Příklad 8: Econometric Modeler Načtění timetable s numerickými proměnnými Interaktivní analýza časových řad vizualizace a transformace dat diagnostické statistiky a testy jednorozměrné modely odhady parametrů diagnostika sdílení výsledků export do workspace generování MATLAB kódu automatické generování reportu (PDF, HTML, DOCX) 48

Zdroje informací Internetové stránky www.humusoft.cz www.mathworks.com MATLAB Central komunita příznivců a uživatelů systému MATLAB/Simulink www.mathworks.com/matlabcentral/ Informační kanály Facebook veřejná skupina: MATLAB a Simulink (SK CZ) www.facebook.com/groups/matlab4students/ 49

Zdroje informací 50 Www semináře (webinars) on-line semináře zdarma (AJ, ČJ, SJ), k dispozici videa z těch, které již proběhly www.humusoft.cz/wwwseminare Workshopy praktické seznámení s nástroji MATLAB & Simulink a COMSOL Multiphysics www.humusoft.cz/workshop/ Knihy a publikace v CZ/SK Konference Technical Computing Prague / Bratislava příspěvky uživatelů o využití systému MATLAB/Simulink v praxi Školení MATLAB, Simulink, dspace, COMSOL Multiphysics www.humusoft.cz/skoleni

Jak začít s prostředím MATLAB? Zkušební verze Plnohodnotná verze MATLAB Časově omezena na 30 dní Možnost libovolných nadstaveb V případě zájmu využijte kontaktní formulář http://www.humusoft.cz/matlab/trial/ 51