ウォーターズでは、バイオプロセスラボの科学者やエンジニアの方々と話し合い、バイオプロセス開発のための知見を得るために高度な分析技術を活用することに関心を示していただきました。彼らから特に指摘されたのは、データの取得と高度な分析技術から知見を得るまでの時間です。バイオプロセスについてお話する際、私たちは上流工程に焦点を当てており、多くの方がこの分野についてあまり詳しくないことを理解しています。そこで、私たちが話しているラボの種類と、サンプルを生成するための活動を説明する写真をいくつか用意しました。
ラボの種類は、上流バイオプロセス開発ラボとクローン選択ラボです。通常、左上隅の写真にあるような自動バイオリアクターか、ベンチトップ型のバイオリアクターを使用しています。容量は数リットル、時には5リットル程度です。これらの実験を担当するバイオプロセスエンジニアの1日の業務は、実験が行われている時間です。通常、実験期間は約2週間で、毎朝スタッフが来て、写真にあるようにバイオリアクターからサンプルを採取し、分析を行います。
さて、日常的な分析、つまりpHや金属イオンといった基本的な化学分析は、バイオプロセスエンジニア自身がすぐに行います。しかし、高度な分析は通常、コア分析ラボに送られます。そして、先ほどお話ししたように、結果とデータが返ってくるまでに数週間の遅延が発生します。これは、新しい実験を設計するためのペースにはあまり合いません。
ウォーターズが目指しているのは、高度な分析をプロセスエンジニア自身、理想的には細胞培養中に実行できるようにすることです。そうすれば、データから得られた知見を次の実験の設計に活かし、そこから利益を得ることができるようになります。ウォーターズでは、アナリスト以外の人、つまりエンジニアや化学者などでも使用できる新しいLCMSシステムを開発しています。バイオプロセスラボに最適だと考えているのが、アナリスト以外の人でも操作できるBioAccord LC-MSシステムです。
バイオプロセス研究室でこれを行えば、実験中に何が起こっているかについて、より包括的な全体像を把握できるという利点があります。日常的な化学反応や細胞測定に加え、細胞内、バイオリアクター内で何が起こっているかについて、より多くの情報が得られます。何を多く消費しているのか、何をあまり消費していないのか、どのような代謝物や副産物が生成されているのか、そして細胞培養プロセス中の生成物とその品質について、より多くの情報が得られます。
彼らが得られるデータは膨大で、非常に価値があると私たちは考えています。しかし、欠点は、彼らが使用する機器や手法が多様化すればするほど、そのデータから洞察を得るまでに、より多くのデータを整理・集約しなければならないということです。CSLの同僚にバトンタッチします。
こんにちは、Lalitです。CSL Seqirusに所属し、上流チームで科学者として働いています。BioAccordのユーザーとして、私の経験を共有したいと思います。CSLでは、データ駆動型アプローチ、つまりDoE駆動型アプローチを用いて実験を行っています。主に使用しているのは、Amber 15とAmber 250という2つのハイスループット装置です。Amber 15は48個のバイオリアクターを備え、動作容量は15mlです。Amber 250は24個のリアクターを備え、動作容量は200mlです。DoE設計により大量のデータが生成され、BioAccord LC-MSに送られます。BioAccord LC-MSは、ライブラリから200種類以上の成分を検出できるため、成分の同定と定量化に非常に便利です。そのため、他の装置を使用する必要がなくなり、作業がはるかに容易になります。
同時に、BioAccord LC-MSで得られるデータ量が非常に多いため、非常に困難になる可能性があります。BioAccord LC-MSは非常に便利で、すべてのデータを見ることができますが、その量から推論を行うのは非常に困難です。そこでWaters JMPアドインが非常に役立ちます。アドインを通してデータをフィッティングし、代謝経路に基づいて代謝物を分離する能力に優れています。これにより、各成分を容易に確認し、それをDoEプロセスパラメータと結び付けることができます。これにより、プロセスのさらなる改善や最適化に活用できます。一般的に、BioAccord LC-MSとJMP Watersアドインの価値について言えば、上流工程の研究者にとっては非常に有用です。
JMPの同僚がこれから実演するデータの可視化と分析は、ここで概要を示した実験で生成されたものです。細胞培養実験は、先ほど写真でご紹介したAmber 250システムで実施しました。これは8ウェイシステムで、8つの異なるバイオリアクターを使用していました。14日間の実験で、各バイオリアクターから毎朝サンプルを採取し、Nova BioProfile FLEX2システムとBioAccord LC-MSシステムで分析しました。
実験の設計は非常にシンプルでした。ガス散布速度、空気オーバーレイ速度、緩衝液濃度を変化させました。バイオリアクター構造への供給は各バイオリアクターで同一で、散布オーバーレイと緩衝液の要素のみを変更しました。Amber 250システムには、オンライン温度、ガス、pH用のセンサーが搭載されています。FLEX2システムでは、細胞数、細胞生存率、アンモニア、pHなどを測定しました。BioAccordシステムは力価測定に使用されており、そのゴールドスタンダードはプロテインAクロマトグラフィー法です。凝集体、つまり高分子量不純物と低分子量不純物の両方を測定しました。
グリコプロファイルでは、細胞培養実験中にどのグリコフォームが生成されるかを確認していました。これは、モノクローナル抗体を発現するように改変されたCHO細胞株でした。この抗体には様々なグリコフォームが存在し、それらは非常に重要な品質特性となります。次に、使用済み培地です。これは細胞を取り囲む培地で、細胞から排出された栄養素や代謝物が含まれています。ここで、アミノ酸、ビタミン、TCA代謝物(クレブス回路の代謝物)、そしてその他の代謝経路の代謝物などを測定します。JMPの担当者が、このデータを分析・可視化したものをお見せします。
データ分析とデータ可視化を容易にするために、JMPの同僚たちの協力を得て、JMP用のバイオプロセスモニターアドインを開発しました。これはマーケットプレイスで入手可能です。このアドインを使うと、様々な分析装置からデータファイルをインポートでき、メタデータの追加、データのクリーンアップ、そして可視化に使用できる1つのテーブルへの集約が自動的に行われます。
このアドインは、棒グラフや折れ線グラフなどの形式で視覚化データを作成し、すぐに分析を開始できるようにします。さらに、多変量解析の準備として、最後にMVAテーブルを作成します。このテーブルは、分析対象物ごとに1列ずつ、MVA分析に最適な形に再設計されています。それでは、JMPの同僚にバトンタッチしましょう。
ありがとう、パット。グレッグ・フレックスマンです。JMPのシステムエンジニアです。まずはJMPの活用方法を見ていきましょう。ウォーターズ社のバイオプレスプロセスモニターはJMPマーケットプレイスから入手でき、データのインポート方法やファイル作成手順を説明したPDFドキュメントも完備しています。パットがとても分かりやすいビデオを作ってくれているので、途中から紹介します。
すべてのデータをインポートすると、一連のレポートが表示されます。棒グラフ形式と折れ線グラフ形式の両方をご用意しています。BioAccordが測定できる分析対象物の広範さが、ここで初めて明らかになります。8つのバイオリアクターを用いたDoE(実験計画)を使用しているからです。各時点における力価だけでなく、細胞の生産性に寄与するあらゆる事象も確認できます。
主要な細胞だけでなく、断片や凝集体も確認できます。様々なサイクル、DNA合成、グリコシル化など、様々な情報を確認できます。データを閲覧するのに非常に役立ちます。続きをご覧ください。これは縦長のデータ形式でした。簡単に見てみましょう。12,000行、列数ははるかに少なく、LIMSデータベースのような外観です。これにより、多種多様な分析対象物質の測定値とその値が縦長の表にまとめられています。
このアドインは、多変量解析と呼ばれる幅の広い表も生成します。スクリプトはデフォルトでこれで終了します。これにより散布図を作成するオプションも提供されます。例えば、代謝ストレスごとの力価を調べたり、データに存在するいくつかの関係性を参照したりすることができます。これは、さらなる分析を行うための非常に優れた出発点でもあります。
この幅の広い表から始めましょう。以前、この表をもう少し発展させて、数式列をいくつか追加しました。グラフ化を始めましょう。力価の変化を時系列で見ることができます。繰り返しますが、これが私たちが目指すところです。これらの関係性を理解することです。力価の増分を計算しました。これは日々の成長率です。80%まで成長しているものもあれば、その後は10%程度、1日1.1サイクルでしか成長していないものもあります。
7日目に大きな変化がありました。面白半分に、初期段階と後期段階を定義してみましょう。また、すべての時点を平均して、時間ごとの相対力価増加を計算します。例えば、最もパフォーマンスの低いバイオリアクターは、初期段階では他のバイオリアクターよりも大幅に低く、後期段階でも低いことがわかります。
最も優れたパフォーマンスを見せたのは、初期段階でかなり好調だったことです。その時に真価が発揮されました。その後、少し中堅寄りになりましたが、このV7は非常に興味深いものです。初期段階では非常に好調だったのですが、その後低下しました。これらの細胞が生産を継続できる適切な条件が整っていたら、その潜在能力はどれほどのものだったでしょうか。
JMPには、様々な工程条件を理解するためのツールが豊富に用意されています。Y軸の当てはめは可能ですが、パラメータが非常に多いため、ここでは応答スクリーニングと呼ばれるスクリーニングツールを適用します。まず、これがどのようなツールに基づいているかをお見せし、その後、この分析プラットフォームを起動します。Y軸の当てはめを複数回実行する場合、ここでは初期と後期の二変量を持つ2つのデータを示しています。イソクエン酸は、初期には非常に高い決定係数を示し、有意性も非常に高いのですが、後期にはそれほど強くないことがわかります。
この別のニコチンアミドについても見てみましょう。後期段階では非常に強い統計的有意性を示し、後期段階では有意な有意性を示し、初期段階では有意な有意性は低いことが分かります。r二乗値とp値から、関係の強さを示すrについて多くのことがわかります。これらの多くのパラメータの影響を理解したいだけなら、これは非常に役立ちます。これからこのレスポンススクリーニングプラットフォームを実行し、多くのパラメータのr二乗値とp値を確認します。このように多くの比較を行うと、誤った結果がいくつか出てくることが予想されます。
偽発見率と呼ばれる調整があります。偽発見率のp値があります。このような小さな数値のp値を見るのは非常に難しいため、対数で見ると便利です。対数を取ると非常に簡単にわかります。0.05は2に相当します。最も有意な値の境界がわかります。前期にはイソクエン酸があり、後期にもこれがあります。前期と後期の順位が異なることにお気づきでしょう。これからパラレルプロットを作成します。スクリプトを使って作成しますが、ヒントとして、結合データテーブルを作成し、その後分割操作を行いました。さあ、これが最終的な結果です。これをスクリプトでもう一度実行します。これでパラレルプロットが作成されます。次に、サマリーからテーブルを更新して、分析対象クラスをそこに取り込みました。
これを見ていきましょう。初期段階と後期段階について、有意差がある2対数の値と比較すると、初期段階のTCAサイクルが最も統計的に有意であることがわかります。その中で最も強いパラメーターは、やはりイソクエン酸です。後期段階では、これらの関係が大きく変化することがわかります。後期段階では全く異なる状況になります。ニコチンアミドや、それほど重要ではない他のビタミンも含まれています。これは、ここで実行できるグラフ分析の一例です。
ここでもう一つ概念を紹介したいと思います。JMPで別のデータテーブルを開きます。これはBioAccordのデータではありませんが、JMP Proの機能である「機能データエクスプローラ」を使った学習用サンプルを簡単に実行してみましょう。非常にシンプルなバイオリアクターで20回の実験を行い、経時的な濁度の変化だけを調べているとします。これらの変数がどのように変化するかを理解するために、例えばpHと温度については実験計画法(DoE)を適用したとします。異なるプロセス条件で実験を行いました。ハイライト表示された行が飛び飛びになっているのがわかると思いますが、これはDoEの証拠です。「機能データエクスプローラ」を起動します。これは非常に便利です。これは、すべての曲線を調べ、ウェーブレットモデルを用いて、様々な変動を記述しようとします。
3つに短くまとめましたが、JMP ProではJMPが適切な位置を判断し、主成分を決定し、これらの主成分がプロセスの形状にどのように影響するかを示すプロファイラーを提供します。そして、ここからが素晴らしいオチです。これで、補助変数が形状にどのように影響するかを確認できます。これは、補助変数が形状にどのように影響するかを確認できる機能データエクスプローラーの入門編です。ここで少し休憩して、友人のベンにバトンタッチします。彼は、この件を非常に素晴らしい方法でまとめてくれます。
ベン・バローゾ=インガムです。JMPのシステムエンジニアで、バイオプロセス分野で豊富な経験を持つため、このプロジェクトに関わっています。私が特に注目しているのは、このWatersアドインを使うことで、多くの分析対象物質を整理されたフォーマットで目の前に表示できる点です。私たちは、これらの因子や条件を変化させながらDoE(実験計画法)を用いて作業することがよくあります。分析対象物質が変化するのか、そしてどのように変化するのかを確認したいのです。
課題は、装置から排出される多数の分析対象物質を例に挙げると、70種類以上の分析対象物質を分析対象とすることができるということです。例えば、DoE因子の一つを例に挙げると、非常に手作業で処理を行い、それらの因子の設定を低から高に変えたときに何が起こるかを調べ、分析対象物質の形状が時間の経過とともに変化するかどうかを確認できます。
変化しないものは、重要だとは考えないかもしれません。変化するものは、私たちの要因によって引き起こされたものです。もしかしたら、それは重要な生物学的意味を持っているのかもしれません。あるいは、より大規模な重要な生産特性と本質的に結びつくもの、私たちが注意を払いたいものなのかもしれません。
目視で作業するのは非常に時間がかかります。70種類以上の分析項目を扱うとなると、何週間もかけて作業を進めることになります。このデータセットを見て、JMPの行機能と関数型データ探索についてすぐに考えました。これは基本的に、形状を見てリストを見つけ、そのプロセスにおける最も重要な変化を絞り込むための非常に迅速な方法です。
私が目指すのは最終目標です。これほど多くの分析対象物がある場合、必要なのは実際には2つのツールです。1つ目は、因子が変更されたときに変化した分析対象物の絞り込みリストを作成することです。もう1つは、これらの分析対象物の形状がどのように変化するかを調べることです。このプロセスで因子設定を変更すると何が起こるのでしょうか?
JMP Upを使うと、このような図が得られます。下部にすべてのDoE因子が表示されています。この場合、面積オーバーレイ率、緩衝液濃度、これらの効果の相互作用、そしてこれらの因子によって有意な影響を受けた分析対象物が表示されています。分析対象物は70種類以上あります。ここでご覧いただけるのは、プロセス中に形状がどれだけ変化したかを示す絞り込まれたリストです。
例えば、ここでグルコースを見てみましょう。空気のオーバーレイ率が変化すると、形状も変化します。マウスオーバーすると、確かにその過程で形状が変化したことがわかります。イソクエン酸も見てみましょう。緩衝液濃度と空気のオーバーレイ率の両方の影響を受けていることが分かります。
FDE を使用する利点の一つは、標準的な最小二乗法における対数グラフに似た分析と可視化を実現し、重要な要因を見つけ出せることです。今回のケースでは、どのアミロイドが変化したかが分かります。これに加えて、機能的 DoE も使用できます。プロファイラーツールはよくご存知でしょう。プロファイラーを使えば、形状や時間経過に伴う変化を調べることができます。
この場合、分析対象物があります。これは2価ヒドロキシグルタル酸で、設定条件下でその形状が時間とともに変化しています。オーバーレイ率や緩衝液濃度を変えるとどのように見えるでしょうか?プロファイルにどのような変化が見られるでしょうか?これを、ここで作成した視覚化データとうまく組み合わせて、オーバーレイ率の変化によってグルコースが変化したことがわかります。
すべての分析対象物のリストを絞り込んで、ここに表示できます。今はグルコースを確認しています。エアーオーバーレイ率がこのプロセスにどのような影響を与えているかを確認できます。また、どの影響が影響しないかを確認することもできます。緩衝液濃度を変更しても、このプロセスではグルコースには何の影響もありません。
この仕組みは、先ほど説明した方法とほぼ同じです。視覚的に見て、形状変化があるかどうかを確認します。JMP ProはFPCスコアを使用します。これは、形状の変化の程度を定量的に測定する方法です。FPCスコアが0で、突然10に変化した場合、それはそのプロセスにおける形状変化の指標です。JMPのスコア作成機能を活用することで、大量の分析対象がある場合でも、形状変化リストを迅速に取得し、何が影響を受けたかを把握できます。
その流れは、例えば水添加などから得られる各分析対象物について、Functional Data Explorer(FDC)を用いて形状をフィッティングします。形状スコアのベースとなるスコアを取得します。そして、標準的なDoEと同様に、FPCスコアに基づいてDoE項が変化するか、変化はあるのか、有意な影響はあるのか、といった点を確認します。
簡単な例として、このバイオリアクターで調査した分析対象物質の一つを選びました。FDEの最終目標は、その分析対象物質とプロセス内の各バイオリアクターを取り込み、ここにフィッティングラインを追加することです。各バイオリアクターは、そのプロセスから得られたデータに可能な限り近いフィッティングを得ます。
次に、これをFPCスコアに変換します。各バイオリアクターの値で、このプロセスでは形状スコアが0、このプロセスでは形状スコアが100などと表示されます。関数サマリーを見ると、最初のバイオリアクターのFPCスコアが-6,000であることがわかります。もう1つは、バイオリアクター2で13,000です。形状に違いがあります。
次に、DoEを用いて、その形状が使用している要因によって引き起こされているかどうかを検証します。実際に機能的DoEを実行すると、デフォルトで、その項がFPCに有意な影響を与えるかどうかを検定します。この指標のFPC 1を見て、機能的DoEモデルを実行すると、有意な影響があることがわかります。空気オーバーレイ率がスコアを変化させています。形状が変化しているだけでなく、実際の変化はDoE要因の1つによって引き起こされているのです。
これが基本的に、私がプロセスの開始時に行ったことです。この表全体は、毎回この作業を行い、そのプロセスで活性な用語に関するすべての情報を収集し、それを視覚化して、「そこに用語があれば、そのプロセスにおいて重要な意味を持つ」と示しています。さらに、前に示したように、各因子が各分析対象物の形状に与える影響を確認できる予測式を自動的に生成しています。
これらの情報はすべて、基本的に各プロセスにおける分析対象物ごとに収集され、可視化とツールのプロファイルに基づいて、示された最終ツールをまとめ上げます。最終的には、分析対象物が変化した箇所を迅速に選別し、要因の変化が分析対象物の変化を引き起こし、それが製造プロセスに影響を与える可能性のある箇所を絞り込むことが可能になります。
もしかしたら、分析対象物の関係に予期せぬ変化が見られるかもしれません。分析対象物の一つを変化させた重要な要因が、製造プロセスにも影響を与えているのかもしれません。このツールを使えば、基本的にそれを解明することができます。ジャーナルについてですが、これは興味深いかもしれません。ご興味があれば、ジャーナルを公開します。このプロセスがどのように行われたかをご覧いただくことができ、さらに詳細な情報も追加されます。
本当にありがとうございます。このデータセットは本当に充実していて、興味深い点がたくさんあります。ワークフローにもう少し追加したい点がいくつかあります。これまで、Waters Add-in が機器からのデータを集め、分析や JMP に適した形式に変換する方法を見てきました。また、ストーリーを伝えたり、何が起こっているか、変数間の様々な関係性を探ったりするための、見栄えの良いグラフを作成するための基本的な方法も見てきました。
ベンは、より関数曲線に基づいたアプローチについても非常に詳しく解説してくれました。特にDoE因子と私たちが測定している他のすべてのものとの間の潜在的な関係性について、さらに深く掘り下げてみたいと思います。最後に、JMPフレームワークの非常に強力な機能についていくつかご紹介したいと思います。これらは、システム内で何が起こっているかを把握するだけでなく、例えば因子の一部を変更したり、予測を立てたり、プロセスの特定の重要なポイントでノーゴーの判断を下したりする上で、非常に役立つ可能性があります。
まずは…これはWatersアドインから出力される表です。ここで特に言及したい点、つまり最初の主要なトピックは、この表の行数、つまり合計120行に注目していただきたいということです。ただし、バイオリアクターというグループ化変数があることにご留意ください。先ほどハイライトした最初の15行はすべて最初のバイオリアクターからのものです。これは統計用語で分割実験計画と呼ばれています。これは、DoE因子、つまり空気オーバーレイ率と濃度を超える散布率を使用しているためです。
これらはバイオリアクター全体にわたって一定です。全期間にわたって設定されており、15点は15日間に相当します。これは時系列の観点からも見ることができます。ベンが曲線で示していたのはまさにこれです。しかし、これは単なる実験設計の観点からの考察です。統計モデリングを行う際には、設計構造に注意を払う必要があります。
特にJMPは非常に強力で、SASでは長年にわたり、いわゆる混合モデルと呼ばれる手法を採用してきました。これは、いわゆる固定効果とランダム効果の両方を含むモデルです。今日は混合モデル理論を深く掘り下げる時間はありませんが、基本的なポイントは、バイオリアクターが混合モデルであり、ランダム効果、いわゆる分割実験シナリオにおける全区画、つまりDoEプラットフォームでは変更困難な因子として知られていることです。
結論、例えばこれらの実験計画因子に関する因果推論を導き出したい場合、統計的結論が実験計画を正しく反映していることを確認するために、混合モデル設定を用いることが不可欠であるという考え方です。これは簡単です。しかし、ここで陥りやすい落とし穴があります。例えば、この考え方を無視して、実験計画因子と、より厳密な結果、あるいは関心のある結果を比較する単純な分散分析(ANOVA)を、例えば単純な一元配置分散分析、あるいは要因分散分析で行ったとします。
そこから得られる推論は統計的には実際には偏っています。なぜなら、これらの測定値のグループはすべて同じバイオリアクター内で発生するため、相関関係にある、あるいはクラスター化しているという事実を考慮していないからです。これを適切に扱うには、混合モデルを用いる必要があります。繰り返しになりますが、これは少し奥深いテーマですが、今日は非常に簡単な例を挙げて説明します。
さらに参考になる資料として、JMP for mixing modelsという素晴らしい書籍があります。本格的に学習したい方には、ぜひお勧めします。非常に実践的で、使い始めるとすぐに、データや実験が統計学入門で想定するような古典的な独立した観測値だけではないため、混合モデルはどこにでも現れるようになります。通常、ここでのバイオリアクターのように、何らかのクラスタリング要因が作用しています。
設定方法は、ごく基本的な考え方で、混合モデルとJMPを設定しましょう。JMPでもJMP Proでも使えます。Pro版を使いましょう。Pro版にはいくつか機能があるので、そちらを使いましょう。「モデルの適合」に進みます。「モデルをより厳密に」を選択して、応答変数としてモデル化します。次に、いわゆる固定効果として設定したい因子を用意します。因子項をいくつか追加します。すべての主効果と、すべての二元配置交互作用を計算します。
ここからが重要な部分です。混合モデルモードに切り替えるには、混合モデルパーソナリティを選択します。すると、追加のタブが表示されます。混合モデルには2種類あります。1つは、今日使用するランダム効果を使用するモデルです。もう1つは、異なる構造を持つ反復測定を行う全く別のクラスです。今日は後者のタイプは扱いませんが、ここで複雑さが出てくるのがお分かりいただけると思います。
とりあえず、おそらく最も単純な混合モデルを実行してみましょう。これはこのような分割実験に適したモデルです。バイオリアクター(連続変数ではなく名義変数に設定していることに注意してください)をランダム効果として追加します。3つの固定効果、つまりDoE因子とそれらの相互作用、そしてランダム効果があります。これは、このようなデータのあらゆる統計モデリングに使用できる設定です。
早速実行してみましょう。すぐに実行されます。どのような結果が表示されるか、簡単にイメージしていただくために、この時点では分散分析のように扱うことができますが、いくつか追加の出力があることに気付くでしょう。例えば、ここではバイオリアクターの分散成分推定値が得られており、この場合は負の値になっています。少し変わっていますが、これは各バイオリアクター内で競合状態が発生していることを示しています。
栄養素が消費されており、片方の値が上昇するともう片方の値が下がる可能性が高いため、これは理にかなっているかもしれません。これは固定された密閉された環境なので、理にかなっているかもしれません。通常、測定値が正の相関関係にある場合、これはプラスになります。これはバイオリアクター内の相関関係を測定する方法です。そして通常、主な焦点はDoE因子に置かれます。ここでテストを見てみましょう。この場合、この単純なモデルでは、よりタイトな条件で有意な差は見られません。
しかし、これはあくまでも出発点に過ぎません。おそらく、共変量を追加して、システムを考慮したより完全なモデルを当てはめたいと思うでしょう。しかし今日は、分割実験やブロッキングメカニズムを用いた反復測定など、このようなケースでは混合モデルを用いるという重要な点について述べたいと思います。
これが最初にお見せしたい分析です。それでは、より予測的なモデリングの概念に話を移しましょう。ここでご覧いただいたように、それぞれのセグメントは少しずつ異なる疑問に答えています。これがJMPの力と柔軟性であり、これは様々な疑問を投げかけることができる素晴らしいデータセットです。
ここで、DoE因子からより予測的な考え方へと質問を移し、基本的な考え方を設定しましょう。例えば、予測を試みるとどうなるでしょうか?この実験をライブで実行していて、ちょうど13日目が終わったとします。明日14日目に何が起こるかを予測したいのですが、今日までのデータしかありません。このような予測問題をどのように設定するでしょうか?
JMPの最初の重要なステップは、実際に少しデータ操作を行い、各バイオリアクター内の時系列を考慮した上で、いわゆるデータの分割を行うことです。テーブルを実行することで分割を行います。これで、図のような、いわゆる幅の広いテーブルを作成できます。このテーブルには8行しかなく、バイオリアクターごとに1行ずつ、すべての測定値が異なる列に分割されています。
ご覧のとおり、こちらは1日あたり1列の、よりタイトなデータです。他の計測した変数も同様です。時系列用語では、これらはラグ変数と呼ばれます。これで、予測モデリング問題に適した、いわゆるワイドテーブルができました。8行しかないので、特に注意が必要です。このようなデータは過剰適合しやすいからです。
通常、実際にはここに挙げたデータよりもはるかに多くのデータがあるでしょう。しかし、この小さな例では、説明のためにいくつかの簡単な手順を取り上げ、私が推奨する予測モデリングの方法とその進め方についてご説明しましょう。予測モデリングには、古典的な時系列データからJMPなどの予測プラットフォームまで、様々な方法があります。ここでは、私がおそらく最も現代的で強力な予測手法だと考える方法をご紹介したいと思います。これは、長年にわたるKaggleコンペティションへの参加から生まれたものです。Kaggleコンペティションはどれも予測的な性質を持つことが多く、これらのコンペティションを勝ち抜くことで、苦労して学ぶことがいくつかあります。
本日ご紹介するのは、予測を行うためのベストプラクティスに近い、あるいはまさにその通りだと考えています。まず最初に、いくつかのフォールドを設定します。ここでの考え方は、いわゆるKフォールド交差検証を行うことです。これは、テーブル内の行の一部を取り出して、それを取っておくというものです。そして、あるデータ部分でモデルをトレーニングし、別のデータセットでテストするという考え方です。
ご存知の通り、JMPでは長年この種の機能を備えていますが、従来はトレーニングと検証を組み合わせた3元分割と呼ばれる手法を採用していました。今回は、トレーニングと検証と呼ぶ2元分割を連続して行います。いわゆるリーケージ(漏れ)には注意が必要です。どのようなデータを保持するにしても、トレーニング中にアルゴリズムがそれを考慮しないようにする必要があります。そうしないと、結果に偏りが生じるリスクがあります。
K折りの考え方は、この折りAという変数を例に挙げます。行は8つしかありません。これは5折りを行うように設定されています。つまり、1から5までの数字をランダムに割り当てます。行が8つしかないので、1行だけが残っていて、残りの3行は2行しかないという状況がいくつかあるので、この方法を採用します。
あるいは、今回のケースではもう少し簡潔に、4倍に分割して、一度に2行ずつホールドアウトし、それらを循環的に処理してモデルを4回フィッティングするという方法もあります。これは、今回のような小規模なデータセットであっても推奨する基本的なトレーニングシナリオです。特に、データの過剰フィッティングに対して非常に慎重かつ強力に警戒する必要があるため、特に、XGBoostアドインに実装されているブースティングツリーという、私が最も強力だと考える2つの手法を使用し、Torchディープラーニングアドインを使用して最新のディープニューラルネットワークをフィッティングするからです。これらはどちらもJMPマーケットプレイスで入手可能なアドインです。
まずXGBoostについて、そしてアドインをインストールした後の設定方法を見てみましょう。アドインをインストールすると、メニューにオプションとして表示されます。「make K folds columns」を使って折り畳みを作成できます。これは既に試したので、プラットフォームに直接進みましょう。
設定は前と似ていますが、今度は予測について考えます。ここでやりたいことは、グループ化変数があるので、これを展開してみましょう。例えば、力価14を予測したいとします。これがY変数です。入力値として何を使うか、選択肢はたくさんあります。もちろん、DoE因子をここに入力し、非常に基本的なラグ型モデルとして、力価の過去の値(13個あります)をX変数として入力します。ここには文字通り1,000以上の予測変数がありますが、ここでも説明のため、シンプルにしておきましょう。
もっとデータがあれば、ぜひ含めたいでしょう。モデルに含めることもできますが、今回は8行しかないので、あまりに大きくしすぎると問題が起きるだけです。ご想像の通り、通常、これらのラグ変数は非常に強力な予測因子となります。今日何が起こったかを知っていれば、おそらく似たような結果になるでしょう。過去の軌跡を見ると、これらは通常非常に優れた予測因子になります。これらがDoE因子とどのように比較されるかも確認しておきたいところです。それでは、クロスバリデーション変数のようなものを入れてみましょう。fold A変数を使ってみましょう。5分割を行います。繰り返しますが、4分割にすることもできます。これはあまり重要ではありません。
このような小さなデータを扱う場合は少し注意が必要ですが、あまり深く考えすぎないようにしましょう。次に、XGBoostの基本設定ツールを紹介します。調整可能なハイパーパラメータはたくさんありますが、今日はそれを行う時間がありません。まずはデフォルトのモデルを実行してみましょう。Oftenはかなりうまく動作するはずですが、その後どうなるか見てみましょう。このモデルは実際には5回実行したばかりです。
ここで何が起こったか見てみましょう。これはいわゆるトレーニング損失です。減少してから再び増加しているのが分かります。これは、5回目か6回目の反復でデータに過剰適合し始めていることを示す警告サインです。このモデルを実際に使用することはないでしょう。「もうやめよう。もう一回だけやってみよう。5回で止めよう。」と思うでしょう。これは最も簡単な方法の一つです。
もっと凝ったモデルを作りたいなら、モデルをもう少し正規化したり、他のチューニングを施して精度を上げることもできますが、ここでのポイントは、予測することです。目標は14日目を予測することです。トレーニングデータについては、実際にはデータに完璧に適合していますが、これはそれほど驚くべきことではないかもしれません。行数は少ないですが、検証セットは、いわゆる完全な予測から外れたものです。
これらは、モデルが将来のデータに対してどのようなパフォーマンスを示すかを示しています。モデルが目標に近づき始めているのがわかります。0.3の平方根、つまりこのケースでは相関係数が0.65なので、完璧には程遠いですが。モデルは少し改善していると言えるでしょう。少し調整すれば、もう少し改善できると思います。しかし、繰り返しますが、8行しかないので、非常に注意が必要です。これはあくまで説明のために示しているだけです。通常、後で使用するような優れたモデルを作成するには、より多くのデータが必要になります。
XGBoostには、例えばこれらの変数の重要度の解釈に役立つ、非常に優れた追加機能がいくつか搭載されています。ここでは、空気オーバーレイ率が、力価自体のラグ値を超えても、最も優れた予測因子の一つとして機能していることがわかります。これは興味深い点です。DoE因子について間接的な推論を実際に行うことができるようになります。ただし、ここでの焦点は予測であり、直接的な統計的推論ではありません。
では、代替モデルとして、Torchアドインを使ったニューラルネットワークを試してみましょう。設定は全く同じなので、アドインをインストールしてプラットフォームを起動し、各スロットに全く同じ変数を設定します。DoE因子、ラグ力価、フォールドAを用いて14日目を予測します。ここでも5分割を行います。デフォルト設定を実行してみましょう。多層パーセプトロンモデルは2層モデルです。このモデルはあまりうまくいっていないことがわかります。実際、RSquareは負の値になっています。ここでは、標準のXGBoostの方が少し優れていると言えるでしょう。
しかし、それぞれを少し調整するだけで、大体… 似たようなパフォーマンスになることが多く、しかも互いに非常にうまく補完し合う傾向があることがわかりました。最高の予測を本当に求めているなら、2つのモデルをアンサンブルするのが一つの方法です。これは、完全な予測結果を保存して平均化するだけで実現できます。これは古典的な手法で、ほぼすべてのKaggleコンペティションで見られます。最高のパフォーマンスを引き出すために、多くの人がこれを実行する傾向があります。
とにかく、JMP Proは非常に強力で柔軟なアプローチです。予測変数を追加でき、これらのモデルを非常に迅速に適合できるため、例えばバッチの終わりが近づいていて、別の日に行うかどうかを決めたい場合など、非常に実用的な質問に答えるのに非常に役立ちます。ただ待つのではなく、旧式のルールを使うのではなく、このツールを素早く実行して翌日の予測を確認し、それに基づいて判断を下すのはいかがでしょうか。こうした最新の予測モデルのパワーと柔軟性は、本当に魅力的だと思います。
ご清聴ありがとうございました。このお話から多くのことを感じ取っていただければ幸いです。今回のコラボレーションは、私たち全員がそれぞれ異なるバックグラウンドを持っています。本当に楽しいプロジェクトで、今後様々な可能性を秘めていると実感しています。本日ご紹介した内容についてご質問がありましたら、お気軽にお問い合わせください。今後も引き続き、皆様と話し合い、議論を続けていきたいと思います。