dataPreprocess

outlier

##set_datapreprocess

Description

L'action 'outlier' permet de détecter et de traiter les valeurs aberrantesObservations s'écartant significativement du reste des données. Elles peuvent résulter d'erreurs de mesure ou de phénomènes rares et influencent fortement les statistiques (moyenne, variance). dans vos données, car on sait tous qu'un point de donnée un peu trop enthousiaste peut ruiner toute une analyse . Vous pouvez choisir parmi plusieurs méthodes robustes (IQR, Z-Score, Percentiles, etc.) et décider de les remplacer, de les tronquer ou de les limiter (Winsorisation).

Syntaxe Officielle
proc cas;
dataPreprocess.outlier /
table={name="nom_table", caslib="nom_caslib"}
casOut={name="table_sortie", caslib="nom_caslib", replace=true}
method="IQR" /* MIQR, MZSCORE, PERC, UDFLIMITS, ZSCORE */
treatment="TRIM" /* REPLACE, WINSOR */
arguments={lowerPercentile=5, upperPercentile=95};
run;

Paramètres Clés

Nom du paramètre Description
table Spécifie la table d'entrée contenant les données à analyser et nettoyer.
casOut Spécifie la table de sortie où les résultats de la notation (les données traitées) seront sauvegardés.
method Spécifie la méthode de définition des valeurs aberrantes (IQR, MIQR, MZSCORE, PERC, UDFLIMITS, ZSCORE).
treatment Spécifie le traitement à appliquer aux valeurs aberrantes détectées (REPLACE, TRIM, WINSOR).
arguments Liste d'arguments spécifiques pour affiner la méthode choisie (ex: lowerPercentile, upperPercentile, scaleMultiplier).

Préparation des données

Création de données de test

Création d'une table avec quelques valeurs standards et deux valeurs très extrêmes pour illustrer l'action.

1DATA public.donnees_test;
2 INPUT id valeur;
3 DATALINES;
41 10
52 12
63 11
74 10
85 1000
96 13
107 9
118 -500
12;
13RUN;

Exemples d'utilisation

Détection et troncature avec IQR

Utilisation de l'écart interquartile (IQR) pour débusquer les valeurs étranges et les remplacer par des valeurs manquantes (TRIM).

1PROC CAS;
2 dataPreprocess.outlier /
3 TABLE={name="donnees_test", caslib="public"}
4 casOut={name="donnees_propres", caslib="public", replace=true}
5 method="IQR"
6 treatment="TRIM";
7RUN;
Résultat Attendu :
Les observations ayant les valeurs 1000 et -500 voient leur colonne 'valeur' transformée en valeur manquante dans la table de sortie.
Winsorisation avec la méthode des percentiles

Utilisation de la méthode des percentiles (PERC) pour plafonner (WINSOR) les 10% des valeurs les plus basses et les 10% les plus hautes.

1PROC CAS;
2 dataPreprocess.outlier /
3 TABLE={name="donnees_test", caslib="public"}
4 casOut={name="donnees_winsor", caslib="public", replace=true}
5 method="PERC"
6 arguments={lowerPercentile=10, upperPercentile=90}
7 treatment="WINSOR";
8RUN;
Résultat Attendu :
Les valeurs extrêmes (1000 et -500) sont ramenées respectivement aux valeurs du 90ème et 10ème percentile. Vos données sont désormais prêtes et bien sages !