大數據與投資管理#

**大數據(big data)**的特徵可由「四個 V」概括:

  • Volume(量):資料量極大
  • Velocity(速度):產生與處理速度極快
  • Variety(種類):來源與形式多元
  • Veracity(真實性):品質與可信度可能較低

對金融科技與投資管理而言,大數據蘊含巨大潛力,從訊號探勘到情緒分析、從風險建模到客戶分群。本章聚焦在結合結構化資料與文字資料的機器學習專案的完整流程。

機器學習專案的步驟#

結構化資料的傳統流程#

  1. 問題概念化:明確界定要解的問題與目標變數
  2. 資料蒐集
  3. 資料準備與整理(清洗 + 預處理)
  4. 資料探索(探索性分析、特徵選擇、特徵工程)
  5. 模型訓練(方法選擇、效能評估、模型調校)

文字資料的流程差異#

前四步驟須改寫為針對文字的版本:

  1. 文字問題定義
  2. 文字蒐集(curation)
  3. 文字準備與整理
  4. 文字探索
  5. 模型訓練(與結構化資料相似)

兩種流程在最後一步(模型訓練)通常差異不大;前面準備與探索階段才是分歧所在。

結構化資料的準備與整理#

資料清洗#

**資料清洗(data cleansing)**處理六類錯誤:

  • 不完整(incompleteness):缺失值
  • 無效(invalidity):超出允許範圍
  • 不準確(inaccuracy):與真實值不符
  • 不一致(inconsistency):同一變數不同表示
  • 不統一(non-uniformity):單位或格式不同
  • 重複(duplication):同一筆資料多次出現

資料預處理#

結構化資料的預處理常見變換:

  • 萃取(extraction):從現有變數產生新變數
  • 聚合(aggregation):將多個變數合併
  • 過濾(filtration):依條件保留部分資料
  • 選擇(selection):保留有用變數
  • 轉換(conversion):型別或尺度轉換(如標準化 normalization

文字資料的準備與整理#

文字清洗#

文字清洗通常包括:

  • 移除 HTML 標籤
  • 移除標點符號(多數情況下標點不影響語意)
  • 移除數字(依任務決定)
  • 移除多餘空白(連續空格、Tab、換行)

文字預處理(正規化)#

**正規化(normalization)**步驟包含:

  • 小寫化(lowercasing):消除大小寫差異
  • 移除停用詞(remove stop words):例如 “the”、“is”、“of” 等高頻但低資訊量的詞
  • 詞幹化(stemming):粗略截斷後綴(如 “running” → “run”)
  • 詞形還原(lemmatization):依語言學規則還原至基本形態
  • 建立詞袋(bag of words, BOW)與 n-grams
  • 組織為文件詞彙矩陣(document term matrix, DTM)

n-grams 將相鄰 $n$ 個詞視為一個 token,可保留部分語序資訊(如 “not good” 與 “good” 的差異)。

資料探索#

探索性資料分析#

  • 結構化資料:直方圖、箱形圖、散布圖
  • 文字資料:詞雲(word cloud)能快速呈現文本組成

特徵選擇#

針對文字資料的特徵選擇:

  • 詞頻(term frequency, TF)
  • 文件頻率(document frequency, DF)
  • 卡方檢定(chi-square test)
  • 互資訊(mutual information)

特徵工程#

文字資料的特徵工程包括:

  • 將數字轉為 tokens
  • 建立 n-grams
  • 使用**命名實體辨識(named entity recognition, NER)**辨識人名、組織名等
  • 使用**詞性標註(parts of speech, POS)**標示語法角色

TF–IDF#

TF–IDF結合詞頻與逆文件頻率:

$$ \text{TF-IDF}(w, d) = \text{TF}(w, d) \times \log\left(\frac{N}{\text{DF}(w)}\right) $$

  • 詞頻反映該詞在文件內的重要性
  • 逆文件頻率懲罰在許多文件都出現的「常見詞」
  • 高 TF–IDF → 該詞對特定文件具有區別力

模型訓練#

方法選擇#

依下列因素決定:

  • 資料有無標註:監督式 vs 非監督式學習
  • 資料型態:數值(連續或類別)、文字、影像、語音
  • 資料集大小

效能評估#

混淆矩陣#

對分類問題,**混淆矩陣(confusion matrix)**列出:

真實\預測正類負類
正類TP(真陽性)FN(假陰性)
負類FP(假陽性)TN(真陰性)

由此計算:

$$ \text{Accuracy} = \frac{TP + TN}{TP + TN + FP + FN} $$

$$ \text{Precision} = \frac{TP}{TP + FP}, \quad \text{Recall} = \frac{TP}{TP + FN} $$

$$ F_1 = \frac{2 \cdot \text{Precision} \cdot \text{Recall}}{\text{Precision} + \text{Recall}} $$

準確率與 F1 分數越高越好。

ROC 曲線與 AUC#

ROC 曲線(receiver operating characteristic curve):在不同分類門檻下,繪製真陽率對假陽率的關係。

曲線下面積(area under the curve, AUC)

  • AUC 越接近 1,模型區分能力越強
  • ROC 曲線越「向左上凸」,模型表現越好

連續目標:RMSE#

對迴歸問題,採用**均方根誤差(root mean square error, RMSE)**作為衡量指標。

模型調校#

模型調校的核心是管理偏誤–變異權衡

  • 偏誤誤差 ↑ → 配適不足(underfitting)
  • 變異誤差 ↑ → 過度配適(overfitting)

繪製配適曲線(fitting curve):y 軸為樣本內與樣本外(交叉驗證)誤差,x 軸為模型複雜度。隨複雜度增加,樣本內誤差持續下降但樣本外誤差先降後升,最佳點即為平衡兩種誤差之處。

文字分類專案的典型流程#

實務中,金融文字情緒分析的步驟為:

flowchart LR
    A[原始文字] --> B[清洗]
    B --> C[正規化]
    C --> D[Tokenize/n-grams]
    D --> E[建立 DTM]
    E --> F[特徵選擇/工程]
    F --> G[ML 訓練]
    G --> H[效能評估與調校]

文字資料經轉換為結構化的 DTM 後,即可作為 ML 演算法的輸入。

本章重點回顧#

  • 大數據的四個 V:量、速度、種類、真實性
  • ML 專案流程:問題定義 → 資料蒐集 → 準備整理 → 探索 → 模型訓練;文字資料前四步驟有特化版本
  • 結構化資料清洗處理六類錯誤(不完整、無效、不準確、不一致、不統一、重複)
  • 文字清洗與正規化:移除 HTML、標點、數字、空白;小寫化、停用詞、詞幹化、詞形還原、BOW、n-grams、DTM
  • 文字特徵選擇方法:TF、DF、卡方、互資訊;特徵工程包括 NER、POS、TF–IDF
  • 分類效能評估透過混淆矩陣計算準確率、精確率、召回率、F1;以 ROC 曲線與 AUC 比較模型
  • 模型調校的核心是偏誤–變異權衡;配適曲線可協助找到最佳複雜度
  • 文字分類專案最終把非結構化文字轉換為結構化 DTM,作為 ML 演算法的輸入