School of Data -1 數據資料入門
之前有提過Advocacy Assembly這個適合NGO/NPO/對社會議題有興趣的朋友,去體驗看看的線上學習資源網站。之後我又聽了其中二門與數據分析處理的課程,認真地聽完(可見時常不認真無法專注地進行線上學習)後,覺得這二堂數據分析入門課程比起我曾經接觸的一些同樣也是介紹數據分折、基礎統計學的課程(Coursera:Excel to MySQL: Analytic Techniques for Business Specialization、Data Analysis and Interpretation Specialization ;Future Learner: learn to code for data analysis、 SAS tutorial and training),更是平易近人地較符合我的口味與程度,便好奇地連去看看負責設計提供這二門課程的合作單位: School of Data官網,是否還有其它有關數據分析的進階課程資源可以來參考。School of Data 是開放知識基金會(Open Knowledge Foundation)與P2PU (Peer 2 Peer University)共同合作的一個專案計畫,我居然居然還看到它與Tactical Collective Technology 合作的二個課程單元,TCT是我大愛的NGO,所以一定要來了解與支持一下它所編寫的數據使用介紹文本。
目前在School of Data 網站列出的課程目錄有以下九門課:
- Data Fundamentals(其實這門課程就是AA多媒體影片示範版的前身文字版)
- A Gentle Introduction to Data Cleaning(與TCT合作)
- A gentle Introduction into Extracting Data(與TCT合作)
- Introduction into Exploring Data
- A Gentle Introduction to Mapping
- Working with Budgets and Spending Data.
- Collecting data using smartphones
- School of Data Journalism
- An Introduction to Aid Data
本文集中在介紹第一個入門課程「Data Fundamentals」,在School of Data的網站上,它大約用了10個小模組(module)或稱之為小單元,來介紹數據基礎入門知識,分別為:
1) What is data?
2) Finding data
3) Sort and filter: basic of spreadsheet :介紹辦公室套裝軟體中的試算表最最基礎操作,例如資料欄位的篩選,排序等功能。
4) Taming the Fierce Beast – The Math you need to start: 介紹最基礎的統計學常識,如平均數、眾數、中位數、資料範圍、常態分佈、標準差、標準分數等概念
5) But what does it mean? Analyzing data (spreadsheets continued):繼續介紹試算表,先從一張示範性的試算表案例中,讓學習者思考可以從中問出什麼問題找到什麼答案,再引入在試算表中的公式計算介紹。
6) From Data to Diagrams: An introduction to plots and charts:整理計算好的試算表,如何把數據表格轉換成為「圖表」,又,不同的數據資料類型,適合以哪一種圖表來呈現,以造成較佳的視覺效果?
7) Look Out!: Common Misconceptions and how to avoid them:提醒初學者在面對統計資料以及處理圖表過程不留意而追成的誤導與陷井,以慢慢培養出對數據與呈現訊息的敏感度。
8) Tell me a story, Working out what’s interesting in your data:前面介紹的數據收集、整理、處理的技巧或許多是偏技術性的操作熟悉,但回到數據視覺化用之於社會改變的意識提昇與倡議行動,則必須思考我要利用這些數據來反應、引證什麼現象?這個現象或趨勢中哪些人受到影響?你能說什麼樣的故事?有誰會對此故事感到興趣?本章的重點以一些案例,鼓勵數據利用者進一步把數據背後的故事發展出來,它可能是連結了個人生活的切身體驗,可能是成為倡議改變的動力燃料,也可能是深度調查報導的某塊磚石。
9) Data provenance:本章主要介紹數據處理過程中留下明確記錄的重要,以及相關記錄工具。之所也要對數據資訊的整理過程作記錄,主要有以下目的:方便版本分析,明確化初始資料組的收集整理者,以建立相關的透明、公信和問責。
10) Basic graphs:和前面第6單位的From Data to Diagrams有點重覆,再次介紹試算表軟體中內建的圖表轉換功能。
以上為「Data Fundamentals」10個小單元的簡要整理。建議完全對試算表沒概念,沒沾過統計學的數據白丁們,可以先從Advocacy Assembly 上面的二門數據相關課程入手Data Gathering for Beginners、Data for change: data visualisation for human rights,這兩門課其實就是把Data Fundamentals的文本作成了用影片示範操作,變成更為可親的多媒體版本。上完AA的的這二門課,基本上就可以直接跳過(或快速掃一下)SOD的第一門Data Fundamentals,準備好進一步了解其它Data Cleaning、 Data Exploring、Extracting Data、Map and geocoding、……等等面向的基礎數據處理基本知識。
我自己對使用辦公室軟體(Office Suite)知識與技能很低階一般,只能應付寫報告之類的文書處理,而試算表也只會用簡單的加減乘除公式計算、插入圖表之類的水準。再加上後來改用ubuntu 作業系統,當然也沒有MS Office(或曰:「辦公室家用生産力工具」)可用,改下載使用開源又免費的Libre Office。但老實說近一年來很少需要打開「辦公室家用生産力工具」(應該直接說是「沒工作」可作,而不是沒用「辦公室家用生産力工具」XDXD),書寫習慣上改成在某些網路筆記服務(如hackpad,draftit)或是部落格平台下打文字草稿;而要使用試算表則用Google提供的Spreadsheet。這一年來雖然一直想學學現在很夯的數據分析入門,但大多數課程中所演示的軟體都是以微軟Excel為示範,雖然與LibreOffice Calc、Google Spreadsheet功能大同小異,但本人心理總覺得不能適應,故往往容易半途而廢!!(藉口真多)School of Data與AA上的演示,顯然有考量到使用者的便利,學習者不用花錢買商業辦公室套件也不鼓勵使用者讓商用軟體所綁架,故其軟體使用示範就是以LibreOffice Calc、Google SpreadSheet為主,完全解除了我對於試算表工具的排斥心防。
再者,透過SOD的課程讓我隱隱地理出了一條學習數據分析的路徑。以我個人過去一年來自學摸索數據分析的曲折體驗,還是建議對於數據分析有興趣了解,但本身並無任何程式編碼的先修知識也沒有統計學基礎者,不妨先從套裝的圖型介面環境,如試算表軟體入手,這是對一般使用者而言最為熟悉的工作環境來認識、親近數據資料。於此同時,不妨可同步開始學一點「主流」的程式語言,如python、javascript等,這些程式語言的入門基礎,如數學運算、邏輯、條件式等東西,因為要透過一步步編碼練習,會大大有助於理解試算表中一些內鍵公式函數的使用與表達方式。
等到圖型指令介面的試算表基本功能摸熟,接下來可學習SQL結構式資料庫語法,後者的強處在於文字指令界面下處理大量數據資料。至於前面同時在繼續學習python、javascript,到了這個階段可以已經有了一點寫些最簡單函數的能力,也知道如何引入各家高手開發累積的資源,利用許多現成可用的程式庫(library)來作圖表視覺化工具。例如前者有:matplotlib、numpy、pygal,後者則有D3。一般而言,得利用自編的程式碼來進行數據視覺化的處理,勢必是在試算表其內建的圖表功能已無法滿足的狀況下,需要進行更細膩更互動化的視覺感官呈現,這當然也就涉及到想要讓數據資料說出什麼樣的故事,讓讀者有著什麼樣體會感受的設計思考。
至於傳統上就是用來作數據處理的二大山頭:開源的R以及商用軟體SAS,前者是純文字指令介面,後者是圖像式作業環境,現在大學裏社會科學學科有用到統計學的,學生們應該多少有接觸過一點SAS的使用吧?我個人對這二套軟體還是完全不熟,這要怪錯於早已久日荒廢的初級統計學知識,但感覺這個軟體還是比較合適用來專做數攄整理分析,如果有興趣深入了解統計學,或許應該要好好掌握了解其中任一件軟體的使用操作。