Cara Comunità,
stiamo elaborando tabelle di grandi dimensioni e vogliamo escludere i valori anomali.
Abbiamo scoperto che il valore anomalo di adattamento robusto della piattaforma secondo huber esclude tutte le righe, a meno che nel riepilogo non siano stati trovati valori anomali, vedere l'immagine e lo script della tabella di esempio da riprodurre (JMP15 o JMP16 su Windows).
Ha davvero senso o c'è un bug, mi aspetterei un comportamento diverso.

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 )
),
)
Caro @peng_liu ,
innanzitutto grazie per la tua risposta, ti inoltro a support@jmp.com .
A mio avviso questo comportamento non è corretto, per quanto ho capito, la finestra di dialogo riporta zero outlier (Huber N Outliers = 0), e al contrario il pulsante di esclusione esclude tutte le righe.
Inoltre, la mia soluzione è testare l'intervallo della colonna e, se il limite superiore e inferiore è esattamente lo stesso, salto il test anomalo (per non escludere tutte le righe). Poiché ora funziona perfettamente, concludo che JMP pensa che i numeri siano tutti esattamente gli stessi.
Distinti saluti
Si prega di contattare support@jmp.com per segnalare il problema.
Non posso valutare l'impatto di questa stranezza sull'ambiente di produzione dell'utente. E non posso parlare per la mente dello sviluppatore, se esiste una soluzione.
Ecco il mio punto di vista da un punto di vista numerico. In questo caso, tutti i dati sono davvero valori anomali, in base a come sono definiti i valori anomali e come il nostro computer calcola. La radice sta nel aritmetica in virgola mobile . Ci sono due problemi con questo caso:
- Il primo 0.4 non può essere rappresentato esattamente nel computer. Immagina che 0,4 nel computer sia 0,40000000000000xx, con qualche piccola appendice alla fine.
- In secondo luogo, nemmeno la stima dell'Huber Center è esattamente 0,4. Anche la media di un gruppo di 0,4 non è 0,4 nel computer, a causa anche dell'aritmetica in virgola mobile. Immagina qui che la stima dell'Huber Center sia 0,40000000000000yy, con qualche altra piccola appendice yy alla fine, ma diversa da xx.
Ecco lo screenshot dopo aver modificato il formato in Fisso con una lunghezza sufficiente per le cifre dopo la cifra decimale. Puoi vedere l'appendice nell'Huber Center.

Dato che la stima di Huber Spread è zero e tutte le osservazioni sono numericamente diverse dall'Huber Center, sono effettivamente distanti anni luce dall'Huber Center, quindi sono valori anomali secondo la definizione e come vengono calcolati nel nostro computer imperfetto.