ร้อยเรื่องราวจากข้อมูล / storytelling with data

126
Krist Wongsuphasawat / @kristw ร้อยเรื ่องราวจากข้อมูล STORYTELLING WITH DATA

Upload: krist-wongsuphasawat

Post on 12-Apr-2017

119 views

Category:

Data & Analytics


3 download

TRANSCRIPT

Page 1: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

Krist Wongsuphasawat / @kristw

ร้อยเรื่องราวจากข้อมูล STORYTELLING WITH DATA

Page 2: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

แนะนําตัวก่อน

Page 3: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

Computer Engineer Chulalongkorn University

PhD in Computer Science Information Visualization Univ. of Maryland

IBMMicrosoft

Data Scientist Twitter

Krist Wongsuphasawat / @kristw

Page 4: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

ข้อมูล

Page 5: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

ประมง

Page 6: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data
Page 7: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

400

Page 8: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data
Page 9: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

เก็บข้อมูล

Time Location Type

12:00 Paragon Magikarp

12:05 Siam Dis Magikarp

12:40 CTW Magikarp

… … …

Page 10: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data
Page 11: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

เวลา

00:00 12:00 00:006:00 18:00

จำนวนปลา

เวลา

Page 12: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

DATA VISUALIZATION การแปลงข้อมูลเป็นภาพ

Page 13: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

ประวัติศาสตร์

Page 14: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

data

Page 15: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data
Page 16: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

Number of Napoleon's troops, Distance, Temperature, Latitude and Longitude,

Direction of travel, Location (relative to specific dates)

2 dimensions 6 types of data

Page 17: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

DATA VISUALIZATION

Explanatory Communicate known information

Exploratory Explore data to reveal insights

Page 18: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

ข้อมูลมาจากไหน?

Page 19: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

DATA SOURCESOpen data Publicly available

Private data owned by organization, not available to public

Self-collected data Manual, site scraping, etc.

Combination of the above

Page 20: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

OPEN DATA

Page 21: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

OPEN DATA

Page 22: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

เก็บเองก็ได้

Page 23: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

ข้อมูลที่ทวิตเตอร์Tweets

Text, Time, Location, Media

User information Age, Country, etc.

Follows

User interactions Navigation, Views

Page 24: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

MANY FORMS OF DATAStandalone files txt, csv, tsv, json, excel, Google Docs, …, pdf*

APIs better quality with more overhead

Databases doesn’t necessary mean they are organized

Big data bigger pain

Page 25: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

HAVING ALL TWEETSHow people think I feel.

Page 26: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

How people think I feel. How I really feel.

HAVING ALL TWEETS

Page 27: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

CHALLENGESGet relevant Tweets hashtag: #oscars keywords: “goal” (football)

Too big Need to aggregate & reduce size

Slow Long processing time (hours)

Page 28: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

Hadoop Cluster

GETTING BIG DATA

Data Storage

Page 29: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

Pig / Scalding (slow)

GETTING BIG DATAHadoop Cluster

Data Storage

Tool

Page 30: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

Hadoop Cluster

Pig / Scalding (slow)

GETTING BIG DATA

Data Storage

Tool

Page 31: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

Pig / Scalding (slow)

GETTING BIG DATAHadoop Cluster

Data Storage

Tool

Your laptop Smaller dataset

Page 32: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

Hadoop Cluster

Pig / Scalding (slow)

Data Storage

Tool

Final dataset

Tool node.js / python / excel (fast)

Your laptop

GETTING BIG DATA

Smaller dataset

Page 33: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

เอาข้อมูลไปทําอะไร?

Page 34: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

APPLICATIONS OF DATAPersonal analytics

Anyone

Product analytics Product Manager, Engineer

Data Journalism News, Magazine, Company’s Public Relations

Page 35: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

NEW YORK TIMES GRAPHICS

http://www.nytimes.com/interactive/2014/08/13/upshot/where-people-in-each-state-were-born.html?abt=0002&abg=0#New_York

Page 36: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

THE GUARDIAN

Page 37: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

NEWSNew York Times

The Guardian

Washington Post

Wall Street Journal

FiveThirtyEight

etc.

Page 38: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

GOOGLE TRENDS

https://www.google.com/trends/story/US_cu_XRyhKlcBAACrtM_en

Page 39: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

GOOGLE TRENDS

https://www.google.com/trends/story/US_cu_XRyhKlcBAACrtM_en

Page 40: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

UBER

https://newsroom.uber.com/a-day-in-the-life-of-uber/

Page 41: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

ตัวอย่างงาน

Page 42: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data
Page 43: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

ทวีตอะไร?

Page 44: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

โปเกมอนที่ถูกพูดถึงมากที่สุด

Page 45: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

ทวีตเมื่อไหร่?

Page 46: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

ทวีตต่อนาที

Page 47: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

ทวีตต่อนาที

interactive.twitter.com/euro2016

Page 48: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

ทวีตที่ไหน?

Page 49: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

LOCATIONLow density

High density

by Miguel Rios

Page 50: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

LOCATIONLow density

High density

by Miguel Rios

Page 51: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

LOCATION

flickr.com/photos/twitteroffice/8798020541

San Francisco

Low density

High density

by Miguel Rios

Page 52: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

Rebuild the world based on

tweet density

twitter.github.io/interactive/andes/

by Nicolas Garcia Belmonte

Page 53: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

ทวีตอะไร? ที่ไหน? เมื่อไหร่?

Page 54: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

HAPPY NEW YEAR สวัสดีปีใหม่

Page 55: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

ปีใหม่ 2013

twitter.github.io/interactive/newyear2014/

Page 56: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data
Page 57: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

USER อยู่ที่ไหน?

Page 58: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

USER + LOCATION : FAN MAP

interactive.twitter.com/nfl_followers2014

Page 59: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

USER + LOCATION : FAN MAP

interactive.twitter.com/nba_followers

Page 60: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

USER + LOCATION : FAN MAP

interactive.twitter.com/premierleague

Page 61: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

interactive.twitter.com

Page 62: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

มีขั้นตอนอะไรบ้าง?

Page 63: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

ขั้นตอนวิเคราะห์ข้อมูลCollect

Clean

Explore*

Analyze

Present*

Page 64: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

ขั้นตอนวิเคราะห์ข้อมูลCollect

Clean

Explore*

Analyze

Present*

Page 65: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

CASE STUDY: GAME OF THRONES

Page 66: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

Problem is coming.CHAPTER I

Page 67: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

“Problem first, not solution backward”

— Brian Caffo (via Ron Brookmeyer)

Page 68: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

“If all you have is a hammer, everything looks like a nail.”

— Abraham Maslow

Page 69: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

Problem

Want to know what the audience talk about a TV show

Page 70: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

Problem

Want to know what the audience talk about a TV show

from Tweets

Page 71: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

HBO’s Game of Thrones

Based on a book series “A Song of Ice and Fire” Medieval Fantasy. Knights, magic and dragons.

Page 72: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

Brief Story

Page 73: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

A King dies. 

A lot of contenders wage a war to reclaim the throne.

Page 74: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

Minor characters with no claim to the throne set their own plans in action to gain power

when all the major characters end up killing each other.

Page 75: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

Brave/Honest/Honorable characters die.

Intelligent but shady characters and characters who know nothing

continue to live.

Page 76: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

While humans are busy killing each other, ice zombies “White walkers” are invading from the North.

The only group who seems to care about this is neutral group called the Night’s Watch.

Page 77: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

HBO’s Game of Thrones

Based on a book series “A Song of Ice and Fire” Medieval Fantasy. Knights, magic and dragons.

Many characters. Anybody can die.

6 seasons (57 episodes) so far

Multiple storylines in each episode

Page 78: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

Problem

Want to know what the audience talk about a TV show

from Tweets

Page 79: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

Ideas

Common words Too much noise

Page 80: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

Ideas

Common words Too much noise

Characters How o"en each character were mentioned?

Page 81: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

I demand a trial by prototyping.CHAPTER II

Page 82: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

Prototyping

Pull sample data from Twitter API

Character recognition and counting naive approach

Page 83: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

Sample Tweet

Page 84: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

Sample Tweet

Page 85: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

List of namesDaenerys Targaryen,Khaleesi

Jon Snow

Sansa Stark

Tyrion Lannister

Arya Stark

Cersei Lannister

Khal Drogo

Gregor Clegane,Mountain

Margaery Tyrell

Joffrey Baratheon

Bran Stark

Theon Greyjoy

Jaime Lannister

Brienne

Eddard Stark,Ned Stark

Ramsay Bolton

Sandor Clegane,Hound

Ygritte

Stannis Baratheon

Petyr Baelish,Little Finger

Robb Stark

Bronn

Varys

Catelyn Stark

Oberyn Martell

Daario Naharis

Davos Seaworth

Jorah Mormont

Melisandre

Myrcella Baratheon

Tywin Lannister

Tommen Baratheon

Grey Worm

Tyene Sand

Rickon Stark

Missandei

Roose Bolton

Robert Baratheon

Jojen Reed

Jeor Mormont

Tormund Giantsbane

Lysa Arryn

Yara Greyjoy,Asha Greyjoy

Samwell Tarly,Sam

Hodor

Victarion Greyjoy

High Sparrow

Dragon

Winter

Dothraki

Page 86: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

Sample data

Character CountHodor 10000

Jon Snow 5000

Daenerys 4000

Bran Stark 3000

… …

*These numbers are made up for presentation, not real data.

Page 87: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

When you play the game of vis, you iterate or you die.

CHAPTER III

Page 88: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

Where to go from here?

Page 89: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

+ emotion

Page 90: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

+ connections

Page 91: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

+ connections

Page 92: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

Gain insights from a single episode emotion & connections

Page 93: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

Sample data

Character CountJon Snow+Sansa 1000

Tormund+Brienne 500

Bran Stark+Hodor 300

… …

Character CountHodor 10000

Jon Snow 5000

Daenerys 4000

… …

INDIVIDUALS CONNECTIONS

+ top emojis + top emojis

*These numbers are made up for presentation, not real data.

Page 94: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

Graph

NODES EDGES

+ top emojis + top emojis

Character CountJon Snow+Sansa 1000

Tormund+Brienne 500

Bran Stark+Hodor 300

… …

Character CountHodor 10000

Jon Snow 5000

Daenerys 4000

… …

*These numbers are made up for presentation, not real data.

Page 95: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

Network Visualization

Node-link diagram

Force-directed layout http://blockbuilder.org/kristw/762b680690e4b2b2666dfec15838a384

Page 96: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

+ Collision Detection

http://blockbuilder.org/kristw/2850f65d6329c5fef6d5c9118f1de6e6

Page 97: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

+ Community Detection

https://github.com/upphiminn/jLouvain

Page 98: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

+ Collision Detection (with clusters)

https://bl.ocks.org/mbostock/7881887

Page 99: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

Let’s get other episodes.

Page 100: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

(More) data are coming.CHAPTER IV

Page 101: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

More data

1 episode (1 day) => all episodes (6 years)

Rewrite the scripts to get archived data

Page 102: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

How much data do we need?

Whole week?

5 days?

2 days?

A day?

etc.

Page 103: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

How much data do we need?

Page 104: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

Hold the vis.CHAPTER V

Page 105: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

The vis is not enough.

Page 106: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data
Page 107: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

Legend

Page 108: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

Navigation

Page 109: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

Top 3

Page 110: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

Adjust threshold

Page 111: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

Recap

Page 112: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

Filtered Recap

Tooltip

Page 113: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

Demohttps://interactive.twitter.com/game-of-thrones

Page 114: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

Mobile Support

Page 115: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

A visualizer always evaluates his work.CHAPTER VI

Page 116: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

“Feedback is the breakfast of champion.”

— Ken Blanchard

Page 117: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

Self & Peer

Does it solve the problem?

Page 118: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

Tormund + Brienne

Page 119: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

Google Analytics

Pageviews

Visitors

Actions

Referrals Sites/Social

Page 120: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

Feedback

Page 121: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

Feedback

Page 122: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

สรุปData are around us and come from many sources. Open data are valuable.

Telling story from data is one possible application. News, Magazine, Company PR.

Takes time and iterations with many trials and errors.

Start with a problem, collect the data, explore, find a story and present it.

Krist Wongsuphasawat / @kristwkristw.yellowpigz.com

Page 123: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data
Page 124: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data
Page 125: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

The Reading Room 2 Silom Soi 19,

Bangkok, Thailand 10500

Page 126: ร้อยเรื่องราวจากข้อมูล / Storytelling with Data

ขอบคุณครับ