候補セット表を用いた、変異体固有の制約を伴う混合実験の設計
このブログでは、混合物の成分に異なるバリアントがあり、各バリアントの濃度範囲も異なる場合、実験計画法(DOE)を用いて混合物の制約条件に対処する方法について解説します。これは、 @chris_gotwalt1氏によるディスカバリーサミットでのプレゼンテーション「連続因子を扱う際の困難な制約への対処法」をさらに発展させたものです。このブログでは、バリアント固有の制約条件を持つ混合物の設計に特化して、より深く掘り下げていきます。
バリアント固有の制約を持つ混合設計とはどういう意味か、説明しましょう。以下の例では、A、B、Cの3つの成分の混合物があります。ただし、成分AにはA1、A2、A3の3つの異なるバリアントがあり、それぞれに許容濃度範囲があります(下図参照)。

図1:変異体A1、A2、A3に基づく濃度[A]の許容範囲(緑)と不許容範囲(赤)。
DOEの望ましい結果は、以下の三元図に示されています。バリアントA1を使用した場合、DOEの[A]の値は[0.2 – 0.7]の間になります。A2の場合、A=[0.1 – 0.8]です。A3の場合、A=[0 – 1]です。

図2:可変A制約付き三成分混合空間における望ましいDOE実行位置。
コンポーネントBとCにもそれぞれバリエーションが存在する可能性がありますが、ここでは簡略化のため、コンポーネントAに焦点を当てましょう。
連続因子やカテゴリ因子に「組み合わせ禁止フィルター」を追加するのと同じように、混合因子にも「組み合わせ禁止フィルター」を追加できると考える人もいるかもしれません。しかし、混合デザインを扱う場合、混合因子の合計には既に制約があり、追加の制約を追加するとデザインの収束に問題が発生します(下記参照)。

図3:混合制約を直接追加しようとしたときのDOEインターフェース。
混合計画に制約を追加し、Aの各バリアントの異なる範囲を指定するにはどうすればよいでしょうか?それでは、一緒に見ていきましょう!
ステップ1 :候補者データテーブルを作成します。
- 実験空間全体に設計点が均等に分布するように、1000通りの組み合わせからなる候補データテーブルを作成します。これは、DOE -> 特殊用途 -> 空間充填設計を選択することで実現できます。
- 下の図に示すように、カテゴリ因子と混合因子を追加します。
- 3段階のカテゴリカル因子を追加し、それをAと名付け、A1、A2、A3をその値として追加します。
- 0と1の範囲を持つ3つの混合係数[A]、[B]、[C]を追加します。
- 実行回数には1000を選択してください。
- 「高速フレキシブル充填」オプションを選択してください。このオプションのみが、混合成分に対応しています。
- 下部の「表を作成」をクリックしてください。

図4:1000回の候補実行に対して空間充填設計を作成する際のDOEインターフェース。
候補者のデータテーブルは、以下のようになります。

図5:1000個の潜在的な実行例の候補セットとして使用される、高速で柔軟な充填設計の出力データテーブル。
ステップ2:Aの各バリアントについて、不要な範囲を削除します。
多変量プラットフォームとローカルデータフィルタを使用して不要な範囲を選択し、Aの各バリアントについて不要な範囲を削除します。
- 「分析」→「多変量解析」→「多変量」に進みます。Y列に[A]、[B]、[C]を選択します。
- ローカルデータフィルタを追加し、カテゴリ変数 A を選択します。AND ボタンをクリックし、変数 A の濃度を選択します。ここでの目標は、A = A1と濃度 [A] の範囲 0–0.2 および 0.7–1 という望ましくない組み合わせを選択することです。そのためには、目的の範囲 (例: 0.2–0.7) を入力し、濃度範囲フィルタの赤い三角形をクリックし、[選択を反転] をクリックして、0–0.2 および 0.7–1 の範囲を選択する方が簡単であることがわかりました。
- グラフ上の点を選択するには、通常の左クリックを使用するか、より詳細な選択を行うには投げ縄ツールを使用します。このビデオでは、投げ縄ツールを使用してすべての点を選択しました。
- データテーブルでもデータポイントが選択されていることを確認してください。テーブルからデータポイントを削除します。
- 同じ手順を繰り返しますが、今回はカテゴリー Aと[A] 濃度が 0~0.1 および 0.8~1 の場合に A2 を選択します。
下の動画でその方法をご覧ください。

図7:共変量/候補実行列[A]、[B]、[C]を[共変量因子の選択]ボタンを使用して追加した場合の結果。
次に、以下の手順に従ってください。
- 主効果項および/またはシェッフェの3次項を追加して、モデルを作成してください。
- 実行回数を、候補実行を除いた当初推奨実行回数と同じ18回に設定してください。これは私の推奨ですが、実行回数の決定方法については別の方法を検討しても構いません。
- 「デザインを作成」と「テーブルを作成」を選択してください。
- 行にマーカーを追加するには、[行] -> [列による色付けまたはマーク] に移動し、[A バリアント] 列を選択して、A1、A2、A3 を使用した実験を区別します。
- 列 [A]、[B]、[C] の小数点以下の桁数を 2 桁に変更するには、[列のプロパティ] -> [書式] -> [固定小数点] -> [小数点以下=2] に移動します。
- グラフ→三元プロットを選択し、[A]、[B]、[C]の各因子をX軸のプロット位置に配置して三元プロットを作成します。注釈と参照範囲を追加することで、新たに設計された18回の実験実行が、成分Aの変異体に関連する制約に対応していることがわかります。

図8:(a)バリアントに基づいて[A]に制約を適用したDOEテーブルの作成、および(b)バリアントA1、A2、およびA3に基づいて[A]の使用範囲を示す結果の三元プロット。
ステップ4:実験を実行し、モデルをテストする
- 実験を実行した後、Y応答の値を入力し、[分析] -> [モデルの適合] を選択してモデルを実行します。
- レポートにプロファイラを追加して、Aの変異体の影響と、3つの成分A、B、Cの濃度を視覚化します。

図9:シミュレーションされたY応答を用いて作成されたモデルの予測プロファイラ。
混合物の成分のうち少なくとも1つの濃度に、その変動に基づいて制約を設けた混合物設計を作成する必要があったことはありますか?もしそうなら、このブログでは、混合物実験計画法(DOE)でこの問題に取り組み、ランダムでありながらも必要な制約を満たす設計を作成する方法を紹介します。

Re: バリアント固有の制約を伴う混合実験の設計これは混合制約に対する素晴らしい解決策です。素晴らしい仕事ですね!
Re: バリアント固有の制約を伴う混合実験の設計候補セット アプローチを使用する利点を明確に説明した素晴らしい記事です。 @yasmine_hajar に感謝します。
混合設計の場合、候補ポイントを生成するために空間充填アプローチのみを使用すると、低次元の混合空間 (この例のように) ではうまく機能しますが、高次元ではエラーが発生しやすくなる可能性があります。
混合因子の数が増えると、ポイントは 0 の周りに集まり、可能な値の範囲は小さな値の周りで縮小し始めます。

この現象は「次元の呪い」として知られています (これについてはここで書きました)。
混合係数の数が中程度から多い場合(> 3)、候補セットに対して生成される値の範囲が切り捨てられないようにし、この次元の問題を回避するための回避策がいくつかあります。
- 候補セットを作成する際には、D-最適計画と空間充填計画のアプローチを組み合わせて使用することで、候補点において実験空間の「角」と「境界」が確実に考慮されるようにします。あなたの例では、これにより、いくつかの混合因子の割合が0から始まり、正確に1で終わることを保証できます。
- 組み合わせ論 (直積) を使用してポイントを生成し、空の設計領域にポイントを追加します (たとえば、1 に近い係数)。
この回答が、Space Filling Mixture 設計で次元の問題に直面している他のユーザーに役立つことを願っています。
Re: バリアント固有の制約を伴う混合実験の設計こんにちはビクターG 、コメントありがとうございます。はい、高次元の混合におけるクラスタリングについてはその通りです。
GUIを使わないより良い方法としては、JSLスクリプティング・インデックスにある「Polytope Uniform Random」方程式を使って候補デザインを作成することです。残りの手順は同じです。今後の展開にご期待ください。
再度、感謝します!