親愛的社區,
我們正在處理大型表格並希望排除異常值。
我們發現,根據 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,最後有一些微小的附屬物。
- 其次,胡貝爾中心的估計也不是 0.4。 即使一堆 0.4 的平均值在計算機中也不是 0.4,這也是由於浮點運算的原因。 想像一下,胡貝爾中心的估計是 0.40000000000000yy,最後還有一些其他微小的附屬物 yy,但與 xx 不同。
這是我將格式更改為“固定”並為小數點後的數字提供足夠長度後的螢幕截圖。 您可以在胡貝爾中心看到該附屬物。

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