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.
| Paramètre | Description |
|---|---|
| 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. |
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`.
| 1 | DATA 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; |
| 12 | RUN; |
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.
| 1 | PROC CAS; |
| 2 | percentile.boxPlot / |
| 3 | TABLE={name='ventes_produits'}, |
| 4 | inputs={{name='ventes'}} |
| 5 | ; |
| 6 | RUN; |
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.
| 1 | PROC CAS; |
| 2 | percentile.boxPlot / |
| 3 | TABLE={name='ventes_produits', groupBy={'region'}}, |
| 4 | inputs={{name='ventes'}} |
| 5 | ; |
| 6 | RUN; |
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.
| 1 | PROC CAS; |
| 2 | percentile.boxPlot / |
| 3 | TABLE={name='ventes_produits'}, |
| 4 | inputs={{name='ventes'}}, |
| 5 | outliers=true, |
| 6 | nOutLimit=10, |
| 7 | pctlDef=5 |
| 8 | ; |
| 9 | RUN; |
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.
| 1 | PROC CAS; |
| 2 | percentile.boxPlot / |
| 3 | TABLE={name='ventes_produits'}, |
| 4 | inputs={{name='ventes'}}, |
| 5 | whiskerPercentile=10, |
| 6 | outliers=true |
| 7 | ; |
| 8 | RUN; |