おそらく添加剤ディスペンスプロセスのような多段階プロセスがあると想像してください。このプロセスでは、十分に特性化されたポンプを使用して設定された量をコンテナに供給し、最後にコンテナの質量をチェックします。 私が知りたいのは、最終的な充填重量にどの程度の変動が予想されるかです。 私の前にブログ1つのカテゴリレベルをシミュレートする方法を示しました。 そのアプローチを複数の入力に拡張するには、少し注意が必要で、さらに多くの作業が必要になります。 JMPのいくつかのツールを一緒に使用して問題に取り組む別の方法があります。
手順1.次のようなデータテーブルを作成します。
この表には、たった2つの行があります。 :Final列には、最初の4列を合計する数式があります。 いくつかの特別なフォーマットもあります。 [列情報]と[プロパティ]に移動し、Sigmaプロパティを追加しました(プロパティのドロップダウンリストの約2/3のところにあります)。 各ステップで同様の明確に定義されたポンプを使用しているため、シグマを0.25mlに設定しました。
JSLのこのビットを実行して、テーブルを作成します。
dt=New Table( "Propagation of Error Profiler",
Add Rows( 2 ),
New Column( "Step 1", Set Property( "Sigma", 0.25 ), Set Values( [10, 12] )),
New Column( "Step 2", Set Property( "Sigma", 0.25 ), Set Values( [4, 5] )),
New Column( "Step 3", Set Property( "Sigma", 0.25 ), Set Values( [20, 22] )),
New Column( "Step 4", Set Property( "Sigma", 0.25 ), Set Values( [10, 12] )),
New Column( "Final",Formula( :Step 1 + :Step 2 + :Step 3 + :Step 4 ))
);
ステップ2。 フォーミュラのプロファイル
[グラフ]メニューから、[プロファイラー]を選択します。 ダイアログに「最終」列を追加し、「OK」をクリックします。
プロファイラーの赤い三角形メニュー(RTM)には、入力からの既知のエラーを視覚化するのに役立つ特別なオプションがあります。 (つまり、シグマが列プロパティとして指定されている場合にのみ存在します。)[エラーバーのプロップ]オプションを選択します。
プロファイラーの次のステップは、シミュレーターをオンにすることです。 このオプションは、PredictionProfilerアウトラインバーRTMの下にあります。 シグマが指定されているため、シミュレーターは、テーブルで指定された値と列プロパティのシグマの中間点で、各変数の正規分布シミュレーションから自動的に開始します。 (多くのクリックを節約します)
この時点で、プロファイラーは次のようになります。

ステップ3シミュレーションを開始します
ここが面白いところです。 最終的な重量がどの程度変化するかを適切に処理できるように、プロセスの実行を十分な回数シミュレートする必要があります。 代表的な実行数を取得するには、N回の実行の5000を500,000のようなものに変更します。 (100万は良いですが、1億はしばらく時間がかかりますが、最後の見積もりは少し良くなります)
次に、Simulate to Tableアウトラインバーを開き、[テーブルの作成]ボタンをクリックします。
これで、500K実行のテーブルができました。 各実行は、プロセス入力ごとに異なるランダムレベルにあります。 入力と出力の分布を確認すると、最終的な塗りつぶしの重みの高い側は、入力が範囲の高い側にある実行から主に発生していることがわかります。
最終的な塗りつぶしの重みの変化についてかなり良いアイデアが得られたので、配布プラットフォームの一般的なワークフローを使用して、塗りつぶしの重みが占めると予想できる妥当な範囲を計算できます。
ステップ44シグマ制限を取得する
ですから、そうです、次に行うことを実行するのとほぼ同じ速さで、計算機で4標準偏差の範囲を計算することができました。 しかし、これは少し良く、はるかにクールです。
[分析]>[分布]>シミュレートされた最終列を選択します。
分布アウトラインバーから、[連続フィット]を選択し、[標準]を選択します。
Fitted Normalアウトラインバーから、Set Spec Limits forkSigmaをクリックします。
この場合、4シグマを選択します。 アラームまたは制御アクションをトリガーするために発生する可能性が非常に低い最終充填重量が必要です。
最後のステップで、Fitted Normalアウトラインバーの下で、[SaveSpecLimits]オプションを選択します
このレポートを閉じないでください。 (理想的には、JMPはプロファイラーのシミュレーターで仕様制限プロパティを動的に使用できるようにしますが、そうではなく、手動で値を転送する必要があります。)
ステップ5
技術的には完了です。 最終充填重量に対するプロセス入力の影響の大規模なモンテカルロシミュレーションを実行し、偶然に発生する可能性が低い一連の制限を推定しました。
しかし、待ってください、もっとあります。
プロファイラーレポートに戻ります。 下部のシミュレータアウトラインバーの下で、2つのオプションをオンにします。 1.1。 スペック制限、および2。 自動ヒストグラム更新。
仕様制限ダイアログで、LCLおよびUCLとして45.5および49.5を使用します。 これらは、分布プラットフォームでの分析から得られた丸められた値です。
次に、プロファイラーの右上に、プロファイラーグラフの横にある[シミュレーション]ボタンがあります。それをクリックします。 また、プロセス入力のスライダーを動かしてみてください。これを行うことで、プロセスが1つ以上のポンプのドリフトに対してどの程度の許容範囲を持っているかを確認できます。 また、より高精度のポンプがあれば、最終充填重量が高くなったり低くなったりするリスクを冒すことなく、より多くの汚れやキャリブレーションエラーに耐えることができることもかなりはっきりとわかります。
これは、図のプロファイラーを生成するためのスクリプトです
dt<<PROFILER></PROFILER>
このスクリプトは、配布プラットフォームから分析を生成します
dt<<DISTRIBUTION></DISTRIBUTION>
これがお役に立てば幸いです。 誰か(または私)が以前にこのワークフローを作成したことがあると確信していますが、今週初めには作成できなかったので、ここでもう一度説明します。
乾杯、
B