重回帰法の範囲指定

2026.3.5

pirika.comで化学
>チャピエモン-3rd Pirika Origin (CPO)
> ハンセン溶解度パラメータ (HSP)
> 化学全般
>
情報化学  >物性化学 >高分子化学 >化学工学 >その他の化学 >昔のもの
>情報化学ツール >MAGICIAN養成講座 >STEAM
>Pirika ツール群
ブログ
業務案内
お問い合わせ

情報化学 > 情報化学ツール > 重回帰法 > 重回帰法の範囲指定

[1. ストーリー]

分子に含まれる原子団の数から物性値を予測するJOBACK 原子団寄与法[*1]は現在でもよく使われる簡便な分子物性推算方法だ。数学、統計学的にはスッキリしているが、化学の問題に適用する時には注意が必要だ。収率は100%以上も0%以下も無いのはわかりやすい。よく騙されるのが有機化合物の水への溶解度だ。昔の実験は100gの水に検体を溶かしていく。エタノールのように水と任意に混じる化合物は100gまで溶かしたところで実験を打ち切る。どちらがどちらを溶解しているかわからなくなるからだ。100gを超える化合物を含むデータセットを重回帰法などで機械学習すると困ったことが起こる。100g/100gは教師データとしては正しく無い。NetなどでもPLS法(図1)やPCA法を使った有機化合物の水への溶解度をRDKitの識別子を使って解析している例がある。しかし、この問題を無視している例がほとんどだ。どうしたらこの問題を解決できるかストーリをたてる。

[2. 問題解決の方針]

pirika.comでは有機化合物の水への溶解度の推算式を、HSPiP[*2]とPirikaPro[*3]に搭載して販売している。当然100g/100gを超える場合の処理は加えてある。今回GROVE法2026[*4]を使い予測式を作り直したので使い方をまとめておく。

  • プログラム上の改良
    重回帰法は最小二乗法で動作する。教師データと計算値の差を2乗したものの総和を最小にする。エタノール(CH3CH2OH)の教師データlog Solubility(水100gに対する)を2.0とした場合に、計算値が3.0であったとすると大きな誤差になる。水酸基の重回帰係数を小さくし、計算値が2.0に近づくように動作する。この部分の動作を改良しなくてはならない。複数の原子団の相互作用を加味するためにはクロスターム重回帰法[*5]を利用する。
  • 識別子の改良
    重回帰法の識別子として原子団の数だけを入れなくてはならないという制限は無い。logSが2近辺の化合物に限らず原子団だけで計算し、合わないものを特定する。それがなぜ合わないか考え、どんなパラメータを導入したら改善するか考える。

現在はBig Dataを与えれば、AIが考えてプログラムに落とし込んでくれるだろう。私はAIが解釈しやすいように問題の部分を明示しておく。

[3. データセットと問題の把握]

HSPiPやPirika Proに搭載するために有機化合物の水への溶解度のデータを3590件集めた。各化合物のSMILESの構造式[*6]も収集してある。YMB Pro[*7]を使うことによってSMILESの構造式から原子団のテーブルはすぐに作成することができる(図2)。このデータセットの中からlogSが-1以上のものを取り出し詳しく解析を行う。通常の重回帰法で計算を行うと図3に示す結果になる。[a][b]の化合物はDB中のlogSが2となっている。実験を100g/100g水で打ち切っているので教師データは本来2以上である。[b]の領域の化合物は計算値が2以下なので見かけより大きなエラーになる。[c][d]の領域の化合物は原子団の係数をより大きく(小さく)変更すると、かえって他の化合物の計算値が(2乗すると)大きくなる。解析方法は何を使おうと、教師データが正しく無いとその影響は広く及ぶ。重回帰法での予測性能はとても低いものになる。

[4. プログラミングによる修正]

上限値や下限値をマニュアルで入力するように改造を行なった。二乗誤差は(計算値-教師データ)2で計算される。教師データが上限以上の場合に、計算値が上限値以上なら強制的に誤差をゼロにしてしまう。図4は解析的方法ではなくGROVE法を用いて遺伝的アルゴリズム法(GA法)で重回帰係数を決定した。強制的に誤差をゼロにする操作を実装するにはGA法は適している。しかし上限値を指定しなかった図4[a]と上限を1.98にした[b]で比較するとあまり大きな効果は無い。アセトンは水に自由に混合する。その時にケトンの係数をすごく大きくしてもアセトンの誤差はゼロのままであるが、メチルエチルケトンの計算値も大きくなり誤差が大きくなる。テトラヒドロフラン(C4環状エーテル)は自由に水と混合するがテトラヒドロピラン(C5環状エーテル)は100gの水に8gしか溶解しない。環状エーテルを2つ持つ1,4-ジオキサンは自由に水と混合する。上限値、下限値は識別子の改良も含めて考えていく必要がある。
さらに、実験値が上限以下なのに計算値が上限以上になる場合には大きいペナルティーを与えるようにプログラムを改造した。

[5. 原子団の組み合わせによる効果]

テトラヒドロピランと1,4-ジオキサンの違いを考えた時に、環状エーテル1つの時と2つの時で係数が大きく変わっていると考えることができる。そうした効果をすべて人力で導き出すのは無理である。効果の大きなものからコンピュータに自動で探索してもらう。データ駆動型の研究の良いところだ。再構築学習法による結合荷重行列解析やクロスタームの解析から重要な相互作用が明らかになる。この相互作用項の探索の際に上限値、下限値を入れて探索を行う。

[6. さらに溶解性に大きな影響を与える要因を探索する]

原子団寄与法は分子を原子団に分割してしまう。その際に失われてしまう情報がある。例えばovality(卵形度)は分子の球形度を表す。球形の分子と棒状の分子は水への溶解度は異なる。分子全体としてのルイスの酸・塩基性が水への溶解性に寄与する。そうした情報はYMBが吐き出すQSAR用のデータから変数選択重回帰法[*9]で調べることができる。その重要な物性値を加えHSPiPに搭載用の水への溶解度推算式を構築した。結果を図6に示す。リミッター近辺の精度が圧倒的に高くなっている事がわかる。ここまで精度が高くなってくると、合わないデータポイントはDBの方が間違っている可能性を考慮したほうが良いかもしれない。

[7. 図表]

図1 PLS法を使った水への溶解度[*8]
図2 Smilesの構造式から原子団のテーブル作成
図3 原子団の個数を用いた重回帰法計算結果。
図4 GROVE法を用いた重回帰係数の決定
図5 リミッターを使い、原子団とさらに重要な物性値を使い次期HSPiPに搭載する用の推算式を構築

[8. pirika.com内リンク先]

*1: Joback法
*2: HSPiP(Hansen Solubility Parameters in Practice) ソフトウエアー
*3: Pirika Pro
*4: GROVE法
*5: クロスターム重回帰法
*6: SMILESの構造式
*7: YMB Pro
*8: PLS法
*9: 変数選択重回帰法

Copyright pirika.com since 1999-
Mail: yamahiroXpirika.com (Xを@に置き換えてください)
メールの件名は[pirika]で始めてください。