Einfuhrung datascience

Preview:

DESCRIPTION

 

Citation preview

Einführung in Data Science

Joerg Blumtritt@jbenno

@datarella

1

Ziel• ... einen Überblick über das Berufsfeld "Data Science" zu

geben,• ... in die Lage versetzen, sich selbst weiter zu

informieren,• ... weitere Fortbildungen gezielt auszuwählen,• ... zu erkennen, wo sich Potenziale bei Kunden ergeben,

die dann mit interner bzw. externer Unterstützung in Angebote übersetzt werden können.

2

Agenda1) Einführung in das Thema

• Neue Paradigmen / Abgrenzung zu Statistik, Marktforschung und Business Intellgence

• Data Science 101: 1. Daten erzeugen Sammeln2. Daten ablegen / abrufen (=wiederfinden)3. Daten bereinigen4. Daten analysieren5. Daten visualisieren

3

Quanti fication

VolumeVelocityVariety

DataScience

Big Data

Michele Banko und Eric Brill 2001: http://acl.ldc.upenn.edu/P/P01/P01-1005.pdf

Data Science

6

7

http://www.lehmanns.de/shop/mathematik-informatik/27078173-9781449361327-data-science-for-business

Data Science

http://drewconway.com/zia/2013/3/26/the-data-science-venn-diagram

Data Scientists?

http://www.forbes.com/sites/danwoods/2012/03/08/hilary-mason-what-is-a-data-scientist/

Data Science 1011. Daten erzeugen Sammeln2. Daten ablegen / abrufen (=wiederfinden)3. Daten bereinigen4. Daten analysieren5. Daten visualisieren

10

1. Daten erzeugen / Sammeln

Marktforschung Data Science

Daten erzeugen/sammeln Feld, Methode Parsing, Crawling,

Scraping

Datenquelle Tabellen, Feldberichte API, Corpus, "Heap", "Stream"

Datenbeschreibung Codebuch Specs, N.N.

Dienstleister Feldinstitut Data Broker

11

1. Daten erzeugen / Sammeln• Parsing: APIs

• Autentifizierung (Token)• JSON

• Crawling• HTTrack Website Copier• Simple Web Crawler in Python

• Scraping

12

API, Authentifizierung, Token

https://api.foursquare.com/v2/users/jbenno/checkins?beforeTimestamp=1338875927&oauth_token=F2THPP1YHUY4YVZLJ0ORKX3TCEAM0OCKS3WEFWYBIJBCGRHB&v=20130719

13

API, Authentifizierung, Token

https://api.foursquare.com/v2/users/jbenno/checkins?beforeTimestamp=1338875927&oauth_token=F2THPP1YHUY4YVZLJ0ORKX3TCEAM0OCKS3WEFWYBIJBCGRHB&v=20130719

14

15Quelle: https://dev.twitter.com/apps

16

{"meta":{"code":200},"notifications":[{"type":"notificationTray","item":{"unreadCount":9}}],"response":{"checkins":{"count":914,"items":[{"id":"51e51fb0498e5dc08f90263f","createdAt":1373970352,"type":"checkin","timeZoneOffset":120,"venue":{"id":"4b977703f964a520da0435e3","name":"Bonn Hauptbahnhof","contact":{"twitter":"db_bahn"},"location":{"address":"Am Hauptbahnhof 1","lat":50.73212621273225,"lng":7.096948027610779,"postalCode":"53111","city":"Bonn","country":"Germany","cc":"DE"},"canonicalUrl":"https:\/\/foursquare.com\/v\/bonn-hauptbahnhof\/4b977703f964a520da0435e3","categories":[{"id":"4bf58dd8d48988d129951735","name":"Bahnhof","pluralName":"Bahnhöfe","shortName":"Bahnhof","icon":{"prefix":"https:\/\/foursquare.com\/img\/categories_v2\/travel\/trainstation_","suffix":".png"},"primary":true}],"verified":true,"stats":{"checkinsCount":15804,"usersCount":3101,"tipCount":33},"likes":{"count":16,"groups":[{"type":"others","count":16,"items":[]}],"summary":"16 Gefällt mir"},"like":false,"beenHere":{"count":4,"marked":false}},"likes":{"count":0,"groups":[]},"like":false,"photos":{"count":0,"items":[]},"posts":{"count":0,"textCount":0},"comments":{"count":0},"source":{"name":"foursquare for Android","url":"https:\/\/foursquare.com\/download\/#\/android"}},{"id":"51e4edcc498eaecbe717cb35","createdAt":1373957580,"type":"checkin","timeZoneOffset":120,"venue":{"id":"4b99688cf964a520507935e3","name":"mD-Hotel Aigner","contact":{"phone":"0228604060","formattedPhone":"0228 604060"},"location":{"address":"Dorotheenstr. 12","lat":50.739016,"lng":7.095067,"city":"53111 Bonn","state":"Nordrhein-Westfalen","country":"Germany","cc":"DE"},"canonicalUrl":"https:\/\/foursquare.com\/v\/mdhotel-aigner\/4b99688cf964a520507935e3","categories":[{"id":"4bf58dd8d48988d1fa931735","name":"Hotel","pluralName":"Hotels","shortName":"Hotel","icon":{"prefix":"https:\/\/foursquare.co

17

1 {2 "items": [3 {4 "id": "51e51fb0498e5dc08f90263f",5 "createdAt": 1373970352,6 "type": "checkin",7 "timeZoneOffset": 120,8 "venue": {9 "id": "4b977703f964a520da0435e3",10 "name": "Bonn Hauptbahnhof",11 "contact": {12 "twitter": "db_bahn"13 },14 "location": {15 "address": "Am Hauptbahnhof 1",16 "lat": 50.73212621273225,17 "lng": 7.096948027610779,18 "postalCode": "53111",19 "city": "Bonn",20 "country": "Germany",21 "cc": "DE"22 },23 "canonicalUrl": "https://foursquare.com/v/bonn-hauptbahnhof/4b977703f964a520da0435e3",24 "categories": [

Crawling• HTTrack Website Copier etc.• Simple Web Crawler in Python

18

Scraping• Daten sammeln, die bereits optisch aufbereitet wurden

und keine "Datenstruktur" mehr besitzen:

• Tabellen, Charts• pdf• Websites

19

Corpus• unbearbeitete Datengrundlage, häufig in Textformat:

• eine Webpage• Wikipedia• Sammlung von Tweets zu einem bestimmten Thema,• Wahlprogramme der Parteien• Google ngram Corpus

20

Stream• kontinuierlicher Datenfluss:

• Tweets• Stromverbrauchsmessung durch Smart Meters• Sensordaten aus dem Bordcomputer eines KfZ

• Verarbeitung muss in der Regel online erfolgen, d.h. eintreffende Daten werden sofort verarbeitet

21

Spezifikationen• Daten sind oft nur sehr grob beschrieben, häufig gibt es

überhaupt keine Dokumentation

• Mit Versionswechsel der API ändert sich in der Regel auch das Datenformat der neuen Datensätze, ohne dass die Bestandsdaten transformiert werden

• Datenformat, Toleranzen, Umgang mit fehlenden Werten etc. wird "durch Augenschein" erarbeitet

22

Datenlieferanten

23

2. Daten ablegen / abrufen

24

Marktforschung / Statistik Data Science

Format Tabellen, RDBMS Dokumente, Dateien

Konsistenz durch das Format Funktional

Struktur Fälle, Datensätze Netzwerke, Graphen

Datenhaltung lokal Cloud

2. Daten ablegen / abrufen• Unstrukturierte Datenablage• Konsistenzfunktion• Immutability• Document/Graph/Key-Value Store• Hash-Table, Bitmap-Index• Lambda-Architektur

25

Unstrukturierte Datenablage• Datensätze werden als Text-Dateien direkt gespeichert

26

2. Daten ablegen / abrufen• Exkurs:

• Virtuelle Maschine• Hadoop• Amazon S3/E2, Google BigQuery

27

Virtuelle Maschinen

28 https://www.virtualbox.org/

29

30

31

32

Cloudservices

• Amazon• S3, EC2

• Google• Storage, BigQuery

33

Konsistenzfunktion• Statt die Konsistenz der Daten schon in der Struktur

festzulegen, wird eine Funktion definiert, die jeden Record nach den vorgegebenen Kriterien überprüft:

function IsConsistent(Record, Schema) as Boolean

34

Operation SQL Create INSERT Read (Retrieve) SELECT Update (Modify) UPDATE Delete (Destroy) DELETE

"mutable"

Immutability

35

"Each event happens at a particular time and is always true"

• Just C+R; nothing gets ever "updated"

• Records are stored as files. Each record is a new file.

"immutable"

Document/Graph/Key-Value Store• Dokumente werden geeignet indiziert• Meta-Daten werden in speziellen Formaten mitgeliefert

(zB. MPEG7)• Wenn eine Key-Value-Struktur besteht, wird die Sturktur

der JSON- oder XML-Dokumente in eine Art Tabellenform gebracht (Keys ~ Spalten, Values ~ Zellwerte)

36

Hash-Table, Bitmap-Index• Hash-Table: aus den Werten wird über eine Hash-

Funktion ein Index berechnet, der auf den Datensatz verweist

• Bitmap-Index: Tabellenartige Struktur, bei der die Variablen (via Dummy-Variablen) in eine 0/1-Struktur gebracht werden

37

Lambda-Architektur

38

Query

Precomputed View(Batch Mode)

Data Stream

All Data

Precomputed realtime view

3. Daten bereinigen• "Data munging"• "Pervasive Data Gremlins":

• technisches Format: Endianness, Unicode-Table, OS-Version, Sonderzeichen und Steuerbefehle, etc.

• inhaltlich: Fehlende Werte, Zeitzonen, Sommerzeit, Feiertage, Lables, Firmen/Konzernbezeichnung, Vorwahlen, "Höhe über N.N.", etc.

• historisch: Formatwechsel ("Jahr 2000"), unterschiedliche Granularität, etc.

39

4. Daten analysieren

40

Marktforschung / Statistik Data Science

Tools SPSS und vergleichbare R, Python, div. Frameworks

Vorgehen Stichprobenziehung Totalerhebung oder nicht-repräsentativ

Mathematik Stochastik Algorithmen

Ergebnis abgeschlossen iterativ

4. Daten analysieren• Agile Statistics• Statistische Verfahren• Machine Learning• Textanalyse• Geodaten• Netzwerkanalyse

41

Agile Statistics• a/b-Test• Pivoting:

• Evolutionäre Algorithmen, Jittering, Simulated Annealing

• "Mechanical Turk"

42

Statistische Verfahren• (kaum Testverfahren, hauptsächlich Vorhersagen)• Robuste Schätzer• Fouriertransformation, Wavelets• ARIMA

43

Machine Learning• Supervised Learning (Entscheidungsalgorithmen)

• Regression

• Diskriminanzanalyse, Cluster mit vorgegebenen Zentroiden

• Backpropagation (MLP)

• Unsupervised (Dimensionsreduktion)

• Clusteranalyse, k-Nächste Nachbarn, k-Means, DBSCAN

• Hauptkomponentenanaylse, MDS

• Autoencoder

• Self Organizing Maps

44

Mahout

• Mahout currently has

• Collaborative Filtering

• User and Item based recommenders

• K-Means, Fuzzy K-Means clustering

• Mean Shift clustering

• Dirichlet process clustering

• Latent Dirichlet Allocation

• Singular value decomposition

• Parallel Frequent Pattern mining

• Complementary Naive Bayes classifier

• Random forest decision tree based classifier

• High performance java collections (previously colt collections)

45

Textanalyse• Vorbereitung des Corpus• N-Gramme• Wortabstände• Textvergleiche: Cosinus-Vektor-Ähnlichkeit

46

Textmining in R: z.B. das Paket "TM"

TextanalyseWort Limburg Stockdorf TaunussteinAar 1 2Aartalbahn 1Aartalhalle 1Abbild 1Abbildung 2aber 7 1 1Abgaben 1

abgegrenzten 1Abgeordnete 1

Abgeordneter 1abgerissen 3Abgerufen 3abgeschlossen 1abgetrennt 1Abitur 2Abschluss 1 1Abschnitt 2Abschnitten 1

Cos(Taunusstein, Stockdorf) 0,75Cos(Stockdorf, Limburg) 0,81Cos(Taunusstein, Limburg) 0,76

47

Netzwerkanalyse

48

49

50

51

5. Daten visualisieren

52

D3

53

54

STREETFIGHTING DATA SCIENCE

55

Street Fighting Data Science• Umnutzen vorhandener

Daten (Tweets -> Bewe-gungsgeschwindigkeit)

• Umwidmen von Methoden (BioTech ->Sozialwissenschaften)

• Agile Ad-hoc-Analysen• Improvisation

http://en.wikipedia.org/wiki/File:Fightingmanstones.jpg

Tools finden

57

http://github.com

N-Gramme

Google Ngram Viewer http://books.google.com/ngrams + DB http://books.google.com/ngrams/datasets

WordNet• WordNet:

semantische und lexikalischeBedeutung vonWörtern

• Daraus z.B.Wörter mitStimmungenidentifizierbar(WN Affect)

WordNet http://wordnet.princeton.edu/ WordNet Affect http://wndomains.fbk.eu/wnaffect.html

N-Gramme + WordNet• Emotionen im Zeitverlauf

Acerbi et al 2013 http://www.plosone.org/article/info:doi/10.1371/journal.pone.0059030

Food Pairings

Ahn et al 2011 http://www.nature.com/srep/2011/111215/srep00196/full/srep00196.html

Food Pairings

Ahn et al 2011 http://www.nature.com/srep/2011/111215/srep00196/full/srep00196.html

Food Pairings

Ahn et al 2011 http://www.nature.com/srep/2011/111215/srep00196/full/srep00196.html

Google Correlate

Google Correlate www.google.com/trends/correlate

Funnel Plots

http://www.cochrane-net.org/openlearning/html/mod15-3.htm

Twitter Tags

Item Valueid_str 356092702800105000 from_user winedanddinedtext Picking up an orange wine (Arboreus) (@ Italian Wine Merchants) [pic]:

http://t.co/u0xcPXTTSPcreated_at Sat Jul 13 16:48:10 +0000 2013time 13/07/2013 17:48:10geo_coordinates loc: 40.73580099,-73.98906051user_lang enin_reply_to_user_id_strin_reply_to_screen_namfrom_user_id_str 18657048in_reply_to_status_id_stsource <a href="http://foursquare.com" rel="nofollow">foursquare</a>profile_image_url http://a0.twimg.com/profile_images/716129754/jump_normal.jpguser_followers_count 6925user_friends_count 2754user_utc_offset -18000status_url http://twitter.com/winedanddined/statuses/356092702800105472entities_str {"symbols":[],"urls":[{"expanded_url":"http://4sq.com/15qYMPc","indices

66

http://mashe.hawksey.info/2013/02/twitter-archive-tagsv5/

NodeXL – Netzwerk-Analyse

NodeXL http://nodexl.codeplex.com/

Flickr für Touristen

Eric Fischer „See something or say something“http://www.flickr.com/photos/walkingsf/5935471000/in/set-72157627140310742 and „Locals and Tourists“http://www.flickr.com/photos/walkingsf/4671578001/in/set-72157624209158632

OpenPaths

69

http://openpaths.cc

Weather Signal

70

funf.org

71

Verhalten analysieren:• Targeting-Daten > Verhaltensbeobachtung im Web• Moblie Tracking > Verhaltensbeobachtung im

"Meatspace"• Situatives Einfragen• Interaktion

72

QUANTIFY & ASK = EXPLORE APP

73

Start Screen Diary Heat Map

Noch ein paar Links:http://twitter.com/jbenno/bigdatahttp://strataconf.com/http://www.r-bloggers.com/http://oreilly.com/http://iognos.com/blog-3/

74

Joerg Blumtritt

@jbenno

Datarella GmbH

Oskar-von-Miller-Ring 36

80333 München

089/44 23 69 99

info@datarella.com

Recommended