親愛的社區,
我們正在處理大表並希望排除異常值。
我們發現,根據 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 )
),
)
請聯繫support@jmp.com報告問題。
我無法評估這種奇怪現像對用戶生產環境的影響。 我不能代表開發人員的想法,是否有解決方案。
這是我從數字角度的看法。 在這種情況下,根據異常值的定義方式以及計算機的計算方式,所有數據確實都是異常值。 根源在於浮點運算. 這個案例有兩個問題:
- 第一個 0.4 不能在計算機中精確表示。 想像一下,計算機中的 0.4 是 0.40000000000000xx,最後還有一些微小的附屬物。
- 其次,Huber Center 估計值也不完全是 0.4。 由於浮點運算,即使是一堆 0.4 的平均值在計算機中也不是 0.4。 想像這裡的 Huber 中心估計是 0.40000000000000yy,最後還有一些其他微小的附屬物 yy,但與 xx 不同。
這是我將格式更改為固定後的屏幕截圖,其中小數點後的數字長度足夠。 您可以在 Huber 中心看到附件。

鑑於 Huber Spread 的估計值為零,並且所有觀測值在數值上都與 Huber 中心不同,它們確實距離 Huber 中心數光年,因此根據定義以及它們在我們不完善的計算機中的計算方式,它們是異常值。