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
tableSpécifie la table d'entrée à analyser. C'est un paramètre obligatoire.
inputsSpécifie les variables numériques pour lesquelles les statistiques de la boîte à moustaches doivent être calculées.
casOutSpécifie la table de sortie pour stocker les résultats. Si non spécifié, les résultats sont affichés dans le client.
attributesSpécifie des attributs temporaires pour les variables d'entrée, comme les formats.
binNumDéfinit le nombre de bins utilisés dans l'algorithme de calcul, particulièrement pour la méthode itérative.
freqSpé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.
groupBySpécifie une ou plusieurs variables pour regrouper les données. L'analyse est effectuée séparément pour chaque groupe.
groupByLimitSpécifie le nombre maximum de niveaux dans un ensemble 'group-by'.
includeMissingGroupSi défini sur True, les valeurs manquantes sont traitées comme un niveau de groupe valide pour les variables 'groupBy'.
methodSpé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.
nOutBinsSpécifie le nombre de bins à utiliser pour rapporter les valeurs aberrantes.
nOutLimitSpécifie le nombre maximum de valeurs aberrantes à retourner pour les extrémités supérieure et inférieure de la distribution.
outliersLorsque défini sur True, active le calcul et le rapport des valeurs aberrantes.
partitionSi la table est partitionnée, ce paramètre permet de calculer les résultats efficacement pour chaque partition.
partKeySpécifie une clé de partition pour calculer les résultats sur une seule partition spécifique.
pctlDefSpé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).
whiskerPercentileDé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 ?