數據分析簡介
當今世界對信息技術的依賴程度日益加深,每天都會產生和存儲海量的數據。數據的來源多種多樣——自動檢測系統、傳感器和科學儀器等。不知你有沒有意識到,你每次從銀行取錢、買東西、寫博客、發微博等也會產生新的數據。
什麼是數據呢?數據實際上不同於信息,至少在形式上不一樣。對於沒有任何形式可言的字節流,除了其數量、用此和發送的時間外,其他一無所知,一眼看上去,很難理解其本質。信息實際上是對數據集進行處理,從中提煉出可用於其他場合的結論,也就是說,它是對數據進行處理後得到的結果。從原始數據中抽取信息的過程叫做數據分析。
數據分析的目的正是抽取不易推斷的信息,而一旦理解了這些信息,就能夠對產生數據的系統的運行機制進行研究,從而對系統可能的響應和演變作出預測。
數據分析最初用作數據保護,現已發展成為數據建模的方法論,從而完成了到一門真正學科的蛻變。模型實際上是指將所研究的系統轉化為數學形式。一旦建立數學或者邏輯模型,對系統的響應能做出不同精度的預測,我們就可以預測在給定輸入的情況下,系統會給出怎樣的輸出。這樣看來,數據分析的目標不止於建模,更重要的是其預測能力。
模型的預測能力不僅取決於建模技術的質量,還取決於選擇供分析用的優質數據集的能力。因此,數據搜尋、數據提取和數據準備等預處理工作也屬於數據分析的範疇,它們對最終結果有重要影響。
到現在為止,我們一直在講數據、數據的準備及數據處理。在數據分析的各個階段,還有各種各樣的數據可視化方法。無論是孤立地看數據,還是將其放到整個數據集來看,理解數據的最好方法莫過於將其做成可視化圖形,從而傳達出數字種蘊含(有時是隱藏著)的信息。到目前為止,已經有很多可視化模式:類型多樣的圖表。
數據分析的產出為模型和圖形化展示,據此可預測所研究系統的響應;隨後進入測試階段,用已知輸出結果的一個數據集對模型進行測試。這些數據不是用來生成模型的,而是用來檢驗系統是否重現實際觀察到的輸出,從而掌握模型的誤差,了解其有效性和局限。
拿新模型的測試結果與既有模型進行對比便可知優劣。如新模型勝出,即可進行數據分析的最後一步:部署。部署階段需要根據模型給出的預測結果,實現相應的決策,同時還要防範模型預測到的潛在風險。
很多工作都離不開數據分析,了解數據分析及實際操作方法,對工作中做出可靠決策大有裨益。有了它,人們可以檢驗假說,加深對系統的理解。
數據分析師的知識範疇
數據分析學科研究的問題面很廣。數據分析過程要用到多種工具和方法,它們對計算、數學和統計思維要求較高。
因此,一名優秀的數據分析師必須具備多個學科的知識和實際應用能力。這些學科中有的是數據分析方法的基礎,熟練掌握它們很有必要。根據應用領域、研究項目的不同,數據分析師可能還需要掌握其他相關學科的知識。總的來說,這些知識可以幫助分析師更好地理解研究對象以及需要什麼樣的數據。
一般而言,對於大的數據分析項目,最好組建一個由各個相關領域的專家組成的團隊,他們要能在各自擅長的領域發揮出最大作用。對於小點的項目,一名優秀的分析師就能勝任,但是他必須善於識別數據分析過程中遇到的問題,知道解決問題需要哪些學科的知識和技能,並能及時學習這些學科,有時甚至需要向相關領域的專家請教。簡而言之,分析師不僅要知道怎麼搜尋數據,更應該懂得怎麼尋找處理數據的方式。
計算機科學
不論從事什麼領域的數據分析工作,掌握計算機科學知識對分析師來說都是最基本的要求。只有具備良好的計算機科學知識及實際應用經驗才能熟練掌握數據分析必備工具。事實上,數據分析的各個步驟都離不開計算機技術,比如用於計算的軟體和程式語言。
要高效地處理隨信息技術迅猛發展而產生的海量數據,就必須用到特定的技能。數據研究和抽取,要求分析師掌握各種常見格式的處理技巧。數據通常以某種結構組織在一起,存儲於文件或資料庫表中,格式多樣。常見的數據存儲格式有XML、JSON、XLS、CSV等。很多應用都能處理這些格式的數據文件。從資料庫中獲取數據要稍微麻煩一些,需要掌握SQL資料庫查詢語句或使用專門為某種資料庫抽取數據而開發的軟體。
此外,一些特定類型的數據研究任務重,分析師所能拿到的不是立刻就能用的乾淨數據,而是文本文件(文檔、日誌)或網頁。需要的數據則來自這些文件中的圖表、測量值、訪客量或者HTML表格,而解析文件、抽取數據(數據抓取)需要專業知識。
因此,學習信息技術知識很有必要,只有這樣才能掌握在當代計算機科學基礎上發展起來的各種工具,比如軟體和程式語言。數據分析和可視化離不開它們。
Python及專業的庫進行數據分析所需的全部知識將會陸續展開介紹,同時我們的Python爬蟲也會繼續進行相應的講解。