histogram
Description
L'action dataPreprocess.histogram génère des classes (bins) d'histogramme et des statistiques simples basées sur ces classes pour vos variablesColonnes d'une table SAS contenant des données spécifiques (numériques ou caractères). Elles possèdent des attributs comme le nom, le type, la longueur, l'étiquette et le format d'affichage. numériques . C'est l'outil parfait pour résumer la distribution de vos données continues, un peu comme trier une montagne de chaussettes par catégories de taille pour y voir plus clair. Elle offre un contrôle très fin grâce aux paquets de requêtes , permettant de configurer la largeur des classes, de gérer finement 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). ou d'imposer des bornes exactes .
Paramètres Clés
| Nom du paramètre | Description |
|---|---|
| table | Spécifie la table d'entrée contenant les données à analyser . Le buffet à volonté de nos données. |
| inputs | Liste des variables numériques à découper en classes . Attention, les variables caractères n'aiment pas être découpées en tranches ! |
| casOutBinDetails | Spécifie la table de sortie CAS qui contiendra les détails précis des classes générées . |
| requestPackages | Un tableau de configuration qui définit finement comment construire l'histogramme (méthode de binning, nombre de bins, traitement des outliers, arrondissement) . |
| freq | Spécifie le nom de la variable de fréquence numérique . Idéal si certaines observations pèsent plus lourd que d'autres. |
| maxIterations | Définit le nombre maximal d'itérations pour les statistiques univariées robustes itératives (comme l'estimateur de Gini) . |
Préparation des données
Création d'une table de test avec des données numériques continues
Génère une table contenant des mesures de taille et de poids fictives pour expérimenter la création d'histogrammes.
| 1 | DATA mycas.mesures; |
| 2 | call streaminit(123); |
| 3 | DO id = 1 to 1000; |
| 4 | taille = rand('Normal', 170, 15); |
| 5 | poids = rand('LogNormal', 4, 0.5); |
| 6 | OUTPUT; |
| 7 | END; |
| 8 | RUN; |
Exemples d'utilisation
Création d'un histogramme basique sur une variable
Cet exemple découpe la variable 'taille' en utilisant l'algorithme automatique de 'nice binning' %%niceBinning%% sans paramétrage complexe.
| 1 | PROC CAS; |
| 2 | dataPreprocess.histogram / |
| 3 | TABLE={name="mesures"} |
| 4 | inputs={"taille"} |
| 5 | casOutBinDetails={name="bins_taille", replace=True}; |
| 6 | RUN; |
| 7 | QUIT; |
Résultat Attendu :
Histogramme avancé avec gestion des valeurs aberrantes et arrondissement
Ici, on déploie l'artillerie lourde via %%requestPackages%% pour forcer 10 classes de largeur égale %%method%%. Les valeurs aberrantes (outliers) sont détectées par l'écart interquartile %%outlierMethod%% et 'Winsorisées' (ramenées aux seuils) %%outlierTreatment%%. Enfin, les limites des classes sont arrondies au multiple de 5 le plus proche %%roundType%%.
| 1 | PROC CAS; |
| 2 | dataPreprocess.histogram RESULT=res / |
| 3 | TABLE={name="mesures"} |
| 4 | inputs={"poids"} |
| 5 | casOutBinDetails={name="bins_poids_details", replace=True} |
| 6 | requestPackages={{ |
| 7 | method="EQUALWIDTH", |
| 8 | nBins=10, |
| 9 | niceBinning=False, |
| 10 | round=True, |
| 11 | roundType="NEAREST", |
| 12 | roundFactor=5, |
| 13 | outlierMethod="IQR", |
| 14 | outlierTreatment="WINSOR", |
| 15 | outlierArguments={scaleMultiplier=1.5} |
| 16 | }}; |
| 17 | PRINT res; |
| 18 | RUN; |
| 19 | QUIT; |