食品分析數據品管Statistics & Measurement Uncertainty
Part 2 量測不確定度/第 10 章(QUAM Example A2 與 A4 完整重現)

實戰案例②滴定 ③HPLC Case Study: NaOH Standardisation & Pesticide Residue by HPLC/GC

教科書的兩個經典案例,從天平到滴定管到 HPLC 一條龍走完。這一章就是你日後寫不確定度報告的「範本」。

🔑 課前暖身 理論都學完了,來看真刀真槍:NaOH 滴定標定與麵包農藥殘留兩個國際教科書案例, 從定義被測量一路做到符合規定的報告格式。看著別人怎麼寫,你就知道自己的報告該長怎樣。
本章新詞先認識:內部驗證=用自己實驗室的歷史數據估不確定度;回收率偏倚=方法「收得回來嗎」的系統偏差;中間精密度=不同天/人/儀器的長期變異。
名詞卡住了?回 Ch0 名詞圖鑑 查白話解釋與比喻。
學習目標

10.1 案例②:NaOH 標定滴定(QUAM Example A2)

情境:以一級標準物 KHP(鄰苯二甲酸氫鉀,純度由證書保證)標定約 0.1 M 的 NaOH, 自動滴定儀以 pH 電極判定終點,滴定體積 VT ≈ 18.6 mL。

Step 1 量測模型

cNaOH = 1000 × mKHP × PKHPMKHP × VT = 1000 × 0.3888 × 1.0204.2212 × 18.64 = 0.10214 mol/L 其中 m 為 KHP 質量(g)、P 為純度、M 為莫耳質量(g/mol)、VT 為滴定體積(mL)

Step 2 魚骨圖找來源

見第 6 章圖 6-1。乘除模型 → 每個參數以相對不確定度參戰。

Step 3 量化(QUAM Table A2.1/A2.2)

成分值標準不確定度 u相對 u(x)/x評估方式
重複性 rep1.00.00050.0005過往滴定的重複變異(合併所有操作)
質量 mKHP0.3888 g0.00013 g0.00033第 7 章天平案例:解析度+校正+重複,皮毛兩次
純度 PKHP1.00.000290.00029證書 ±0.0005 → 矩形 0.0005/\(\sqrt{3}\)
莫耳質量 MKHP204.2212 g/mol0.0038 g/mol0.000019IUPAC 原子量不確定度表(貢獻極小)
滴定體積 VT18.64 mL0.013 mL0.0007校正+溫度+終點判讀(見下)
🔬 u(VT) 的解剖——滴定最重要的技術細節 ① 滴定管校正:A 級 ±0.01 mL,三角形 → 0.01/\(\sqrt{6}\) = 0.004 mL
② 溫度:實驗室 ±4 ℃,水體積膨脹係數 2.1×10⁻⁴/℃ → 18.64 × 2.1e−4 × 4/\(\sqrt{3}\) = 0.009 mL
③ 終點判讀:pH 曲線轉折與理論當量點的偏差,約 ±0.003 mL(矩形)→ 0.0017 mL
合成:\(\sqrt{(0.004² + 0.009² + 0.0017²)}\) ≈ 0.010 mL;QUAM 保守取 0.013 mL

Step 4 合成與報告

uc(c)c = \(\sqrt{(0.0005² + 0.00033² + 0.00029² + 0.000019² + 0.0007²)}\) = 0.00097

uc = 0.10214 × 0.00097 = 0.00010 mol/L  報告:c(NaOH) = (0.10214 ± 0.00020) mol/L(k=2)
# ====== 案例② NaOH 標定滴定 (QUAM Example A2 完整重現) ======
m_KHP <- 0.3888;  P_KHP <- 1.0
M_KHP <- 204.2212; V_T <- 18.64

c_NaOH <- 1000 * m_KHP * P_KHP / (M_KHP * V_T)
round(c_NaOH, 5)          #> 0.10214 mol/L

# 各成分相對標準不確定度 (QUAM Table A2.1)
rel <- c(rep = 0.0005, m = 0.00013/0.3888, P = 0.00029,
         M = 0.0038/204.2212, V = 0.013/18.64)
round(rel, 5)
#>    rep     m     P     M     V
#> 0.0005 3e-04 3e-04 2e-05 7e-04

rel_uc <- sqrt(sum(rel^2))
uc <- c_NaOH * rel_uc
round(c(rel_uc, uc), 5)   #> 0.00097  0.0001  <- 與 QUAM 完全一致

U <- 2 * uc
sprintf("c(NaOH) = (%.5f ± %.5f) mol/L (k=2)", c_NaOH, round(U,5))
#> "c(NaOH) = (0.10214 ± 0.00020) mol/L (k=2)"

# 預算:誰是老大?
pct <- rel^2 / sum(rel^2) * 100
round(sort(pct, decreasing = TRUE), 1)
#>    V   rep    m    P    M
#> 52.2  26.8 12.0  9.0  0.0

# 改善實驗:讓滴定體積接近 50 mL (KHP 加倍以上)
rel2 <- c(0.0005, 0.00013/(0.3888*2.6), 0.00029,
          0.0038/204.2212, 0.013/49)
round(c_NaOH * sqrt(sum(rel2^2)), 6)
#> 0.000066  <- uc 從 0.00010 降到 0.000066 (改善 34%)!
R Console輸出 output
[1] 0.10214
    rep       m       P       M       V 
0.00050 0.00033 0.00029 0.00002 0.00070 
[1] 0.00097 0.00010
[1] "c(NaOH) = (0.10214 ± 0.00020) mol/L (k=2)"
   V  rep    m    P    M 
52.2 26.8 12.0  9.0  0.0 
[1] 6.6e-05
🎯 滴定案例的工程啟示 ① VT 貢獻 52%——滴定體積越大、相對誤差越小,把滴定體積設計到接近滴定管滿管程
② 重複性 27%——平行滴定取平均直接受益
③ 莫耳質量幾乎 0%——不必浪費時間糾結原子量,力氣花在刀口上

10.2 案例③:HPLC/GC 農藥殘留分析(QUAM Example A4)

情境:以萃取 + 層析(原文 GC,流程同樣適用 HPLC)測麵包中有機磷農藥殘留。 這個案例示範內部驗證數據法——不用逐項拆儀器,直接用方法驗證時的 精密度、回收率、樣品均勻性數據合成。

Step 1 量測模型

Pop = Iop × cref × VIref × Rec × msample × Fhom [mg/kg] I=波峰面積、c_ref=標準品濃度、V=萃取液終體積、Rec=回收率、F_hom=均勻性因子
💡 為什麼儀器校正不見了? 訊號比值 Iop/Iref 已抵銷大部分儀器因素(同機、同日、同方法)。 於是主導不確定度的不再是儀器,而是方法的整體表現—— 這就是「內部驗證法」的立足點。

Step 3 三大成分(QUAM Table A4.4)

成分值相對標準不確定度數據來源
精密度 Precision1.00.27不同類型樣品雙重複分析的中間精密度
偏倚 Bias(回收率)Rec = 0.90.043/0.9 = 0.048加標回收實驗:平均回收 90%,其 SD 與顯著性
均勻性 Homogeneity1.00.20模型估計最壞情境(農藥可能只在麵包表面)

Step 4 合成

uc(Pop)Pop = \(\sqrt{(0.27² + 0.048² + 0.20²)}\) = 0.34

U = 0.34 × 2 = 0.68 × Pop(k=2) QUAM 原文:U(P_op) = 0.68 × P_op。相對不確定度 34% 是殘留分析的常態

數值例:儀器測得 1.00 mg/kg → 回收率修正後 Pop = 1.00/0.9 = 1.11 mg/kg, uc = 0.377,報告 1.11 ± 0.75 mg/kg(k=2)——與 QUAM Table A4.5 一致。

# ====== 案例③ HPLC/GC 辳藥 (QUAM Example A4 重現) ======
rel_prec  <- 0.27        # 中間精密度 (雙重複數據)
rel_bias  <- 0.043/0.9   # 回收率偏倚
rel_homog <- 0.20        # 樣品均勻性 (最壞情境模型)

rel_uc <- sqrt(rel_prec^2 + rel_bias^2 + rel_homog^2)
round(rel_uc, 2)         #> 0.34

# 數值例:儀器測得 1.00 mg/kg
P_raw <- 1.00
P_op  <- P_raw / 0.9     # 回收率修正
U_op  <- 2 * P_op * rel_uc
sprintf("P_op = %.2f ± %.2f mg/kg (k=2)", P_op, U_op)
#> "P_op = 1.11 ± 0.75 mg/kg (k=2)"

# 變異數占比:精密度 63%、均勻性 35%、偏倚 2%
pct <- c(P=rel_prec^2, H=rel_homog^2, B=rel_bias^2)
round(pct/sum(pct)*100, 1)
#>    P    H    B
#> 63.3 34.7  2.0

# 進階:自己從「雙重複對」算精密度項
dup <- data.frame(a = c(.42,1.13,.27,.88,.55,1.62,.31,.74),
                  b = c(.39, .97,.30,.71,.60,1.28,.35,.80))
d2 <- with(dup, ((a-b)/((a+b)/2))^2)
sqrt(sum(d2)/(2*nrow(dup)))   #> 0.10 (短期;長期中間精密度 0.27 更大)

# 符合性:MRL = 2.0 mg/kg
judge <- function(r,U,L) if (r-U>L) "不符合" else
         if (r+U<=L) "符合" else "灰色地帶"
judge(1.11, 0.75, 2.0)
#> "符合"   (1.11+0.75=1.86 <= 2.0;若 MRL=1.5 則為灰色地帶)
R Console輸出 output
[1] 0.34
[1] "P_op = 1.11 ± 0.75 mg/kg (k=2)"
   P    H    B 
63.3 34.7  2.0 
[1] 0.1027196
[1] "符合"
🎯 HPLC 案例的工程啟示 ① 精密度是老大(63%):改善方向=均勻化整條麵包再取樣、穩定萃取流程、增加平行數
② 均勻性是老二(35%):取樣代表性是殘留分析的地基——QUAM 特別用三種情境模型化它
③ 回收率偏倚只占 2%:回收率平均 90% 需修正,但它的「不確定度」影響不大
④ 相對不確定度 34% 聽起來很大?這就是痕量殘留分析的真實世界,法規限量的設定已考慮此事

📊 Excel 也會算:內部驗證法不確定度 (HPLC/GC)

📊 HPLC 案例的 Excel 實作

⬇ 下載本章 Excel 活頁簿 數據、公式、白話說明都排好了,打開就能算;改黃色儲存格試試看,最後一張工作表會幫你和 R 的答案對照。

農藥殘留案例中,利用三大變異成分(精密度、偏倚、均勻性)來評估:
成分相對不確定度Excel 函數/公式
精密度0.27輸入 0.27(或從雙重複數據算:=SQRT(SUMSQ(差值比列)/(2*樣本數)))
偏倚 (回收率)0.048=0.043/0.9
均勻性0.20輸入 0.20
相對合成—=SQRT(SUMSQ(上列三格))
U (擴充)—=2 * 相對合成 * 測量濃度
對於是否符合法規限值 (MRL),也可利用 Excel 的 IF 函數進行判定:
=IF(測量值 - U > MRL, "不符合", IF(測量值 + U <= MRL, "符合", "灰色地帶"))

📊 Excel 也會算:滴定法不確定度

📊 沒有 R 也能動手 NaOH 標定是乘除模型 c=1000·m·P/(M·VT),用相對不確定度合成:
成分相對 u(x)/xExcel
重複性0.0005輸入
質量 m0.00033=0.00013/0.3888
純度 P0.00029=0.00029/1.0
莫耳質量 M0.000019=0.0038/204.2212
體積 VT0.0007=0.013/18.64
相對合成—=SQRT(SUMSQ(上列五格))
uc—=0.10214*相對合成
VT 的 u 本身也是三個小項(校正/溫度/終點)的 SQRT(SUMSQ(...)) 合成——不確定度預算就是這樣一層層疊上去的。