カスタム プロファイラーを使用して「各行」の (スクリプト) 最適化を自動化するこんにちは、Custom Profiler を使用している @Solvay という顧客がいます。
彼の目標は、パフォーマンスが仕様を下回っている各行を調べ、因子の値を取得し、制御できない因子をロックして、制御できる因子を使用してパフォーマンスを最適化し、新しい設定と期待されるパフォーマンスを保存することです。 .
これは手動で行うことができますが、残念ながらログには対応するコードが保存されません。
彼は大きなデータテーブルを持っているので、プロセスを自動化するスクリプトを作成したいと考えています。
対応するコードを知っている人はいますか?
注: これは数日中に JMP コミュニティに表示されるはずです。
エマニュエル
Re: Custom Profiler を使用して「各行」の (スクリプト) 最適化を自動化する1 つの変数だけをロックしてこれを行うスクリプトを次に示します。 複数の変数のロックをステップ実行するには、さらに For ループをネストする必要があります。
dt = open ("$SAMPLE_DATA\Body Fat.jmp");
dt << New Column ("Formula", Set Formula (109.665262588823 + 0.329339426252964 * :"Weight (lbs)"n +
-1.47623913006859 * :"Height (inches)"n + -0.492211525467987 *
:"Neck circumference (cm)"n + -1.41262250197006 *
:"Wrist circumference (cm)"n + (:"Height (inches)"n
-70.1488095238095) * ((:"Height (inches)"n - 70.1488095238095) *
-0.0306978267773712) + (:"Height (inches)"n - 70.1488095238095) * ((
:"Neck circumference (cm)"n - 37.9920634920635) * -0.121564139238233)
+ (:"Neck circumference (cm)"n - 37.9920634920635) * ((
:"Neck circumference (cm)"n - 37.9920634920635) * -0.127296845579246)));
dt:Formula << Set Property ("Response Limits", {Goal( Match Target ), Lower (20, .05), Middle (25, 1), Upper (30, .05)});
prof = dt << Profiler ( Y(:Formula));
for (i = 60, i <= 74, i++,
prof << Term Value ("Height (inches)" (i, Lock (1)) );
prof << Maximize and Remember;
);
Re: Custom Profiler を使用して「各行」の (スクリプト) 最適化を自動化する(それに加えて?) ループをネストして「Mazimize and Remember」を使用する代わりに、「Maximize for Each Grid Point」というメッセージを調べることもできます。
Re: Custom Profiler を使用して「各行」の (スクリプト) 最適化を自動化する私はそのようなことをするためのアイデアをいじっていました。
Names Default To Here( 1 );
// comment out the nexct line if the script is pasted into a table
dt = Open( "AutoProfiler Tiretread.jmp" );
// uncomment the next line if the script is pasted into a table
//dt=current data table();
//This is where your profiler script goes
obj = dt << Profiler(
Y(
:Pred Formula ABRASION,
:Pred Formula MODULUS,
:Pred Formula ELONG,
:Pred Formula HARDNESS
),
Profiler(
1,
Term Value(
SILICA( 1.25, Lock( 0 ), Show( 1 ) ),
SILANE( 50, Lock( 0 ), Show( 1 ) ),
SULFUR( 2.25, Lock( 0 ), Show( 1 ) )
),
Simulator(
1,
Factors(
SILICA << Random( Normal( 1.25, 0.3266 ) ),
SILANE << Random( Normal( 50, 6.532 ) ),
SULFUR << Random( Normal( 2.25, 0.3266 ) )
),
Automatic Histogram Update( 1 )
)
)
);
//your profiler goes above here
obj << Simulator( 1 );
obj2 = obj << Get Simulator;
obj2 << Automatic Histogram Update( 1 );
For( i = 1, i <= N Rows( dt ), i++,
obj << Set to Data in Row( i );
obj << Remember Settings(Column(1)[i]); //"Column(1)[i]" is the firtst column of the table, ith row
);//end of for loop
obj<<DISPATCH></DISPATCH>
プロファイラーが実行され、テーブル内のすべての行の設定が保存されます。 顧客は欠陥行をサブセット化し、次のようなスクリプトを実行する必要があります。

Re: Custom Profiler を使用して「各行」の (スクリプト) 最適化を自動化するあなたがた両方に感謝します :)