はじめての調香 · 108
はじめての調香 #108:沸点欄と融点欄が同じ数字を持っているとき
· 10 分
融点と常圧沸点の両方を持つ材料は2,676あり、そのうち11では2つの数字が完全に一致している。常圧下で融点で沸騰するものは存在しないので、この11ではどちらかの欄が複製されたものだ。方向を決める手がかりは appearance 欄にある。7つは室温で液体と記述されており、それなら融点が66から261 °Cであるはずがなく、壊れているのは融点欄になる。7-メチルクマリンは粉末と記述されており、それなら128 °Cは本物の融点で、壊れているのは沸点欄になる。もう1つの検査もそれを裏づけた。常圧と減圧の沸点を両方持つ1,258の材料のうち、減圧沸点が常圧より高いという物理的な不可能が起きているのは2つだけで、7-メチルクマリンは両方の名簿に載っている。途中、私の正規表現がアセトアルデヒドの負号を食べ、1つ多く報告してしまった。
読了目安 5 分。
要点だけ
- 2,676 の材料が融点と常圧沸点の両方を持ち、そのうち 11 で2つの数字が完全に一致する(0.41%)
- 常圧下で融点で沸騰するものはないので、この11ではどちらかの欄が複製されたものだ
- 方向は
appearance欄で決まる。7つは室温で液体と書かれている → 壊れているのは融点欄。 1つは粉末と書かれている → 壊れているのは沸点欄。3つはこの欄が空で判定できない - もう1つの検査(減圧沸点は常圧沸点より高くなれない)は 1,258 を走査して、本物の誤りを 2つだけ捕まえた
- 2つの名簿が交わるのは1つだけ。7-メチルクマリンで、それは方向が逆になっているものだ
- 私の正規表現がアセトアルデヒドの負号を食べ、一時的に1つ多く報告してしまった
前回が残した問題
前回はある材料の2つの沸点を調べ、 5 mmHg から常圧まで249 °C上がっていて全庫で最大だと書いた。あの検査は「中央値と比べる」ことに頼っており、 中央値は27件から算出したものだった。区間そのものの信頼度は高くないと、記事の末尾で自分でも書いている。
今回は比較の基準をまったく必要としない検査を探した。2つ見つかり、しかも収穫量が大きく違った。
検査その1:沸点欄と融点欄が同じ数字
化学の知識も、表を引くことも、他の材料を参照することも要らない。問いは1つだけだ。
この2つの欄は完全に同じか。
常圧下では物質はまず融け、それから沸騰する。2つの温度が等しくなることはない。 全庫で 2,676 の材料が両方に値を持ち、そのうち 11 が一致した(差0.5 °C以内)。
| 材料 | 両欄に共通する値 | appearance 欄 |
サプライヤー |
|---|---|---|---|
| mango furanone | 259–261 °C | 黄色澄明の液体 | 23 |
| 4-methyl morpholine | 116 °C | 無色から淡黄の澄明液体 | 9 |
| vinyl acetate | 72–73 °C | (空) | 8 |
| 7-methyl coumarin | 128–130 °C | 淡白色の粉末 | 7 |
| methoxyisopropanol | 119 °C | 無色澄明の液体 | 6 |
| 2,5-dihydrofuran | 66.5 °C | 無色から淡黄の澄明液体 | 5 |
| oxazole | 69–70 °C | 無色の結晶 | 4 |
| trichloroethylene | 87–88 °C | 無色から淡黄の澄明液体 | 4 |
| cedrene | 262.5 °C | 淡黄から黄色の液体ないし固体 | 3 |
| isopropyl 2-furoate | 198–199 °C | (空) | 1 |
| propylene chlorohydrin | 133–134 °C | 無色澄明の液体 | 1 |
方向は3つめの欄が決める
「どちらかが誤り」とわかっただけでは足りない。どちらかを知る必要がある。 その答えは、役に立つとは思っていなかった場所にあった。
appearance 欄は、材料が室温でどう見えるかを記述している。
室温で液体のものの融点が66 °Cであるはずはなく、まして261 °Cであるはずがない。
だから液体と書かれた7つでは、壊れているのは融点欄であり、沸点を写している。 mango furanone の259 °Cは本物の沸点で、それが融点欄に複製されたのだ。
一方 7-メチルクマリンは淡白色の粉末と書かれている。粉末は室温で固体だから、 融点128 °Cはまったく妥当だ。つまりこれは逆で、融点が沸点欄に複製されている。
残り。oxazole は結晶と書かれているがその記述には (est) が付いており、
69–70 °Cはむしろ沸点らしく見える。どちらとも取れるので判定しない。
vinyl acetate と isopropyl 2-furoate は appearance が空で、データベース内部の証拠だけでは足りない。
7つは確定、1つは確定だが方向が逆、3つは保留。
検査その2:減圧沸点は常圧沸点より高くなれない
こちらも基準を必要としない。圧力が低いほど沸点は低い。だから同じ材料の中で、 減圧下の沸点が常圧より高いことはありえない。
全庫で 1,258 の材料が常圧と減圧の沸点を両方登録している。違反は6つ。
| 差 | 材料 | サプライヤー |
|---|---|---|
| +43 °C | 7-methyl coumarin(常圧128/11 mmHgで171) | 7 |
| +26 °C | perilla alcohol(常圧93/11 mmHgで119) | 12 |
| +1 °C | (Z+E)-2,5-dimethyl-3-tetrahydrofuranthiol | 4 |
| +1 °C | 2-heptanone | 55 |
| +1 °C | myristic acid | 38 |
| +0 °C | methyl mercaptan | 50 |
後半の4つは差が0から1 °Cで、測定と丸めから来るもので誤りではない。 本物の誤りは2つだけ。1,258分の2、0.16%である。
そして首位の 7-メチルクマリンは両方の名簿に載っている。偶然ではない。 常圧沸点の欄に入っているのは実は融点128 °Cであり、融点が11 mmHgでの沸点171 °Cより 低いのは当然だからだ。検査1がどの欄が壊れているかを、検査2がどう壊れているかを教えてくれる。
先に私が間違えた
検査2を最初に走らせたとき12件が挙がり、その中にアセトアルデヒド(サプライヤー94社)があった。 沸点欄はこう書かれている。
20.00 to 21.00 °C. @ 760.00 mm Hg | -54.00 to -53.00 °C. @ 15.00 mm Hg
私の正規表現は ([\d.]+) で、負号を食べていた。−53が53になり、常圧の21より高いので誤りと判定された。
アセトアルデヒドのデータは完全に正しい。間違っていたのは私のほうだ。
正規表現を雑に書いたせいで多く報告したのは3度めになる。前の2回は @ の後ろの温度を屈折率と取り違えたことと、
記事に登場する任意の材料番号を数字と突き合わせたことだった。
毎回かたちは同じだ。「よくある場合」のために書いたパターンで、例外を含む欄を走査している。
負号を直すと12件は6件になり、本物は2件だった。
検査が厳しいほど収穫は減るが、1つ1つは確かになる
今回を過去の回と並べる。
| 検査 | 走査範囲 | 命中 | 命中率 | 誤報 |
|---|---|---|---|---|
| 沸点欄 = 融点欄 | 2,676 | 11 | 0.41% | 0(ただし3つは方向が保留) |
| 減圧沸点 > 常圧沸点 | 1,258 | 2 | 0.16% | 1 °C以下のノイズが4つ |
| 沸点と蒸気圧の回帰残差 >3σ | 8,048 | 127 | 1.58% | 大半 |
最後の行も今回走らせたものだ。25 °Cの蒸気圧から常圧沸点を予測すると、
当てはめは bp = 181.5 − 36.5·log10(VP)、R² = 0.760、残差の標準偏差は34 °C。
3σを超えるものが127件挙がった。しかし残差が最大なのは acyclovir、spironolactone、hydrocortisone、
そして除草剤の一群だった。正の残差89件のうち、香料類はわずか4件である。
これは以前 logP の範囲で走査したときにぶつかったのと同じことだ。 統計的な検査は「このデータベースには香料以外も入っている」という事実を誤りとして数えてしまう。
前の2つの検査にはこの問題がない。比べているのが同じ材料の2つの欄であり、 その材料が何であるかについて何も仮定していないからだ。
自分で走らせられる版
プログラムは要らない。任意の材料のページを開いて。
- 沸点と融点は同じ数字か → どちらかが写している
- 圧力の違う沸点が2つあるか。低圧のほうが高いか → どちらかが誤り
- 液体と書かれているのに融点が50 °C以上か → 融点欄に問題がある
3番目は前の2つの延長だが、単独でも使える。2つの数字がちょうど一致している必要がない。
この記事が示していないこと
- **正しい値を1つも調べていない。**やったのはすべて内部整合性の検査だ。 「この2欄のどちらかが誤り」とは言えるが、「正しい値はXだ」とは言えない。
- **
appearance欄自体の96%に(est)が付いている。**それで方向を判定するのは、 推定値で別の欄を審査していることになる。oxazole はまさにそこで詰まった。 - **0.41%と0.16%は両欄に値がある材料しか覆っていない。**融点欄が空の材料は検査1を完全にすり抜けるし、 空欄の比率は算出していない。
- **11件のうち3件は方向を判定できていない。**外部データで補いには行っていない。
- **回帰の行の127件は1件ずつ見ていない。**残差最大の12件とカテゴリ分布だけを見て結論を出したので、 その127件の中に本物の香料の誤りが紛れていて、一緒に捨てた可能性がある。
- Mansouri らは2016年に QSAR データセット向けの自動クリーニング手順を書いており(PMID 27885862)、 扱っている問題は同種のものだ。ここでやったのはそれよりずっと粗い、目視で追える3つの規則にすぎない。