| スピーカー |
トランスクリプト |
| ジョーダン・ヒラー |
外出する。 |
| フィル・ケイ |
ご参加いただきありがとうございます。JMPのラーニングマネージャー、フィル・ケイです。まずはSVEM(自己検証型アンサンブルモデリング)のインタラクティブな例からプレゼンテーションを始めたいと思います。 |
| |
SVEMとは何か、そしてそれがどのように機能するかのメカニズムについて説明し、その後ピートとトレントが例を挙げて説明します。 |
| |
ケーススタディやシミュレーションで、なぜこれをやりたいのかを詳しく説明します。 |
| |
非常に単純なケーススタディなので、最初はなぜそうするのか分からないかもしれません...なぜこれをやりたいのか明確ではないかもしれませんが、説明後にはメカニズムを理解していただけると思います。 |
| |
さて、ここでビデオを停止して、ソフトウェアのデモに焦点を当てたいと思います。 |
| |
こちらに JMP ジャーナルがあり、皆さんと共有していますので、Community.JMP.com の JMP コミュニティの投稿からアクセスできます。 |
| |
ここで使用する例は、典型的なDOEの例です。これはJMPのヘルプファイルから入手できるバウンスデータです。 |
| |
3因子、15回の試行です。これはボックス・ベンケン計画で、応答はストレッチです。非常に単純で標準的なものです。 |
| |
伝統的な旧式のDOE。 |
| |
このデータをモデル化することに特に難しい点はなく、応答曲面モデルを当てはめると、この曲線的な動作、この二次効果、および因子間の相互作用が重要であることがわかります。 |
| |
それでは、SVEM アプローチを使用してこれをどのようにモデル化できるかを見てみましょう。 |
| |
これをSVEMを使ってモデル化すると、まず目につくのは、データが30行あることです。つまり、各行のデータを複製していることになります。これは少し奇妙に思えるかもしれません。ズルをしているように見えるかもしれません。これはSVEM手法の重要なトリックです。 |
| |
ここにいくつか追加の列があるのが分かります。重要なのは検証重みです。これをプロットして、その意味を確認してみましょう。 |
| |
ご覧のとおり、データの各行、各実行には、実際に実行のペアがあり、実行番号 1 はここに表示されます。 |
| |
実際には、これらの各実行をトレーニングセット(0)または検証セット(1)に重み付けしています。そして、各ペアについて、 |
| |
これらの重みは反比例します。例えば、実行番号7では、トレーニングセットでは重みが大きく、検証セットでは重みが0になっていますが、検証セットではそれに応じて重みが低いことがわかります。 |
| |
これらはランダムに割り当てられ、私たちは... |
| |
ここをクリックすると、再描画して重みを再割り当てできます。また、トレーニングセットで行の重みが大きい場合、例えば6行目のように、トレーニングセットで行の重みが大きい場合、検証セットではそれに応じて重みが低くなります。 |
| |
つまり、ここではデータの行を 2 倍にしています。 |
| |
これを自己検証に使用します。つまり、ホールドバック検証のバリエーションを使うことで、 |
| |
検証セットにデータ行を完全に保持するのではなく、各行のデータの一部を保持して、各行がトレーニングセットと検証セット内に実際に含まれるようにします。そして重要なのは、それらの重みを再割り当てできることです。 |
| |
アンサンブルモデリングに関しては、これを繰り返し実行します。 |
| |
わかりました。まとめると、基本的にデータの各行を複製し、一部の行はトレーニング セットに多く含まれ、一部の行は検証セットに多く含まれるように重みを割り当てています。 |
| |
これで、検証を使用してモデルを適合できるようになりました。 |
| |
ここでは GenReg を使用しており、検証セットを使用していることがわかります (エラー メッセージは無視してください)。 |
| |
Lassoを使用し、モデル選択として検証を使用しています。この場合、モデル内の有効な効果は実際には選択されていません。つまり、応答曲面モデルを当てはめ、Lassoを用いた選択方法として検証を使用しています。 |
| |
そして、実際にアクティブな効果はないと判断したため、実質的にアクティブな影響を与えないモデルが作成されました。 |
| |
次にできることは、それらの重みを再度描画し、列の重みを再設定することです。 |
| |
今回は異なるモデルが得られました。つまり、いくつかの効果が活性化し、シリカと硫黄の相互作用においてシリカが活性化していることがわかります。 |
| |
そのモデルを保存しましょう。 |
| |
そこで今、私たちの |
| |
データ テーブルを見ると、保存されたモデル数式列があることがわかります。 |
| |
重みをもう一度描き直してみましょう。つまり、一部の行はトレーニングに重点を置き、一部の行は検証に重点を置くように描き直しているということです。 |
| |
また別のモデルができたので、それを保存しましょう。これで |
| |
予測式が保存された 2 行 2 列。 |
| |
これをもう一度実行できます。重みを再描画して予測式を保存します。これを行うスクリプトを用意しました。そして、モデル平均を作成します。つまり、保存した3つのモデルの平均を計算したことになります。 |
| |
したがって、各モデルはそれぞれ異なる検証重み付けを使用しました。 |
| |
それぞれのモデルは異なり、中には他のモデルよりも優れたものもありました。重要なのは、それらを平均すると、 |
| |
これらの平均値が、現時点での最良のモデルです。つまり、これは標準的な手法を用いて標準モデルに当てはめた元のモデルにかなり近いことがわかります。 |
| |
元のデータセット。 |
| |
これを繰り返していきます。10回繰り返しますので、繰り返します。重みが再描画されているのがわかります。毎回少しずつ異なるモデルが得られます。 |
| |
そして、それぞれの異なるモデルを保存することができます。 |
| |
そして最終的には、おそらく最良のモデルとなる平均値が得られます。 |
| |
そして実際、このデータの標準的な分析から得た元のモデルと比較すると、 |
| |
2 つのモデルが実際には非常によく一致していることがわかります。 |
| |
この場合、自己検証されたアンサンブルモデリングを使用することで、標準的なモデルと同じモデルが得られることになります。 |
| |
線形回帰。 |
| |
それで、ここでご覧いただいた内容の要点を改めてご説明したいと思います。そして、先ほども申し上げたように、ピートとトレントが、この斬新なモデリング手法を採用した理由についてご説明いたします。 |
| |
私たちが行ったのは、元のデータ行を複製することでした。 |
| |
つまり、ランダムな重み付けを適用して、各行のペアがトレーニングと検証にどれだけ含まれるかを示すことができます。 |
| |
これにより検証が可能になります。このような小さなデータセットでは検証は不可能です。1行のデータを完全に保持するのは意味がありませんが、この重複したセットで何ができるでしょうか? |
| |
重み付け検証を行うことです。このケースではLasso選択を用いてモデルを適合させ、Lasso選択では重み付け検証列を利用しました。 |
| |
次に、重みを再描画します。これらの行のペアにランダムに異なる重みを再度割り当て、モデルを再適合します。今回のケースでは、これを10~15回繰り返しましたが、実際には、良好な自己検証済みアンサンブルモデルを得るためには、このプロセスを100回以上繰り返す必要があります。 |
| |
そして、各モデルはそれ自体です...反復プロセスの各ステップにおける個々のモデルは特に有用ではありませんが、モデルの平均またはアンサンブルは有用です。これは、すべての反復の平均として達成した最終モデルで確認されています。 |
| |
それでは、Pete にバトンタッチして、ケース スタディについてお話ししてもらいます。このケース スタディでは、このようなデータをモデリングする際に、なぜこの珍しい方法を使用する必要があるのかを実際に説明します。 |
| ピーター・ハーシュ |
ありがとう、フィル。画面を共有しますね。 |
| |
それでは、例を挙げて見ていきましょう。 |
| |
この方法を使ってください。それで私は |
| |
まず結果を見てみましょう。非常に小さな DOE であるいくつかの設計、つまり 3 つの因子を持つ 6 回実行、8 回実行、および 10 回実行の DOE を見ています。 |
| |
これらは、本質的に飽和から飽和までの応答曲面設計であり、すべて最適設計であるため、実行回数は非常に少ないです。 |
| |
ここでの目標を達成するために。これが私たちの目指すところです。それでは、少し戻って設計について、そしてどのようにしてここに至ったかについてお話ししましょう。 |
| |
それで。 |
| |
これは、様々な栄養素の組み合わせを調整することで微生物の増殖率を最大化しようとするケーススタディです。先ほども述べたように、過飽和I最適設計を用いて実験回数を調整しています。 |
| |
これはシミュレートされたデータであり、すべての主効果とすべての二次関数がアクティブになっています。 |
| |
では、このモデルをどのように構築したかというと、まず3つの因子から始めました。私はモデルを設計しました。JMPで飽和または過飽和の計画を設計したことがない方は、 |
| |
これを行う方法は、主効果ではない効果を「可能」とみなすことです。そうすることで、モデル効果と同じ回数、あるいはより少ない回数で実験を行うことができます。そこで、私は自分のデザインを生成しました。 |
| |
そして、フィルが美しく説明した、データを再サンプリングし、このプロセスの鍵となる、逆比例の重みを取得するプロセスを実行しました。 |
| |
これまでに行われた講演がいくつかあり、それらの QR コードを持っています。 |
| |
この手法はクリス・ゴットウォルトとフィル・ラムゼイによって開発され、彼らは以前の講演でもこの手法を紹介しました。そしてこの最後の |
| |
QRコードは、JMPの以前のバージョンではこの検証列を設定するためのアドインでした。JMP 16以降ではソフトウェア内でネイティブに設定できますが、JMP 15をお使いの場合は、このアドイン設定を使用する必要があります。 |
| |
そしてフィルが言ったように、 |
| |
個々のモデルはデータにあまり適合しない可能性があり、適合するものもあれば、項がまったくないものもあるでしょう。 |
| |
しかし、これはあくまで例を一つずつ見ていくだけで、個々のモデルを見ることができます。切片だけのモデルもあれば、適合度がかなり低いモデルもありますが、時折、かなり良い結果を示すモデルもあります。 |
| |
Philが説明したように、それぞれに異なる重みが再計算されています。そのため、わずかに異なるモデルが作成され、それを保存していきます。これが最初のステップです。 |
| |
次のステップでは、これらのモデルを平均化します。ご覧のとおり、モデルを平均化するにつれて、モデルの適合度はどんどん向上していきます。個々のモデルはそれほど優れているわけではありませんが、全体的な平均モデルは良好な適合度を示しています。 |
| |
最後にお話ししたいのは、これらのモデルは本質的にバイアスがかかっているということです。フィルが作った最初のモデルでは、能動的な効果は含まれていませんでした。 |
| |
モデルで何らかのモデルまたは変数選択テクニックを実行すると、特定の変数が入力されないモデルが生成されることがあります。 |
| |
これらの分布を見てみると、 |
| |
これらはすべてアクティブな効果であり、効果サイズである 5 の周囲に分布していますが、ここに 0 のバーも表示されています。 |
| |
なので、効果を過大評価しないように、0になるように調整します。そのため、低い値にバイアスをかけることになります。 |
| |
これらのモデルをバイアスから解放するためのちょっとしたコツがあります |
| |
このモデルを最小二乗モデルの予測子として扱うと、バイアスが除去されます。このプロセスを順に説明して、その方法を説明します。 |
| |
しかし最終的には、ごく少数の実行で、先ほど共有したような非常に良好な結果が得られました。つまり、SVEMを使う理由は、この手法を使わない場合よりも少ない実行回数で予測を行い、適切なモデルを作成できるからです。 |
| |
さて、JMPを見てみましょう |
| |
そして |
| |
そのプロセスを実行します。 |
| |
さて、先ほど示した例の6回実行DOEはここにあります。3つの因子と成長率を使っています。これはモデルを構築した後の状態です。 |
| |
これがその様子です。これで6回の実行と6つの結果ができました。次のステップは検証列を作成することです。JMP内でこれを行うには、「予測モデリング」の「分析」に進みます。 |
| |
検証列を作成し、検証列の代わりに自動検証テーブルを作成します。 |
| |
はい、これが私がやった方法です。すでに試してみたので、この手順は繰り返しません。 |
| |
しかし、ここには再サンプリングされたデータと、フィルが示したように逆相関の重みを持つデータがあります。高い重みと低い繰り返し実行の重みが組み合わされています。これを実行した後、モデルを作成します。 |
| |
今回はGenRegモデルを使用し、変数選択手法の1つを選択したいとします。これを実行すると、Lassoを用いた前方選択のような処理が実行されます。 |
| |
あるいは、そうした選択手法の一つです。トレントが、これらの選択手法と、彼らが調査した手法について、さらに詳しく説明します。 |
| |
モデルを実行すると、JMPが有効な効果をいくつか選択していることがわかります。いくつかは検出されていますが、ここで確認できます。 |
| |
両方の主効果がアクティブであるはずなのに、0となってしまうというバイアスが見られます。これをデータテーブルに保存すると、 |
| |
Philが示したように新しい列を作成し、重みを再計算してこれを繰り返します。これを100回実行する簡単なスクリプトを以下に示します。 |
| |
喜んで共有させていただきます。スクリプト、つまりモデルスクリプトをコピー&ペーストするだけで、ここで行ったことを再現できます。とても簡単です。 |
| |
さて、これが最終結果です。DOEと結果を調べて、 |
| |
私が保存した100のモデル |
| |
そしてここに隠されています。そして最終的なモデルは |
| |
100個のモデルの平均を計算します。最後に行うのはバイアス除去のステップです。つまり、これを |
| |
成長率の予測因子としての平均モデル。 |
| |
ここでは、私たちが持っているオリジナルのモデルを見ることができます |
| |
傾きがかなり急なので、R二乗はまずまずですが、期待していたほどではありません。つまり、6回の試行でも、これはかなり良い適合度ですが… |
| |
このバイアスを取り除けば、もう少し良い結果が得られるかもしれません。設定はとても簡単です。成長率を取り、その応答がYです。 |
| |
ここでのアンサンブルモデルは、それらすべてを平均した |
| |
個々のモデルを予測変数として用いています。これを実行すると結果が得られますが、予測値と実際の値を比較すると、はるかに良い結果が得られていることがわかります。比較してみると、バイアスを除去することでプラスの方向に大きな効果があることがわかります。 |
| |
それで、トレントに返す前にもう一つお見せしたいことがあります |
| |
これは基本的に要約です |
| |
私たちは...(タスクバーが消えてしまいました)...私たちは皆さんに使用を強く勧めています |
| |
このテクニックを試してみてください。どんな状況でも必ず機能する魔法のテクニックではありません。しかし、スクリーニングデザインなどで試してみると、これは非常に役立つテクニックになるかもしれません。 |
| |
標準的なモデリング技術では実現できなかったことを実現するお手伝いをします。それでは、Trentにバトンタッチしましょう。 |
| |
これがどのように行われるかについてもう少し詳しく説明します。 |
| |
そこに情報があります。それでトレント、それを取り除きたいのですか? |
| トレント・レムカス |
はい、ありがとう、ピーター。感謝します。 |
| |
それで |
| |
私は私の |
| |
PDFです。実際に共有されていて、誰でも閲覧できることを確認したいのです。 |
| ピーター・ハーシュ |
うん。 |
| トレント・レムカス |
はい、素晴らしいですね。それで |
| |
Phil と Peter が発表したケース スタディは、SVEM の威力と、SVEM をいつ、なぜ使用すべきかを示す素晴らしい逸話だと思います。 |
| |
現在査読中の研究論文では、SVEMが予測環境においてどのようなパフォーマンスを発揮するかを実証的に検証するために、膨大な量のシミュレーション研究を実施しました。 |
| |
次は…スライドをいくつかお見せします。少し退屈でつまらない内容になるかもしれませんが、詳細を議論することは非常に重要だと考えています。 |
| |
もう少し面白い話、つまり私たちがどのように使ったかという例に入る前に... |
| |
JMP、JSL の使用方法と、例としてシミュレーションを実行した方法、および出力の一部と結果を示します。 |
| |
まず第一に、私たちのシミュレーション研究の概要と目標は主に |
| |
私たちは現実世界のシミュレーション建築を作りたかったのです。そのため、シミュレーションでは現実世界の産業DOEを可能な限り人間に近づけて模倣したいと考えました。 |
| |
そして第二に、現代のモデル構築や現代のモデル選択技術、そしてSVEMが、主に純粋な予測に焦点を当てた場合にどのように機能するかを見たいと考えました。 |
| |
単純明快です。そこで、モデルを設計に当てはめたときに、それが真実データやホールドアウトデータ、あるいは言い方が悪いかもしれませんが、データをどのように予測するかを調べたかったのです。 |
| |
そして、これらのユニークな実行を計算的に可能な限り何度もシミュレートできれば、現実世界の推論を可能な限り現実世界の推論に近づけて、 |
| |
SVEM はまだ初期段階にあるため、SVEM の設定や使用場所、使用方法を規定する必要があります。 |
| |
まず第一に、シミュレーションではどのようなデザインを採用したのでしょうか?決定的スクリーニングデザインを採用しました。 |
| |
そして、我々はボックス・ベンケン計画を採用しました。この計画の根底にある真の生成モデルは、完全な二次モデル、より口語的には2次モデルです。これらの計画を選んだ理由は、A) 決定的スクリーニング計画では、 |
| |
主効果が増えるほど、モデルは飽和状態、そして超飽和状態へと移行します。つまり、主効果が高くなるほど自由度は大幅に減少するということです。一方、私たちが使用した主効果を含むBox-Behnken計画では、 |
| |
そういうシナリオには遭遇しません。つまり、2つのシナリオが並置されているわけです。 |
| |
モデル選択技術を適用する場合、係数を推定するためにボックス・ベンケン設計で十分な自由度が得られ、決定的スクリーニング設計の場合にはほぼ |
| |
ほとんどの場合、デザインが飽和状態になり、自由度が不十分でした。つまり、簡単に言えば、 |
| |
前方選択、ラッソ、ダンツィヒセレクターなどの現代のモデル構築技術を使用した場合、すべての効果を予測することはできませんでした。 |
| |
ここから、シミュレーションに使用した実際のモデルアルゴリズムについて見ていきます。SVEMモデルについては、次の点に留意してください。 |
| |
SVEM が何であるかをよく理解していない場合は、ピーターが言及していた以前のプレゼンテーションのいくつかに戻って確認することが非常に重要です。 |
| |
しかし、SVEM は、シミュレーション研究で使用するフォワード選択、プルーニングフォワード、Lasso などの基盤となるモデル構築テクニックと組み合わせて使用する必要があります。 |
| |
SVEM以外のモデルの場合、同じモデル構築アルゴリズムを使用していますが、DOEで非常に人気のあるDantzigセレクタも組み込んでいます。 |
| |
また、確定的スクリーニングに適合するデザインもありますが、これは確定的スクリーニングにのみ関連しており、他のデザインでは使用されません。 |
| |
さらに、AICc または修正 AIC と呼ばれる情報基準を使用します。これは DOE では非常に一般的であり、非常に節約的なモデルを選択することで実際に非常に悪名高いものです。 |
| |
ご覧のとおり、私たちは産業用DOEで現在使用されている最新の技術を取り入れようとしています。これは、最初のスライドで示した核心的なポイント、つまり |
| |
私たちは、シミュレーション研究を通じて、人間が可能な限り現実世界に近いものを模倣し、これらを実証的なものにしたいと考えています... |
| |
これにより、これらの異なるモデル構築アルゴリズムが予測的にどのように機能するかを経験的に評価できるようになります。そして、SVEMが競合製品よりも優れているか、あるいは優れていることを経験的に証明できればと考えています。 |
| |
実際のシミュレーション構造については、各モデル構築アルゴリズムごとに1,000回のシミュレーションを実行しました。例えば、AICcで順方向モデルを当てはめる場合、 |
| |
1,000 回の実行ごとに、真のモデル、つまり真実を生成し、それにノイズを追加します。 |
| |
ガウスノイズ(学術界や研究を行う際に非常に一般的) |
| |
いわば訓練セットと真実セットを作成し、モデルを当てはめた後、そのモデルが真実に対してどのように予測するかを確認できます。そして、これらのデータセットをランダムに1,000回再実行し、再生成します。 |
| |
SVEM ハイパーパラメータについては詳しく説明しません。nBoot として 200 を使用しました。簡単に言うと、基本的に 200 個のモデルを適合させ、それらのモデルを平均化して最終的な SVEM モデルを生成しています。 |
| |
複数の特徴について設計が反復されたため、主効果の数は |
| |
決定的スクリーニング計画では、4つの主効果と8つの主効果がありました。ボックス・ベンケン計画では、 |
| |
3つの主効果と5つの主効果です。これは、例えばDSDでKが8の場合、8つの主効果があることを意味します。完全な2次モデルの場合、 |