概要:
非線形フィットが成功したことを確認するにはどうすればよいですか?
(実際のデータは常に収束するとは限らず、自動化/テスト/製品の問題について手動で確認する必要がある場合があります。)
詳細:
非線形フィットが収束に失敗した後の応答をスクリプト化したいと考えています。適合しない場合は、別の方法で処理するか、最終的にはラベルを付けて手動で確認する必要があります。 (母集団をサンプリングしてから、部分ごとに非線形適合を行っています。通常、収束に失敗した場合、どこかにテストの問題がありました。実際には収束基準を緩めたくありません。)
(「失敗」メッセージ: 「失敗: 目的関数を減らすことができません」)

Numeric Derivatives Only からの変更されたスクリプト ([ヘルプ] > [スクリプト インデックス] > [<<非線形])
(現在 JMP 15.2.1 を実行中)
Names Default To Here( 1 );
dt = Open(
"$SAMPLE_DATA/Nonlinear Examples/US Population.jmp"
);
// Random, intentionally divergent, formula on this dataset
dt << New Column( "Random", Numeric, Formula( Random LogLogistic(5) ) );
dt << New Column( "FancyPredictionFormula",
Numeric,
Continuous,
Formula(
Parameter(
{Rth0 = 735, n = 0.5},
(:year / :pop) * ((1 - ((n - 1) * :pop * Rth0) / (:year
* (300 / :year) ^ n)) ^ (-1 / (n - 1)) - 1)
)
)
);
nonlinear = dt << Nonlinear(
Y( :Name( "Random" ) ),
X( :Name("FancyPredictionFormula") ),
Expand Intermediate Formulas( 1 ),
Numeric Derivatives Only( 1 ),
QuasiNewton SR1,
Interation Limit(50),
Finish,
Plot( 0 ),
Confidence Limits,
Save Estimates
);
// How to check if nonlinear fit succeeded?
理想。
成功または失敗を示す非線形フィット プラットフォームによって返される bool ステータス変数がどこかにある場合、それは成功を検証するための理想的な方法だと思います。
代替案 1。
また、データを集計または要約して、すべての:名前( 「ファンシー予測式」 )値はゼロです。(適合に失敗した場合、値は 0 のように見えます)。
代替案 2。
おそらく、XML をチェックして「失敗」メッセージを読み取る方法があります。
あなたの時間と配慮していただきありがとうございます。
-オーブリー