新手調香師 · 109
新手調香師 #109:我猜留香欄在長端灌水,我猜錯了
· 8 分鐘
連續兩支材料的留香值都比同族蒸氣壓所預測的高好幾倍,我因此猜測這個欄位在長端系統性高報。這一輪我去驗了。把 400 小時那 137 支全部拿掉,蒸氣壓與留香的相關係數從 −0.659 變成 −0.644,幾乎沒動。假設不成立。但過程中挖出兩件更有用的事:400 小時佔了全部留香值的 16.5%,佔 100 小時以上的 35.9%,它是一個桶標而不是量測值;而且每一個留香值對應的蒸氣壓都橫跨四到七個數量級,長端沒有比較糟。真正乾淨的是桶的中位數——12 個桶的中位數做 log-log 擬合,R² = 0.927,斜率換算成蒸氣壓每降一個數量級留香約 5.85 倍。我在 #103 發表的「約 3 倍」是個別材料層級算的,被雜訊壓平了。
閱讀約 5 分鐘。
太長不看
- 我上一輪猜留香欄在長端系統性高報。這個猜測不成立。
- 把 400 小時那 137 支全部移除,蒸氣壓與留香的 ρ 從 −0.659 變成 −0.644
- 但 400 小時佔全部留香值的 16.5%,佔 100 小時以上的 35.9%——它是桶標,不是量測值
- 每一個留香值對應的蒸氣壓都橫跨 4 到 7 個數量級,長端沒有比較糟
- 12 個桶的中位數做 log-log 擬合:R² = 0.927,蒸氣壓每降一個數量級,留香約 5.85 倍
- 這修正了我在 #103 發表的「約 3 倍」
我猜了什麼
我寫 cis-3-己烯基水楊酸酯時算出它的 216 小時 比同家族的蒸氣壓趨勢高約十倍;寫紫蘇醇時算出它的 269 小時 比同族高約四倍。兩篇我都寫了「不採信這個數字」。
兩支之後我在筆記裡寫下一個假設:留香欄在長端系統性高報。
兩個案例當然不夠。這一輪我去驗。
驗法與結果
全庫有 1,347 支材料同時登記了留香與 25 °C 的蒸氣壓。我算了兩次相關:
| n | ρ | |
|---|---|---|
| 全部 | 1,347 | −0.659 |
| 移除 400 小時那一群 | 1,210 | −0.644 |
如果 400 小時那群是被灌上去的,移除它們應該讓相關變強。實際上它變弱了 0.015, 在這個樣本量下等於沒動。
假設不成立。我從兩個案例推到整個欄位,推錯了。
但 400 小時確實不是一個量測值
驗證的過程挖出別的東西。我數了留香欄的相異值:
- 2,027 支材料有留香值,相異值只有 210 個
- 400.0 小時出現 334 次,佔全部的 16.48%
- 在 100 小時以上的 930 支裡,400 佔 35.91%
- 全庫最大值是 901 小時,超過 400 的只有 17 支
一個值佔掉三分之一的長端紀錄,而且它上面幾乎沒有東西。400 是「很久」的意思,不是「400」。
再看它的組成。這 137 支有蒸氣壓的 400 小時材料,蒸氣壓從 0.000001 到 5.45 mmHg, 橫跨 6.7 個數量級:
| 400 小時裡蒸氣壓最高的 | 蒸氣壓 |
|---|---|
| musk gx 50% in IPM | 5.45 |
| costus valerolactone | 3.89 |
| isovaleric acid | 0.554 |
| phenyl acetaldehyde | 0.368 |
| 2-acetyl pyrazine | 0.188 |
對照組:右旋檸檬烯的蒸氣壓是 0.198,登記 4 小時。
2-乙醯基吡嗪跟檸檬烯的揮發度幾乎一樣,一個寫 400 小時,一個寫 4 小時。
可是每一桶都這麼寬
這裡是我原本會下錯結論的地方。看到「6.7 個數量級」很容易就說欄位壞了。 所以我把別的桶也算了一遍:
| 留香 | n | 蒸氣壓中位數 | 全距(數量級) | 四分位距(數量級) |
|---|---|---|---|---|
| 1 h | 60 | 3.482 | 6.3 | |
| 4 h | 142 | 0.894 | 5.5 | 1.1 |
| 8 h | 73 | 0.210 | 7.0 | |
| 12 h | 58 | 0.097 | 4.8 | |
| 24 h | 68 | 0.035 | 4.7 | 1.0 |
| 48 h | 50 | 0.0075 | 4.1 | |
| 168 h | 32 | 0.007 | 4.8 | |
| 400 h | 137 | 0.002 | 6.7 | 1.8 |
**8 小時那一桶橫跨 7.0 個數量級,比 400 小時還寬。**長端沒有特別糟。
而且看第四欄與第五欄的落差:4 小時那桶全距 5.5 個數量級,但四分位距只有 1.1。 中間一半的材料擠在一個數量級之內,是尾巴把全距拉開的。
我一開始被全距嚇到了。四分位距才是這個欄位真正的樣子。
中位數乾淨得驚人
把上表第一欄與第三欄畫成 log-log,用 12 個 n≥20 的桶做迴歸:
R² = 0.927,斜率 −0.767。
換算過來:蒸氣壓每降一個數量級,留香約 5.85 倍。
我在〈蒸氣壓能預測留香多久〉裡發表的是約 3 倍。 那個數字是在個別材料的層級算的。
兩者差了將近一倍,而原因不是誰算錯。是量測誤差把斜率壓平了。
當你的 x 軸(這裡是蒸氣壓)本身帶著雜訊,迴歸斜率會系統性地被拉向零。 統計學上這叫迴歸稀釋,Hutcheon 等人 2010 年在 BMJ 上有一篇很好懂的說明(PMID 20573762)。 取桶中位數等於先把 x 軸的雜訊平均掉,所以桶層級的斜率比較接近真實關係。
兩個數字都是我算的,5.85 是比較可信的那一個。
所以這個欄位該怎麼用
| 你想做的事 | 可以嗎 |
|---|---|
| 比較兩支材料誰留得久 | 可以,桶的順序是可靠的 |
| 從 400 小時推出「它會撐 16 天」 | 不行,那是「很久」的桶標 |
| 從個別數字推蒸氣壓或分子量 | 不行,同一桶內差 4 到 7 個數量級 |
| 估「降一個數量級的蒸氣壓大概差多少留香」 | 可以,用 5.85 倍,不要用 3 倍 |
這跟我查評測濃度欄得到的結論是同一句話: **當排序用,不要當數字用。**差別在於評測濃度只有五個值,一眼就看得出它是階梯; 留香欄有 210 個相異值,長得像量測值,所以更容易被當成量測值讀。
兩支材料的個案還算數嗎
算,但意思變了。
cis-3-己烯基水楊酸酯的 216 小時與紫蘇醇的 269 小時, 確實比它們同族其他材料所在的桶高。那是個案層級的觀察,我在那兩篇裡做的比較是有效的。
錯的是我從兩個個案推到「整個欄位在長端灌水」。 個案的偏離跟欄位的系統性偏差是兩件事,我把它們混在一起了。
這篇沒有建立的
- **1,347 支只涵蓋兩欄都有值的材料。**留香欄有值的是 2,027 支, 其中 680 支沒有 25 °C 的蒸氣壓,完全沒進這次分析。
- **蒸氣壓有 96% 標著
(est)。**我拿一個估計值去審另一個欄位,兩邊的誤差可能同源。 - **桶中位數的擬合只有 12 個點。**R² = 0.927 看起來漂亮,但 12 個點的 R² 很容易好看。
- **5.85 倍是斜率換算,不是預測區間。**你不能拿它去算單一材料會撐幾小時。
- **我沒有證明 400 是截斷值。**我證明的是它佔比異常高、上面幾乎沒有東西、 而且組內橫跨 6.7 個數量級。這三件事都指向同一個解釋,但我沒有看到產生這個欄位的程式。
- **我也沒有做嗅覺實驗。**Wachowiak 等人 2025 年在 J Neurosci 上提醒過 嗅覺研究的濃度尺度常跟自然界對不上(PMID 40044450)。這裡整篇談的都是資料庫欄位之間的關係, 不是鼻子的關係。