導入
空間充填型実験計画法(DOE)シリーズへようこそ!パート1では、空間充填型設計の基本原理と一般的なタイプについて解説しました。今回は、比較研究の核心である、さまざまなシナリオにおけるこれらの設計を評価・比較するための堅牢なフレームワークの構築について掘り下げていきます。
比較研究の枠組み
空間活用設計を公平に評価するためには、標準化された条件と有意義な指標が必要です。私たちの手法では、複数の性能側面から設計を評価します。
- 回答
空間カバレッジ指標/均一性応答
- 差異:理論的な一様分布からのずれを測定するための指標です。目標は、各因子について、設計によって生成された分布と一様分布との差を最小限に抑えることです。差異応答により、設計点の分布空間のカバレッジと均一性を評価できます。差異が低いほど、設計点の分布はより均一になり(実験空間のカバレッジも向上します)。
空間充填プラットフォームに要素を入力し、設計タイプを選択すると、設計診断パネルで差異値を確認できます(図1)。
図1:空間充填設計パネル。2つの因子に対して20回の試行を行う高速かつ柔軟な充填設計の設計診断。設計生成後、設計診断パネルに差異(赤)とMaxPro(青)の値が表示されます。
差異値とそれが設計点間の距離とどのように関連しているかをよりよく理解するために、6つの因子に対してそれぞれ60回実行して作成された2つの空間充填設計(ラテン超立方体と高速柔軟充填)を比較してみましょう(図2)。

図2:高速で柔軟な充填とラテン超立方体設計における点間の最小距離の可視化。
2つの設計における点間の最小距離を比較すると、ラテン超立方体設計では設計点間の最小距離の値の分布が非常に狭いことが明確にわかります。この挙動は、設計点が均一に分布し、点間の最小距離が安定しているこの特定の次元と点数において、ラテン超立方体設計が高速柔軟充填設計よりも優れた差異を示すことを示しています。
投影特性応答
- MaxPro:考えられるすべての因子サブセットへの投影における空間充填特性を評価します。目標はMaxPro基準を最小化することで、すべての次元において点間の距離が最大となり、低次元空間における設計点の良好な投影が保証されることです。したがって、この基準を効果的に最小化する唯一の方法は、どの次元においても2つの点が同じ座標値を共有しないようにすることです。
空間充填プラットフォームに要素を入力し、設計タイプを選択すると、MaxPro値は設計診断パネルに表示されます(図1)。
MaxProの統計値は、球体充填設計においては定義されていません。なぜなら、ある次元において点が同一の値を持つ可能性があるからです。
MaxPro値と、それがデザインの投影特性とどのように関連しているかをよりよく理解するために、6つの因子に対してそれぞれ60回の実行で作成された2つの空間充填デザイン(ラテン超立方体と高速柔軟充填)を比較してみましょう。
これら2つの空間充填デザインの設計点を2次元に投影すると、投影の違いを比較することができます(図3)。
図3:6つの因子と60回の試行を用いた2つの空間充填設計の投影特性の可視化。ラテン超立方体のシナリオでは、ワーンリンクが実際の近接性に基づいてすべての設計点を接続しているが、高速で柔軟な充填設計ではそうではないことに注目してください。
左側のラテン超立方体設計では、設計点間の距離は均一で小さい。このように設計点間の距離が小さく均一であるため、すべての投影における点の広がりが抑えられ、MaxPro基準値が高くなる。右側の高速フレキシブル充填設計では、設計点間の距離は不均一で大きいため、より少ない次元に投影した際にこれらの点が崩壊するリスクが低くなる。
異なるサンプルサイズを考慮する場合、不一致度とMaxPro値は強い負の相関関係を示します。不一致度が非常に低い設計でも、MaxPro値は高くなる可能性があります。これは、サンプルサイズが大きいため、設計点間の距離が小さくなり、低次元空間でこれらの点が互いに接近するリスクが高くなるためです。したがって、不一致度とMaxProの基準は、主に同じサンプルサイズの異なる設計を比較するために使用されます。
設計生成の複雑さ
- HP Time():HP Time() 関数は、マイクロ秒単位の高精度な時間値を返します。この関数は、別の HP Time() 値との相対的な関係でのみ有効であるため、設計生成スクリプトに含まれています。この例では、3 つの要因に対して 60 回の実行を行う球体充填設計を作成し、生成時間の記録と表示は、次の 2 つの HP Time() 関数によって行われます。
t1 = HP Time();
DOE(
Space Filling Design,
{Add Response( Maximize, "Y", ., ., . ),
Add Factor( Continuous, -1, 1, "X1", 0 ),
Add Factor( Continuous, -1, 1, "X2", 0 ),
Add Factor( Continuous, -1, 1, "X3", 0 ),
Set Random Seed( 138892707 ),
Space Filling Design Type( Sphere Packing, 60 ), Simulate Responses( 0 ),
Set Run Order( Randomize ), Make Table}
);
t2 = HP Time();
Show( t2 - t1 ); The generation time (t2-t1) can be seen in the log (Figure 4).

図4:生成時間を表示したスクリプトのログ結果。
A transformed response column Time (s) is used for the response, as the units (seconds) are much more understandable and comparable between designs and enable the design generation time to be assessed more easily. The column Time (s) is created with the following formula:
Time (s) = HP Time (µs) / 1000000
- 要因
空間充填デザインの生成における最大の違いを網羅するためには、デザイン生成方法、次元性、点の密度といった観点から、多様なデザインを生み出すのに役立つ様々な要素を明確にする必要があります。
- デザインタイプ:本シリーズの最初の記事で既に述べたように、空間充填デザインにはさまざまなデザイン生成方法が存在し、用途や利点に応じて、分布や幾何学的な重点が異なります。本研究では、均一充填、球体充填、ラテン超立方体、高速かつ柔軟な充填デザインなど、空間充填デザインを生成する最も一般的な方法を探求します。
- 次元数(因子の数):次元数(因子の数)が増加すると、各因子の均一な分布と良好な投影特性を維持することがより複雑で時間のかかる作業になるため、空間充填設計の性能は低下する可能性があります。次元数が上記のような様々な応答に与える影響を調べるために、次元数の側面を3つのレベルで検討します。
- 低次元3つの要因
- 中次元6つの要因
- 高次元9つの要因
- サンプルサイズの変動(実行回数/要因数):デフォルトでは、JMPは因子ごとの実行回数の比率を10に設定しており、良好な設計性能と容易なモデリングを可能にしています。しかし、実験予算によっては、空間充填設計の性能は大きく変動する可能性があります。これは、各因子の均一な分布を維持することや、設計点数が少ない場合に良好な投影特性を維持することが複雑になるためです。この要因を考慮するため、複数のサンプルサイズをテストします。
- 小さい: 因子ごとに3つの設計点があり、これは古典的な中心複合計画(CCD)で得られる状況と似ています。CCDでは、各因子が最小値、中間値、最大値でテストされるように点が再配分されます。
- 中くらい:因子あたり20の設計ポイント。これはJMPのデフォルト比率である因子あたり10の設計ポイントに近い値です。
- 大きい:設計空間における点の密度が高いため、各因子につき100個の設計点があり、これは予測精度の高いモデルを構築する必要性に対応しています。
- 実験手順:設計選択
異なる因子レベルを容易に比較できる、非常にシンプルな設計を採用したいと考えています。さらに、設計生成シードは固定されていないため、アルゴリズムの変動性を推定し、この偶然的な変動性を因子の影響から分離したいと考えています。また、特定の設計構成では実現が難しい組み合わせもあるため、外れ値や欠損値が存在する場合でも堅牢な分析を可能にする設計を求めています。
これらの理由から、完全要因計画法が選択されます。JMPで完全要因計画法を作成するには、手順は簡単で分かりやすいです。DOEメニューで「古典的」を選択し、次に「完全要因計画法」を選択します(図5)。

図5:完全要因計画を作成するためのDOEメニュー。
先に挙げた反応と要因の定義に基づいて、さまざまな空間充填構成を評価および比較するための設計を作成することができます(図6)。

図6:さまざまな空間充填シナリオを評価および比較するための完全要因計画の作成。
完全要因計画では、考えられるすべての要因レベルの組み合わせを実行できるため、36回の実験(4×3×3)が必要です。完全要因計画を生成するためのスクリプトは次のとおりです。
DOE(
Full Factorial Design,
{Add Response( Minimize, "Discrepancy", ., ., . ),
Add Response( Minimize, "MaxPro", ., ., . ),
Add Response( Minimize, "Time", ., ., ., ., ., "s" ),
Add Factor(
Categorical,
{"Fast Flexible", "Uniform", "Sphere Packing", "Latin Hypercube"},
"Type",
0
), Add Factor( Continuous, {3, 6, 9}, "Factors", 0 ),
Add Factor( Continuous, {3, 20, 100}, "Ratio exp/factors", 0 ),
Set Random Seed( 31068506 ), Make Design, Simulate Responses( 0 ),
Set Run Order( Randomize ), Make Table}
);
このスクリプトで得られたデータテーブルは図7に示されています。
図7:完全要因計画表
応答評価
設計の各行について、対応するパラメータ値(連続因子の数、因子ごとの点数、設計タイプ)を指定して、空間充填設計が作成されます。すべての設計構成について、不一致度とMaxProメトリック値が記録されます。
分析フレームワーク
空間充填デザインに関するこの包括的な研究の結果を分析するために、2つのアプローチが検討される。
<CODE class=" language-jsl"><CODE class=" language-jsl">
<UL>
<LI><STRONG><SPAN>モデリング手法</SPAN></STRONG><SPAN><SPAN>: 設計生成後にデータテーブルに添付されているモデルスクリプトを使用してモデリングアプローチを実行します。研究設計は完全要因計画であるため、このスクリプトで指定されているデフォルトの事前モデルには、すべての主効果(設計タイプ、因子の数、因子ごとの実験の比率)とすべての2因子交互作用が含まれます(図8)。<BR /><BR /></SPAN></SPAN><SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="FitModel1.svg" style="width: 888px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="FitModel1.svg" style="width: 888px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="FitModel1.svg" style="width: 888px;"><span class="lia-inline-image-display-wrapper" image-alt="FitModel1.svg" style="width: 888px;"><img src="https://us.v-cdn.net/6038925/uploads/images/86065i17D7A66B8EE3BEA4/FitModel1.svg" width="888" height="499" role="button" title="FitModel1.svg" alt="FitModel1.svg" /></span></SPAN></SPAN></SPAN><BR /><EM style="font-size: 1em;">図8:デフォルト適合モデルの起動。</EM><EM style="font-size: 1em;"><STRONG>「個別に適合させる」</STRONG>オプションがチェックされている場合、各応答変数に対して個別のモデルが適合されます。</EM><BR /><EM style="font-size: 1em;"><EM style="font-size: 1em;"><BR /></EM></EM> <P><SPAN>連続因子には3つのレベルが使用されるため、連続因子の二次効果による曲率効果を考慮するようにモデリングスクリプトが修正されます(図9)。<BR /></SPAN></P> <SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="FitModel2.svg" style="width: 889px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="FitModel2.svg" style="width: 889px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="FitModel2.svg" style="width: 889px;"><span class="lia-inline-image-display-wrapper" image-alt="FitModel2.svg" style="width: 889px;"><img src="https://us.v-cdn.net/6038925/uploads/images/86066i67BC3913B034FFA6/FitModel2.svg" width="889" height="500" role="button" title="FitModel2.svg" alt="FitModel2.svg" /></span></SPAN></SPAN></SPAN><EM style="font-size: 1em;"><EM style="font-size: 1em;">図9:修正された適合モデルの起動。モデルスクリプトは、連続因子に二次効果を追加することで修正されています。2つの連続因子を選択し、 <STRONG>[マクロ]</STRONG> > <STRONG>[次数への多項式]</STRONG>をクリックして、2つの二次効果を追加します。<BR /><BR /></EM></EM> <P><SPAN>空間充填設計の性能応答を分析するために使用されるモデルには、連続因子に対する主効果、2因子交互作用、および二次効果が含まれる。</SPAN></P> </LI>
</UL> <BR /> <H2 style="font-weight: 400;" id="toc-hId-227218614" id="toc-hId-227305843" id="toc-hId-227305843" id="toc-hId-227305843"><STRONG>次は</STRONG></H2> <P><SPAN>最終回となる今回は、この包括的な比較の結果を発表します!さまざまなシナリオにおいてどの空間充填設計が優れているかを示し、実験の目的と制約に基づいた設計選択のための実践的なガイドラインを提供します。</SPAN></P> <P><EM><SPAN>これは、空間充填型実験計画法に関する3部構成シリーズの第2部です。</SPAN></EM></P>
<OL>
<LI><SPAN><A href="https://community.jmp.com/t5/JMP-Blog/Part1-Introduction-to-common-types-of-space-filling-designs/ba-p/906541" target="_blank">一般的な空間充填デザインの種類の紹介</A>. </SPAN></LI>
<LI><STRONG><SPAN>比較枠組みと評価指標</SPAN></STRONG><SPAN>(この記事)</SPAN></LI>
<LI><A href="https://community.jmp.com/t5/JMP-Blog/Exploring-space-filling-designs-part-3-Results-analysis-and/ba-p/915402" target="_self"><EM><SPAN>結果、分析、および設計選択ガイドライン</SPAN></EM></A><SPAN>.</SPAN></LI>
</OL>
Victorさん、洞察力に富んだ投稿をありがとうございます!JMPで生成されていない空間充填設計の診断(例えば、矛盾やMaxPro基準など)をJMPで計算することは可能でしょうか?Evaluate Designではこれらの統計情報はオプションとして提供されていないようですが、この評価を行う別の簡単な方法があるかどうか知りたいです。
こんにちは@ktbrickey22さん、
肯定的なフィードバックをありがとうございます!
いいえ、現時点ではJMP以外で生成された計画については、空間充填計画診断(不一致とMaxPro)を計算することはできません。このブログの実験中にも疑問に思ったのですが、 「空間充填計画のMaxPro値を取得するにはどうすればいいでしょうか?」という質問がありました。現時点ではこれらの値を簡単に計算できないと思われるため、このトピックに関するウィッシュリストを作成しました。 空間充填計画のための計画比較プラットフォーム
今のところ、2つの空間充填計画間の乖離度を比較する必要がある場合、 SciPyの乖離度関数を使用しています。この関数はJMPと同じ値を返すわけではありませんが、あらゆる計画を比較できます。SciPyには、点間の最小距離を視覚化する最小全域木など、他にも便利な指標や視覚化機能があります。
MaxPro の場合、これはより複雑なトピックであり、満足のいく解決策は (まだ) 見つかっていません。
この回答がお役に立てれば幸いです 
@Victor_Gさん、迅速な返信とヒントをありがとうございます!ウィッシュリストのアイテムは気に入りました。その間、SciPy関数について調べてみます。乾杯!
@Victor_G さん、ちょっと質問があります。上記で説明されている MaxPro のアプローチについて、「目標は MaxPro 基準を最大化して、設計点の低次元空間への良好な投影を確保することです」とありますが、ヘルプには MaxPro 基準を最小化することが目的だと書かれています。どちらが正しいのでしょうか?
こんにちは、 @charlie_whitman さん。
丁寧なご読解とコメント、そしてこの潜在的な間違いをご指摘いただき、誠にありがとうございます。大変申し訳ございません。MaxPro基準についてお読みになった際に、混乱してしまったようです。この基準は設計の投影特性を評価するためのものであり、投影特性が高いほど、情報が最大化され、非アクティブまたは重要度の低い要因が存在する場合でも効率的な間隔の設計が可能になるため、より良いと言えます。この基準は、潜在的な設計点間の距離の積を最大化することで、この間隔に影響を与えます。しかし、JMPヘルプのMaxPro基準の式では、設計点間の距離が分母にあるため、この基準は最小化されるべきもののように見えます。これはJMPヘルプの設計診断にも「値が小さいほど良い」と記載されています。
JMP ヘルプに書いてあるにもかかわらず、私はまだ混乱しています。特に、ベイズ最適化プラットフォームの「MaxPro 基準を最大化する」オプションを見ると、さらに混乱します。MaxPro 基準を最大化するメリットは何でしょうか (実験空間のより小さな部分空間を調べるときに、実行がクラスタリングまたは「スタック」される可能性があります)。このセクションのヘルプには、次のように記載されています。「このオプションは、モデルフリーの因子空間探索であり、トレーニングデータと現在のバッチの両方で因子設定の複製を回避します。1 つ以上のモデルがうまく適合しない場合は、任意のバッチサイズでこのオプションを使用してください。 」モデルがうまく適合しないためにさらに探索することが目的である場合、このオプションは、新しく追加された実行の適切なカバレッジを確保するために、MaxPro の新しい設計点の値を最大化するのではなく、最小化 (設計点間の距離を広げて実験空間を探索するため) するようにすべきでしょうか。
JMP DoEチームのどなたかがこの混乱を解消するお手伝いをしていただければ、大変ありがたいです!
このブログ記事シリーズのパート2とパート3は、できるだけ早く修正いたします。
@Victor_G - 迅速なご対応ありがとうございます。矛盾点に気づいたのは私ではなく、お客様でした。重ねてお礼申し上げます!
@charlie_whitmanこの間違いについて、重ねてお詫び申し上げます。パート2とパート3で修正を行いました。もしあなたやお客様の顧客が他に間違いに気付いた場合はお知らせください(そうでないことを願っています)。