バッチプロセス的な時系列データの特徴量化

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

時系列データを特徴量化する方法には、連続プロセスでもバッチプロセスでも共通するアプローチがあります。連続プロセスであっても、y を分析するために、サンプリングした時刻から例えば 60 分前までを切り取り、これを一区切りとしてバッチプロセス的なデータと捉えることができます。ここでは、バッチプロセスのデータを含む、そのようなバッチプロセス的なデータの特徴量化方法について説明します。

 

1. そのまま使用する

プロセス変数ごとに、単純に時間変化を横に並べて特徴量とする方法があります。例えば、ある温度 T1 というプロセス変数があるとき、T1の0時刻目、T1の1時刻目、T1の2時刻目、・・・といった特徴量にする方法です。連続プロセスでは、Yの分析のためにサンプリングされた時刻を基準にして、T1の0分前、T1の1分前、T1の2分前、、、といった具合に特徴量を設定すると良いでしょう。

例えば、バッチプロセスでは各バッチの時間が異なる場合があり、バッチごとに特徴量が揃わないことがあります。これは、プロセス変数ごとに、時刻ごとに横に並べた時に値のない (空白の) 特徴量が存在することを意味します。この場合には大きく分けて、短い時間に合わせるか、値を補完するかで対応します。

短い時間に合わせる時には、一番短いバッチの時刻までデータセットとして扱い、それ以降の空白のある特徴量を削除します。値を補完する場合には、例えば 0 で補完したり、各バッチのプロセス変数の平均値で補完したり、各バッチのプロセス変数の最終値で補完する方法があります。

どの方法が良いかは、比較検討して最終的に用いる方法を決定すると良いでしょう。

短い時間に合わせる方法と補完する方法の中間として、ある時刻までをデータセットとして用い、その時間までに空白があるデータを補完する、といったやり方もあります。いずれにしても、どの時刻までをデータセットとして用いるのが良いか、どの補完方法を用いるのが良いかは、プロセスごとに異なります。ここでも比較検討する必要があります。

 

2. 時系列データから特徴量を抽出する

プロセス変数ごと、バッチごとに時系列データから統計量などを計算することで特徴量を抽出します。例えば、平均値、標準偏差、最大値、最小値、四分位点などがあります。

また時系列データごとに様々な値を計算するライブラリもあります。

tsfresh — tsfresh 0.20.2.post0.dev1+ga7e14f8 documentation

 

どの値が重要かは、プロセスごとに異なるため、対象のプロセスにおいて重要そうな特徴量の検討をすると良いでしょう。

この方法であれば、各バッチの時間が異なる場合でも問題なく対応可能です。

 

3. フーリエ変換する

フーリエ変換して周波数領域に変換したデータを特徴量として利用します。この方法も、バッチの時間が異なっていても対応可能です。

 

ここでは時系列データの特徴量を計算する方法について説明しました。どの方法が最も良いかは、プロセスごとに異なりますので、上の方法それぞれで比較検討しながら、最終的に用いる方法を検討すると良いかと思います。

 

以上です。

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

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