親愛なるコミュニティへ
大きなテーブルを処理していて、外れ値を除外したい。
Huber によると、プラットフォームのロバスト フィットの外れ値は、要約で外れ値が見つからない限り、すべての行を除外することがわかりました。再現するには、画像とサンプル テーブル スクリプトを参照してください (Windows では JMP15 または JMP16)。
これは本当に理にかなっているのですか、それともバグがあるのでしょうか。別の動作が予想されます。

New Table( "Huber-outlier-0-sigma",
Add Rows( 100 ),
New Script(
"Explore Outliers of value",
Explore Outliers( Y( :value ), Robust Fit Outliers )
),
New Column( "value",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values(
[0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4,
0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4,
0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4,
0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4,
0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4,
0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4,
0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4,
0.4, 0.4]
),
Set Display Width( 83 )
),
)
親愛なる@peng_liu 、
最初にあなたの応答に感謝します、私は転送しますsupport@jmp.com .
私の意見では、この動作は正しくありません。私が理解している限り、ダイアログは外れ値をゼロ (Huber N Outliers = 0) と報告し、これとは対照的に、除外ボタンはすべての行を除外します。
さらに、私の回避策は、列の範囲をテストし、上限と下限がまったく同じ場合は、外れ値テストをスキップすることです (すべての行が除外されないようにするため)。 これは現在完全に機能しているため、JMP はすべての数値がまったく同じであると考えていると結論付けています。
よろしくお願いします
お問い合わせくださいsupport@jmp.com問題を報告します。
この奇妙さがユーザーの本番環境に与える影響を評価することはできません。 そして、解決策があるかどうか、開発者の心を代弁することはできません。
これが数値的な角度からの私の見解です。 この場合、外れ値の定義方法とコンピューターの計算方法に基づいて、すべてのデータは実際には外れ値です。 根はそこにある浮動小数点演算. この場合、次の 2 つの問題があります。
- 最初の 0.4 はコンピューターでは正確に表現できません。 コンピューターの 0.4 が 0.40000000000000xx であり、最後にいくつかの小さな付属物があると想像してください。
- 第二に、Huber Center の見積もりも正確に 0.4 ではありません。 0.4 の束の平均でさえ、浮動小数点演算のために、コンピューターでは 0.4 ではありません。 ここで、Huber Center の推定値が 0.40000000000000yy で、最後に他の小さな付属物 yy があるが、xx とは異なると想像してください。
これは、小数点以下の桁数に十分な長さでフォーマットを Fixed に変更した後のスクリーンショットです。 付属物はフーバー センターで見ることができます。

Huber Spread の推定値がゼロであり、すべての観測値が Huber Center とは数値的に異なる場合、それらは実際に Huber Center から何光年も離れているため、定義と不完全なコンピューターでの計算方法によると、それらは異常値です。