Fujifilm Diosynth Biotechnologies は、プロセス特性評価研究 (PCS) の実施に特化したプロセス特性評価部門を持つ契約開発製造組織 (CDMO) です。PCS の目的は、当社の顧客プロセスがパラメータ設定や通常の動作範囲の変更に対して堅牢であることを示すことです。
PCS では、一般的に実験計画法 (DOE) を使用して、プロセス入力が品質特性 (QA) とプロセス パフォーマンス指標 (PPI) に与える影響を調査します。DOE 分析は、QA/PPI に影響を与える入力を識別するのに役立つツールですが、主に定量的です。
従来の DOE 分析に加えて、各入力の影響比 (IR) を計算すると、定量的および定性的な評価が得られ、パラメータが重要であるかどうかの割り当てに役立ちます。IR は、許容範囲に関連する効果サイズの測定値を提供します。
手動で計算を行うと時間がかかり、エラーが発生しやすくなります。DOE モデルから必要な情報を抽出し、IR を計算できる自動化ツールを紹介します。インターフェイスにより、ユーザーは結果の計算方法をカスタマイズできます。
みなさん、こんにちは。今日は同僚のサムと一緒にここにいられて本当に嬉しいです。今日は、影響度比についてお話します。基本的に、DoE 因子が DoE 出力または応答にどのような影響を与えるかということです。まず、JMP の概念と計算および例を紹介し、その後サムにバトンタッチします。サムは、JSL を使用して実際にそのプロセスを自動化し、アドインでどのように実行したかを紹介します。
まず、告白します。本当はこの講演のタイトルを「プロセス特性科学者と NASA 科学者の共通点は何か」にしたかったのですが、つながりが薄すぎて、少し不可解な感じになったかもしれません。それでも、ここでもこの概念を使います。これが、最初のスライドに流星の写真がある理由です。これは私の比喩です。私は衝突クレーターを見て、それを衝突比と比較しています。少し楽しむ必要があるからです。
ここでは何が起こっているのでしょうか? 非常によく似た隕石が地球や火星、月に落下する可能性があり、状況は異なります。ここではまず、大気があるか、ほとんどないか、まったくないかで、爆発が変わり、隕石の挙動も変わります。地球上では、衝突によって形成されるクレーターが、周囲で起こっていることに非常に大きな影響を及ぼす可能性があります。なぜなら、地球には周囲に人々が住んでいるからです。
これを念頭に置いて、今日は何をやっていくのでしょうか。また別の統計的比率を見ていきます。統計学者は自分の比率を好みます。次に、影響度比率が具体的に何を測定しているかを見ていきます。そして、「これを JMP で計算できますか?」という質問に答えます。答えは、もちろん、できます。それにはさまざまな方法があります。面倒な作業ですが、手動で行うこともできます。時間がないのでこの手順は省略しますが、テーブル管理を少し簡単にするワークフローを作成しました。
次に Sam にバトンタッチします。Sam は、JMP アドインをクリックして影響率を計算する便利な方法を紹介します。ここには、私が自分で描いた下手な手描きの図があります。これは管理図であり、統計学者の世界ではいたるところで見られるものなので、おそらく何度も見たことがあるでしょう。ここに出力があり、たとえば、より多くのバッチを作成するにつれて、時間の経過とともに変化します。
このチャートにはゾーンがあります。青紫色のゾーンには、出力が収まる場所があります。これは正規分布のデータなので、時間が経つにつれてどこに収まるかを予測できます。ここには、この青いゾーンがどのくらい広くなるかを予測する統計があります。そして、2 つの仕様の間の緑色には、顧客タイプの安全ゾーンがあります。顧客が仕様を提供する場合もあれば、開発作業から受け入れ基準を計算した場合もあります。
私たちがやりたいのは、プロセス制御を行う際に、プロセスが安全ゾーンに完全に収まっているゾーンに収まっていることを確認することです。このために使用される比率の 1 つは、CPK や PPK のような能力指数で、基本的にこのゾーンとこのグリーン ゾーンの比率です。これは、私が見つけた影響比率に最も近いものです。ここでは、ほぼ同じグラフがあります。同じ図を再利用したことがわかります。ここで変わるのは、今回は、データの広がりを予測する統計ではなく、データの形状を予測する統計があることだけです。入力を変更してその値を低から高に動かしたときに、特定の出力に何が起こるかをモデル化しています。
これは、DoE を実行していて、動作条件を体系的に変更する場合に行うことです。特にプロセス特性評価の場合、この低から高は、許容可能であることを証明したい範囲になります。ここでは、最後に方程式があり、応答に対して予測される最小から最大の青いゾーンがあり、さらに、プロセスの最後に高品質の製品を提供するために許容される緑のゾーンがあります。
我々は、逸脱が安全エリアまたはプレイエリアの許容可能な割合を占めているかどうかを再度確認しています。この影響率は、すべての要因に対してこのようなモデルが得られるため、さまざまな要因の影響を比較するのに役立ちます。また、これが DoE の一部である場合、これらの要因を分類するための基準にもなります。この影響率は実際に何を測定しているのでしょうか? 前のスライドでヒントがありましたが、隕石の話に戻ります。
NASA の科学者たちは 2 つのことを計算しました。隕石が地球に衝突する場所と衝突クレーターの半径です。科学者たちは、この緑色の安全区域内にいる限り、その外側に住む人は大丈夫だと言っています。もちろん、隕石の場合はそうではありませんが、ちょっと聞いてください。ここで計算しているのは、基本的にクレーターの半径と安全区域の半径の比率です。この数字がこの数字よりずっと小さいこと、安全区域が衝突クレーターに比べて非常に大きいことを期待しています。
さて、何が起こるかというと、NASA の科学者が隕石がここに落ちると予測したのに、実際にここに落ちたというように、目標を外れる可能性があるということです。安全領域はおそらく中心にある隕石/プロセスには十分な大きさだったでしょうが、この場合、衝突クレーターは安全領域よりかなり外側にあります。あなたがこのあたりに住んでいないことを願います。もう 1 つの可能性 (他にも多くの可能性があります) は、ここでは目標に合っているが、クレーターの計算を間違えたということです。クレーターは私たちが考えていたよりもはるかに大きいです。繰り返しますが、安全領域の外側にあり、安全領域の半径は実際にはここのクレーターの半径よりも小さいのです。これは単なる画像ですが、グラフでどのように見えるか見てみましょう。同じグラフですが、ここには矢印と方程式が追加されています。
簡単に言うと、影響度比は、効果サイズを仕様または受け入れ基準までの距離で割ったものです。この場合、効果サイズは細い青とオレンジの矢印です。最小予測から中心までの距離、または最大予測から中心までの距離です。これを中心から仕様までの距離に比例させます。この場合、この距離は安全ゾーンの 70% を占めています。これは良い影響度比ではありません。ここは 40% で、それでもかなり高い数値です。しかし、公平を期すために、これら 2 つの値の最大値を取る必要があるため、ここでは 70% を検討します。
これは私の手描きです。実際の JMP チャートを見てみましょう。これはジャンプ チャートで、DoE 分析の最後に得られるプロファイラーの一部です。この場合、少し曲率がありますが、ゾーンは同じです。ここで最小値に対する影響率を計算すると、最小値から中心までが最小値から仕様までの約 42% を占めると予測されます。一方、最小値から上部または最大値までの予測は、安全ゾーンの約 7% を占めるだけです。
それでも、この数字は報告しなければならないので、ここではまだかなり高い数字です。ここで答えようとしている質問は、許容できるものと比較して、影響が小さいという目標に合っているかどうかです。ここで、ここから出て、JMP に入り、これを手動で、面倒な方法で実行する方法を説明します。ここには、ボックス標準 DoE、5 つの要因があります。ここでは 4 つの回答のみを共有しています。すべて匿名化されているため、申し訳ありませんが、数字はすべてマイナス 1 から 1 の間なので、少し奇妙に見えます。
しかし、ここで探しているのは、応答の限界が指定されていて、それらの応答の目標を自由に設定できることです。不純物など、最小限に抑えられるものについては、ほとんどを最大化します。また、どの程度高くなるかは興味がないかもしれません。モデリングについては説明しません。それが目的ではないからです。申し訳ありません。スクリプトが間違っています。これで終わりです。すでにこれをフィッティングしました。これはメモに書いた例なので、このまま続けます。
ここでは、プロファイラを使用して、方程式に必要なすべての数値を取得しています。これを中心点に設定し、その数値を記録します。これで完了です。これが中心点の条件です。ここではすべてが中心点に保たれています。JMP にこの設定を記憶させます。ここでは負荷に関心があるので、これを「負荷中心点」と呼びます。これが最初の設定です。その後は手動で、JMP に助けを求める必要はありません。これら 2 つはすべて中心点にあります。ここでこれを最小値に移動するだけで、これを最小値として再度記録できます。これが私の負荷の最小値です。
最大値については、少し複雑です。これを試してもいいでしょう。これを大きくして、ここで最大値に到達するようにすることもできます。しかし、ここでは JMP を信頼します。Control + Alt をクリックし、ここにある他の 2 つのグラフをクリックして、因子設定を中心点にロックします。なぜなら、私が関心があるのは、負荷が何をしているか、そして他のすべてがその点に保たれているときの負荷の最大値が何であるかだけだからです。次に、JMP のマキシマイザーを使用します。
できました。手動でも到達できましたが、これで最大値が正確にわかりました。これも保存します。最大値がわかりました。これで必要なものはほぼすべて揃いました。手動でこれを行う場合は、このリストにあるすべての因子または方程式パラメータに対して、すべての応答に対してこれを実行することになります。モデルがかなり大きく、応答が 5~10 個ある場合、これはすぐに膨大な作業になります。
次に、このデータをすべてテーブルにエクスポートする必要があります。たくさんデータがある場合はこれを使用しますが、私は 1 つしか持っていないので、これを実行します。ここには、必要なすべての情報が間違った形式で含まれています。保持する必要があるのは、これらがどこにあるかということです。次に、この番号をここに表示します。ここでテーブルで転置を使用しますが、私はすでに事前に実行しているので使用しません。これを簡単に共有したいと思います。なぜうまくいかないのでしょうか。ここに転置データがあります。ここにテーブルのすべてのラベルがあります。
手動では、下限と上限の仕様を追加する必要があります。これらと最小値と最大値、CP から、ここでの比率の分子、比率の分母、比率自体を計算できます。小さい距離を大きい距離で割ると、低影響比率が得られます。次に、数式を使用して 2 つの最大値を取得します。これをすべてについて繰り返す必要があります。アドインがあれば、これがどれだけ簡単に実行できるかを Sam に説明してもらいましょう。Sam さん、いかがですか?
ありがとう、グウェン。グウェンが言ったように、このタスクを自動化するためにアドインを作成することにしました。アドインがどのように機能するかを簡単に説明します。グウェンが作業していたのと同じデータ テーブルを使用します。アドインを作成することにした理由は、スクリプト ウィンドウから直接スクリプトを実行するよりも簡単だからです。アドインの利点は、アドイン名の上にマウス ポインターを置くと、ツール ヒントを追加できることです。この場合、ツール ヒントには、アドインを実行する正しいウィンドウが表示されます。
実際、クリックしてみると、正しい場所にいないため何も起こりません。先ほど作成したモデルでスクリプトを開くと、スクリプトを実行でき、適切に実行されることがわかります。まず、ユーザーにはいくつかの指示があるウィンドウが表示され、その後、ユーザーが入力する領域が表示されます。最初のウィンドウには、基礎となるデータ テーブルの要件に関する指示が表示されます。
たとえば、因子列はコード化する必要があり、単位も列プロパティとして入力する必要があります。いずれの列もそうでない場合は、[キャンセル] をクリックして、戻って変更を加えることができます。ただし、この場合は、すべて正しくコード化されていることがわかります。もう一度 [実行] をクリックして、[OK] をクリックします。次のウィンドウには、因子設定を入力する領域のみが表示されます。カテゴリ因子の入力がここにあることがわかります。
カテゴリ因子の影響率を計算することはできません。ただし、モデル内に含まれるカテゴリ因子は特定の設定に固定する必要があるため、ユーザーはここでこれを入力できます。DoE で評価された連続因子である残りの因子については、それらの設定を入力する領域があることがわかります。スクリプトは、テーブルから読み取るだけで、最小値と最大値を自動的に読み取っていることがわかります。また、最小値と最大値の中間を見るだけで中心点を計算しています。
ただし、場合によっては、中心点が範囲の正確な中心ではないことがあります。この場合、負荷がそうだったので、これを 20 に変更します。これらの値はいずれも編集可能です。ここで入力を変更できる利点は、追加を実行して、一部の要因に対して影響率が高すぎる場合です。その場合は、追加を再度実行し、ここで値を変更して、たとえば縮小した要因範囲を評価してみます。次に、その新しい範囲で影響率がより良くなるかどうかを確認します。
ただし、残りの値はそのままにして [OK] をクリックします。すると、最後のウィンドウには応答受け入れ基準の入力のみが表示されます。ここでそれらの値を入力します。基準が 1 つしかない場合は、1 つだけ入力して、もう 1 つは空白のままにすることができます。基準がない場合は、両方のボックスを空白のままにして、影響率を計算することができます。その場合、設定点応答と最小または最大予測とのパーセンテージ差になります。実用的な重要性という点で同じ測定結果を提供するわけではありませんが、スクリプトによって計算されます。
ここで [OK] をクリックすると、要約テーブルが生成されていることがわかります。ただし、アドインを実行したウィンドウに戻ると、各予測プロファイラーの下に設定が記憶されていることがわかります。これらは、モデル内の各要素の最小予測と最大予測を取得するために使用された設定です。これは、後で戻って計算がどのように行われたかを確認できるので便利です。これを確認できるのは良いことです。
ここでは、スクリプトが実際にどのように動作するか、ごく一般的な概要を説明します。まず、スクリプトはウィンドウ内の各応答モデルをループします。次に、応答を最大化するために望ましさを設定します。次に、スクリプトはモデル内の各項をループします。最初の項 (この場合は負荷) については、因子設定のロックを解除して自由に移動できるようにします。次に、他のすべての因子は設定ポイント設定でロックされます。次に、スクリプトは最大化と記憶機能を実行します。これで、その設定がプロファイラーの下に保存されたことがわかります。また、この場合は負荷係数を変更するだけで、この応答を最大化できたことがわかります。
次に、モデル内の各項に対してこの操作を続行し、応答を最小化するように望ましさを設定し、このプロセスが再度繰り返されます。次に、各項が再度評価され、最小予測が取得されます。最後に、記憶されているすべての設定が更新され、名前が意味を持ちます。次に、因子名と、目標が応答を最小化するか最大化するかが表示されます。最後に、このプロセス全体が、ウィンドウに含まれる各応答モデルに対して繰り返されます。これがスクリプトの動作です。出力された要約テーブルに戻ります。
ここで、すべてのデータが収集され、このテーブルに出力されることがわかります。各行には、評価された各応答モデルの特定の要因が 1 つずつ含まれています。ユーザーが入力した受け入れ基準の列があります。次に、設定ポイント設定での予測を示す列があり、その応答モデルに含まれる各要因の最小予測と最大予測があります。残りの列は単なる数式です。ここでは、最小予測と設定ポイント予測の差があり、同様に、最大予測と設定ポイント予測の差があります。
最後の 2 つの列は、計算された影響率です。下限影響率と上限影響率があります。基準が 1 つしかないことにお気づきでしょう。この場合、不純物については、上限受け入れ基準しかないため、上限影響率のみを計算します。最後の列は、全体的な影響率です。これは、下限影響率と上限影響率の最大値です。この部分の講演を終えるには、アドインを使用してこのタスクを自動化する利点をまとめ、次に進みましょう。
まず、アドインを使用すると、手動で行うよりもはるかに早く済みます。次に、これによりタスクをはるかに簡単に繰り返すことができます。前述したように、アドインを実行して影響率が高すぎると判断された場合は、アドインを再実行して係数設定を変更し、許容できる影響率を得られるかどうかを確認できます。最後に、データの転記や操作を行う必要がないため、エラーが発生する可能性が大幅に低くなります。スクリプトはすべてのデータを収集し、最後に出力されるこのテーブルにすべて入れます。
はい、ありがとうございます。これで私の講演は終了です。グウェンに引き継いで、まとめをお願いします。ありがとうございました。
Sam が言ったことに加えて、アドインの大きな利点は、計算を繰り返して、最初の 2 つのテーブルに入力した内容を変更できることです。たとえば、実証済みの許容範囲を示すために設定した内容 (通常の動作範囲の少し外側) を反映させたい場合、係数設定を変更できます。変更できるもう 1 つの点は、仕様または受け入れ基準の修正です。影響率が非常に高かった場合、安全ゾーンは快適に動作するには少し小さすぎた可能性があります。
仕様を拡張して、すべての影響率が少し小さくなっているかどうかを確認できます。実際に、これを受け入れ基準の変更の正当化として使用できる可能性があります。これらの影響率を使用して実行できるもう 1 つのことは、テストされたプロセス パラメータを分類するための基準としてそれらをまとめて使用できることです。プロセス パラメータは、影響が非常に小さいため、DoE の終了時に重要、非常に重要、または重要でないと判断される可能性があります。本日の影響率に関する説明はこれで終了です。ご質問があれば、2 人ともお答えします。ありがとうございました。