數據分析的流程
數據分析是什麼
在數位化的時代,企業公司及組織每天都在蒐集非常龐大的數據資料。然而,大部分的資料皆是非結構、複雜、雜亂的。資料分析即是使用適當的統計分析方法來對其進行分析,過程中還包含處理及清洗,最終達到挖掘出資料的價值目的,並做出有意義的解說,組織出結論,以提升決策品質。
四大分析步驟
以下針對數據分析的四大步驟進行說明:
步驟 1:定義問題 → 理清思路
如果我有1小時拯救世界,我會花55分鐘去確認問題為何,並只用5分鐘尋找解方。 - 愛因斯坦Albert Einstein
做任何事情皆要有目的,數據分析也不例外。先對於模糊、陌生的情況或問題,找出具體、實際的定義與討論範疇。大多數人時常在看見問題時,只會注重在表面上進行討論,反而會脫離了問題的根本,在錯誤的方向上花了不少心力甚至會錯失了關鍵的解決時機。因此,探究到問題的內部才是最重要的。
步驟 2–1:資料獲取 →如何獲取
應就定義出的問題,按照資料分析的框架,蒐集到相關的資料。資料蒐集的程度不管是深度或廣度,都會直接的影響到數據分析結果的可靠性及有效性,不一定是越深或越廣就越有用,必須回到問題的根本。而數據可能也會具有時效性,或許會因應背景而改變,都是需要注意的。
- 公開資料開放平台
* figshare
* Github
* Azure開放資料集
* AWS Public Dataset
* 世界銀行公開數據
* Google公開資料瀏覽器
* 文化資料開放服務網
* SOSHOO搜數
* 公共運輸整合資訊流通服務平台
* 開放資料集-公路總局
* 公開資訊觀測站
* 臺北市資料大平台 (各縣市幾乎都有公開資料平台)
* 內政資料開放平台
* 政府資料開放平台 - 網路爬蟲
是可以自動化替你蒐集網頁上資訊的程式。通常會使用Python、R語言或是Java程式。通常可將爬蟲依據目標網頁分成三種種類:
* 爬蟲框架(Scrapy & Pyspider)
* Requests+網頁解析器(PyQuery或BeautifulSoup)→靜態網站
* 自動化設計(Selenium)→動態網站
可參考資源:
▪ 彭彭的課程
▪ 大數軟體有限公司
- 其他
大體上為自行蒐集資料,可能為企業內部的資料庫、頁面設計可記錄等。
* Google Analytics
* CRM系統
步驟 2–2:資料儲存 →不同屬性有不同的環境
資料庫是用來儲存資料的工具,可以根據資料的規模大小、屬性類別、關聯性等來決定資料庫的類別。而常見的資料庫管理系統舉例如下:
- 關聯式資料庫(Relational Database)
關聯式資料模式用表的集合來表示資料和資料間的連結,為表的形式呈現。每個表包含多個列及多個欄位,且會有唯一ID(稱為索引鍵Primary Key)。是一種儲存並提供存取相互關係資料點的資料庫。
EXAMPLE:Oracle、MySQL、Microsoft SQL Server、PostgreSQL等
- 非關聯式資料庫(NoSQL Database)
NoSQL資料庫是一個廣泛的類別,還可再細分出很多的種類(Document Database、Key-Value Database、Wide-column Database、Graph Database等)。資料庫中的資料不必符合任何預先定義的格式(非結構化或辦結構化資料),適合處理大型、不相關以及會快速動態變化的資料。EXAMPLE:MongoDB、HBase、Cassandra等 - 鍵值資料庫(Key-Value Database)
屬於非關聯式的資料庫,使用簡單的key-value方式存放資料,因此只會有兩欄,而表稱為雜湊表(Hash Table),查詢的速度也加快了許多,具高度擴展性,可以處理大量的流量。
EXAMPLE:Redis、Memcached、Amazon DynamoDB等
- 文件/JSON資料庫(Document Database)
屬於非關聯式的資料庫,用來儲存非結構性的文件。每筆資料(就是傳統關聯資料庫中的row概念)相當於一個文檔,以類似JSON的文檔構建及儲存。因資料的結構,可以在欄位中儲存多值的陣列,不需要另開表格,因此文檔也不需要有一致性,具有靈活的架構,查詢速度相對較快。
EXAMPLE:MongoDB、Amazon DocumentDB、Couchbase等
- 圖資料庫(Graph Database)
是基於圖論的非關聯式資料庫,會將圖結構中的資料表示為節點和邊,就可以識別和處理資料點間的關聯。常用場景:預防詐欺、從社交媒體平台挖掘客戶數據等。
EXAMPLE:Neo4j、OrientDB等
- 搜尋引擎資料庫(Search Engine Database)
是一種專門用於搜索資料的非關聯式資料庫,使用索引來對資料之間相似的特徵進行分類,並且提高搜尋速度與能力(傳統關聯式資料庫搜尋資料時可能需要完全相同的內容才可搜尋到,搜尋引擎資料庫有效的解決的這個問題),常用場景:日誌分析、全文搜索、安全智慧等。
EXAMPLE:Elasticsearch、Splunk等
資料庫百百種,都會有各自的優缺點可用來解決不同的問題,選用時還需要考慮到後續如何設計、維護,或是未來如果要調整資料的規模以及究竟會消耗多少資源等,因此選用適合的資料庫是相當重要的議題。
步驟 2–3 :資料處理 → 垃圾進,垃圾出
此階段為對資料加工清整,使之變成適合分析的格式。其中包含清洗、轉化、整合、提取、數學運算等,讓資料在格式上比較標準一致,是個相當耗費時間及精力的階段。髒的資料會產生出髒的結果,許多人可能會認為資料越多對於結果的分析會越好,這個觀念是沒有問題的,不過如果資料是「髒」的,還是應該在這個階段就排除掉,仍然需要考慮到資料的質量。
步驟 3:資料分析 →資料越多越準確
數據分析可進行異常偵測、尋找關聯關係、做出分群或分層,甚至是機器學習預測等,分為四種基本類型:描述性分析、診斷性分析、預測性分析和指示性分析。
- 描述性分析
對整體資料集進行統計性描述,主要包括頻數分析、集中趨勢分析、離散程度分析以及分布描述。 - 診斷性分析
對於過去的資料進行檢視,識別趨勢及因果關係,也可試圖解釋異常或離群的資料點。 - 預測性分析
從過去的資料得到趨勢以預測未來,透過找出重要變量方式,並藉由描述性分析的模型作為基礎,以預測可能發生的情況。因此,若資料集的規模越大,預測的答對率也相對會越高。 - 指示性分析
非常依賴機器學習和神經網路,工作負載會需要高效能運算和記憶體。透過過往資料所建立的模型,使用調整變量的方式,預估未來的狀況。
步驟 4–1:資料展現 → 讓他人可更直觀的理解
透過圖表來說明資訊和資料,使人的感官會更加強烈,也就是我們常說的「圖表說話」,可直接直觀的看出整體的趨勢和異常值和模式。常見表示圖表包括圓餅圖(Pie Chart)、柱狀圖(Bar Chart)、直方圖(Histogram Chart)、點狀圖(Scatter Chart)、熱力圖(Heapmap Chart)、折線圖(Line Chart)等。
常見使用工具:
- Python
* Seaborn
* matplotlib
* bokeh
* pyecharts
* plotly
步驟 4–2:資料使用 → 提供解決方案
對整個分析過程做總結及呈現。將起因、過程、結果及建議呈現,供決策者參考。其中需包含分析框架,並搭配圖片圖表表示,可讓閱讀者更加清楚、增加視覺衝擊力,也有助於閱讀,從而產生其他的連結以及思考。 另外,也需要有明確的結論、建議或解決方案,將洞察描述。若只是停留在「答案」而沒有動作,則對於未來不會有任何的幫助。決策者需要的不僅僅是找出問題,更重要的是建議或解決方案,以便做決策時作參考。
教育部補助大專院校STEM領域及女性研發人才培育計畫目標為建構一個「以智慧物聯技術與實務應用為基礎的教育環境和實作場域」,並規劃出符合此STEM教育領域的創新特色課程,以畢業前進入企業實習的方式,讓學生了解相關產業界所面對的問題,再輔以業界實作場域的教育訓練活動,共同帶領學生發展出動手做、判斷與解決問題的相關技能;本計畫也規劃讓學生以專題實作的組隊方式,跟業界協力領導學生對外參與智慧物聯技術的應用競賽,不僅可以累積學生實務開發的能力,更能激發其潛能來幫助企業解決所面臨的難題。
Data Science Meetup 台灣資料科學社群的使命是「為資料科學人士與企業創建經濟機會」。我們相信大數據蘊藏著巨量的信息和價值,如何處理好大數據並發掘其潛藏的商業價值,就要靠資料科學有效的應用。21世紀是資料科學決勝時代,我們社群將為大家提供與資料科學相關的最新技術和資訊實戰攻略,並透過全球業界人士和學者幫助相關職業規劃與挑戰,社群活動包含
- 台北實體版聚
- 線上版聚
- Mentorship Program
歡迎加入我們社團瞭解更多資訊:https://www.facebook.com/groups/datasciencemeetup/