資料分析解決商業問題學習筆記
一. 分析框架
我們在使用資料分析解決商業問題時,使用了一種被稱為“跨行業資料探勘標準流程(CRISP-DM)”的問題解決框架,這套分析框架最初是為資料探勘問題服務的,但它對各種各樣的商業問題也有很好的效果。
“一種資料探勘過程模型,描述了資料探勘專家用來解決問題的常用方法……是業內資料探勘工程師使用的主要方法” —— 維基百科
CRISP-DM通過以下步驟來系統地解決問題:
- 業務理解 Business Issue Understanding
- 資料理解 Data Understanding
- 資料準備 Data Preparation
- 分析/建模 Analysis/Modeling
- 模型評估 Validation
- 模型釋出/視覺化 Presentation/Visualization
下面我們將沿著這個步驟深入理解CRISP-DM分析框架。
1.1 業務理解
解決問題的第一步,一定是對業務問題本身的理解。業務理解要求我們從業務角度瞭解專案目標和要求,然後轉化為資料探勘問題的定義,最後擬定達成業務目標的初步方案。能夠觸發我們進行思考的,一定是一些問題,這裡不妨先提出一些問題來幫助我們理解業務:
- 需要做出哪些決策?(What DECISION needs to be made)
- 需要獲得哪些資訊,才能做出這些決策?(What INFORMATION is needed to inform that DECISION)
- 什麼型別的分析能夠獲取這些決策所需的資訊?(What type of ANALYSIS will provide the INFORMATION to inform that DECISION)
我們來看個例子,一家公共事業公司需要多少電力資源來供給明天24小時電力使用?
首先,需要做出的 決策 是如何供應所需的電力。那麼就需要預測是否有足夠的電力供應,還是說需要從市場上購買電力。所以這裡的關鍵 資訊 就是要知道明天每個小時需要多少電力。這個資訊是未知的,因此需要預測。所以我們需要一個預測性的 分析 來幫助我們獲得做決策時所需的資料。
1.2 資料理解
解決問題的第二步,是要知道我們所需的資料是什麼,現在可用的資料是什麼,這個非常重要。
“資料理解階段從資料收集活動開始,然後藉由一些活動來熟悉資料、檢測資料質量問題、對資料進行初步理解,或探索資料中比較有趣的資料子集,進而形成對潛在資訊的假設。” —— 維基百科
資料理解的步驟包括:
- 需要什麼資料?
- 有什麼資料可用?
- 資料的重要特徵是什麼?
對資料的深刻理解,對於確保正確的分析非常重要。
1.3 資料準備
理解業務問題並理解資料,有助於為分析準備資料。資料很少能夠被直接使用,所以需要進行一些準備。
“資料準備階段涵蓋了從原始粗糙資料中構建最終資料集(將作為建模工具的分析物件)的全部工作。資料準備工作有可能被實施多次,而且其實施順序並不是預先規定好的。這一階段的任務主要包括:製表、記錄、資料變數的選擇和轉換,以及為適應建模工具而進行的資料清理等等。” —— 維基百科
資料準備一般包括以下一個或多個操作:
- 收集:收集資料時,你可能需要從組織內的多個來源收集資料。
- 清理:你使用的資料集可能有一些問題需要在分析之前解決。這可能包括資料不正確或丟失。
- 格式化:你可能需要通過更改日期欄位的顯示方式,重新命名欄位,甚至旋轉資料來格式化資料,類似於使用資料透視表。
- 混合:你可能希望將資料與其他資料集進行混合或組合,以增加其他變數,類似於在 Excel 中使用 VLOOKUP 函式。
- 資料抽樣:最後,你可能需要對資料集進行取樣,並使用更易於管理的記錄數。
1.4 分析與建模
資料準備好後,下一步是進行分析和建模。我們會在後面詳細介紹如何通過方法圖來選擇最符合當前場景的分析和建模方法。在這一階段,最好直觀地畫出你的分析流程。概述你分析中的步驟,找出每一步需要的東西,用以獲得最終所需資料。
“在這一階段,你要選擇和應用各種各樣的建模方法,並將模型的引數校準為最佳值。通常情況下,同一種資料探勘問題型別有多種適用的方法。一些建模方法對資料形式有具體的要求。因此,往往需要返回資料準備階段。” —— 維基百科
重要步驟:
- 確定用什麼方法來解決問題
- 確定有助於解決問題的重要因素或變數
- 構建解決問題的模型
- 執行模型並移至模型評估階段
1.5 模型評估
有很多統計值可以用來確定我們解決方案的質量。如果評估下來效果不佳,我們可能要返回到分析建模那個步驟去,增加一些新資料指標,或者使用一種新的方法。要構建一個有信心的預測模型,需要經歷一個反覆迭代的過程。不要想著把所有的資料扔進一個模型,然後就能得到一個好結果。最好的模型,一定是通過有條理的分析建立的。某些情況下,可能還要回退好幾步,甚至重啟整個問題解決過程,修改一些假設和決策。
“在專案的這一階段,你已經有一個或多個,從資料分析角度看,具有較高質量的模型。在進行模型的最終部署之前,務必要更全面地評估模型,並檢查構建模型所執行的步驟,確保其能正確實現業務目標。一個關鍵目標是確定是否存在一些尚未充分考慮的重要業務問題。在此階段結束時,應對資料探勘結果的使用做出決定。” —— 維基百科
重要步驟:
- 觀察模型上的關鍵結果
- 確保結果在業務問題的情境中有意義
- 確定是否繼續下面的步驟還是返回上一階段
- 必要時重複多次
1.6 模型釋出和視覺化
經過徹底的分析,將結果有效傳達給決策者很重要。走到這一步就意味著我們的成果要對外展示了。我們要根據受眾和分析本身來確定展示的形式。注意,不是光展示就夠了。最好的方式是講述有關滿足決策者需求的資料故事。特別是對於更復雜的問題,要帶著觀眾走一遍用來分析的問題解決流程。闡明你在此過程中做出的決策和假設。對複雜的資料而言,資料視覺化有助於識別資料的趨勢。另外,給出引用的資料來源也是非常重要的。最後,你可以通過衡量分析是否支援了需要做出的決定,來判斷其是否成功。
“建立好模型並不意味著專案結束。即使模型的目的是提高對資料的理解,所獲得的理解仍然需要以一種對客戶有用的方式被組織和呈現。根據需求的不同,部署階段可以簡單到只是生成一份報告,也可以非常複雜,像實現可重複的資料儲存(例如分段分配 segment allocation)或者資料探勘過程。在許多情況下,往往是客戶而非資料分析師執行部署步驟。即使由分析師部署了模型,客戶也必須瞭解需要執行的操作,以便實際利用已構建的模型。” —— 維基百科
注意事項:
- 根據分析,確定呈現見解的最佳方式
- 根據觀眾,確定呈現見解的最佳方式
- 確保共享的資訊不要過量
- 使用結果向觀眾講述故事
- 對於更復雜的分析,你可能需要向觀眾演示分析問題解決過程
- 始終註明使用的資料來源出處
- 確保你的分析支援需要做出的決策
二. 選擇分析方法
問題解決框架有助於系統地解決商業問題,但是它無法幫助我們瞭解具體該使用哪種方法。方法圖有助於我們決定應當使用哪種方法來解決一個商業問題,可將其與問題解決框架共同使用。要確定具體的分析方法,我們要用另一個工具:方法圖(Methodology Map)。

方法圖
從方法圖的頂部開始,先確認該問題是否需要預測一個結果。如果是預測問題,就用左邊的方法;如果是非預測問題,則使用右邊的資料分析方法。
2.1 非預測性商業問題
非預測性分析可劃分成四種類型:地理空間(Geospatial)、細分(Segmentation)、聚合(Aggregation)以及描述性(Descriptive)。
2.1.1 地理空間分析(Geospatial Analysis)
這種型別的分析使用基於地理位置的資料來推導結論。例子有:通過地理區域識別客戶,計算店鋪之間的距離以及根據客戶位置建立交易區域。
2.1.2 細分分析(Segmentation Analysis)
細分是將資料分組的過程。分組可以是簡單的,比如購買不同東西的客戶,也可以是複雜的,比如根據客戶的人口特徵統計來識別相似的店鋪。
2.1.3 聚合分析(Aggregation Analysis)
此方法用於計算跨組或跨維度的資料,在資料分析中很常用。舉例來說,你可能想要某個銷售員的月度銷售彙總,將其每個月的銷售額相加即可。然後,你可能需要跨維度進行彙總,比如各銷售領域的月度銷售彙總。聚合通常用於報告,以達到劃分和區別資訊的作用,有助於管理層制定決策和觀察表現。
2.1.4 描述性分析(Descriptive Analysis)
描述性統計可提供一個數據樣本的簡單概括。比如說計算一所學校申請者的平均 GPA,或者計算一個職業棒球員的擊球平均水平。在我們的電力供應案例中,我們可以使用描述性統計來計算每小時、每天或某一天的平均溫度。一些常用的描述性統計包括平均值、中位數、眾數、標準方差和四分位差。
2.2 預測性商業問題
對於預測性問題,第一步是調查現有的資料是否足以解決問題。如果現有資料足以解決問題,我們將其歸類為“資料豐富”;如果現有資料不足以解決問題,我們將其歸類為“資料不足”。又一個簡單的方法可以判斷:你有想要預測的資料嗎?如果有,可以選擇資料豐富路徑;如果沒有,則需要選擇資料不足的路徑。
2.2.1 資料不足
如果沒有足夠的可用資料來解決問題,就需要設定一個實驗來幫助我們得到想要的資料。給出特定商業情景的實驗通常指的是 A/B 測試。
2.2.2 資料豐富
假設我們有足夠的資料進行分析,下一步就是確定我們要預測的結果是數值型結果還是非數值型結果。
迴歸模型(Regression Models)。數值型結果是那些用數字表示的結果。預測供電量或者每小時溫度都屬於數值型結果。預測數值型資料的模型被稱為迴歸模型。
分類模型(Classification Models)。非數值型結果是那些我們要預測案例或客戶所屬型別的結果,比如客戶是按時付款、延期付款還是拖欠貸款。另一個例子是:某電子裝置是否會在 1000 個小時內出故障。預測非數值型資料的模型被稱為分類模型。
例子1:三輪車製造商的生產部門。在第一個例子中,假設製造商想要利用歷史生產資料來預測,在未來六個月內,他們需要生產多少三輪車來滿足市場需求。因為製造商想要預測的結果是一個數字,目標變數是數值型。因此,他們需要用數值型或迴歸模型來解決這個問題。
例子2:Hot & Fresh Pizza 的市場部門。第二個例子中,Hot & Fresh Pizza 想用他們現有店鋪的銷售資料和這些店鋪相應的周邊人口統計資料來預測他們位於某地的新店能賣多少披薩。因為 Hot & Fresh Pizza 想要預測的是披薩的數量,目標變數是數值型。因此,他們需要用數值型或迴歸模型來解決這個問題。
例子3:銀行的風險管理部門。第三個例子中,銀行想要用他們客戶的歷史資料來預測一個新客戶會拖欠貸款、總是按時還貸還是有時按時還貸。因為銀行想要的結論是預測新客戶的型別,所以他們需要用非數值型或分類模型來解決這個問題。
2.2.2.1 數值型模型
數值型變數(Numeric Variables)的種類:三種最常見的數值型變數是連續型、基於時間型以及計數型。
-
連續型(Continuous):連續型變數能包含一個範圍內的所有數值。打個比方,你的身高能測量到多個小數位的精度,我們不會以每英寸的間隔成長。
-
基於時間型(Time-Based):基於時間的數值型變數是預測在某一段時間內會發生什麼的一種變數,常常與“預報”有關。
-
計數型(Count):計數型變數是 離散 的正整數。它們被稱為計數數字是因為被用來分析能夠計數的變數。
2.2.2.2 非數值型模型
非數值型變數(Non-Numeric Variables):非數值型變數常常被稱為分類(categorical)變數,因為變數的值用離散數字來表現可能的數值和類別。比如電子裝置是否會在 1000 個小時內出故障;或者一個客戶將會按時付款、拖延付款還是拖欠付款;或者某店鋪被劃分為大、中、小三種類型之一。
分類模型:二元和非二元(Binary and Non-Binary):當給分類變數建模時,可能的結果數量是一個重要引數。如果只有兩種可能的分類結果,比如是和否,或者對和錯,那麼這個變數就被稱為二元變數。
如果有多於兩種的分類結果,比如小、中、大或者按時付款、拖延付款、拖欠付款,那麼該變數就被稱為是非二元變數。這節課的重要內容是要能夠決定是否使用分類模型以及是否應該使用二元模型或非二元模型。