Skip to content

Latest commit

 

History

History
64 lines (44 loc) · 7.92 KB

66.数据分析概述.md

File metadata and controls

64 lines (44 loc) · 7.92 KB

資料分析概述

當今世界對資訊科技的依賴程度在不斷加深,每天都會有大量的資料產生,我們經常會感到資料越來越多,但是要從中發現有價值的資訊卻越來越難。這裡所說的資訊,可以理解為對資料集處理之後的結果,是從資料集中提煉出的可用於其他場合的結論性的東西,而從原始資料中抽取出有價值的資訊的這個過程我們就稱之為資料分析,它是資料科學工作的一部分。

定義:資料分析是有針對性的收集、加工、整理資料並採用統計、挖掘等技術對資料進行分析和解釋的科學和藝術

資料分析師的職責和技能棧

HR在釋出招聘需求時,通常將資料工程、資料分析、資料探勘等崗位都統稱為資料分析崗位,但是根據工作性質的不同,又可以分為偏工程的資料治理方向、偏業務的資料分析方向、偏演算法的資料探勘方向、偏開發的資料開發方向、偏產品的資料產品經理。我們通常所說的資料分析師主要是指業務資料分析師,很多資料分析師的職業生涯都是從這個崗位開始的,而且這個崗位也是招聘數量最多的崗位。業務資料分析師在公司通常不屬於研發部門而屬於運營部門,所以這個崗位也稱為資料運營商業分析,這類人員通常也被稱為“BI工程師”。通常招聘資訊對這個崗位的描述(JD)是:

  1. 負責相關報表的輸出。
  2. 建立和最佳化指標體系。
  3. 監控資料波動和異常,找出問題。
  4. 最佳化和驅動業務,推動數字化運營。
  5. 找出潛在的市場和產品的上升空間。

根據上面的描述,作為業務資料分析師,我們的工作不是給領導一個簡單淺顯的結論,而是結合公司的業務,完成監控資料揪出異常找到原因探索趨勢等工作。作為資料分析師,不管是用 Python 語言、Excel、SPSS或其他的商業智慧工具,工具只是達成目標的手段,資料思維是核心技能,從實際業務問題出發到最終發現數據中的商業價值是終極目標。資料分析師在很多公司只是一個基礎崗位,精於業務的資料分析師可以向資料分析經理資料運營總監等管理崗位發展;對於熟悉機器學習演算法的資料分析師來說,可以向資料探勘工程師演算法專家方向發展,而這些崗位除了需要相應的數學和統計學知識,在程式設計能力方面也比資料分析師有更高的要求,可能還需要有大資料儲存和處理的相關經驗。資料治理崗位主要是幫助公司建設資料倉庫或資料湖,實現資料從業務系統、埋點系統、日誌系統到分析庫的轉移,為後續的資料分析和挖掘提供基礎設施。資料治理崗位對 SQL 和 HiveSQL 有著較高的要求,要求能夠熟練的使用 ETL 工具,此外可能還需要對 Hadoop 生態圈有一個很好的認知。作為資料產品經理,除了傳統產品經理的技能棧之外,也需要較強的技術能力,例如要了解常用的推薦演算法、機器學習模型,能夠為演算法的改進提供依據,能夠制定相關埋點的規範和口徑,雖然不需要精通各種演算法,但是要站在產品的角度去考慮資料模型、指標、演算法等的落地

以下是我總結的資料分析師的技能棧,僅供參考。

  1. 計算機科學(資料分析工具、程式語言、資料庫)
  2. 數學和統計學(資料思維、統計思維)
  3. 人工智慧(機器學習中的資料探勘演算法)
  4. 業務理解能力(溝通、表達、經驗)
  5. 總結和表述能力(商業PPT、文字總結)

資料分析的流程

我們提到數分析這個詞很多時候可能指的都是狹義的資料分析,這類資料分析主要目標就是生成視覺化報表並透過這些報表來洞察業務中的問題。廣義的資料分析還包含了資料探勘的部分,不僅要透過資料實現對業務的監控和分析,還要利用機器學習演算法,找出隱藏在資料背後的知識,並利用這些知識為將來的決策提供支撐。簡單的說,一個完整的資料分析應該包括基本的資料分析和深入的資料探勘兩個部分

基本的資料分析工作一般包含以下幾個方面的內容,當然因為行業和工作內容的不同會略有差異。

  1. 確定目標(輸入):理解業務,確定指標口徑
  2. 獲取資料:資料倉庫、電子表格、三方介面、網路爬蟲、開放資料集等
  3. 清洗資料:缺失值/重複值/異常值處理、資料變換(格式化、規範化)、離散化等
  4. 資料透視:運算、統計、分組、聚合、視覺化
  5. 資料報告(輸出):資料釋出,工作成果總結匯報
  6. 分析洞察(後續):解釋資料的變化,提出對應的方案

深入的資料探勘工作通常包含以下幾個方面的內容,當然因為行業和工作內容的不同會略有差異。

  1. 確定目標(輸入):理解業務,明確挖掘目標
  2. 資料準備:資料採集、資料描述、資料探索、質量判定等
  3. 資料加工:提取資料、清洗資料、資料變換、特殊編碼、降維、特徵選擇等
  4. 資料建模:模型比較、模型選擇、演算法應用
  5. 模型評估:交叉檢驗、引數調優、結果評價
  6. 模型部署(輸出):模型落地、業務改進、運營監控、報告撰寫

資料分析相關庫

使用 Python 從事資料科學相關的工作是一個非常棒的選擇,因為 Python 整個生態圈中,有大量的成熟的用於資料科學的軟體包(工具庫)。而且不同於其他的用於資料科學的程式語言(如:Julia、R),Python 除了可以用於資料科學,能做的事情還很多,可以說 Python 語言幾乎是無所不能的。

三大神器

  1. NumPy:支援常見的陣列和矩陣操作,透過ndarray類實現了對多維陣列的封裝,提供了操作這些陣列的方法和函式集。由於 NumPy 內建了並行運算功能,當使用多核 CPU 時,Numpy會自動做平行計算。
  2. Pandas:pandas 的核心是其特有的資料結構DataFrameSeries,這使得 pandas 可以處理包含不同型別的資料的負責表格和時間序列,這一點是NumPy的ndarray做不到的。使用 pandas,可以輕鬆順利的載入各種形式的資料,然後對資料進行切片、切塊、處理缺失值、聚合、重塑和視覺化等操作。
  3. Matplotlib:matplotlib 是一個包含各種繪圖模組的庫,能夠根據我們提供的資料建立高質量的圖形。此外,matplotlib 還提供了 pylab 模組,這個模組包含了很多像 MATLAB 一樣的繪圖元件。

其他相關庫

  1. SciPy:完善了 NumPy 的功能,封裝了大量科學計算的演算法,包括線性代數、稀疏矩陣、訊號和影象處理、最最佳化問題、快速傅立葉變換等。
  2. Seaborn:seaborn 是基於 matplotlib 的圖形視覺化工具,直接使用 matplotlib 雖然可以定製出漂亮的統計圖表,但是總體來說還不夠簡單方便,seaborn 相當於是對 matplotlib 做了封裝,讓使用者能夠以更簡潔有效的方式做出各種有吸引力的統計圖表。
  3. Scikit-learn:scikit-learn 最初是 SciPy 的一部分,它是 Python 資料科學運算的核心,提供了大量機器學習可能用到的工具,包括:資料預處理、監督學習(分類、迴歸)、無監督學習(聚類)、模式選擇、交叉檢驗等。
  4. Statsmodels:包含了經典統計學和經濟計量學演算法的庫。