percentile

boxPlot

Description

L'action `boxPlot` du jeu d'actions `percentile` est utilisée pour calculer des statistiques robustes de type boîte à moustaches (boxplot), y compris les quantiles, les moustaches supérieures et inférieures, ainsi que les valeurs aberrantes. Cette action est particulièrement utile pour l'analyse exploratoire des données afin de comprendre la distribution d'une ou plusieurs variables numériques.

percentile.boxPlot result=<nom_resultat> status=<code_retour> / table={name="<nom_table>", caslib="<caslib>", where="<clause_where>", groupBy={{name="<variable_groupe>"}}}, inputs={{name="<variable_analyse>"}}, casOut={name="<table_sortie>", replace=true}, outliers=true, noutlimit=10, whiskerPercentile=10, pctlDef=5;
Paramètres
ParamètreDescription
table Spécifie la table d'entrée à analyser. C'est un paramètre obligatoire.
inputs Spécifie les variables numériques pour lesquelles les statistiques de la boîte à moustaches doivent être calculées.
casOut Spécifie la table de sortie pour stocker les résultats. Si non spécifié, les résultats sont affichés dans le client.
attributes Spécifie des attributs temporaires pour les variables d'entrée, comme les formats.
binNum Définit le nombre de bins utilisés dans l'algorithme de calcul, particulièrement pour la méthode itérative.
freq Spécifie une variable de fréquence. Chaque observation est traitée comme si elle apparaissait N fois, où N est la valeur de la variable de fréquence pour cette observation.
groupBy Spécifie une ou plusieurs variables pour regrouper les données. L'analyse est effectuée séparément pour chaque groupe.
groupByLimit Spécifie le nombre maximum de niveaux dans un ensemble 'group-by'.
includeMissingGroup Si défini sur True, les valeurs manquantes sont traitées comme un niveau de groupe valide pour les variables 'groupBy'.
method Spécifie l'algorithme pour l'analyse des percentiles. 'EXACT' fournit des résultats précis mais peut consommer plus de mémoire. 'ITERATIVE' est plus rapide et moins gourmand en mémoire, adapté aux très grands jeux de données.
nOutBins Spécifie le nombre de bins à utiliser pour rapporter les valeurs aberrantes.
nOutLimit Spécifie le nombre maximum de valeurs aberrantes à retourner pour les extrémités supérieure et inférieure de la distribution.
outliers Lorsque défini sur True, active le calcul et le rapport des valeurs aberrantes.
partition Si la table est partitionnée, ce paramètre permet de calculer les résultats efficacement pour chaque partition.
partKey Spécifie une clé de partition pour calculer les résultats sur une seule partition spécifique.
pctlDef Spécifie la définition mathématique (1 à 5) utilisée pour calculer les quantiles, correspondant aux définitions de la procédure UNIVARIATE. La valeur par défaut est 6 (itératif).
whiskerPercentile Définit le percentile pour les moustaches. Par exemple, une valeur de 10 place les moustaches aux 10e et 90e percentiles.
Préparation des Données Voir la fiche de ce code dataprep
Création des données de démonstration

Ce bloc de code crée une table CAS nommée 'ventes_produits' contenant des données sur les ventes de différents produits dans plusieurs régions. Cette table sera utilisée dans les exemples suivants pour illustrer l'utilisation de l'action `boxPlot`.

Copié !
1DATA casuser.ventes_produits;
2 call streaminit(123);
3 DO region = 'Nord', 'Sud', 'Est', 'Ouest';
4 DO produit_id = 1 to 5;
5 DO i = 1 to 100;
6 ventes = 100 + (produit_id * 20) + rand('Normal', 0, 25);
7 IF rand('Uniform') < 0.05 THEN ventes = ventes * 2.5; /* Ajout de quelques valeurs aberrantes */
8 OUTPUT;
9 END;
10 END;
11 END;
12RUN;

Exemples

Cet exemple exécute une analyse de boîte à moustaches simple sur la variable 'ventes' de la table 'ventes_produits' pour obtenir les statistiques de base comme la médiane, les quartiles, et les moustaches.

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1PROC CAS;
2 percentile.boxPlot /
3 TABLE={name='ventes_produits'},
4 inputs={{name='ventes'}}
5 ;
6RUN;
Résultat :
Le résultat est une table CAS contenant les statistiques de la boîte à moustaches pour la variable 'ventes', incluant Q1, Q2 (médiane), Q3, les moustaches inférieures et supérieures, et la moyenne.

Calcule les statistiques de la boîte à moustaches pour la variable 'ventes', regroupées par la variable 'region'. Cela permet de comparer la distribution des ventes entre les différentes régions.

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1PROC CAS;
2 percentile.boxPlot /
3 TABLE={name='ventes_produits', groupBy={'region'}},
4 inputs={{name='ventes'}}
5 ;
6RUN;
Résultat :
Une table de résultats est générée, avec une ligne pour chaque région, détaillant les statistiques de la boîte à moustaches (Q1, médiane, Q3, etc.) pour les ventes dans cette région.

Cet exemple montre comment identifier les valeurs aberrantes (`outliers=true`) et limiter leur nombre à 10 (`nOutLimit=10`). Il utilise également la définition de percentile 5 (`pctlDef=5`), qui correspond à la méthode de calcul de la procédure UNIVARIATE.

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1PROC CAS;
2 percentile.boxPlot /
3 TABLE={name='ventes_produits'},
4 inputs={{name='ventes'}},
5 outliers=true,
6 nOutLimit=10,
7 pctlDef=5
8 ;
9RUN;
Résultat :
La table de résultats inclut non seulement les statistiques de la boîte à moustaches, mais aussi des colonnes supplémentaires listant jusqu'à 10 des valeurs aberrantes les plus hautes et les plus basses.

Cet exemple personnalise la longueur des moustaches pour qu'elles s'étendent jusqu'aux 10e et 90e percentiles en définissant `whiskerPercentile=10`. Les points de données au-delà de ces percentiles sont considérés comme des valeurs aberrantes.

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1PROC CAS;
2 percentile.boxPlot /
3 TABLE={name='ventes_produits'},
4 inputs={{name='ventes'}},
5 whiskerPercentile=10,
6 outliers=true
7 ;
8RUN;
Résultat :
Les valeurs pour les moustaches inférieure et supérieure dans la table de sortie correspondront aux 10e et 90e percentiles de la distribution des ventes. Les valeurs aberrantes au-delà de ces points seront également listées.

FAQ

À quoi sert l'action `boxPlot` dans l'ensemble d'actions `percentile` ?
Quels sont les paramètres essentiels pour utiliser l'action `boxPlot` ?
Comment peut-on gérer et analyser les valeurs aberrantes (outliers) ?
Est-il possible d'effectuer des calculs sur des données groupées avec `boxPlot` ?
Que définit le paramètre `pctlDef` ?
Comment peut-on personnaliser la longueur des moustaches (whiskers) du diagramme ?