実験計画法における特徴量の標準化(オートスケーリング)

シェアする

材料設計・プロセス設計において、合成条件・製造条件やプロセス条件などの特徴量 x と物性・活性・特性などの目的変数 y の間で数理モデル y = f(x) を構築し、構築したモデルを用いて y が目標値となるような x の値を探索します。モデルを構築するデータセットがないときには、はじめに実験やシミュレーションによりデータセットを準備する必要があります。

まず、x ごとに値やカテゴリーの候補を決めたり、x の上限・下限を決めたりして、それに基づいて大量のサンプルをランダムに生成します。次に、実験計画法により最初に実験すべきサンプルを選択します。100万サンプルの中から 30 サンプルを選択するようなイメージです。選択された (30 個の) サンプルにおける x で実験して y を獲得することでデータセットを準備でき、モデルを構築できるようになります。なお、大量のサンプルの生成の仕方や、実験計画法によるサンプル選択の詳細については、こちらの本に記載されています。

[無料公開] 「Pythonで気軽に化学・化学工学」 の “まえがき”、目次の詳細、第1・2・3章
2021 年 5 月 1 日に、金子弘昌著の「Pythonで気軽に化学・化学工学」が出版されました。 丸善: Amaz...
[無料公開] 「Pythonで学ぶ実験計画法入門 ベイズ最適化によるデータ解析」 の “まえがき”、目次の詳細、第1・2章
2021 年 6 月 3 日に、金子弘昌著の「Pythonで学ぶ実験計画法入門 ベイズ最適化によるデータ解析」が出版されました。 ...

例えば実験計画法で D 最適基準を用いるとき、30 サンプルをランダムに選択して D 最適基準の値を計算することを、何回も繰り返し、繰り返した中で D 最適基準が最も大きい値となった 30 サンプルを最終的に用います。これにより x において情報量の重複がない、数理モデルを構築しやすいサンプルを獲得できます。

x ごとにスケールが異なるため、D 最適基準を計算してサンプルを選択するにも特徴量の標準化 (オートスケーリング) を行う必要があります。オートスケーリングを行うタイミングとして、以下の二通りが考えられます。

① 大量に生成したサンプルに対して最初に一度オートスケーリングを行う

② 30サンプル選択して D 最適基準を計算する前に (その都度) オートスケーリングを行う

昔は②を採用していましたが、考えを改めまして①にしました。②のようにサンプルの選択後にオートスケーリングをしてしまうと、たまたま x の狭い範囲で選択されてしまったときに (例えば全然ばらついていなく標準偏差が 0.01 にしかならない、など)、オートスケーリングすることで標準偏差を 1に拡大してしまう恐れがあります。結果的にそれが選ばれてしまうと、x のある限られた範囲のサンプルでしか最初の実験ができなくなってしまいます。

もっとも、そもそもランダムに選択しているため可能性としては小さくあまり心配する必要はありませんが、上記の本や本に付属の Python コードにおけるオートスケーリングのやり方は ① に修正済みです。

「Pythonで気軽に化学・化学工学」 正誤表
「Pythonで気軽に化学・化学工学」 をご購入いただき感謝申し上げます。売れ行きも好調のようで嬉しい限りでございます。データを持っていたり...
「Pythonで学ぶ実験計画法入門 ベイズ最適化によるデータ解析」 正誤表
「Pythonで学ぶ実験計画法入門 ベイズ最適化によるデータ解析」 をご購入いただき感謝申し上げます。売れ行きも好調のようで嬉しい限りでござ...

ご参考になれば幸いです。

以上です。

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

シェアする

フォローする