「反応しない」対「まだ考えている」Macbook Pro (32 GB の RAM) の JMP Pro 16 で非常に大きなジョブをセットアップすることがあります。数分後、Mac で「アプリケーションが応答していません」と表示されます。これはタスク マネージャーで確認できます。 ただし、私が使用している特定のプラットフォームにステータス/進行状況バーがある場合、多くの場合、進行状況が表示されます (ただしゆっくりと)。 スクリプトがまだ実行されているかどうかと、アプリケーションが本当に「あきらめた」かどうかを知ることは可能ですか。その場合、JMP を再起動する必要がありますか?
これと同じことですが、RAM や CPU を JMP Pro に効果的に「移動」できないのは奇妙です。 現在、巨大なジョブ (100,000 を超える予測変数を使用した PLS 分析) でハングしたアプリケーションがありますが、4 GB の RAM しか使用しておらず、十分な余裕があります。 RAMの割り当てを変更する方法がかつてあったように感じます。 私の Mac が 5 ~ 10 GB しか使用しないのに、これだけの RAM に何の意味があるのでしょう!? (申し訳ありませんが、これは JMP の問題というよりは Mac の問題かもしれません)。
分析マックOSRe: 「反応しない」と「まだ考え中」あなたがた両方に感謝します。 64 ビットの JMP がインストールされています。 私が使用している特定のプラグインで、この種の気の利いた更新キャプション ボックスを見たことがありますが、これは間違いなく大規模なジョブに非常に役立ちます。 私は JMP Pro 16 と JMP Pro 17 用の EA3 を持っています。 一方の進歩が他方に反映されるところにリンクできるのだろうか?
私の問題は、ややプラットフォーム (および問題) 固有のようであり、応答変数削減の必要性を物語っています (確かに研究と関心の巨大な領域です)。 一般化された回帰で非常に大きなジョブを実行すると、進行状況バーが表示されます。 部分最小二乗法では、「最適な次元を見つけるために相互検証中」という進行状況メッセージが表示されることがありますが、常にではありません。 これの一部は私のせいだと思います。なぜなら、私は JMP Pro にちょっと非現実的なタスクを一種の思考練習として与えたからです: 1 ~ 16 の Y (つまり、多すぎない) と 500,000 の X (96 の予測子の 3 次階乗) です。 これらの 3 次項のいくつかはテストするのに意味がありますが、500,000 個すべてではありません。 もちろん、手動で 100,000 項を削除するのは現実的ではないため、DOE を使用してモデルの複雑さを軽減しようとしたり、96 個の予測子のランダムなサブセットをランダムに選択して高次階乗でテストしたりすることもできます。 また、Gen-Reg の「最良のサブサンプル」または予測画面を使用して、有益でない用語を除外することも検討していますが、それ自体では役に立たないが別の用語と対話するときに役立つ用語を除外するのではないかと心配しています。 昨日の Clay Barker の優れたウェビナーに基づくと、剪定された前方選択のように見え、他のいくつかの Gen-Reg 推定方法は実際にこのようなことを行い、新しい項と前の項との相互作用を考慮し、AICc を下げる場合はそれを維持します (または使用する応答メトリックのいずれか)、そうでない場合は除外するため、単純に 96 個の予測子 (交互作用や二次方程式なし) を Gen-Reg に入れ、枝刈りされた前方選択を使用して、最適な予測子のスイートを特定します (理想的には < 96)、次に PLS または Gen-Reg の 2 次または 3 次の階乗をテストします。今日はこれを試してみます。
Re: 「反応しない」と「まだ考え中」キャプション コマンドもあります。
n = 10000000;
for (i = 1, i <= n, i++,
x = i^2 + i;
if (mod(i, 10000) == 0,
caption("Iteration # " || char(i));
wait(0);
);
);
caption(remove);
wait(0);Re: 「反応しない」と「まだ考え中」やあ@abmayfield 、
JMP の 64 ビット バージョンがインストールされていることを確認できますか?
監視スクリプトについて: ここにいくつかのアイデアがあります。 私はそれぞれをさまざまな状況で使用しました。
- ステータス メッセージを定期的に書き込むウィンドウを作成します。たとえば、for ループの 10000 回の反復ごとにテキスト ボックスに値を書き込み、テキストを更新した後に「<
- テキスト エディタで監視できるログ ファイルに書き込みます。 続行するかどうかを決定するためにテキスト ファイルを読み取ることもできるので、時々ファイルを開いて、「停止」が含まれているかどうかを確認してください。繰り返しますが、これをあまり頻繁に行わないでください。
- 非常に複雑なスクリプトの場合は、JMP の別のインスタンスを使用して進行状況を監視したり、スクリプトと対話したりすることもできます。 JMP、R、および Python スクリプトからメッセージを取得してログに記録するためのソケット通信.JMP の 1 つのコピー (クライアント) が作業を行い、JMP の別のインスタンス (サーバー) にメッセージを送信できます。次に、サーバー上のプロセスを監視するか、クライアントがサーバーに続行するかどうかを毎回尋ねるか、早期に停止する場合は正常にシャットダウンすることができます。これは、分析の別々の部分で作業している異なるコンピューター上の複数のクライアントでも機能します。