Ciao,
Esiste un modo per rilevare valori anomali superiori a 3 deviazioni standard in JMP?
Dovrei dire che ho familiarità con l'opzione "esplora valori anomali" e il grafico di controllo "Levey Jennings". ma c'è un altro modo per rilevare valori anomali più di 3SD?
Grazie,
Ne
Ciao,
molte grazie. L'ho notato mentre lo usavo ieri.
migliore,
Ne
La mia seconda formula, che dovrebbe mostrare i valori > 3 SD, contiene un errore.Pertanto non funziona. Devi sostituire "*" con *
Quindi la formula corretta, per ottenere i valori, è:
If( :Data > Col Mean( :Data ) + Col Std Dev( :Data ) * 3,
:Dati,
.
)
Solo un semplice addendum a @Tommaso1 risposta. Se hai un valore anomalo grave, il Col Std Dev può essere piuttosto grande e può influenzare la media.
Un'alternativa consiste nell'usare la mediana + k* pseudo sigma per il limite di screening superiore e la mediana - k* pseudo sigma per il limite di screening inferiore.
Ecco una formula di colonna per una colonna denominata peso. Per i dati grezzi, a volte i quantili 0,85 e 0,15 vengono utilizzati per calcolare lo pseudo sigma con 6 come moltiplicatore per ps.
Local( {ps},
ps = (Col Quantile( :weight, 0.75 ) - Col Quantile( :weight, 0.25 )) / 1.349;
If(
:weight > Col Quantile( :weight, 0.5 ) + 5 * ps, 1,
:weight < Col Quantile( :weight, 0.5 ) - 5 * ps, -1,
0
);
)Se si sta eseguendo lo script, la piattaforma di distribuzione calcola un Robust Mean e Robust Std Dev.Ecco un semplice script per ottenere questi valori.
Names Default To Here(1);
dt = Open( "$sample_data/Big class.jmp");
dist = dt << Distribution(
Continuous Distribution(
Column( :height ),
Quantiles( 0 ),
Horizontal Layout( 1 ),
Histogram( 0 ),
Vertical( 0 ),
Outlier Box Plot( 0 ),
Customize Summary Statistics(
Trimmed Mean( 1 ),
Robust Mean( 1 ),
Robust Std Dev( 1 ),
Set Alpha Level( 0.05 )
)
)
);
snames = report(dist)["Summary Statistics"][TableBox(1)][StringColBox(1)] << get;
svalues= report(dist)["Summary Statistics"][TableBox(1)][NumberColBox(1)] << get;
stats = Associative Array(snames, svalues); //cretea a keyed list
r_xb = stats["Robust Mean"];
r_sd = stats["Robust Standard Deviation"];
show(r_xb, r_sd);
//now use r_xb + <4|5|6> * r_sd and r_xb - <4|5|6> * r_sd for screening limits
Caro Tommaso1,
Grazie per la vostra gentile risposta!
Ne
@NeF ha scritto:
Ciao,
Esiste un modo per rilevare valori anomali superiori a 3 deviazioni standard in JMP?
Dovrei dire che ho familiarità con l'opzione "esplora valori anomali" e con il grafico di controllo "Levey Jennings". ma c'è un altro modo per rilevare valori anomali più di 3SD?
Grazie,
Ne
Questo può essere risolto creando una nuova colonna formula con la formula:
If( :Data > Col Mean( :Data ) + Col Std Dev( :Data ) * 3,
1,
0
)
La colonna dei dati è la colonna di origine.
Nel caso in cui desideri i valori > 3SD, la formula è:
If( :Data > Col Mean( :Data ) + Col Std Dev( :Data ) * 3,
:Dati,
"."
)