歡迎來到大數據項目的世界!
你好!既然你能來到 CFA Level II,你一定已經知道數據是現代金融的生命線。在本章中,我們將超越簡單的電子表格,深入探討大數據項目 (Big Data Projects) 的結構化工作流程。你可以把這部分內容看作是一份「說明書」,教導投資公司如何將原始、混亂的數據轉化為具備可操作性的投資信號。別擔心自己不是電腦科學家——我們將運用邏輯和生活化的類比,一步步為你拆解其中的奧秘。
1. 大數據項目生命週期
大數據項目不僅僅是「計算數據」,它遵循一個特定且合乎邏輯的順序。如果你跳過了某個步驟,整個分析可能會功虧一簣。想像一下烘焙一個複雜的蛋糕:如果你沒有正確準備材料,那麼烤箱再高級也沒用!
標準的工作流程包含以下五個主要步驟:
1. 構思項目 (Conceptualizing): 定義問題。
2. 數據收集 (Data Collection): 收集原始素材。
3. 數據準備/整理 (Data Wrangling): 清理並組織數據。
4. 模型構建 (Model Building): 真正的「機器學習」部分。
5. 模型評估 (Model Evaluation): 檢查結果是否有實用價值。
小貼士: 數據準備通常佔據數據科學家 80% 的時間。在 CFA 考試中,請務必留意關於清理數據的步驟!
2. 第 1 & 2 步:構思與數據收集
在接觸任何數據之前,你必須先問自己:「我到底要解決什麼問題?」你是要預測股價?還是要檢測欺詐交易?當目標確定後,你才能開始收集數據。
數據來源類型
在大數據項目中,我們主要處理兩種類型的數據:
- 結構化數據 (Structured Data): 想像成標準的 Excel 表格,它有明確的行和列(例如:歷史股價、市盈率 P/E Ratio)。
- 非結構化數據 (Unstructured Data): 這是像新聞文章、社交媒體帖文或企業財報電話會議記錄這類「混亂」的數據。這通常需要使用自然語言處理 (NLP) 來進行理解。
關鍵點: 任何項目的基礎都是清晰的目標和多元且可靠的數據來源。
3. 第 3 步:數據準備(「清理」階段)
原始數據幾乎總是「髒」的。它包含了錯誤、缺失值和異常值。我們使用數據整理 (Data Wrangling) 或預處理來修復這些問題。
A. 處理缺失數據
如果出現數據缺失,你通常有兩種選擇:
- 剔除 (Exclusion): 直接刪除該行。(要小心!如果你刪除太多數據,會損失重要資訊)。
- 填補 (Imputation): 使用邏輯推斷來填補空缺,例如使用其他數據點的平均值 (Mean) 來填補。
B. 處理異常值 (Outliers)
異常值是會扭曲模型的極端數值。你可以採取:
- 截尾 (Trim): 直接刪除數據中最高和最低的 1%。
- 縮尾處理 (Winsorize): 不刪除異常值,而是將其限制在某個百分位數內(例如,將第 99 百分位數的值改為第 95 百分位數的值)。
C. 縮放與標準化
想像一下,如果要比較股價($2,000)和股息收益率(0.02)。模型可能會因為股價的數值較大而誤認為它「更重要」。為了修正這個問題,我們會對數據進行縮放:
- 最小-最大縮放 (Min-Max Scaling): 將所有數據壓縮到 0 到 1 之間。
- 標準化 (Standardization): 將數據進行中心化處理,使其平均值為 0,標準差為 1。
助記詞: S.O.M. (Scale 縮放, Outliers 異常值, Missing 缺失值)。當有人問你如何準備數據時,記住這三個重點!
4. 第 4 步:模型構建
現在進入「AI」部分。我們將數據分為兩組:
1. 訓練集 (Training Set): 模型用來「學習」模式的數據。
2. 測試集 (Test Set): 用於檢查模型是否真正有效的全新數據。
常見錯誤: 數據洩漏 (Data Leakage)。 如果測試集中的資訊「洩漏」到了訓練集中,就會發生這種情況。這就像學生在考試前偷看了答案一樣——他們可能會拿到 100 分,但實際上並沒有真正學到任何東西!
欠擬合 (Underfitting) 與 過擬合 (Overfitting)
- 欠擬合: 模型過於簡單(高偏差/High Bias)。它無法捕捉到數據趨勢。
- 過擬合: 模型過於複雜,記住了訓練數據中的「雜訊」(高方差/High Variance)。它在訓練數據上表現完美,但在處理真實世界的數據時卻一敗塗地。
關鍵點: 我們追求的是「恰到好處」的模型——既不過於簡單,也不過於複雜,而是剛剛好(低偏差且低方差)。
5. 第 5 步:模型評估(衡量成功)
我們如何知道模型是否好用?對於分類任務(如「買入」對比「賣出」),我們會使用混淆矩陣 (Confusion Matrix)。
想像一個預測公司是否會破產的模型:
- 真陽性 (TP): 預測會破產,且確實發生了。(正確!)
- 真陰性 (TN): 預測不會破產,且確實沒發生。(正確!)
- 偽陽性 (False Positive - 第一類錯誤/Type I Error): 預測會破產,但公司運作良好。(誤報)
- 偽陰性 (False Negative - 第二類錯誤/Type II Error): 預測運作良好,但公司卻破產了。(這是最危險的錯誤!)
必須背誦的關鍵指標:
1. 精確率 (Precision): 在所有預測為「陽性」的案例中,有多少是正確的?
\( Precision = \frac{TP}{TP + FP} \)
2. 召回率 (Recall / Sensitivity): 在所有實際為陽性的案例中,我們抓住了多少?
\( Recall = \frac{TP}{TP + FN} \)
3. 準確率 (Accuracy): 總預測正確的百分比。
\( Accuracy = \frac{TP + TN}{Total} \)
4. F1 分數 (F1 Score): 精確率和召回率的調和平均數。當數據存在不平衡 (Imbalanced data) 時(例如:99% 的公司不會破產,只有 1% 會破產),請務必使用此指標。
你知道嗎? 高準確率往往具有欺騙性!如果 99% 的公司都是健康的,一個「笨」模型只要預測所有人「都不會破產」,就能獲得 99% 的準確率,但它完全無法找出那 1% 會失敗的公司。這就是為什麼我們需要 F1 分數。
6. 視覺化性能:ROC 和 AUC
對於二元分類,我們常使用受試者工作特徵曲線 (ROC curve)。
- 它繪製了真陽性率 (Recall) 對比 偽陽性率 的關係。
- 曲線下面積 (AUC) 告訴我們模型區分不同類別的能力。
- AUC 為 1.0 是完美的。AUC 為 0.5 代表模型就像拋硬幣一樣隨機猜測。
摘要與最後複習
- 工作流程: 構思 (Concept) -> 收集 (Collect) -> 準備 (Prepare) -> 構建 (Build) -> 評估 (Evaluate)。
- 數據整理: 修復缺失值和進行數據縮放對於確保「公平」的比較至關重要。
- 過擬合: 機器學習的死敵。當模型過於靈活時就會發生。
- 指標: 不要只相信準確率。要同時看精確率(避免誤報)和召回率(確保不遺漏目標)。
- 不平衡數據: 當「陽性」事件極少發生時,請務必查看 F1 分數或 AUC。
如果精確率和召回率的公式初看令人困惑,別擔心。只需記住:精確率 (Precision) 是關於「精確」(當你說「是」的時候,不要出錯),而召回率 (Recall) 是關於「召回」或「尋找」所有存在的目標!