Nomi predefiniti qui(1); dt = Open("$SAMPLE_DATA/Big Class.jmp"); // aggiungi valore anomalo per M dt << Add Rows({name = "OUTLIER", età = 1, sesso = "M", altezza = 500, peso = 500}); // aggiungi limiti dt << Nuova colonna("LSL", Numerico, Continuo, << Imposta ogni valore(50)); dt << Nuova colonna("USL", Numerico, Continuo, << Imposta ogni valore(60)); dt << Nuova colonna("ColMean_height", Numerico, Continuo, Formula( Col Mean(:height, :sex, Excluded()) )); dt << Nuova colonna("ColMedian_height", Numerico, Continuo, Formula( Col Median(:height, :sex, Excluded()) )); dt << Nuova colonna("ColStdDev_height", Numerico, Continuo, Formula( Col Std Dev(:height, :sex, Excluded()) )); dt << Nuova colonna("ColIQR_height", Numerico, Continuo, Formula( Col Quantile(:height, 0.75, :sex, Excluded()) - Col Quantile(:height, 0.25, :sex, Excluded()) )); dt << Nuova colonna("ColStandardize_height", Numerico, Continuo, Formula( Col Standardize(:height, :sex, Excluded()) )); // Esempio
https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.RobustScaler.html // usando IQR qui, ma potrebbe essere una buona idea poter cambiare i quantili (predefinito su IQR) dt << Nuova colonna("ColStandardizeRobust_height", Numerico, Continuo, Formula( (:height - Col Median(:height, :sex, Excluded())) / :ColIQR_height )); //
https://en.wikipedia.org/wiki/Feature_scaling#Rescaling_(min-max_normalization) dt << Nuova colonna("ColNormalize_01", Numerico, Continuo, Formula( 0 + (:altezza - Col Min(:altezza, :sex, Excluded())) / (Col Max(:height, :sex, Excluded()) - Col Min(:height, :sex, Excluded())) )); dt << Nuova colonna("ColNormalize_11", Numerico, Continuo, Formula( -1+(:altezza - Col Mean(:altezza, :sesso, Escluso())))*(1-(-1)) / (Col Max (:altezza, :sesso, Escluso()) - Col Min(:altezza, :sesso, Escluso())) )); dt << New Column("ColNormalize_limits", Numerico, Continuo, Formula( ColMin(:LSL, :sex)+(:height - Col Mean(:height, :sex, Excluded())))*(ColMax(:USL, :sex)-(ColMin(:LSL, :sex)))) / (Col Max(:height, :sex, Excluded()) - Col Min(:height, :sex, Excluded())) )); // forse anche Robust Sigma, il divisore sarebbe predefinito su 1.35 //
http://www.aacouncil.com/Documents/AEC_Q001_Rev_D.pdf // e limiti robusti, moltiplicatore sigma predefinito su 6