大數據與投資管理#
**大數據(big data)**的特徵可由「四個 V」概括:
- Volume(量):資料量極大
- Velocity(速度):產生與處理速度極快
- Variety(種類):來源與形式多元
- Veracity(真實性):品質與可信度可能較低
對金融科技與投資管理而言,大數據蘊含巨大潛力,從訊號探勘到情緒分析、從風險建模到客戶分群。本章聚焦在結合結構化資料與文字資料的機器學習專案的完整流程。
機器學習專案的步驟#
結構化資料的傳統流程#
- 問題概念化:明確界定要解的問題與目標變數
- 資料蒐集
- 資料準備與整理(清洗 + 預處理)
- 資料探索(探索性分析、特徵選擇、特徵工程)
- 模型訓練(方法選擇、效能評估、模型調校)
文字資料的流程差異#
前四步驟須改寫為針對文字的版本:
- 文字問題定義
- 文字蒐集(curation)
- 文字準備與整理
- 文字探索
- 模型訓練(與結構化資料相似)
兩種流程在最後一步(模型訓練)通常差異不大;前面準備與探索階段才是分歧所在。
結構化資料的準備與整理#
資料清洗#
**資料清洗(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 演算法的輸入