離群值偵測:Hotelling T² 與 Q 殘差

在近紅外光譜裡找出「怪怪的樣本」——是儀器出錯、樣本異常,還是食品被摻假?用兩個資料集學會分辨兩種完全不同的離群。

Corn80 樣本 × 3 儀器
T² vs Q兩種離群
影響圖一眼看懂
蜂蜜摻假 = Q 離群
為什麼要學

離群樣本會毀掉一個好模型

建 PCA / PLS 校正模型前,第一件事是檢查有沒有離群樣本。一個裝錯、量錯、或被摻假的樣本,會把回歸線整條拉歪、把主成分方向帶偏。但「離群」不是只有一種——這一章要教你分辨兩種,並用一張影響圖同時看到它們。

① Hotelling T²(模型內)

在主成分方向上「太極端」的樣本。形狀對、但強度落在群體邊緣——高 leverage,會像槓桿一樣撬動模型。

幾何:離群心太遠,但仍貼在主成分超平面上。

② Q 殘差 / SPE(模型外)

模型「解釋不掉」的樣本:帶有主成分沒見過的新訊號。最典型就是摻假 / 汙染 / 拿錯樣品

幾何:偏離主成分超平面,殘差特別大。

其中 是第 個樣本在第 個主成分的分數、 是該主成分的特徵值;Q 則是重建殘差的平方和 。兩者各有 95%/99% 控制界限(T² 用 F 分布、Q 用 Jackson–Mudholkar 近似)。

一句話:一個樣本可能 T² 高但 Q 低(極端但仍符合模型)、Q 高但 T² 低(有模型沒見過的訊號,像摻假),或兩者都高(最可疑)。只看其中一個會漏抓。
怎麼執行 · How to run

雲端 Colab(零安裝)或本機 Python

所有分析整理成一個 Jupyter notebook,含 Corn 與蜂蜜兩個案例、T² 信賴橢圓與 Q 影響圖。最推薦 Google Colab:只要瀏覽器就能跑,手機平板也行,資料自動線上讀取、零安裝零下載

① 雲端執行(建議)

點按鈕在 Colab 開啟 → 選「執行階段 ▸ 全部執行」。numpy / pandas / scikit-learn / scipy / matplotlib Colab 都已預裝。

Open in Colab

② 本機執行

下載 notebook 與資料,用自己的 Jupyter / VS Code 開。需先裝一次:pip install numpy pandas scikit-learn scipy matplotlib

案例一 · Corn NIR

Corn:T² 與 Q 抓到的是不同樣本

Eigenvector Corn 是化學計量學的經典資料集:80 個玉米樣本,同一批用 3 台近紅外儀(m5 / mp5 / mp6)量測,波長 1100–2498 nm(700 點),附 moisture / oil / protein / starch。先用單一台 m5,做 SNV → PCA → 找離群。

80 × 7003 台儀器Eigenvector 公開SNV + PCA

Corn 原始 vs SNV 光譜
SNV 前處理:逐樣本標準化,去除散射造成的基線漂移,讓化學差異更突出。

Score plot + 95% T² 信賴橢圓

在 PC1–PC2 平面畫出 95% 信賴橢圓,掉在橢圓外的點就是 T² 方向的離群候選。顏色越亮 = T² 越大。

Corn score plot with Hotelling T2 ellipse
樣本 68、75 明顯衝出橢圓——在主成分方向上強度極端(高 leverage)。

影響圖(Influence plot):一張圖看懂兩種離群

把每個樣本畫在 (T², Q) 平面,兩條虛線是 95% 界限,切成四象限。這是離群偵測最重要的一張圖

Corn influence plot T2 vs Q
右下(68、75)=高 T² 低 Q:極端但符合模型。左上(46、47、63、64、65)=高 Q 低 T²:模型沒見過的殘差。兩組是不同樣本!
象限Q意義Corn 例子
右下極端但仍符合模型(高 leverage)68、75
左上模型外的新訊號(可疑:摻假/汙染/錯樣)46、47、63–65
右上最可疑,通常直接剔除
左下正常樣本其餘

為什麼樣本 75(高 T²)和樣本 46(高 Q)不一樣?

high T2 vs high Q spectra comparison
左:高 T² 樣本的光譜「形狀對、幅度極端」。右:高 Q 樣本有一段模型解釋不掉的殘差——這正是 Q 在抓的東西。
觀念延伸

離群不一定是壞樣本:儀器差異

把同一批 80 樣本在 3 台儀器 的光譜疊起來(240 列)做 PCA,會看到三群分開。這不是樣本壞掉,而是儀器/校正差異造成的系統性離群——這正是 calibration transfer(校正轉移)要解決的問題。

instrument clusters before and after SNV
左:原始光譜三台儀器分很開。右:SNV 後三群明顯靠攏。前處理能吸收掉一部分儀器差異。
教學重點:發現離群時,先問「這是壞樣本,還是可校正的系統性效應?」。直接刪點之前,先看它是 T² 型還是 Q 型、能不能用前處理修掉。
案例二 · 蜂蜜摻假

蜂蜜摻假:摻糖漿 = 殘差空間離群

⚠ 教學模擬資料:本案例的蜂蜜光譜為程式合成,譜帶中心取自真實 NIR 文獻(水 O–H ~1450 / 1940 nm、糖 C–H/O–H overtone ~1200 / 1690 / 2100 nm),僅供教學示範兩種離群與 one-class 觀念,不可用於真實蜂蜜鑑別結論。真實資料請見文末參考文獻。

作法是 SIMCA / one-class 思路:只用純蜜樣本建 PCA 模型,再把摻假樣本投影進來看 Q 殘差。摻假引入模型沒見過的糖漿訊號,所以 Q 會隨摻假比例上升——不需要事先知道摻了什麼,就能把它抓出來。

honey pure vs adulterated mean spectra
純蜜與不同摻假比例的平均光譜:摻糖漿改變了糖帶的相對強度。
honey Q by adulteration level and influence plot
左:Q 隨摻假比例(10→20→40%)單調上升,越摻越多越好抓。右:影響圖,色越紅 = 摻越多;藍圈是 gross 離群(氣泡/高溫/汙染)。
兩個真實世界的教訓:①用 Q 殘差就能偵測未知摻假物,不必事先知道摻什麼。②低比例(10%)摻假有不少樣本卡在界限附近、難以偵測——這是所有摻假偵測方法的共同限制,別誇大靈敏度。
Orange · 不用寫程式

用 Orange Data Mining 拖一遍

不想寫 Python?Orange 是拖拉式工具。用 PCA → Scatter Plot 肉眼找 T² 離群,用 Outliers widget 自動標記。注意:Q 殘差這一側 Orange 沒有內建,要完整教兩種離群仍建議搭配 Python notebook。

① Corn 離群

PCA→Scatter 找 T² 離群;Outliers widget 自動標記+列清單。

② 儀器離群

三儀器合併 PCA,依 instrument 上色看系統性離群。

③ 蜂蜜摻假

依 label 上色,Outliers widget 標記摻假樣本。

File(corn_m5_orange.tab)
→ PCA ──────▶ Scatter Plot(PC1×PC2,肉眼找 T² 離群)
→ Outliers(Elliptic Envelope)
   ├ Data ─────▶ Scatter Plot(color = Outlier)
   └ Outliers ─▶ Data Table(列出是哪些 sample)
注意:Orange 是桌面程式需先安裝下載),無法在 Colab 執行。沒有電腦或安裝有困難,請用上面的 Colab notebook
形成性評量 · 看學習成效

離群偵測測驗(10 題)

作答會即時批改並給解析。輸入學號後,你的作答與分數會記錄下來,老師可看全班學習成效(記錄於課程既有系統,沿用你在其他食品分析頁面的學號)。

尚未登入(作答仍可即時批改,只是不會上傳)
作答進度 0 / 10目前得分 0
學術參考文獻 · References

離群偵測的原始文獻

本頁用到的 Hotelling T²、Q 殘差(SPE)界限、T²–Q 影響圖與 one-class 摻假偵測,都有明確的原始出處。以下依主題整理,點 DOI 可連到原文。

① PCA 基礎與主成分空間距離

  1. Bro, R., & Smilde, A. K. (2014). Principal component analysis. Analytical Methods, 6(9), 2812–2831. 10.1039/C3AY41907J 易讀入門
  2. De Maesschalck, R., Jouan-Rimbaud, D., & Massart, D. L. (2000). The Mahalanobis distance. Chemometrics and Intelligent Laboratory Systems, 50(1), 1–18. 10.1016/S0169-7439(99)00047-7 T²=score 空間馬氏距離

② Hotelling T² 與 Q 殘差 / SPE 控制界限

  1. Hotelling, H. (1931). The generalization of Student's ratio. The Annals of Mathematical Statistics, 2(3), 360–378. 10.1214/aoms/1177732979 T² 起源
  2. Jackson, J. E., & Mudholkar, G. S. (1979). Control procedures for residuals associated with principal component analysis. Technometrics, 21(3), 341–349. 10.1080/00401706.1979.10489679 Q/SPE 界限(本頁採用)
  3. Nomikos, P., & MacGregor, J. F. (1995). Multivariate SPC charts for monitoring batch processes. Technometrics, 37(1), 41–59. 10.1080/00401706.1995.10485888 T² 與 SPE 管制圖

③ 影響圖(Influence / diagnostic plot)與穩健離群偵測

  1. Wise, B. M., & Gallagher, N. B. (1996). The process chemometrics approach to process monitoring and fault detection. Journal of Process Control, 6(6), 329–348. 10.1016/0959-1524(96)00009-1 Q vs T² 影響圖(與 Corn 同源 Eigenvector)
  2. Hubert, M., Rousseeuw, P. J., & Vanden Branden, K. (2005). ROBPCA: a new approach to robust principal component analysis. Technometrics, 47(1), 64–79. 10.1198/004017004000000563 穩健 PCA · outlier map

④ One-class / SIMCA 與食品真偽(摻假)

  1. Wold, S. (1976). Pattern recognition by means of disjoint principal components models. Pattern Recognition, 8(3), 127–139. 10.1016/0031-3203(76)90014-5 SIMCA 原始
  2. Rodionova, O. Ye., Titova, A. V., & Pomerantsev, A. L. (2016). Discriminant analysis is an inappropriate method of authentication. TrAC Trends in Analytical Chemistry, 78, 17–22. 10.1016/j.trac.2016.01.010 真偽要用 one-class
  3. Oliveri, P. (2017). Class-modelling in food analytical chemistry: Development, sampling, optimisation and validation issues — A tutorial. Analytica Chimica Acta, 982, 9–19. 10.1016/j.aca.2017.05.013 食品 class-modelling tutorial
怎麼引用本頁方法:T² 信賴橢圓與界限見 Hotelling (1931)Nomikos & MacGregor (1995);Q 殘差界限用 Jackson & Mudholkar (1979) 的近似式;T²–Q 影響圖見 Wise & Gallagher (1996);穩健版 outlier map 見 Hubert et al. (2005);蜂蜜摻假的 one-class 觀念見 Oliveri (2017)Rodionova et al. (2016)
下一步 · 參考資源

延伸與資料來源