1. 程式人生 > >資料分析的一般流程和方法

資料分析的一般流程和方法


淘寶賣家資料顯示:

胸最大的是新疆妹子,國內內衣消費最多的SIZE是B;

其中75B銷量最好,佔比41.45%,其次是A,佔比 25.26%;

各種顏色中,黑色最為暢銷,因為百搭。

…………

這些早已應用在內衣生產、備貨、銷售等關鍵環節。

網易雲音樂資料顯示:

90後用戶佔比高達59%,其次是80後(12%);

除了流行歌曲,使用者最喜歡的風格竟是電音,其中又以廣東使用者對電音最為熱愛;

最青睞民謠的省份是:甘肅&陝西,最喜歡舞曲的是新疆朋友;

小眾音樂主要聚集在北上廣深;

…………

這些資料也服務於網易雲音樂的個性化推薦系統

但資料分析的應用還遠不止如此,利用資料分析的方法,我們還可以得到很多有意思的結論。

比如谷歌的資料分析可以預測一個地區即將爆發的流感,從而進行鍼對性的預防;淘寶可以根據你瀏覽和消費的資料進行分析,為你精準推薦商品;口碑極好的網易雲音樂,通過其相似性演算法,為不同的人量身定製每日歌單……

資料正在變得越來越常見,而資料分析的價值也越來越凸顯。在大型網際網路企業(比如谷歌、阿里、騰訊、等)每天將產生海量的資料;就算是初創的網際網路公司,日誌、使用者、運營等資料量也不可小覷;而一大波傳統企業,在普及智慧終端的情況下,所產生的資料,也非同小可。那麼一個比較完善的資料分析流程是什麼樣的呢?


1.問題定義

比較典型的場景是我們需要針對企業的資料進行分析,比如公司通常會有銷售資料、使用者資料、運營資料、產品生產資料……你需要從這些資料裡獲得哪些有用的資訊,對策略的制定進行指導呢?又比如你需要做的是一份市場調研或者行業分析,那麼你需要知道你需要獲得關於這個行業的哪些資訊。

首先你需要確定去分析的問題是什麼?你想得出哪些結論?

比如某地區空氣質量變化的趨勢是什麼?

王者榮耀玩家的使用者畫像是什麼樣的?經常消費的是那類人?

影響公司銷售額增長的關鍵因素是什麼?

生產環節中影響產能和質量的核心指標是什麼?

如何對分析使用者畫像並進行精準營銷?

如何基於歷史資料預測未來某個階段使用者行為?

…………

這些問題可能來源於你已有的經驗和知識。比如你已經知道每週的不同時間使用者購買量不一樣,那麼你可以通過分析得出銷量和時間的精確關係,從而精準備貨。又比如你知道北京最近幾年的空氣質量是在變壞的,可能的因素是工廠排放、沙塵暴、居民排放、天氣因素等,那麼在定義問題的時候你就需要想清楚,需要針對哪些因素進行重點分析。

有些問題則並不清晰,比如在生產環節中,影響質量的核心指標是什麼,是原材料?裝置水平?工人水平?天氣情況?某個環節工藝的複雜度?某項操作的重複次數?……這些可能並不明顯,或者你是涉足新的領域,並沒有非常專業的知識,那麼你可能需要定義的問題就需要更加寬泛,涵蓋更多的可能性。

問題的定義可能需要你去了解業務的核心知識,並從中獲得一些可以幫助你進行分析的經驗。從某種程度上說,這也是我們經常提到的資料思維。資料分析很多時候可以幫助你發現我們不容易發現的相關性,但對問題的精確定義,可以從很大程度上提升資料分析的效率。

如何更好地定義問題?

這就需要你在長期的訓練中找到對資料的感覺,開始的時候你拿到特別大的資料,有非常多的欄位,可能會很懵逼,到底應該從什麼地方下手呢?

但如果有一些經驗就會好很多。比如,你要研究影響跑步運動員速度的身體因素,那麼我們可能會去研究運動員的身高、腿長、體重、甚至心率、血壓、臂長,而不太會去研究運動員的腋毛長度,這是基於我們已有的知識。又比如我們要分析影響一個地方房價的因素,那麼我們可能會有一些通用的常識,比如城市人口、地理位置、GDP、地價、物價水平,更深入的可能會有產業格局、文化狀態、氣候情況等等,但一般我們不會去研究城市的女孩長相,美女佔比。

所以當你分析的問題多了之後,你就會有一些自己對資料的敏感度,從而養成用資料分析、用資料說話的習慣。這個時候你甚至可以基於一些資料,根據自己的經驗做出初步的判斷和預測(當然是不能取代完整樣本的精準預測),這個時候,你就基本擁有資料思維了。


2.資料獲取

有了具體的問題,你就需要獲取相關的資料了。比如你要探究北京空氣質量變化的趨勢,你可能就需要收集北京最近幾年的空氣質量資料、天氣資料,甚至工廠資料、氣體排放資料、重要日程資料等等。如果你要分析影響公司銷售的關鍵因素,你就需要呼叫公司的歷史銷售資料、使用者畫像資料、廣告投放資料等。

資料的獲取方式有多種。

一是公司的銷售、使用者資料,可以直接從企業資料庫調取,所以你需要SQL技能去完成資料提取等的資料庫管理工作。比如你可以根據你的需要提取2017年所有的銷售資料、提取今年銷量最大的50件商品的資料、提取上海、廣東地區使用者的消費資料……,SQL可以通過簡單的命令幫你完成這些工作。

第二種是獲取外部的公開資料集,一些科研機構、企業、政府會開放一些資料,你需要到特定的網站去下載這些資料。這些資料集通常比較完善、質量相對較高。當然這種方式也有一些缺陷,通常資料會發布的比較滯後,但通常因為客觀性、權威性,仍然具有很大的價值。

第三種是編寫網頁爬蟲,去收集網際網路上的資料。比如你可以通過爬蟲獲取招聘網站某一職位的招聘資訊,爬取租房網站上某城市的租房資訊,爬取豆瓣評分評分最高的電影列表,獲取知乎點贊排行、網易雲音樂評論排行列表。基於網際網路爬取的資料,你可以對某個行業、某種人群進行分析,這算是非常靠譜的市場調研、競品分析的方式了。

當然,比較BUG的一點是,你通常並不能夠獲得所有你需要的資料,這對你的分析結果是有一定影響的,但不不影響的是,你通過有限的可獲取的資料,提取更多有用的資訊。


3.資料預處理

現實世界中資料大體上都是不完整,不一致的髒資料,無法直接進行資料分析,或分析結果差強人意。資料預處理有多種方法:資料清理,資料整合,資料變換,資料歸約等。把這些影響分析的資料處理好,才能獲得更加精確地分析結果。

比如空氣質量的資料,其中有很多天的資料由於裝置的原因是沒有監測到的,有一些資料是記錄重複的,還有一些資料是裝置故障時監測無效的。

那麼我們需要用相應的方法去處理,比如殘缺資料,我們是直接去掉這條資料,還是用臨近的值去補全,這些都是需要考慮的問題。

當然在這裡我們還可能會有資料的分組、基本描述統計量的計算、基本統計圖形的繪製、資料取值的轉換、資料的正態化處理等,能夠幫助我們掌握資料的分佈特徵,是進一步深入分析和建模的基礎。


4.資料分析與建模

在這個部分需要了解基本的資料分析方法、資料探勘演算法,瞭解不同方法適用的場景和適合的問題。分析時應切忌濫用和誤用統計分析方法。濫用和誤用統計分析方法主要是由於對方法能解決哪類問題、方法適用的前提、方法對資料的要求不清等原因造成的。

另外,選擇幾種統計分析方法對資料進行探索性的反覆分析也是極為重要的。每一種統計分析方法都有自己的特點和侷限,因此,一般需要選擇幾種方法反覆印證分析,僅依據一種分析方法的結果就斷然下結論是不科學的。

比如你發現在一定條件下,銷量和價格是正比關係,那麼你可以據此建立一個線性迴歸模型,你發現價格和廣告是非線性關係,你可以先建立一個邏輯迴歸模型來進行分析。

一般情況下,迴歸分析的方法可以滿足很大一部分的分析需求,當然你也可以瞭解一些資料探勘的演算法、特徵提取的方法來優化自己的模型,獲得更好地結果。


5.資料視覺化及資料報告的撰寫

分析結果最直接的結果是統計量的描述和統計量的展示。

比如我們通過資料的分佈發現數據分析工資最高的5個城市,目前各種語言的流行度排行榜,近幾年北京空氣質量的變化趨勢,避孕套消費的地區分佈……這些都是我們通過簡單資料分析與視覺化就可以展現出的結果。

另外一些則需要深入探究內部的關係,比如影響產品質量最關鍵的幾個指標,你需要對不同指標與產品質量進行相關性分析之後才能得出正確結論。又比如你需要預測未來某個時間段的產品銷量,則需要你對歷史資料進行建模和分析,才能對未來的情況有更精準的預測。

資料分析報告不僅是分析結果的直接呈現,還是對相關情況的一個全面的認識。我們經常看到一些行業分析報告從不同角度、深入淺析地剖析各種關係。所以你需要一個講故事的邏輯,如何從一個巨集觀的問題,深入、細化到問題內部的方方面面,得出令人信服的結果,這需要從實踐中不斷訓練。



資料分析的一般流程總的來說就是這幾個步驟:問題定義、資料獲取、資料預處理、資料分析與建模、資料視覺化與資料報告的撰寫。

最好的學習路徑是什麼?

其實就是按照資料分析這個流程,這樣你在每一部分知道需要解決哪些問題,在什麼地方應用。而每一部分,你都能輸出一些自己的成果。強烈推薦DC學院的《資料分析師》課程,這正是按照這樣的流程來學習的。