製造プロセスのモデリングは、異なる時間スケールで測定を行う場合に課題に直面します。ある企業はSeO2を含むガラスを製造していますが、SeO2は高融点下で揮発性が高く、大量の蒸発を引き起こします。この蒸発は集塵フィルターで捕集されます。さらに複雑なことに、SeO2を含んだ粉塵は有毒であり、廃棄が課題となります。粉塵中のSeO2含有量を予測することで、粉塵を製造プロセスに再利用することができ、持続可能な循環型生産と廃棄物ゼロの生産を促進し、コスト削減に貢献します。
ガラス製造プロセスは連続的に稼働しており、入力変数は1分ごとにセンサーで測定されます。しかし、粉塵中のSeO2含有量の測定はより長い間隔で行われるため、均質化のために十分な量の粉塵を蓄積する必要があります。本発表では、限られたデータセットを用いてSeO2粉塵濃度の予測モデルを開発しました。粉塵サンプリング期間全体にわたってプロセスパラメータを平均化するため、プロセスパラメータの変動性を利用したモンテカルロシミュレーションを採用しました。
JMP Proを用いたデータ収集・準備方法、そしてシミュレーションデータを用いたSeO2濃度予測モデルの構築方法について概説します。化学やバイオテクノロジーなど、時間スケールや不確実性が異なるプロセスをモデル化することが一般的である業界において、この手法が同様の課題に直面している可能性を探ります。
こんにちは。私の名前はDrejc Kopacです。これは、私の同僚であり共同発表者のMatej Emin氏とPhilip Ramsey教授との共同研究です。
講演では、ガラス溶解プロセスからの排出物の予測について、フィルターダストの散発的なバッチサンプリングによる連続プロセスのモデリングに焦点を当てます。
このプロジェクトはスロベニア最大のガラス製造業者と共同で行われ、フィルターダストの組成を予測するモデルを構築してリサイクルすることを目的としていました。
まず、私たちがモデル化しているものを視覚化してみましょう。これはガラス溶解炉の3Dモデルです。人間と比較するとその大きさが分かります。原料は炉に投入され、溶解されます。そして、このガラスは流路を通って生産ラインへと流れていきます。排気ガスがフィルターと交換される2つの熱交換器が見えています。
左右の2つのバーナーが周期的に切り替わっているのも確認できます。この周期性により、データセットに短期的な変動が生じています。この炉内の状態と排気ガスの特性は、私たちの研究にとって非常に重要であり、これに焦点を当てていきます。
もう少し状況を理解するために、循環型経済の観点から描いたプロセススキームをご紹介します。前述の通り、排ガスは熱交換器を通過します。ここで冷却され、静電フィルターで捕集されます。ここでさらに冷却され、水酸化カルシウムと混合されて浄化されます。
浄化された排ガスは煙突からフィルターを通り抜け、粒子状のダストは大きな袋に集められます。ここからが本題です。1日あたり300~400キログラムものダストを、廃棄するのではなく、炉に再循環させることはできないでしょうか?リサイクルするには、フィルターダストの組成を知る必要があります。これがこのプロジェクトの核心部分です。
この粉塵とそのリサイクルにおける主な問題は、セレンです。セレンはガラスの脱色剤として作用します。二酸化セレンはガラスの溶融温度で揮発するため、すぐに蒸発し、その後フィルターで捕捉されます。このフィルターダストは有害廃棄物として扱われるため、処分には費用がかかります。問題は、この1日300~400キログラムもの粉塵を炉でリサイクルする方法があるかどうかです。ただし、製造されるガラスの量が1日約150トンであることを考えると、これはそれほど大きな量ではありません。
問題は、ガラスの色はセレン濃度に非常に敏感であるということです。つまり、セレン濃度を非常に正確に把握する必要があるということです。この粉塵の測定と化学分析は費用と時間がかかります。ここで考えられる解決策は、予測モデルを構築することです。しかし、ここには多くの課題があります。
まず、ガラス製造プロセスは1分間隔でセンサーの読み取りを行う連続プロセスです。40台以上のオンラインセンサーが、様々な温度、ガス消費量、ヒーター電力、ガラスプール速度などを計測しています。ここでの課題は、フィルターダストのスパースサンプリング、このサンプリングの様々なタイムスケール、そしてもちろん多くのプロセスパラメータに基づいて、ダストサンプル中の二酸化セレンの予測モデルをどのように構築するかでした。
通常、このようなプロジェクトを開始する際には、過去のデータを収集し、プロセスプラントマネージャーなどの社内の専門家と話し合い、初期のデータスクリーニングとブレインストーミングを行うのが最も一般的なアプローチです。私たちはまさにそれを行いました。1年以上にわたって過去のデータを収集し、各分野の専門家と共に影響力のあるパラメータを特定しようと試みました。
右側には、もちろん少しぼやけていますが、パラメータの相関関係を示す典型的な多変量プロットがあります。このプロットは、モデル内で影響力のあるパラメータの数を減らすのに役立つことがよくあります。
多くの場合、可視化・分析可能なデータセットを入手するには、特に産業用データセットを扱う場合、かなりの時間がかかります。SCADAレポートの生データがどのように見えるか、簡単にお見せします。
例えば、これはある会社の1日分のデータに関する典型的なレポートです。パラメータは通常の列ではなく、行に並んでいることがわかります。このデータを下にスクロールすると、パラメータ名が1分ごとに変わり、ここに値が書かれていることがわかります。さらに下にスクロールすると、列ではなく行に並んでいるパラメータが30個以上、あるいは40個もあることがわかります。
一方、このデータセットの2つ目の部分は、実際には既に列に整列されています。ここでは、パラメータが実際に列に入力されていることがわかります。ここでの課題は、このデータセットをJMPに取り込むために並べ替え、フォーマットを変更することでした。そこで、簡単な、いわばJSLスクリプトを作成しました。簡単にお見せしましょう。
このJSL、JMPスクリプト言語スクリプトは、このループに入ります。ここでは、24時間ごとのデータが別の処理要素となります。これは実際にこのデータセットをループ処理し、列に入力し、次にこのデータセットの2番目の部分から列を結合します。これが私たちが使用したスクリプトです。最終的に、私たちが慣れ親しんだ順序で並べられた、この適切なデータセットにたどり着きました。列には、もちろんすべてのパラメータが匿名化されています。1分間隔です。これが最初の部分です。先ほども述べたように、この段階に到達するまでにはかなりの時間がかかることがよくあります。
まず、データを視覚化して、データが何を伝えているのかをイメージしやすくすることが重要です。ここでは、X軸とY軸のグラフをいくつか見ることができます。これは、データの短期的な変動をわかりやすく示しています。この短期的な変動、つまり20分間のスパイクは、バーナーの左右の切り替え間の20分間の間隔に対応しています。短期的な変動のほとんどは、この20分間の間隔で発生します。これは、フィルターダストのサンプリング時に重要な情報でした。
データセットにおけるこの20分間の周期を確認するために、JMPの時系列プラットフォームを使用しました。これにより、この周期性と、左右のバーナーの点火による±20分の遅延が明確に示されました。溶融物からフィルターへの流出時間(約15秒)やフィルターからのダスト抽出時間(約1分)といったその他の専門知識と併せて、ダストサンプル、測定値、プロセスパラメータを統合しました。これらのステップは、ダストをサンプリングする前の初期段階で非常に重要でした。
これらすべての情報、専門知識、そして社内で実施した過去の試験に基づき、二酸化セレン含有量に最も影響を与えるパラメータの一つはガラスプール速度であると考えられます。そこで、メーカーに1ヶ月先まで作成されているプール速度計画を依頼し、フィルターダストの物理的サンプリングに最適な日付を選択しました。抽出速度の最小値、最大値、そして中間値をターゲットとしました。これにより、パラメータ空間を最適にカバーできるよう努めました。
生産ラインがそのような吸引速度で稼働する日が判明した後、実際に工場に出向き、ダストを採取し、均質化しました。その後、このダストは外部機関に送られ、ICP OES分析によってフィルターダストの組成が調べられました。特に二酸化セレンの含有量に注目しました。
これらはプロセスの様子を撮影した写真です。右側は、データサイエンティストのオフィスでの典型的な一日ではありません。しかし、この作業は質の高いデータを得るために非常に重要なステップだったため、実際には私たち自身で行いました。サンプルが台無しになったり、ラベルが間違っていたり、あるいは似たような事態に陥ったりするリスクを避けたかったのです。
外部機関から結果が返ってきたら、それをデータセットに入力しました。こちらは元のデータセットですが、「IGR結果」という列が追加されています。基本的に、このダストを捕集した時期における二酸化セレンの含有量に対応する値が、ある時点でここに表示されています。
このデータセットを入手したら、モデリングを開始できます。まずは非常に単純なモデルから始めました。二酸化セレンが測定された9つのデータポイントを使用しました。これらのデータポイントは非常に… 日時が非常に明確であり、粉塵が一貫して均質化されていたため、これらのデータポイントには非常に自信を持っています。
しかし、それに加えて、社内のスタッフが行った様々なビッグバッグサンプリングから得られた5つのデータポイントも利用可能でした。しかし、ビッグバッグからの粉塵のサンプリングが粗いため、これらの5つのデータポイントの時間はおおよそしか決定されていません。これらのデータポイントは、モデルの不確実性を大きく高めると予想されます。しかし、これらの追加ポイントを含めなければ、モデルは統計的に有意ではありません。これらのポイントもデータセットに追加する必要があります。
私たちは、天然ガス流量、ガラス引き上げ速度、電気ヒーターの電力という3つの入力パラメータに焦点を当てました。これらのパラメータは最も影響力があると考えられ、サンプリング期間中ほぼ一定の値を示しました。ここで述べたように、ダストサンプリング期間中のこれらのパラメータの中央値をとりました。
こちらには、塵埃を採取した日付における各パラメータのプロットも示されています。モデリングには標準的な最小二乗法を用い、二次交互作用を考慮しました。最終結果は以下のモデルです。JMPで示します。これは、私たち自身の塵埃採取から得られた9つの点と、ビッグバッグ採取から得られた5つの点です。二次交互作用を考慮した、シンプルでクリーンなモデルです。
もちろん、R²は良好で、1に近いことがわかります。p値は低いです。これは統計的に有意なモデルと言えるでしょう。また、因子のp値も低いです。これは、すべての因子が重要であることを意味します。しかし、この単純なモデルの問題点、あるいは注意すべき点は、ここ下部のプロファイラーで確認できます。このように少しズームアウトしてみましょう。
社内の専門家も指摘した主な問題は、二酸化セレン含有量と天然ガス流量、そしてヒーター出力との間に急激な相関関係があることでした。これらの値が極端に変化すると、二酸化セレン含有量が予測値よりも過大または過小になることがわかります。
さらに、引き上げ速度パラメータを見ると、例えば1日あたり130トンといった極端な値になると、誤差範囲が大きくなり、二酸化セレンの予測における不確実性もかなり高くなることがわかります。これらは既にモデルのいくつかの注意点であり、このモデルが統計的に有意ではないことを裏付けています。このように単純なモデルでは、新たな測定値をあまり正確に予測できませんでした。物理的に非現実的な予測もいくつかありました。
二酸化セレン濃度に影響を与える可能性のある他のパラメータも確認しましたが、データセットの不足によりそれらを含めることができませんでした。前述の通り、予測プロファイラーはパラメータ空間の極端な値において大きな不確実性を示しました。より優れたモデルを構築するには、より多くのプロセスパラメータを考慮する必要があります。
しかし、もちろん、測定はわずか9回しかできず、時間と費用がかかることから、これ以上のダストサンプルを分析に送ることは考えられませんでした。追加のパラメータも影響を与える可能性があるため、プロセス変動に関する情報が既存のデータセットに追加情報をもたらす可能性があると考えました。
ここで、データの変動性について考え始めました。まず、外部試験機関による二酸化セレンの測定には測定不確かさがあります。これは既に測定における変動であり、活用できます。さらに、これらの20分間のサンプリング間隔ごとに、18分間のセンサー読み取り値から18個のデータポイントがあります(もちろん、バーナーのスイッチを入れている間の2分間は除きます)。これらの18個の測定値には、それぞれ分布があります。ここでは、その様子を確認するために、そのうちの5つだけを示しています。
私たちの考えは、この分布の平均を前提としています。実際には、分布がわずかに歪んでいる場合もあるため、中央値を使用するというものでした。分布の分散を考慮すると、これらの親集団からランダムに値を抽出し、モンテカルロ法を用いて合成データセットを生成することができます。
プロセスの専門家と協力し、これらのプロセスパラメータの中から13個の入力パラメータを検討しました。これらの13個は最も影響力が大きいと考えられていました。また、サンプリング期間中は正規分布、あるいは少なくとも近似的に正規分布していました。外れ値、奇妙なアーティファクト、短期的な時間的ドリフトはありませんでした。これが、良好な分布を持つ因子を求めるという当初の私たちの要望でした。
ここで特に注意しなければならなかったのは、因子間の相関関係、つまりプロセスパラメータ間の関係を現状維持することでした。非常に高い相関関係を持つ2つのパラメータがあり、一方のパラメータをランダムに非常に高い値に選択した場合、もう一方のパラメータも高い値に偏向するはずです。これらのパラメータの相関関係は、モンテカルロ法におけるランダムな選択においても維持される必要があります。私たちは共分散行列を用いてこれを実現しました。
JMPの多変量解析、つまり多変量解析についてはご存知かと思います。お見せしましょう。データセットをクリーンアップしたら、ダストの各測定値について、ここに表示されているような多変量プロットを作成できます。9つの多変量プロット、つまり解析が行われました。これらの解析ごとに、共分散行列を抽出できます。これにより、パラメータ同士がどのように相関しているかに関する情報が得られます。
各ダストサンプルごとに、対応する共分散行列が生成されます。これらの行列はエクスポートしました。ここではPythonを使用しました。NumPyには多変量正規分布と呼ばれる手法があるためです。この手法を用いて、共分散を考慮した多次元正規分布を生成しました。JMPでもスクリプトを使って同様の処理ができると思いますが、私たちはPythonでこれらの手法に慣れているため、Pythonで行った方が簡単でした。
これを使えば、基本的に合成データセットを生成できます。これらのマトリックスを用いて合成データセットを作成しました。選択した塵埃サンプルごとに500個の合成値が生成されました。信頼できるサンプルから9つのデータポイント、つまり9つの区間を選択し、独自に収集して均質化しました。
しかし、ビッグバッグサンプリングから得たもう一つの測定値も使用しました。これは二酸化セレン含有量が非常に低いものでした。これは、二酸化セレン含有量の低い値までパラメータ空間を拡張するために必要でした。その様子をお見せします。
これらはシミュレーション、つまり合成データセットです。5,000行、つまり500×10行あります。もちろん、パラメータ間の相関関係は保持されています。確認してみました。十分なデータが得られたので、これはより詳細なモデリングを行うのに非常に良いデータセットと言えるでしょう。私たちはすぐにニューラルネットワークでモデリングすることを思いつきました。そして実際に実行したところ、良好な統計モデルが得られました。
3つのTanH関数と1つの隠れ層を持つシンプルなニューラルネットワークを使用しています。非常にシンプルなアプローチです。学習と検証の両方でR²値は非常に高くなっています。ちなみに、5,000個のデータポイントを学習用に3分の2、検証用に3分の1に分割しました。また、予測値と実測値のプロットは統計的に有意なモデルを示しています。
このモデルをエクスポートしました。JMPに戻りましょう。ここをクリックして予測式を保存できます。しかし、もっと重要なのは…プレゼンテーションに戻ります。さらに重要なのは、このモデルの予測結果を、私たちが持っている他のビッグバッグサンプリングデータで検証したかったということです。これらのビッグバッグサンプリングデータは検証ポイントとして使用します。
こちらは二酸化セレンの実測値で、こちらが予測値です。この2つの数値を「実測値と予測値の対比」プロットにプロットすると、モデルが他の測定値をかなり正確に予測していることがわかります。大きな袋1つ、つまりこの大きな袋から2つのサンプルを採取した時のみ、わずかに過大予測されています。これらの測定値に基づく「実測値と予測値の対比」の直線のR²は0.86です。この結果には非常に満足しており、次のステップは社内の人々に提示することでした。
さらに重要なのは、このプロファイラーを使って提示していることです。このプロファイラーでは、シミュレーターを呼び出します。赤い三角形のところでシミュレーターを実行できます。ここでは、13のプロセスパラメータに基づいて予測された二酸化セレン含有量の単一の値ではなく、これらのプロセスパラメータの不確実性を用いて、この含有量が大きな袋に詰められている間の二酸化セレンの分布を実際にシミュレートしようとしました。ここでは、この期間中のこれらのプロセスパラメータの平均値と標準偏差を実際に決定します。これらの値に基づいて、二酸化セレンの予測を実際にシミュレートできます。
また、このプロファイラーを見ると、応答が単純な線形挙動や二次関数的挙動よりも複雑であることがわかります。これらのパラメータには多くの相互作用があります。しかし、さらに重要なのは、散布予測シミュレーターによって、このバッチ、この大きな袋に入った二酸化セレンの分布が示されたことです。実際、JMPの分布プラットフォームでは、このケースには正規分布が最適であることが示されました。この結果には非常に満足しています。なぜなら、この分布は後に測定された値と実際に一致しているからです。
先ほど述べた重要なステップは、相関関係、つまり因子間の共分散を考慮することでした。モンテカルロシミュレーションでこれらの相関関係を考慮しない場合に何が起こるかをテストしました。ここでは、同じ測定値の予測値と実測値のプロットを示していますが、ここではこれらの共分散を使用せずに合成データセットをシミュレーションしています。まず、この二酸化セレンの予測範囲は非現実的で、大きすぎます。また、ポイントがはるかに散らばっていることがわかります。
青色で示した正しいモデルと、赤色で示した相関を考慮しない誤ったモデルを比較すると、青色のモデルの方がはるかに優れていることがわかります。もちろん、二酸化セレンに関しては、青色のモデルの方がはるかに現実的な予測を示しています。
結論として、当初は少量のダストサンプルと小規模なデータセットであったにもかかわらず、フィルターダスト中の二酸化セレン含有量に関する有用な予測モデルを導き出すことができました。プロセスの複雑さとデータセットの少なさを考慮すると、モンテカルロ法が実際に必要だったことが分かりました。また、使用したニューラルネットワークモデリングは…他の手法もいくつか試しましたが、ニューラルネットワークモデルの方が優れていることが分かりました。なぜなら、これらのパラメータは実際にはそれほど高い相関性はないものの、相互作用するからです。つまり、ニューラルネットワークはこれらの相互作用を維持したのです。
このモデルの予測能力は新たなダストサンプルを用いて検証され、現実的かつ実用的に有用な予測結果を示しました。最も重要な結論は、このアプローチにより、パイロット試験において廃棄フィルターダストの100%回収が達成されたことです。これにより、ガラス脱色に使用される高価な一次原料の60%が代替され、もちろんフィルターダストの処分コストも完全に削減されました。
以上です。ありがとうございました。