回帰分析における0のデータの注意点と対処法

分子設計・材料設計・プロセス設計・プロセス管理において、分子記述子・実験条件・合成条件・製造条件・評価条件・プロセス条件・プロセス変数などの特徴量 x と分子・材料の物性・活性・特性や製品の品質などの目的変数 y との間で数理モデル y = f(x) を構築し、構築したモデルに x の値を入力して y の値を予測したり、y が目標値となる x の値を設計したりします。

例えば、回帰分析を行う際、y の下限が0であり、実際に0のデータが存在する場合があります。例えば、化学反応データにおける収率です。基本的に 0% から 100% の範囲のデータであり、収率が 0% のデータも存在することがあります。他にも、”ない” ことを示す 0 のデータとそれより大きい数値のデータ一緒に存在する y の場合もありますし、活性がないデータとして数値が例えば 0 付近などでばらついていても、そのあたりは値の差に意味はなく、全て活性なしと判断できるような y もあります。

このような 0 のデータを含むデータセット全体で一つのモデルを構築する際には注意が必要です。実際には 0 のデータの中にも差異がある可能性がありますが、それを定量的に評価できていないためです。例えば、化学反応のデータで収率 0% というのは、活性化エネルギーが非常に高いことを意味する場合がありますが、同じ 0% でも活性化エネルギーの高さが異なる場合があります。しかしそれでも、全てのサンプルで 0 として扱われ、0 以外の他のサンプルとの x と y の関係性を考えた時に整合性が取れず、予測精度が低下する可能性があります。

このような時には、y が 0 のデータや “ない” を意味するデータを省いて、それら以外のサンプルで回帰モデルの構築を検討するのが良いでしょう。ただし、モデルの予測精度が向上したとしも、ここで問題となるのは、新しいサンプルを予測する時に y が0 のデータが x の外挿となり、誤って y の値が大きいと予測されてしまう可能性があることです。

対処法としては、y が 0 のサンプルで①モデルの適用範囲を設定する方法と、②クラス分類モデルを構築する方法があります。

①として、y が 0 のサンプルのみでモデルの適用範囲を設定し、新しいサンプルを予測する時は、モデルの適用範囲 “” のサンプルだけを有効なデータとします。こうすることで、y が 0 のデータの適用範囲内、すなわち新しいサンプルの y が 0 となる可能性の高い x のデータ領域を避けることができます。

[無料公開] 「化学のためのPythonによるデータ解析・機械学習入門(改訂2版)」の“改訂版の発行にあたって”、詳細な目次、第8章の一部
2023 年 8 月 30 日に、金子弘昌著の「化学のためのPythonによるデータ解析・機械学習入門(改訂2版)」が出版されました。オーム社: Amazon: こちらは、以前に出版した書籍 「化学のための Pythonによるデータ解析・機...

 

②として、また、y が 0 のサンプルのラベルを 0 とし、それ以外のサンプルのラベルを 1 として、クラス分類モデルを構築します。新しい x のサンプルを予測する時は、このクラス分類モデルが 1 と判断したサンプルのみを使用します。こうすることで、クラス分類モデルで 0 かそうでないかを判断し、有効なサンプルのみの y の値を予測できます。

以上のように、y が 0 のデータを含むデータセットを扱う際は、全体で一つのモデルを構築する前に、データセットの背景に基づいて慎重に考えることが重要です。y が 0 のサンプルと、他のサンプルとの間の整合性が取れない場合は、モデルの適用範囲やクラス分類モデルで適切に対処しましょう。

 

以上です。

質問やコメントなどありましたら、X, facebook, メールなどでご連絡いただけるとうれしいです。

タイトルとURLをコピーしました