天天看點

Python 資料分析——資料分析的基本流程

作者:昌華量化
Python 資料分析——資料分析的基本流程

一個完整的資料分析項目可以分為5步,如圖1所示。

Python 資料分析——資料分析的基本流程

圖1 資料分析流程

一、問題定義

企業或組織中的資料分析必須從正确的問題開始,而該問題必須清晰、簡潔,同時要可度量。我們的目标是通過提出問題來幫助尋找新的解決方案,或者說解決特定問題。例如,公司通常會有使用者資料、營運資料、銷售資料等,我們需要利用這些資料來解決什麼問題,得出什麼結論。以下有一些例子:

· 某移動應用的新使用者注冊率趨勢如何?

· 某遊戲的玩家使用者畫像是如何的?

· 經常購買電商網站某品類的是哪類人群?

· 如何提高企業的銷售額?

· 如何對使用者畫像,如何進行精準營銷?

問題的定義通常需要分析人員對業務有深入了解,這也是經常提到的資料思維。例如,要提高企業銷售,那麼需要了解企業盈利模式是什麼;收入可以通過增加使用者來提高,還是提高價格;又或者是公司不應該專注于銷售額,而應該關注利潤。需要明确的是開始提出的問題隻是出發點而非終點,很可能在針對問題進行了一系列研究後,我們會修改最初的問題定義。而如何更好地定義問題,這就需要我們通過不斷練習來尋找對資料的感覺。

二、收集資料

有了具體的問題,就需要準備擷取相關的資料了。首先需要明确,問題對應的資料是什麼,這些資料如何定義,如何度量。之後就需要考慮哪些資料是已經存在的,哪些資料需要通過對現有資料進行加工來獲得,哪些資料還沒有。典型的資料擷取方式有以下幾種。

(1)企業資料庫/資料倉庫。大多數公司的銷售、使用者資料都可以直接從企業資料庫擷取。例如,可以根據需要提取某年所有的銷售資料、提取今年銷量最大的50件商品的資料、提取上海及廣東地區使用者的消費資料等。通過結構化查詢語言(Structured Query Language,SQL)指令,我們可以快速完成這些工作。

(2)外部公開資料集。一些科研機構、企業、政府都會開放一些資料。開放政府資料更是成為近年的熱潮,典型的有2018年12月21日,美國衆議院投票決定啟用“H.R. 4174”(Foundations for Evidence-Based Policymaking Act of 2017)。首先,這項《公共、公開、電子與必要性政府資料法案》(又稱《開放政府資料法案》)要求政府資訊應以機器可讀的格式,預設向公衆開放資料,且此類出版物不會損害隐私或安全;其次,聯邦機構在制定公共政策時,應循證使用。與之對應,大陸國務院也制定了《促進大資料發展行動綱要》,要求“2018年底前建成國家政府資料統一開放平台,率先在信用、交通、醫療、衛生、就業、社保、地理、文化、教育、科技、資源、農業、環境、安監、金融、品質、統計、氣象、海洋、企業登記監管等重要領域實作公共資料資源合理适度向社會開放”,截至2019年,已經有50多個地市開放了平台,開放了約15個領域的資料,包括教育科技、民生服務、道路交通、健康衛生、資源環境、文化休閑、機構團體、公共安全、經濟發展、農業農村、社會保障、勞動就業、企業服務、城市建設、地圖服務。

(3)爬蟲。利用爬蟲去收集網際網路上的資料是經常會采用的資料擷取方式。例如,爬取淘寶上的商品資訊;通過爬蟲擷取招聘網站某一職位的招聘資訊;爬取租房網站上某城市的租房資訊等。

(4)實驗。如果想要判斷新的應用界面是否會提高使用者轉化率,那麼可以通過實驗方式來擷取,這其實就是我們熟悉的A/B測試。針對不同的問題可以設計各種不同的實驗來擷取相應的資料。

值得一提的是,我們有時并不能夠獲得所有需要的資料,不過這并不重要,因為我們的目标是通過有限的可擷取的資料,提取更多有用的資訊。

三、資料處理

資料處理是指對采集到的資料進行加工整理,形成适合資料分析的樣式,保證資料的一緻性和有效性。它是資料分析前必不可少的階段。資料處理的基本目的是從大量的、可能雜亂無章的、難以了解的資料中抽取并推導出對解決問題有價值、有意義的資料。如果資料本身存在錯誤,那麼即使采用最先進的資料分析方法,得到的結果也是錯誤的,不具備任何參考價值,甚至還會誤導決策。

資料處理主要包括資料清洗、資料轉化、資料抽取、資料合并、資料計算等處理方法。一般的資料都需要進行一定的處理才能用于後續的資料分析工作,即使再“幹淨”的原始資料也需要先進行一定的處理才能使用。現實世界中的資料大體上都是不完整、不一緻的髒資料,無法直接進行資料分析,或分析結果不盡如人意。資料預處理有多種方法:資料清理、資料內建、資料變換、資料歸約等。把這些影響分析的資料處理好,才能獲得更加精确的分析結果。

以大衆最近關心的空氣品質資料為例,很可能其中有很多天的資料由于裝置的原因是沒有監測到的,有一些資料是記錄重複的,還有一些資料是裝置故障時監測無效的。那麼需要用相應的方法去處理,如殘缺資料,是直接去掉這條資料,還是用臨近的值去補全,這些都是需要考慮的問題。當然在這裡我們還可能會進行資料分組、基本描述統計量的計算、基本統計圖形的繪制、資料取值的轉換、資料的正态化處理等,通過這些操作掌握資料的分布特征,以幫助我們進一步深入分析和模組化。

四、資料分析

進入資料分析階段,需要了解不同方法适用的場景和問題。分析時應切忌濫用和誤用統計分析方法。濫用和誤用統計分析方法主要是由于對方法能解決哪類問題、方法适用的前提、方法對資料的要求等不清造成的。選擇幾種統計分析方法對資料進行探索性的反複分析也是極為重要的。每一種統計分析方法都有自己的特點和局限,是以,一般需要選擇幾種方法反影印證分析,僅依據一種分析方法的結果就斷然下結論是不科學的。例如,在一定條件下,發現銷量和價格成正比關系,那麼可以據此建立一個線性回歸模型,如果發現價格和廣告是非線性關系,可以先建立一個邏輯回歸模型來進行分析。一般情況下,回歸分析的方法可以滿足很大一部分的分析需求,當然也可以了解一些資料挖掘的算法和特征提取的方法來優化自己的模型,獲得更好的結果。

通過資料分析,隐藏在資料内部的關系和規律就會逐漸浮現出來,那麼通過什麼方式展現出這些關系和規律,才能一目了然呢?一般情況下,資料是通過表格和圖形的方式來呈現的,即用圖表說話。常用的資料圖表包括餅圖、柱狀圖、條形圖、折線圖、散點圖、雷達圖等,當然可以對這些圖表進一步整理加工,使之變為我們所需要的圖形,如金字塔圖、矩陣圖、瀑布圖、漏鬥圖、帕累托圖等。多數情況下,人們更願意接受圖形這種資料展現方式,因為它能更加有效、直覺地傳遞出分析師所要表達的觀點。

五、結果解讀與應用

資料分析的結果需要以報告的形式展現,資料分析師如何把資料觀點展示出來則至關重要。這一過程需要資料分析師的資料溝通能力、業務推動能力和項目工作能力。首先,深入淺出的資料報告、言簡意赅的資料結論将更有利于業務了解和接受。其次,在了解業務資料的基礎上,推動業務落地實作資料建議。通常,從業務最重要、最緊急、最能産生效果的環節開始是個好方法,與此同時需要考慮到業務落地的客觀環境,即好的資料結論需要具備客觀落地條件。最後,需要明确的是一個資料項目工作是循序漸進的過程,無論是資料分析項目還是資料産品項目,都需要資料分析師具備計劃、上司、組織、控制的項目工作能力。