皆様、ご参加いただきありがとうございます。今日は「多くの計画、わずかな時間」についてお話します。JMPの研究開発部門、アドバンストアナリティクス担当ディレクターのライアン・レキベッツです。JMPではDOE(実験計画)と信頼性チームを率いています。JMPの最新バージョンでは、計画エクスプローラーにいくつかの改良が加えられているため、興味深いトピックになると思いました。まだご覧になっていない方は、この講演の最後にご覧いただけます。
でも、その前に、ここに概要を少し載せてありますね。少し話が逸れて、実験計画法の背後にある考え方について少しお話ししたいと思います。その理由の一つは… 以前の発見に関する講演をいくつか振り返っていたのですが、JMP 13で計画比較機能が導入されて以来、このことについてあまり議論されていないことに気づきました。今から10年近く前のことだと思います。この引用文を見なければ、発見に関する会議とは言えないのではないでしょうか。「すべてのモデルは間違っているが、中には有用なものもある。」
確かに、実験を設計する際によく耳にする批判の一つは、「モデルは単純すぎる。自分のプロセスを本当に説明してくれるはずがない」というものです。なぜ実験計画法はこれほど長く機能してきたのでしょうか?結局のところ、実験計画法は、システムを理解し改善するのに役立つモデルを構築できるからです。実験計画法が完璧ではないことは認めますが、少なくとも、どの要因や効果がそのシステムを動かしているのかについて、より良い考えを得ることができます。
実験設計において私がよく考えるのは、分散バイアスのトレードオフという考え方です。様々な実験計画から得られる結果から、このトレードオフが明らかになるでしょう。実験計画を選択する際にも、私はよくこの考え方に注目すると思います。つまり、どのようなモデル効果を持っているか、という考え方です。JMPに伝えたいモデル項と、もしかしたら含めなかったかもしれないけれど、もしかしたら有用なモデルの一部になるかもしれない項を比較するのです。もし実験をもう少し進め、より多くのデータを収集すれば、これらの効果や項の中に重要なものが見つかるかもしれません。
ここで簡単な例を見てみましょう。ご覧の通り、3つの因子X1、X2、X3を用いた単純な実験計画があり、それを調べていくつかの応答を収集しました。分散バイアスのトレードオフについて考える際、推定効率のようなものを見てみましょう。これは、効果推定値(この場合はX1、X2、X3)の標準誤差が、その標準誤差と比較してどれくらいなのかを示しています。
このY軸にノイズが多ければ、それについてはあまり何も言えないかもしれません。しかし、実際に見てみましょう。ここでいくつかデータを生成しました。実行してみましょう。ご覧の通り、RMSEはほぼ1でした。パラメータ推定値を見ると、この標準誤差は相対標準誤差0.2と直接関係しています。
これが本当に示唆しているのは、効果推定値が大きく、主効果推定値も大きい場合、理想的にはこのデザインでそれを検出できるはずだということです。ここに表示されているのは、推定効率、つまり分数増加です。これ以上良い結果を出すことは不可能です。もし私が使用しているデザインがこれなら、これ以上良い結果を出すことは不可能です。
しかし、本当の問題は「もし私が間違っていたらどうなるか?」です。ここにあるこのデザインは私が設計したものです。DOEダイアログを見てみると、主効果があると仮定していました。X1、X2、X3があり、主効果だけがあると書きました。では、X1とX2の間に交互作用があったとしたらどうなるでしょうか?もう手遅れかもしれません。既にデータを集めてしまっているかもしれませんが、どうなるでしょうか?同じデザインで、評価デザインを見て、もし特定の交互作用を追加したらどうなるでしょうか?X1とX2です。
ご覧の通り、ここでは異なる設計を使用していると思いますが、X2とX3、そしてこの相互作用の増加が見られます。これは、X1とX2の相互作用を追加したことで、X2とX3のバリアントがわずかに上昇したことを示しています。これは、この相互作用を考慮していなかったためです。エイリアスマトリックスにもこの影響がよく現れています。エイリアスマトリックスをご覧になったことがある方はご存知でしょうが、ここで負の3分の1の値が得られます。
それは一体どこで重要なのでしょうか?この評価設計を考えてみると、実はここにある設計と同じものです。ここで私が行ったのは、X1とX2の交互作用を明示的に追加しただけです。つまり、X1とX2を掛け合わせるということです。ここで考えてみましょう。これで推定値が得られます。
相関関係のカラーマップを見てみると、よくやっていることがわかります。ここに大きな部分があります。しかし、これで何が問題になるのでしょうか?例えば、X1とX2があれば、主効果をモデル化できるとしましょう。では、このようなものをモデル化した場合、何が問題になるのでしょうか?
パラメータ推定値を見てみましょう。さて、ここで必ずしも有意ではないことにお気づきでしょう。しかし、それが一体何の役に立つのでしょうか?つまり、すべて問題なかったのに、このようなことがどこで作用するのでしょうか?これを何度も繰り返したとしましょう。ここにYシミュレーションがあります。その背後にある式を見てみましょう。これが私の真のモデルだとしましょう。X1、X2、X3の主効果はすべて何らかの影響を与えており、X1とX2の交互作用も存在します。
しかし、もしモデル作成時にその点を見逃していたらどうでしょうか?JMPでできることの一つは、シミュレーションを繰り返し実行することです。そうした場合、ここで何が起こるか見てみましょう。この分布から何度もデータを取得し続けます。私がしているのは、少しだけランダムノイズを加えることだけです。ここでX1を見ると、平均値はちょうど2で、これは私が望んでいた値です。X2は3で、これは私たちが予想していた値です。しかし、X3は1です。
なぜでしょうか?それはエイリアス行列に関係しています。X1とX2を見落としていたため、X3はパラメータ推定値の3分の1のバイアスを受けてしまうことが判明しました。モデルにその項を含めないと、それを実行すると混乱が生じます。これは、実験を設計する際に常に考慮しなければならないことです。私たちは、正しいと考えるモデルを提供するために最善を尽くします。しかし、診断を検討する際、相関関係のカラーマップを頻繁に取り上げるのは、モデルに含まれる項と、エイリアス項セットに含まれていた可能性のある項を比較検討しているからです。しかし、これらの項が重要だった場合、何が起こるでしょうか。
ここでカスタムデザインが登場します。JMPでデザイン実験をあまり行ったことがない方にとって、カスタムデザインは最初の選択肢です。特定の実験設定に最適なデザインを作成します。ここではカスタムデザインについて見ていきます。有用なモデルがあると仮定します。繰り返しますが、すべてのモデルが間違っているわけではありません。システムを十分に理解し、「これらの主効果や交互作用を考慮した場合、この有用なモデルに従ってデザインを作成できるだろうか?」と言えると仮定します。
さて、カスタム設計についてですが、このホバーを見てもわかるように、最適設計という考え方について触れられています。最適設計における効率性という考え方ですが、これは実験から実際に何を得ようとしているのかということと非常に関連しています。特に、ここでカスタム設計を選択すると、ご覧の通り、様々な最適性基準、D、I、A、そして推奨といった文字が表示されます。これは一体何を意味するのでしょうか?
最初の基本セットは、モデル項を推定したい場合です。この有用なモデルがあると仮定すると、それらを本当に正確に推定できるかどうかを確認することに興味があるかもしれません。
主効果であれ、交互作用であれ、数学的な詳細に立ち入るつもりはありません。D最適性のようなもので、これはパラメータ推定値の全体的な信頼楕円体を最小化するものです。つまり、これらすべてを一度に考慮するということです。Aは平均に近いものですが、パラメータ推定値の平均分散を最小化するだけです。
「用語が正しいかどうかを確認したい」というだけなら、これらは素晴らしいです。しかし、このモデルは本当に役に立つのでしょうか?そのモデルの中で最も重要なことは何なのかを理解できるでしょうか?
さて、これはどこから来ているのでしょうか?カスタムデザインでは、JMPに設定したモデルに基づいて計算されます。デフォルトでは、ここには主効果だけが含まれているかもしれません。これらの別名項は、重要ではあるものの、モデルには含めていない項です。一方、JMPに2因子交互作用を求めると、JMPは設定したモデルに基づいて、異なる効率を計算します。これがカスタムデザインという考え方です。
さて、代わりに、もしかしたら既に有用なモデルを持っていると思っているとしましょう。もしかしたら、応答をより正確に予測することに興味があるかもしれません。ここでもう一つのI-最適性が得られます。ここでは平均値を最小化することだけを目指します。設計領域全体を考えると、全体的に良い結果が得られていることを確認したいだけです。そこでI-最適性を使用します。
これらの様々な効率性に見られるように、G最適性は「最悪のケースを最小化せよ。決して最悪にならないようにせよ」と言っているだけです。他にも、エイリアス最適性は妥協に近いものです。「エイリアス項によるバイアスから守ってくれ。モデルには含まれていなかったかもしれないが、全体としては妥当な設計を保ちつつ、重要かもしれない項から守ってくれ。」と言っているのです。
「可能ならば」という項も表示されています。DOEに戻って、「可能ならば」項とは何でしょうか?ここで見てみましょう。JMPに「これらの交互作用は重要かもしれないし、そうでないかもしれない。これらを可能ならばに設定できる」と指示できます。これはJMPに「必要な項を与えてください。必ず推定する必要があります。可能ならば、推定する機会がない場合は推定しますが、必要な項ほど重要ではありません」と指示しているだけです。
これらはどのように作用するのでしょうか?JMPに「これが欲しいものです。モデル、別名項、そして様々な最適性基準があります」と指示できます。さて、実際のところ、最大の問題の一つは、計画評価を見る時です。計画を作成し、JMPに「これがやりたいことです」と指示しました。すると、これらの診断の一部はサンプルサイズに比例しますが、一部はそうではないことがわかりました。
検出力分析などについて考えると、検出力はサンプルサイズとはそれほど関係ありません。もちろん、サンプルサイズが大きいほど効果推定値の検出力は高くなりますが、それはサンプルサイズとは関係ありません。
同様に、推定値の標準誤差は単なる計算ですが、信頼区間の増加分はサンプル サイズに応じて異なります。
同様に、相関関係のカラーマップは単なる計算ですが、最終的に得られる様々な効率指標はサンプルサイズに依存します。これは私が作成した12回実行のデザインです。主効果のみを示しました。先ほども述べたように、検出力など、いくつかの項目は単純な計算です。デザイン診断などは、「これは100% D効率です」と表示しています。これは12回実行のデザインであり、12回実行のデザインで得られる最高の効率を達成しているためです。
同時に、16回実行のデザインでも同じことができます。しかし、今度は検出力分析を見てみると、当然のことながら、サンプルサイズが大きくなっています。次に、デザイン診断を見てみましょう。ここでも同様に、D、G、Aの効率はすべて100%を示しています。これは、これらの効率がサンプルサイズに相対的であるためです。
これは、16回実行のデザインではこれ以上の性能は得られないことを示しています。同様に、12回実行のデザインでは、12回実行ではこれ以上の性能は得られないと書かれています。これは、16回実行のデザインではなく、12回実行のデザインを使うべきという意味でしょうか?まあ、それは状況によります。もし16回実行できるなら、それが本当に必要なのかを確認するために、他に検討すべき点があるかもしれません。
ここで実際に問題になるのは、どのデザインを比較するのか、あるいは比較しないのかを考え始めると、デザインの比較という話になってしまいます。その話に移る前に、決定的スクリーニングデザインについてお話ししたいと思います。JMP Discoveryカンファレンスに参加されたことがある方は、決定的スクリーニングデザインというアイデアがよく話題に上がることをご存知でしょう。実際、決定的スクリーニングデザインのメニューの一番上に、このデザインが表示されています。
繰り返しますが、ここでは数学的な詳細に立ち入りすぎたくありません。決定的スクリーニング計画は、会議行列の折り返しという考え方において特別なものです。私は決定的スクリーニング計画を、こうした妥協案として捉えるのが好きです。これらの計画は、異なる最適性基準を思い出していただければわかるように、実際には別名最適計画として発見されました。しかし、対角線上にゼロを維持し、中心点を追加することで、非常に効率的な計画となりました。決定的スクリーニング計画がこれほど普及した理由の一つは、分散バイアスのトレードオフを考えると、これらの計画が直交していることがわかるからです。
主効果、つまり推定に戻ると、主効果は非常に正確に推定されています。しかし、交互作用や二次効果が存在する場合、これらの主効果はそれらから保護されます。有用なモデルに二次効果や交互作用がある場合、このように計画を構築することで、バイアス保護が組み込まれます。つまり、主効果のバイアス保護です。
さて、私が以前に考えていた他の2つの設計について考えてみると、なぜこれを使いたいのでしょうか?ゼロを入れることで、非線形効果、つまり設計空間の中央で何かが起こっているかどうかを確認できるという点が大きな利点だと思います。従来のプラスマイナス1を使うだけでは、その変化を見逃してしまうでしょう。例えば、ケーキを焼くとき、350度で焼くべきだったとします。ところが、325度や375度だと、もしかしたら少し不正確かもしれません。
JMP に範囲を 325 から 375 にしたいと指示した場合、実際には 350 には何も表示されませんが、確実にそのようにしたい場合があります。
もう一つ、ここで触れておきたいことがあります。もしかしたら気づいていないかもしれませんが、実験計画法の授業で、スクリーニング計画プラットフォームに表示される典型的な一部実施要因計画についてよく話されます。しかし、その中には、近似直交計画や直交混合水準計画と呼ばれるものも隠れています。これらは、決定的スクリーニングの特殊なケースのようなものです。これらは、典型的な計画の下に隠れています。JMPの最新バージョンでは、これらの計画がはるかに見つけやすくなっています。
決定的スクリーニング設計のもう一つの問題は、カスタム設計では実際には得られないということです。「最適」という別名を持つ妥協案だと書きましたが、実際にはゼロを適切な方法で強制的に配置できることがわかりました。決定的スクリーニング設計とカスタム設計を一緒に作ろうとしたことがあるなら、確かに可能ですが、かなりの作業が必要です。一方、私が必要なのは、このプラットフォームにアクセスするだけで、あとは自動的に構築されることです。問題なく自動的に構築されます。
例えば、同僚と話していて、3つの異なるデザインの間で議論しているとします。誰かが既にデザインを見直しています。5因子のカスタムデザインから作成した12回実行のデザインがあります。5因子の決定的スクリーニングデザインと、16回実行のデザインがあります。16回実行のデザインの方がコストがかかります。しかし、どうすればいいでしょうか?ここでデザインの比較が重要になります。
複数の設計をこの1つのプラットフォーム内で比較できるようになります。個々の評価設計を起動して、どの設計を比較するのが適切で、どの設計がそうでないかを判断する手間が省けます。先ほども触れましたが、列名を一致させたり、JMPに自動で一致させたりすることも可能です。これにより、複数のモデルを検討できるようになります。
計画の比較があります。DOEの「計画診断」の下に「計画の比較」があります。現在アクティブなデータテーブルは16回目の実行のデータです。これを12回目の実行と13回目の実行と比較してみましょう。一番下のところで、JMPに列のマッチング方法を指定できますが、とりあえず自動マッチングを試してみましょう。
JMPは、どのようにすればそれが可能かを探ろうとします。ここで、実際に正しい因子が見つかったことがわかります。因子名が異なっていても、JMPは自動的にマッチングを試みます。計画比較機能の優れた点は?これで、検出力分析などの項目を検討できるようになります。同僚と一緒に検討し、3つの計画のうちどれを選ぶかを決めることができます。もちろん、16回の実行にはコストがかかりますが、その分、より高い検出力が得られます。
いろいろ見てみましょう。この設計空間の割合のプロットは、予測の分散と関係しています。範囲全体にわたって、どれくらいうまく機能しているでしょうか?ここで便利なのは、設計を比較しているので、相対的な効率という考え方を使えることです。特定の実行サイズとの比較を気にする必要がなく、直接比較できるのです。
さて、「これによると、16か12しか使わないかもしれない。なぜDSDを使う必要があるんだ?」と思うかもしれません。これはまさにその点に戻ります。異なる相関関係、つまりモデル項とエイリアス項の関係です。もし2因子交互作用のようなものがあると判明した場合、これは比較設計の良いところです。「もし~だったらどうする?」というゲームができます。実際、このケースでは、設計の1つは、設定方法のせいで、その特定の交互作用にすら適合しなかったことがわかります。
ここで私はこう言うかもしれません。「これは問題がある。何か他のものを追加してみよう。」ご覧の通り、この特定の計画はあまり役に立っていないようです。では、交互作用を追加しようとするとどうなるか考えてみましょう。16回実行した計画はうまくいかないようです。すべて追加してみましょう。ここでJMPは「この計画は交互作用を当てはめるのに苦労しています。ところで、計画構築時に交互作用を考慮していなかったため、この計画を構築してしまいました。今、交互作用を追加しようとしてもうまくいきません。」と言っているのが分かります。
これは先ほどの考えに戻りますが、もしこれらの別名項が心配なら、つまりここに二因子交互作用の別名項があります。もし交互作用が心配なら、決定的スクリーニング計画のようなものを採用した方が良いかもしれません。そこで、計画比較がそれを理解するのに役立つのです。
そうですね、計画比較機能は素晴らしいツールだと思います。JMPに組み込んで以来、というかJMP内でも定期的に使っています。ただ、計画比較機能を使う上で一つ問題なのは、お気づきかと思いますが、個々のデータテーブルを一つ一つ作成する必要があり、どの計画を比較したいのかをきちんと把握しておかなければならなかったことです。
でも、本格的なデザイン比較をする前に、もっと色々なデザインを検討したいですよね。そこでデザインエクスプローラーの出番です。デザインエクスプローラーをまだ見たことがない方は、ここでもう一度カスタムデザインを起動して、同じことをしてみましょう。5つの異なる要素を追加します。「続行」に進みます。
この主効果モデルを試してみましょう。「デザインを作成」のすぐ下に、デザインエクスプローラーが表示されます。「現在の因子とモデルを使用して、デザインの選択に役立つ様々なデザインの選択肢を検討します。」デザインエクスプローラーをクリックして、結果を確認してみましょう。ここに、主効果モデルがあるというメッセージが表示されます。
表示されているのは、単一の設計、または特定のオプションの組み合わせのオプションを選択する画面です。例えば、誰かと話し合って「D最適設計とA最適設計を試してみて、実行回数を12回から20回に変えてみましょう」とします。デザインエクスプローラーにこれを実行させると、実際には12回、16回、20回実行のD最適設計と、12回、16回、20回実行のA最適設計が作成されます。
以前のバージョンのデザインエクスプローラーでは、カスタムデザイン内で生成できるものしかできませんでした。JMPの最新バージョンでは、決定的スクリーニングデザインを取り込むことができるようになりました。決定的スクリーニングデザインを実行した場合の結果を比較したい場合、この機能が使えるようになるかもしれません。
では、これらの異なる効率性を比較して、何が起こるかを見てみましょう。ここで、主効果が二次効果と二因子交互作用と直交していることがわかります。これは、これを選択することで、もう少し何か特別なことができるというヒントを与えてくれます。これで、これらの異なる設計が、他の選択肢と比較してどのように機能するかを確認できるようになりました。
同様に、これはこれまで見たことがないかもしれないデザインで、直交表に近いものですが、実際にはバランスをとることだけを目的としています。この主効果スクリーニングデザインは、各列のペアのバランスをとることだけを目的としています。同様に、この直交混合レベルデザインのようなものは、以前はスクリーニングプラットフォームの下に隠れていた別のタイプのデザインです。
これで、様々な設計を素早く生成し、どれを使うか検討し始めることができます。しかし同時に、そろそろ圧倒され始めているかもしれません。「どこから始めたらいいのかさっぱりわからない。同僚に送ってみよう」と思うかもしれません。ご覧の通り、この拡張データテーブルがあります。効率と実行の関係、効率の散布図があります。そして、もう一つ便利なのは、これを同僚に送れることです。同僚が実行してこれらの設計を作成できるスクリプトが用意されています。
同様に、これを一人で行う場合は、「よし、この17ランのDSDは良さそうだ。評価してどうなるか見てみよう」と思うかもしれません。ここで直接設計評価を実行することも可能です。準備が整ったら、選択した設計を作成しましょう。これで、17ランの確定的スクリーニング設計の準備が整いました。
これがデザインエクスプローラーです。ディスカバリーにいらっしゃるなら、喜んでお話します。そうでない方は、下のコメント欄にコメントを残してください。オンライン版はこちらです。
最後にいくつか考えを述べます。デザインエクスプローラーを使っても、デザインが多すぎるように思えるかもしれません。「偶然の発見はしばしば称賛されるが、計画的に行われた発見はより信頼できる」という引用が好きです。
なるほど、それでは全てのモデルが間違っているということになりますね。私が好きなもう一つの格言は、「実験を計画するのに最適な時期は、実際に実験を行った後だ」というものです。これまで私が行った実験の全てにおいて、「ああ、こうしておけばよかった」という思いが常にありました。あるいは、実験後に「ああ、事前にこう考えていれば、これは明白だった」と思うこともあります。しかし、実際には、計画実験を行おうと考えている時点で、あなたは既に一歩先を進んでいるのです。
たとえ失敗した実験、あるいは私が「失敗した実験」と呼ぶものであっても、次回何をすべきかについて常に何かを学べます。実験計画法は、一連のプロセスとして捉えるべきです。実際、実験計画法は次回何をすべきかを考えるのに役立つのです。
もう一つ言及しておきたいのは、モデル化の方法が重要だということです。一般的に言えば、実験設計という概念について考える限り、JMPでは、ユーザーが実験を実行する際に最適な環境を整える最善の方法を日々考えており、決定的スクリーニング設計などを用いてユーザーを保護し、バイアスなどからユーザーを守るよう努めています。
しかし、結局のところ、モデリングの進め方は重要です。決定的スクリーニング設計や、これらの相互作用に関する「可能であれば」という項などについて考えると、私は実験を設計する際に、元のモデルに考慮していなかった項を見落としていないか確認するために、様々なモデリング手法を試すことがよくあります。また、有用だと思うモデルが、私が見つけることができた中で最も有用なモデルであることを確認するためにも、様々なモデリング手法を試しています。
これは、検出力分析のような分析においても非常に当てはまります。例えば、交互作用を持つ4つの因子がある場合、これらの主効果と2因子交互作用の検出力分析を行うと、これらの項の全てが最終モデルに含まれると期待することは非常に稀です。
検出力分析のようなことを考える時、私はよくシミュレーションを実行して「もし~だったら」というゲームをしています。もしこれらのうち2つが有意だったら? あるいは、3つが有意だったら? 最終的なモデルにこれらすべてが含まれることは非常に稀だからです。こうした実験を設計する際には、モデル選択と「もし~だったら」というゲームをどこまで深く掘り下げていくか、という点も念頭に置いておく必要があると思います。
それでは、お時間をいただきありがとうございました。この講演が皆様のお役に立てば幸いです。ご意見やご質問がありましたら、下記にご記入ください。ありがとうございます。