數據分析有三大問:
- 如何入門數據分析?
- 數據分析有哪些工具?
- 怎么做數據分析?
關于第一問,想必讀完我公眾號《10周入門系列文章》的同學,應該有大致的認識。
今天開始講第二大問題——數據分析工具!
對于數據分析,我一直強調核心是業務,通過業務的分析邏輯影射到數據分析的處理邏輯,而數據分析工具則是幫助我們實現結果的手段。
但是,你說工具不重要吧,他又很重要,就像什么樣的路選擇什么樣的交通工具,合適的工具能幫我們更快的達到終點。對應數據分析的不同環節,也要選擇不同的工具,甚至選擇更容易上手。
今天這篇文章,就是來掃盲工具的。
PS:估計網上沒有比這個更全面的了
一、從工具屬性和分析師需求來劃分
在企業中,數據分析師往往分為業務和技術兩類,兩者能力和工作內容有較大區別,對于工具的要求也各有側重。
業務 or 技術
業務類分析師,往往在營運部,市場部,銷售部等,根據服務的業務部門的不同,可能叫數據運營,經營分析,會員分析,商業分析師等名字。因為各個業務線具體考慮的問題不同,分析思路與體系均有不同,所以會有這種區別。日常的工作更多是整理業務報表,針對特定業務做專題分析,圍繞業務增長做需要用到數據的測算、規劃、方案等。
技術類分析師,往往在IT部、數據中心。根據從事的工作環節不同,被分成數據庫工程師,ETL工程師,爬蟲工程師,算法工程師等角色。在中小企業,往往一個技術小哥通吃這些流程。在大企業,一個標準的數據中心,一般都有數據倉庫、專題分析、建模分析等組來完成數據開發工作,再大的公司,還有專門負責數據治理的小組。之所以有這個區分,是因為生產數據,需要一個多層次的復雜的數據系統。一個數據系統,需要數據采集、數據集成、數據庫管理、數據算法開發、報表設計幾個環節組合。這樣才能把分散在各處的一點一滴的數據集中起來,計算成常用的指標,展示成各種炫酷的圖表。這里每一個環節都需要對應的技術支持和人員工作,因此有了不同的崗位。
PS:大家在找數據分析崗時,一定要區分是技術還是業務,和自己的職業傾向是否匹配。
分析師有技術和業務之分,那對應工具也有這樣的屬性側重。
分析類工具
對于初級數據分析師,玩轉Excel是必須的,數據透視表和公式使用必須熟練,VBA是加分。另外,還要學會一個統計分析工具,SPSS作為入門是比較好的。
對于高級數據分析師,使用分析工具是核心能力,VBA基本必備,SPSS/SAS/R至少要熟練使用其中之一,其他分析工具(如Matlab)視情況而定。
對于數據挖掘工程師……嗯,R和Python必備,要靠寫代碼來解決。
代碼類工具
對于初級數據分析師,會寫SQL查詢,有需要的話寫寫Hadoop和Hive查詢,基本就OK了。
對于高級數據分析師,除了SQL以外,學習Python是很有必要的,用來獲取和處理數據都是事半功倍。當然其他編程語言也是可以的。
對于數據挖掘工程師,Hadoop得熟悉,Python/JAVA/C++至少得熟悉一門,Shell得會用……總之編程語言絕對是數據挖掘工程師的最核心能力。
一圖說明問題:
二、從企業數據應用架構來劃分
工具的使用還要看企業的需求和環境。為什么小企業招數據分析師其實就是Excel做報表,大企業找數據分析是卻是把玩高大上的Python、R?這就要看企業的數據架構。
站在IT的角度,實際應用中可以把數據工具分為兩個維度:
第一維度:數據存儲層——數據報表層——數據分析層——數據展現層
第二維度:用戶級——部門級——企業級——BI級
1、數據存儲層
數據存儲設計到數據庫的概念和數據庫語言,這方面不一定要深鉆研,畢竟有專業的DBA。但至少要理解數據的存儲方式,數據的基本結構和數據類型。SQL查詢語言必不可少,精通最好。可從常用的selece查詢,update修改,delete刪除,insert插入的基本結構和讀取入手。
Access這是最基本的個人數據庫,經常用于個人或部分基本的數據存儲;MySQL數據庫,這個對于部門級或者互聯網的數據庫應用是必要的,這個時候關鍵掌握數據庫的庫結構和SQL語言的數據查詢能力。SQL Server2005或更高版本,對中小企業,一些大型企業也可以采用SQL Server數據庫,其實這個時候本身除了數據存儲,也包括了數據報表和數據分析了。
DB2,Oracle數據庫都是大型數據庫,主要是企業級,特別是大型企業或者對數據海量存儲需求的就是必須的了,一般大型數據庫公司都提供非常好的數據整合應用平臺。
BI級別,實際上這個不是數據庫,而是建立在前面數據庫基礎上的,企業級應用的數據倉庫。Data Warehouse,建立在DW機上的數據存儲基本上都是商業智能平臺,整合了各種數據分析,報表、分析和展現。
2、報表/BI層
企業存儲了數據需要讀取,需要展現,報表工具則是最普遍應用的工具,尤其是在國內。過去傳統報表大多解決的是展現問題,如今衍生了一些分析型報表工具,也會和其他應用交叉,做數據分析報表,通過接口開放功能、填報、決策報表功能,能夠做到打通數據的進出,涵蓋了早期商業智能的功能。
像Tableau、PowerBI、FineBI、Qlikview這類BI(商業智能)工具,涵蓋了報表、數據分析、可視化等多層。底層還可于數據倉庫銜接,構建OLAP分析模型。
3、數據分析層
這個層其實有很多分析工具,當然我們最常用的就是Excel。
Excel軟件,首先版本越高越好用這是肯定的。當然對excel來講很多人只是掌握了5%Excel功能,Excel功能非常強大,甚至可以完成所有的統計分析工作!但是我也常說,有能力把Excel玩成統計工具不如專門學會統計軟件。
SPSS軟件:當前版本是18,名字也改成了PASW Statistics;我從3.0開始Dos環境下編程分析,到現在版本的變遷也可以看出SPSS社會科學統計軟件包的變化,從重視醫學、化學等開始越來越重視商業分析,現在已經成為了預測分析軟件。
SAS軟件:SAS相對SPSS其實功能更強大,SAS是平臺化的,EM挖掘模塊平臺整合,相對來講,SAS比較難學些,但如果掌握了SAS會更有價值,比如離散選擇模型,抽樣問題,正交實驗設計等還是SAS比較好用,另外,SAS的學習材料比較多。
其他還有Python和R,后面還會詳細講。
4、表現層
表現層也叫數據可視化,以上每種工具都幾乎提供了一點展現功能。但要說企業級最常應用的還是BI,做分析做報告。
PS:需要說明的是,這樣的分類并不是區分軟件,只是想說明軟件的應用。有時候我們把數據庫就用來進行報表分析,有時候報表就是分析,有時候分析就是展現;當然有時候展現就是分析,分析也是報表,報表就是數據存儲了!
三、4大工具盤點
以上啰嗦了那么多,具體講講Excel、R、Python、BI吧。
>>>>Excel
適用場景:
1.一般的辦公需求下的數據處理工作;
2.中小公司數據管理,存儲(很多國有企業都用);
3.學校學生,老師做簡單的統計分析(如方差分析,回歸分析);
4.結合word,PowerPoint制作數據分析報告;
5.數據分析師的主力分析工具(部分數據分析師的輔助工具);
6.部分商業雜志,報刊圖表制作(數據可視化);
優點:
1.容易上手;
2.學習資源十分豐富;
3.可以用Excel做很多事情,建模,可視化,報表,動態圖表;
4.幫助你在進一步學習其它工具之前(比如Python,R),理解很多操作的含義;
缺點:
1.深入學習需要掌握VBA,難度還是很高;
2.當數據量較大時,會出現卡頓的情況;
3.到Excel2016版,在不借助其它工具的情況下,Excel數據文件本身能夠容納的數據僅有108萬行,不適合處理大規模數據集;
4.內置統計分析種類太簡單,實用價值不大;
5.不像Python,R語言等開源軟件,正版Excel需要付費,比如我用office365.每年需要支付300多塊錢(不過也值了)
>>>>R
使用場景:
通過擴展的第三方R包,R能夠做的事情幾乎涵蓋了任何需要數據的領域。就我們一般的數據分析或者學術數據分析工作而言,R能做的事情包括但不限于如下方面:
1.數據清洗與整理;
2.網絡爬蟲;
3.數據可視化;
4.統計假設檢驗(t檢驗,方差分析,卡方檢驗等);
5.統計建模(線性回歸,邏輯回歸,樹模型,神經網絡等);
6.數據分析報告輸出(Rmarkdown);
R容易學嗎?
從我個人來看,想要入門R是非常簡單的,10天的集中學習,對于掌握R的基本使用,基本數據結構,數據導入導出,簡單的數據可視化,是完全沒有問題的。有了這些基礎,在遇到實際的問題時,去找到需要使用的R包,通過閱讀R的幫助文檔,以及網絡上的資料,就能夠相對快速的解決具體問題了。
>>>>Python
R語言和Python同為需要編程的數據分析工具,所不同的是,R專門用于數據分析領域,而科學計算與數據分析只是Python的一個應用分支,Python還可以用來開發web頁面,開發游戲,做系統的后端開發,以及運維工作。
現在的一個趨勢是,Python在數據分析領域正在追趕R,在某些方面已經超越了R,比如機器學習,文本挖掘等偏編程的領域,但R語言在偏統計的領域仍然保持優勢。Python在數據分析方面的發展,很多地方借鑒了R語言中的一些特色。所以,如果你現在還是一片空白,還沒開始學習,要做決定學習R還是Python的話,建議從Python入手。
Python和R都比較容易學習,但是如果你同時學習兩者,由于在很多地方它們非常相似,就會很容易混淆,所以建議不要同時學習它們。等其中一個掌握到一定的程度,再著手學習另外一個。
Python能做什么?
1.網絡數據爬取,使用Python能夠很容易的編寫強大的爬蟲,抓取網絡數據;
2.數據清洗;
3.數據建模;
4.根據業務場景和實際問題構造數據分析算法;
5.數據可視化(個人感覺不如R好用);
6.機器學習,文本挖掘等高級數據挖掘與分析領域;
應該學習R還是Python?
如果因為時間有限,只能選擇其中的一種來學習的話,我建議使用Python。但我仍然建議兩者都了解一下,畢竟每個人都不一樣。可能你在某些地方聽說,Python在工作中更加常用,但是工作中,解決問題才是最重要的,如果你能夠用R高效的解決問題,那就用R。實際上,Python很多數據分析方面的特色,是模仿R來實現的,比如pandas的數據框,正在開發中的ggplot可視化包模仿的是R語言中非常著名的ggplot2.
>>>>BI
多數分析師日常的工作就是做報表,而數據分析師更多用到的報表是BI。
BI全稱商業智能,在傳統企業中,它是一套完整的解決方案。將企業的數據有效整合,快速制作出報表以作出決策。涉及數據倉庫,ETL,OLAP,權限控制等模塊。
BI工具主要有兩種用途。一種是利用BI制作自動化報表,數據類工作每天都會接觸大量數據,并且需要整理匯總,這是一塊很大的工作量。這部分工作可以交給BI自動化完成,從數據規整、建模到下載。
另外一種是使用其可視化功能進行分析,BI的優點在于它提供比Excel更豐富的可視化功能,操作簡單上手,而且美觀,如果大家每天作圖需要兩小時,BI會縮短一半時間。
BI作為企業級應用,可以通過它連接公司數據庫,實現企業級報表的制作。這塊涉及數據架構,就不深入講了。
關于BI,像Tableau、PowerBI、FineBI、Qlikview這類BI(商業智能)工具,涵蓋了報表、數據分析、可視化等多層。底層還可于數據倉庫銜接,構建OLAP分析模型。
個人覺得,要想快速上手數據分析,前期數據思維的養成,BI工具無疑是最容易上手的。下一篇文章,就要教大家動手搭建BI分析平臺,并學會操作一款BI工具!