{"id":9938,"date":"2026-10-14T18:02:35","date_gmt":"2026-10-14T18:02:35","guid":{"rendered":"http:\/\/french.arabpsychology.com\/statistics\/comment-calculer-centiles-sas-exemples\/"},"modified":"2026-10-14T18:02:35","modified_gmt":"2026-10-14T18:02:35","slug":"comment-calculer-centiles-sas-exemples","status":"publish","type":"psych_stat","link":"https:\/\/french.arabpsychology.com\/?psych_stat=comment-calculer-centiles-sas-exemples","title":{"rendered":"Comment calculer les centiles dans SAS (avec exemples)"},"content":{"rendered":"<p>Dans le domaine de l&rsquo;analyse statistique avanc\u00e9e et de l&rsquo;ing\u00e9nierie des donn\u00e9es cliniques, financi\u00e8res ou biom\u00e9triques, la caract\u00e9risation rigoureuse de la distribution d&rsquo;une variable quantitative constitue une \u00e9tape m\u00e9thodologique fondamentale. Alors que les m\u00e9triques de tendance centrale traditionnelles, \u00e0 l&rsquo;instar de la moyenne arithm\u00e9tique et de l&rsquo;\u00e9cart-type, reposent sur l&rsquo;hypoth\u00e8se sous-jacente d&rsquo;une distribution sym\u00e9trique souvent gaussienne, la r\u00e9alit\u00e9 des donn\u00e9es empiriques r\u00e9v\u00e8le presque syst\u00e9matiquement des asym\u00e9tries prononc\u00e9es, des queues \u00e9paisses et une contamination in\u00e9vitable par des valeurs extr\u00eames. Face \u00e0 ces distorsions structurelles, les mesures de position non param\u00e9triques, et plus sp\u00e9cifiquement les centiles (ou percentiles), s&rsquo;imposent comme des estimateurs robustes et indispensables pour saisir la dispersion relative et \u00e9tablir des seuils d\u00e9cisionnels fiables.<\/p>\n<p>Le syst\u00e8me <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/www.sas.com\">SAS (Statistical Analysis System)<\/a> demeure, depuis plusieurs d\u00e9cennies, le standard industriel incontest\u00e9 au sein des environnements hautement r\u00e9gul\u00e9s, tels que l&rsquo;industrie pharmaceutique sous les directives de la FDA, le secteur bancaire prudentiel et les agences d&rsquo;\u00e9valuation publique. Cette pr\u00e9\u00e9minence s&rsquo;explique par la puissance computationnelle de ses algorithmes, la tra\u00e7abilit\u00e9 int\u00e9grale de ses proc\u00e9dures et la flexibilit\u00e9 offerte pour mod\u00e9liser des distributions complexes. Le calcul des centiles au sein de SAS ne se r\u00e9sume pas \u00e0 une simple op\u00e9ration arithm\u00e9tique de classement ; il met en jeu des architectures de proc\u00e9dures sp\u00e9cialis\u00e9es, une gestion fine de la m\u00e9moire vive et un ensemble d&rsquo;options d&rsquo;interpolation math\u00e9matique dont la ma\u00eetrise est essentielle pour garantir la reproductibilit\u00e9 des r\u00e9sultats scientifiques.<\/p>\n<p>Ce guide exhaustif a pour vocation d&rsquo;analyser en profondeur les m\u00e9canismes th\u00e9oriques, les impl\u00e9mentations syntaxiques et les applications op\u00e9rationnelles du calcul des centiles dans l&rsquo;\u00e9cosyst\u00e8me SAS. De la configuration \u00e9l\u00e9mentaire de la proc\u00e9dure UNIVARIATE jusqu&rsquo;\u00e0 l&rsquo;automatisation macro-industrielle, en passant par l&rsquo;analyse comparative des cinq d\u00e9finitions algorithmiques de quantiles et l&rsquo;int\u00e9gration des pond\u00e9rations d&rsquo;\u00e9chantillonnage, cette monographie technique offre aux statisticiens, biostatisticiens et ing\u00e9nieurs de donn\u00e9es l&rsquo;ensemble des cl\u00e9s m\u00e9thodologiques pour exploiter pleinement la puissance analytique de SAS.<\/p>\n<h2>1. Fondements th\u00e9oriques et pertinence statistique des centiles dans SAS<\/h2>\n<h3>1.1 D\u00e9finition math\u00e9matique et conceptuelle des centiles<\/h3>\n<p>D&rsquo;un point de vue strictement probabiliste, les centiles appartiennent \u00e0 la famille g\u00e9n\u00e9rale des quantiles, lesquels correspondent aux valeurs qui divisent la distribution ordonn\u00e9e d&rsquo;une variable al\u00e9atoire continue ou discr\u00e8te en intervalles r\u00e9guliers de probabilit\u00e9 \u00e9gale. Si l&rsquo;on consid\u00e8re une variable al\u00e9atoire r\u00e9elle not\u00e9e <em>X<\/em>, caract\u00e9ris\u00e9e par une fonction de r\u00e9partition cumulative d\u00e9finie par <em>F(x) = P(X &le; x)<\/em>, le <em>p<\/em>-i\u00e8me centile (o\u00f9 <em>p<\/em> repr\u00e9sente un nombre r\u00e9el compris dans l&rsquo;intervalle semi-ouvert ]0, 100[) correspond formellement \u00e0 la valeur minimale <em>x<sub>p<\/sub><\/em> satisfaisant la condition probabiliste <em>F(x<sub>p<\/sub>) &ge; p \/ 100<\/em>. Dans le cas id\u00e9al d&rsquo;une distribution strictement continue et strictement monotone, cette formulation \u00e9quivaut \u00e0 inverser la fonction de r\u00e9partition empirique, de sorte que <em>x<sub>p<\/sub> = F<sup>-1<\/sup>(p \/ 100)<\/em>. Les centiles scindent ainsi l&rsquo;ensemble ordonn\u00e9 des observations en cent segments contenant chacun un pour cent de la masse totale de probabilit\u00e9 de l&rsquo;\u00e9chantillon ou de la population parente.<\/p>\n<p>La distinction conceptuelle entre les m\u00e9triques param\u00e9triques classiques et les mesures de position ordinale s&rsquo;av\u00e8re particuli\u00e8rement saillante lorsqu&rsquo;on compare la moyenne \u00e0 la m\u00e9diane (qui constitue, par d\u00e9finition, le cinquanti\u00e8me centile) et aux autres quantiles de rang sup\u00e9rieur ou inf\u00e9rieur. La moyenne arithm\u00e9tique, minimisant la somme des carr\u00e9s des \u00e9carts, s&rsquo;av\u00e8re particuli\u00e8rement sensible \u00e0 la moindre observation aberrante ou excentr\u00e9e dans les queues de distribution. \u00c0 l&rsquo;inverse, les centiles, en tant qu&rsquo;estimateurs d&rsquo;ordre, minimisent la somme des \u00e9carts absolus pond\u00e9r\u00e9s, ce qui leur conf\u00e8re un point de rupture \u00e9lev\u00e9 et une invariance remarquable sous les transformations strictement monotones. Cette propri\u00e9t\u00e9 de robustesse s&rsquo;av\u00e8re indispensable dans l&rsquo;analyse de donn\u00e9es \u00e9conomiques (notamment la distribution des revenus ou du patrimoine des m\u00e9nages) et dans les essais cliniques o\u00f9 les temps de survie ou les taux de clairance plasmatique exhibent une asym\u00e9trie positive prononc\u00e9e incompatible avec l&rsquo;hypoth\u00e8se de normalit\u00e9.<\/p>\n<p>Dans le domaine de l&rsquo;\u00e9talonnage psychom\u00e9trique, de la docimologie et des \u00e9valuations standardis\u00e9es, l&rsquo;usage des centiles repr\u00e9sente le socle technique sur lequel repose l&rsquo;interpr\u00e9tation des performances individuelles rapport\u00e9es \u00e0 une cohorte de r\u00e9f\u00e9rence. Un score brut obtenu \u00e0 un test d&rsquo;aptitude cognitive ou \u00e0 un examen m\u00e9dical n&rsquo;a que peu de signification intrins\u00e8que ; c&rsquo;est son rang centile qui permet de situer pr\u00e9cis\u00e9ment le sujet par rapport \u00e0 la distribution de normalisation. Ainsi, stipuler qu&rsquo;un candidat se situe au 85e centile signifie de mani\u00e8re non ambigu\u00eb que 85 % des individus de la cohorte d&rsquo;\u00e9talonnage ont obtenu un r\u00e9sultat \u00e9gal ou inf\u00e9rieur au sien, tandis que 15 % ont r\u00e9alis\u00e9 une performance strictement sup\u00e9rieure, sans qu&rsquo;aucune hypoth\u00e8se de normalit\u00e9 pr\u00e9alable ne soit requise pour valider cette conclusion descriptive.<\/p>\n<h3>1.2 Architecture du traitement des centiles au sein de l&rsquo;\u00e9cosyst\u00e8me SAS<\/h3>\n<p>Au sein de l&rsquo;architecture logicielle de SAS, le traitement analytique des centiles est principalement d\u00e9volu \u00e0 la proc\u00e9dure <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/documentation.sas.com\">PROC UNIVARIATE<\/a>, v\u00e9ritable moteur de calcul d\u00e9di\u00e9 \u00e0 l&rsquo;exploration univari\u00e9e exhaustive des variables quantitatives. Contrairement \u00e0 des proc\u00e9dures plus sommaires, PROC UNIVARIATE ne se contente pas de calculer des m\u00e9triques descriptives basiques ; elle instancie un module d&rsquo;analyse d&rsquo;ordre sup\u00e9rieur capable d&rsquo;\u00e9valuer simultan\u00e9ment les moments d&rsquo;une distribution (esp\u00e9rance, variance, asym\u00e9trie de Fisher-Pearson, aplatissement ou kurtosis de Geary), d&rsquo;effectuer des tests d&rsquo;ad\u00e9quation param\u00e9trique (Shapiro-Wilk, Kolmogorov-Smirnov, Anderson-Darling, Cram\u00e9r-von Mises) et de calculer l&rsquo;ensemble des quantiles standards ainsi que des quantiles personnalis\u00e9s selon plusieurs formules math\u00e9matiques distinctes.<\/p>\n<p>Lorsqu&rsquo;on examine les alternatives pr\u00e9sentes dans le catalogue SAS Base, la comparaison structurelle entre PROC UNIVARIATE, PROC MEANS et PROC SUMMARY met en lumi\u00e8re des compromis algorithmiques d\u00e9lib\u00e9r\u00e9s. PROC MEANS et PROC SUMMARY (qui partagent un moteur de calcul identique, la seconde \u00e9tant historiquement orient\u00e9e vers la production de tables de synth\u00e8se sans affichage par d\u00e9faut) sont optimis\u00e9es pour le traitement de volumes de donn\u00e9es massifs et la r\u00e9duction dimensionnelle par agr\u00e9gation rapide. Elles proposent des mots-cl\u00e9s pr\u00e9d\u00e9finis pour les quantiles usuels (P1, P5, P10, Q1, MEDIAN, Q3, P90, P95, P99), mais ne disposent pas de la granularit\u00e9 syntaxique requise pour calculer des points de coupure arbitraires non r\u00e9pertori\u00e9s (tels qu&rsquo;un 73,5e centile ou une s\u00e9quence d\u00e9cimale fine) au moyen d&rsquo;une seule instruction param\u00e9trable. De surcro\u00eet, le choix des algorithmes d&rsquo;interpolation num\u00e9rique demeure plus restreint au sein de PROC MEANS, tandis que PROC UNIVARIATE offre un param\u00e9trage exhaustif via l&rsquo;option d&rsquo;interpolation PCTLDEF.<\/p>\n<p>La r\u00e9ussite de ces op\u00e9rations d&rsquo;analyse descriptive conditionne \u00e9galement une compr\u00e9hension approfondie de la structure du jeu de donn\u00e9es en entr\u00e9e. Le moteur de traitement SAS exige que les variables soumises \u00e0 l&rsquo;instruction VAR soient strictement de type num\u00e9rique (repr\u00e9sent\u00e9es en virgule flottante double pr\u00e9cision sur huit octets sous l&rsquo;architecture standard IEEE 754). Tout enregistrement textuel ou format\u00e9 de mani\u00e8re non standard doit pr\u00e9alablement faire l&rsquo;objet d&rsquo;une conversion explicite via les fonctions d&rsquo;entr\u00e9e INPUT. De plus, la topologie de la table SAS doit id\u00e9alement respecter la forme rectangulaire normale o\u00f9 chaque ligne correspond \u00e0 une unit\u00e9 statistique ind\u00e9pendante (sujet, transaction, mesure exp\u00e9rimentale) et chaque colonne \u00e0 un attribut dimensionnel ou une mesure d&rsquo;int\u00e9r\u00eat, assurant ainsi une lecture s\u00e9quentielle et optimis\u00e9e par le compilateur interne du superviseur SAS.<\/p>\n<h2>2. Pr\u00e9paration des donn\u00e9es d&rsquo;analyse et mise en place du jeu de donn\u00e9es de test<\/h2>\n<h3>2.1 Cr\u00e9ation du jeu de donn\u00e9es exp\u00e9rimental original_data<\/h3>\n<p>Pour illustrer de mani\u00e8re concr\u00e8te, reproductible et p\u00e9dagogique les diff\u00e9rentes syntaxes et comportements algorithmiques de SAS, nous \u00e9tablissons un jeu de donn\u00e9es exp\u00e9rimental structur\u00e9 simulant une \u00e9valuation de performance au sein d&rsquo;une organisation industrielle ou sportive. Ce jeu de donn\u00e9es, nomm\u00e9 <em>original_data<\/em>, servira de fil conducteur \u00e0 l&rsquo;ensemble des exp\u00e9rimentations m\u00e9thodologiques d\u00e9velopp\u00e9es dans cet article. Il int\u00e8gre d\u00e9lib\u00e9r\u00e9ment une variable de stratification nominale (permettant la mise en \u0153uvre ult\u00e9rieure de segmentations analytiques) et une variable m\u00e9trique continue pr\u00e9sentant une dispersion asym\u00e9trique propre \u00e0 mettre en \u00e9vidence les singularit\u00e9s des m\u00e9thodes d&rsquo;interpolation.<\/p>\n<p>La construction de cette table s&rsquo;op\u00e8re au moyen de l&rsquo;\u00e9tape DATA, m\u00e9canisme fondamental du langage SAS qui assure l&rsquo;allocation dynamique de la m\u00e9moire, la d\u00e9finition des descripteurs de table et l&rsquo;ex\u00e9cution de la boucle it\u00e9rative implicite. Les observations sont inject\u00e9es directement dans le flux d&rsquo;instructions via le descripteur DATALINES (ou CARDS), garantissant une portabilit\u00e9 totale du script sans d\u00e9pendance \u00e0 l&rsquo;\u00e9gard de syst\u00e8mes de fichiers externes. La variable cat\u00e9gorielle <em>team<\/em> est d\u00e9clar\u00e9e avec le modificateur textuel ($), tandis que la variable <em>points<\/em> est instanci\u00e9e sous la forme d&rsquo;un vecteur num\u00e9rique standard.<\/p>\n<p>Le code SAS d&rsquo;initialisation se d\u00e9ploie selon la structure suivante :<\/p>\n<p>DATA original_data;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;INPUT team $ points;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;DATALINES;<br \/>\nA 8<br \/>\nA 10<br \/>\nA 12<br \/>\nA 12<br \/>\nA 15<br \/>\nA 18<br \/>\nA 20<br \/>\nA 22<br \/>\nA 25<br \/>\nA 29<br \/>\nB 14<br \/>\nB 17<br \/>\nB 19<br \/>\nB 20<br \/>\nB 24<br \/>\nB 24<br \/>\nB 28<br \/>\nB 31<br \/>\nB 35<br \/>\nB 40<br \/>\n;<br \/>\nRUN;<\/p>\n<p>D\u00e8s l&rsquo;ex\u00e9cution de ce bloc transactionnel, il convient d&rsquo;ex\u00e9cuter la proc\u00e9dure PROC CONTENTS. Cette d\u00e9marche de contr\u00f4le permet de valider le dictionnaire des m\u00e9tadonn\u00e9es associ\u00e9 \u00e0 la table cr\u00e9\u00e9e, en certifiant notamment que le codage des caract\u00e8res s&rsquo;est op\u00e9r\u00e9 sans troncature sur la variable textuelle, que la variable de score est convenablement typ\u00e9e en valeur num\u00e9rique continue, et que le nombre d&rsquo;enregistrements compil\u00e9s correspond exactement aux vingt unit\u00e9s exp\u00e9rimentales r\u00e9parties de fa\u00e7on \u00e9quilibr\u00e9e entre les deux sous-populations identifi\u00e9es.<\/p>\n<figure class=\"wpt-preserved-image\"><img fetchpriority=\"high\" decoding=\"async\" src=\"http:\/\/french.arabpsychology.com\/wp-content\/uploads\/2026\/09\/percent0.jpg\" alt=\"\" \/><\/figure>\n<h3>2.2 Inspection initiale et validation descriptive des donn\u00e9es<\/h3>\n<p>Pr\u00e9alablement \u00e0 toute d\u00e9marche d&rsquo;inf\u00e9rence ou de calcul de centiles avanc\u00e9s, une inspection visuelle directe des donn\u00e9es brutes stock\u00e9es dans la m\u00e9moire de travail de la biblioth\u00e8que temporaire WORK s&rsquo;av\u00e8re indispensable. Cette v\u00e9rification descriptive fondamentale pr\u00e9vient les erreurs silencieuses d&rsquo;encodage, les d\u00e9calages de d\u00e9limiteurs de colonnes et les troncatures inopin\u00e9es de valeurs d\u00e9cimales. L&rsquo;utilisation de la proc\u00e9dure PROC PRINT constitue la m\u00e9thode canonique pour mat\u00e9rialiser le contenu int\u00e9gral du vecteur d&rsquo;enregistrement dans la fen\u00eatre de sortie ou le visualiseur ODS (Output Delivery System).<\/p>\n<p>Le segment d&rsquo;instruction s&rsquo;\u00e9crit de la fa\u00e7on suivante :<\/p>\n<p>PROC PRINT DATA=original_data NOOBS;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;TITLE \u00ab\u00a0Affichage du jeu de donn\u00e9es exp\u00e9rimental original_data\u00a0\u00bb;<br \/>\nRUN;<\/p>\n<p>L&rsquo;argument NOOBS supprime l&rsquo;affichage de la colonne implicite de num\u00e9rotation des observations, focalisant l&rsquo;attention sur les variables de travail r\u00e9elles. L&rsquo;analyse pr\u00e9liminaire des valeurs observ\u00e9es r\u00e9v\u00e8le que l&rsquo;\u00e9quipe A regroupe dix observations dont les scores s&rsquo;\u00e9chelonnent de 8 \u00e0 29 unit\u00e9s, avec une pr\u00e9sence notable de valeurs redondantes (scores ex \u00e6quo \u00e0 12 points). L&rsquo;\u00e9quipe B pr\u00e9sente quant \u00e0 elle un \u00e9talement de 14 \u00e0 40 unit\u00e9s, illustrant une variance sup\u00e9rieure et des scores centraux plus \u00e9lev\u00e9s (avec un doublon \u00e0 24 points).<\/p>\n<p>Cette configuration de petite taille d&rsquo;\u00e9chantillon (N = 10 par sous-groupe, N = 20 pour la cohorte globale) soul\u00e8ve d&#8217;embl\u00e9e des consid\u00e9rations m\u00e9thodologiques cruciales concernant la fiabilit\u00e9 intrins\u00e8que des centiles calcul\u00e9s. Sur le plan th\u00e9orique, l&rsquo;estimation d&rsquo;un centile de rang extr\u00eame (par exemple, le 99e ou le 1er centile) n\u00e9cessite des cohortes de taille substantielle pour \u00e9viter que la valeur estim\u00e9e ne repose exclusivement sur les al\u00e9as \u00e9chantillonnaux d&rsquo;une seule observation p\u00e9riph\u00e9rique. Dans le cadre de petits \u00e9chantillons, la distance s\u00e9parant deux observations cons\u00e9cutives dans la s\u00e9rie ordonn\u00e9e repr\u00e9sente une fraction substantielle de la masse de probabilit\u00e9 (ici, 10 % par point d&rsquo;observation au sein de chaque groupe). Les r\u00e9sultats num\u00e9riques obtenus seront par cons\u00e9quent tributaires de la m\u00e9thode math\u00e9matique choisie pour r\u00e9aliser l&rsquo;interpolation lin\u00e9aire entre deux points successifs, une probl\u00e9matique qui sera examin\u00e9e en d\u00e9tail dans les sections ult\u00e9rieures de cette \u00e9tude.<\/p>\n<h2>3. M\u00e9thode 1 : Calcul d&rsquo;un centile unique \u00e0 l&rsquo;aide de PROC UNIVARIATE<\/h2>\n<h3>3.1 Syntaxe fondamentale et m\u00e9canisme de l&rsquo;instruction OUTPUT<\/h3>\n<p>L&rsquo;extraction cibl\u00e9e d&rsquo;un centile d\u00e9termin\u00e9 s&rsquo;effectue avec une pr\u00e9cision chirurgicale gr\u00e2ce \u00e0 la proc\u00e9dure PROC UNIVARIATE, \u00e0 condition d&rsquo;articuler correctement ses instructions cardinales : la s\u00e9lection des variables continues d&rsquo;int\u00e9r\u00eat, l&rsquo;interfa\u00e7age de l&rsquo;instruction de redirection OUTPUT et la param\u00e9trisation vectorielle des points de quantiles cibl\u00e9s. Contrairement \u00e0 une simple ex\u00e9cution descriptive qui afficherait des dizaines de tableaux de m\u00e9triques dans la fen\u00eatre de r\u00e9sultats standard, l&rsquo;association de PROC UNIVARIATE avec une clause OUTPUT d\u00e9di\u00e9e permet de g\u00e9n\u00e9rer une table de donn\u00e9es SAS structur\u00e9e, imm\u00e9diatement r\u00e9utilisable pour des analyses ult\u00e9rieures, des appariements ou des mod\u00e9lisations d\u00e9cisionnelles.<\/p>\n<p>L&rsquo;instruction VAR d\u00e9signe express\u00e9ment la variable m\u00e9trique soumise \u00e0 l&rsquo;\u00e9valuation distributionnelle. Sans cette instruction, la proc\u00e9dure traiterait l&rsquo;ensemble des colonnes num\u00e9riques pr\u00e9sentes dans la table source, ce qui engendrerait des surco\u00fbts d&rsquo;entr\u00e9es-sorties inutiles. Parall\u00e8lement, l&rsquo;instruction OUTPUT s&rsquo;accompagne obligatoirement de la clause <em>OUT=nom_de_table<\/em> afin de mat\u00e9rialiser les r\u00e9sultats sous la forme d&rsquo;un objet physique ou logique dans l&rsquo;espace de travail SAS. Au c\u0153ur de cette instruction r\u00e9side le param\u00e8tre <em>PCTLPTS=<\/em> (abr\u00e9viation technique de <em>Percentile Points<\/em>), dont la sp\u00e9cificit\u00e9 syntaxique autorise la d\u00e9finition d&rsquo;un ou plusieurs seuils continus compris entre 0 et 100.<\/p>\n<p>Le fonctionnement pr\u00e9cis de PCTLPTS repose sur un algorithme interne de tri et d&rsquo;indexation temporaire. Lorsque la proc\u00e9dure est appel\u00e9e, SAS balaie les valeurs de la variable sp\u00e9cifi\u00e9e, exclut les \u00e9ventuelles valeurs manquantes du calcul du rang, ordonne les observations dans une m\u00e9moire tampon d\u00e9di\u00e9e, puis applique le solveur math\u00e9matique associ\u00e9 \u00e0 la recherche du point percentile. L&rsquo;utilisation conjointe du param\u00e8tre <em>PCTLPRE=<\/em> (abr\u00e9viation de <em>Percentile Prefix<\/em>) garantit l&rsquo;attribution d&rsquo;un nom de variable explicite et intelligible au sein de la table de sortie, \u00e9vitant la g\u00e9n\u00e9ration de d\u00e9nominations automatiques cryptiques susceptibles d&rsquo;alt\u00e9rer la lisibilit\u00e9 des pipelines de production de donn\u00e9es.<\/p>\n<h3>3.2 Impl\u00e9mentation pratique du 70e centile<\/h3>\n<p>Pour mat\u00e9rialiser ce protocole statistique, nous d\u00e9veloppons l&rsquo;impl\u00e9mentation compl\u00e8te visant \u00e0 d\u00e9terminer le 70e centile (not\u00e9 <em>P<sub>70<\/sub><\/em>) de la variable continue <em>points<\/em> sur l&rsquo;ensemble de la population agr\u00e9g\u00e9e (les vingt observations sans discrimination de groupe). L&rsquo;objectif analytique consiste \u00e0 \u00e9tablir le seuil chiffr\u00e9 s\u00e9parant les 70 % des scores les plus modestes des 30 % des performances sup\u00e9rieures.<\/p>\n<p>Le code SAS s&rsquo;articule comme suit :<\/p>\n<p>PROC UNIVARIATE DATA=original_data NOPRINT;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;VAR points;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;OUTPUT OUT=percentile_70<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PCTLPTS=70<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PCTLPRE=p_;<br \/>\nRUN;<\/p>\n<p>PROC PRINT DATA=percentile_70 NOOBS;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;TITLE \u00ab\u00a0R\u00e9sultat de l&rsquo;extraction univari\u00e9e du 70e centile\u00a0\u00bb;<br \/>\nRUN;<\/p>\n<p>L&rsquo;utilisation de l&rsquo;option <em>NOPRINT<\/em> au niveau de l&rsquo;en-t\u00eate de la proc\u00e9dure d\u00e9sactive la g\u00e9n\u00e9ration des flux de rapports volumineux dans le canal ODS. Cette pratique repr\u00e9sente une r\u00e8gle de l&rsquo;art dans les environnements de production, car elle \u00e9conomise les ressources de processeur et de m\u00e9moire allou\u00e9es au formatage graphique, en ne conservant que l&rsquo;\u00e9criture directe de la table analytique de sortie <em>percentile_70<\/em>.<\/p>\n<p>Lors de l&rsquo;ex\u00e9cution, SAS combine la racine textuelle d\u00e9clar\u00e9e dans <em>PCTLPRE=p_<\/em> avec la valeur num\u00e9rique formul\u00e9e dans <em>PCTLPTS=70<\/em>, cr\u00e9ant automatiquement une colonne baptis\u00e9e <em>p_70<\/em>. L&rsquo;affichage de la table g\u00e9n\u00e9r\u00e9e produit un enregistrement unique comportant la valeur calcul\u00e9e, laquelle s&rsquo;\u00e9l\u00e8ve pr\u00e9cis\u00e9ment \u00e0 24,5 points dans notre jeu de donn\u00e9es exp\u00e9rimental. Cette valeur d\u00e9cimale r\u00e9sulte directement de l&rsquo;application de la m\u00e9thode d&rsquo;interpolation par d\u00e9faut de SAS sur les observations ordonn\u00e9es, d\u00e9montrant que le centile ne co\u00efncide pas obligatoirement avec une valeur enti\u00e8re r\u00e9ellement observ\u00e9e dans l&rsquo;\u00e9chantillon.<\/p>\n<h3>3.3 Interpr\u00e9tation statistique du r\u00e9sultat univari\u00e9<\/h3>\n<p>L&rsquo;obtention de la valeur num\u00e9rique de 24,5 points pour le 70e centile appelle une analyse descriptive rigoureuse. Sur le plan statistique fondamental, ce seuil de troncature signifie que tr\u00e8s exactement 70 % de la masse de probabilit\u00e9 empirique de l&rsquo;\u00e9chantillon consid\u00e9r\u00e9 est concentr\u00e9e en de\u00e7\u00e0 ou au niveau de cette fronti\u00e8re m\u00e9trique. R\u00e9ciproquement, seules trois observations sur dix (soit 30 % de la cohorte analys\u00e9e) enregistrent un niveau d&rsquo;accomplissement strictement sup\u00e9rieur \u00e0 24,5 points. Si l&rsquo;on d\u00e9nombre manuellement les occurrences dans la table ordonn\u00e9e globale (comportant les vingt observations combin\u00e9es de A et B : 8, 10, 12, 12, 14, 15, 17, 18, 19, 20, 20, 22, 24, 24, 25, 28, 29, 31, 35, 40), on constate que 14 observations se situent en dessous de 24,5 (14 \/ 20 = 70 %), et que 6 observations lui sont sup\u00e9rieures (6 \/ 20 = 30 %).<\/p>\n<p>Cette parfaite concordance th\u00e9orique illustre la coh\u00e9rence des estimateurs de quantiles. N\u00e9anmoins, l&rsquo;analyste doit garder \u00e0 l&rsquo;esprit que selon la granularit\u00e9 du jeu de donn\u00e9es et la pr\u00e9sence fr\u00e9quente d&rsquo;ex \u00e6quo, des discontinuit\u00e9s discr\u00e8tes peuvent modifier l\u00e9g\u00e8rement la proportion exacte d&rsquo;individus situ\u00e9s strictement au-dessus ou en dessous du seuil. Si plusieurs individus avaient obtenu un score identique de 24,5, la proportion stricte aurait pu diverger marginalement de la cible nominale de 70 %.<\/p>\n<p>Dans les contextes d&rsquo;admission s\u00e9lective, de validation d&rsquo;aptitudes professionnelles ou de tarification du risque assurantiel, ce mode de calcul unitaire d&rsquo;un centile cibl\u00e9 constitue l&rsquo;instrument privil\u00e9gi\u00e9 pour fixer des lignes directrices objectives. Plut\u00f4t que de recourir \u00e0 un seuil arbitraire bas\u00e9 sur la moyenne major\u00e9e d&rsquo;une fraction d&rsquo;\u00e9cart-type (formule vuln\u00e9rable aux dissym\u00e9tries et aux scores hors normes d&rsquo;une poign\u00e9e d&rsquo;individus exceptionnels), le recours au 70e centile certifie que l&rsquo;indice de s\u00e9lection ou de tarification demeure invariant face \u00e0 la variabilit\u00e9 extr\u00eame des scores de pointe, pr\u00e9servant ainsi l&rsquo;\u00e9quit\u00e9 distributive du syst\u00e8me d&rsquo;\u00e9valuation.<\/p>\n<h2>4. M\u00e9thode 2 : Calcul simultan\u00e9 de plusieurs centiles sur une variable continue<\/h2>\n<h3>4.1 Extension de l&rsquo;instruction PCTLPTS pour les s\u00e9ries de valeurs<\/h3>\n<p>Dans la majorit\u00e9 des d\u00e9marches de recherche \u00e9pid\u00e9miologique, d&rsquo;actuariat ou de caract\u00e9risation de variables biom\u00e9triques, l&rsquo;examen isol\u00e9 d&rsquo;un seul centile s&rsquo;av\u00e8re insuffisant pour cartographier l&rsquo;int\u00e9gralit\u00e9 du profil distributionnel d&rsquo;une population. Les statisticiens requi\u00e8rent fr\u00e9quemment l&rsquo;extraction simultan\u00e9e de multiples jalons quantiles, que ce soit pour construire des grilles d&rsquo;\u00e9talonnage compl\u00e8tes (d\u00e9ciles, quintiles) ou pour sonder avec une pr\u00e9cision accrue les comportements de queue de distribution. La proc\u00e9dure PROC UNIVARIATE int\u00e8gre une capacit\u00e9 de vectorisation permettant de sp\u00e9cifier des s\u00e9ries complexes de quantiles au sein d&rsquo;une seule ex\u00e9cution s\u00e9quentielle.<\/p>\n<p>La syntaxe de l&rsquo;instruction <em>PCTLPTS=<\/em> autorise la d\u00e9claration d&rsquo;une suite de valeurs num\u00e9riques s\u00e9par\u00e9es par de simples espaces, sans adjonction de virgules s\u00e9paratrices (syntaxe rigoureuse impos\u00e9e par le parseur de macros et d&rsquo;instructions SAS). Ainsi, l&rsquo;analyste souhaitant examiner la tranche sup\u00e9rieure de la distribution peut consigner directement <em>PCTLPTS=70 80 90<\/em> pour obtenir de mani\u00e8re synchrone les 70e, 80e et 90e centiles.<\/p>\n<p>Au-del\u00e0 de l&rsquo;\u00e9num\u00e9ration discr\u00e8te, SAS met \u00e0 disposition des notations abr\u00e9g\u00e9es particuli\u00e8rement efficaces pour balayer des plages statistiques \u00e9tendues. L&rsquo;utilisation de la syntaxe indic\u00e9e avec pas r\u00e9gulier, formul\u00e9e sous la forme <em>PCTLPTS=10 TO 90 BY 10<\/em>, permet d&rsquo;extraire en une seule commande l&rsquo;ensemble complet des neuf d\u00e9ciles d&rsquo;une distribution. Sur le plan de l&rsquo;ing\u00e9nierie computationnelle, cette vectorisation des requ\u00eates statistiques optimise drastiquement le temps d&rsquo;ex\u00e9cution par rapport \u00e0 des appels r\u00e9p\u00e9titifs de proc\u00e9dures distinctes. Les donn\u00e9es ne sont charg\u00e9es en m\u00e9moire et tri\u00e9es qu&rsquo;une seule fois dans la table de travail interne, apr\u00e8s quoi le sous-syst\u00e8me de calcul r\u00e9sout l&rsquo;ensemble des coordonn\u00e9es de quantiles demand\u00e9es avant de lib\u00e9rer le cache de calcul.<\/p>\n<figure class=\"wpt-preserved-image\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/french.arabpsychology.com\/wp-content\/uploads\/2026\/09\/percent11.jpg\" alt=\"\" \/><\/figure>\n<h3>4.2 Gestion des pr\u00e9fixes et conventions de nommage des variables de sortie<\/h3>\n<p>L&rsquo;extraction conjointe de multiples m\u00e9triques de position au moyen de l&rsquo;instruction OUTPUT soul\u00e8ve la question de la standardisation des d\u00e9nominations de variables dans la table SAS g\u00e9n\u00e9r\u00e9e. Pour r\u00e9pondre \u00e0 cette probl\u00e9matique de mani\u00e8re automatis\u00e9e et robuste, SAS propose un couple de param\u00e8tres compl\u00e9mentaires : <em>PCTLPRE=<\/em> et <em>PCTLNAME=<\/em>, qui r\u00e9gissent la morphologie lexicale des colonnes cr\u00e9\u00e9es.<\/p>\n<p>L&rsquo;utilisation de <em>PCTLPRE=<\/em> constitue l&rsquo;approche la plus standardis\u00e9e. En affectant un pr\u00e9fixe textuel (par exemple <em>PCTLPRE=p_<\/em>), SAS proc\u00e8de \u00e0 la concat\u00e9nation de cette cha\u00eene avec la valeur enti\u00e8re ou d\u00e9cimale de chaque centile d\u00e9clar\u00e9 dans PCTLPTS. Ainsi, la commande <em>PCTLPTS=70 80 90 PCTLPRE=score_p<\/em> engendrera automatiquement dans la table de destination trois variables distinctes : <em>score_p70<\/em>, <em>score_p80<\/em> et <em>score_p90<\/em>. Si l&rsquo;analyste omet de d\u00e9finir un pr\u00e9fixe, SAS appliquera un libell\u00e9 par d\u00e9faut qui peut nuire \u00e0 l&rsquo;intelligibilit\u00e9 du dictionnaire des donn\u00e9es en aval.<\/p>\n<p>Lorsque des exigences documentaires formelles imposent des noms de colonnes non standards ou plus descriptifs, l&rsquo;instruction <em>PCTLNAME=<\/em> peut \u00eatre adjointe pour \u00e9craser la concat\u00e9nation arithm\u00e9tique par d\u00e9faut. Il convient alors de fournir une liste ordonn\u00e9e d&rsquo;\u00e9tiquettes textuelles correspondant en nombre exact \u00e0 la s\u00e9quence num\u00e9rique d\u00e9clar\u00e9e dans PCTLPTS. Par exemple, l&rsquo;association <em>PCTLPTS=25 50 75 PCTLPRE=pts_ PCTLNAME=premier_quartile mediane troisieme_quartile<\/em> permettra d&rsquo;obtenir une structure analytique explicite, facilitant son int\u00e9gration directe dans des pipelines de reporting automatis\u00e9s ou des jointures relationnelles avec des r\u00e9f\u00e9rentiels de donn\u00e9es d&rsquo;entreprise.<\/p>\n<p>Voici la mise en \u0153uvre de cette technique pour le profilage sup\u00e9rieur de notre jeu de test :<\/p>\n<p>PROC UNIVARIATE DATA=original_data NOPRINT;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;VAR points;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;OUTPUT OUT=percentiles_multiples<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PCTLPTS=70 80 90<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PCTLPRE=p_<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PCTLNAME=soixante_dix quatre_vingts quatre_vingt_dix;<br \/>\nRUN;<\/p>\n<p>PROC PRINT DATA=percentiles_multiples NOOBS;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;TITLE \u00ab\u00a0Affichage simultan\u00e9 des 70e, 80e et 90e centiles personnalis\u00e9s\u00a0\u00bb;<br \/>\nRUN;<\/p>\n<h3>4.3 Cas d&rsquo;usage : profilage multidimensionnel d&rsquo;un \u00e9chantillon<\/h3>\n<p>L&rsquo;analyse articul\u00e9e des 70e, 80e et 90e centiles permet de mener une v\u00e9ritable \u00e9tude morphologique de la queue sup\u00e9rieure de la distribution de notre variable <em>points<\/em>. \u00c0 la lecture de la table r\u00e9sultante issue du code pr\u00e9c\u00e9dent, les valeurs num\u00e9riques obtenues s&rsquo;\u00e9tablissent respectivement \u00e0 24,5 pour le 70e centile, 28,5 pour le 80e centile, et 33,0 pour le 90e centile. L&rsquo;analyse des \u00e9carts incr\u00e9mentaux entre ces seuils successifs s&rsquo;av\u00e8re particuli\u00e8rement instructive pour \u00e9valuer l&rsquo;\u00e9tirement de la queue de distribution.<\/p>\n<p>Entre le 70e et le 80e centile (qui couvrent chacun une tranche \u00e9quivalente de 10 % de la masse \u00e9chantillonnale), l&rsquo;amplitude m\u00e9trique est de <em>28,5 &#8211; 24,5 = 4,0<\/em> points. En revanche, entre le 80e et le 90e centile (repr\u00e9sentant \u00e9galement une tranche de 10 %), l&rsquo;\u00e9cart s&rsquo;\u00e9l\u00e8ve \u00e0 <em>33,0 &#8211; 28,5 = 4,5<\/em> points. Cette progression croissante des distances inter-quantiles traduit une acc\u00e9l\u00e9ration de la dispersion des scores \u00e0 mesure que l&rsquo;on progresse vers les tranches d&rsquo;excellence ou d&rsquo;intensit\u00e9 sup\u00e9rieure. Ce comportement d&rsquo;\u00e9tirement vers la droite mat\u00e9rialise l&rsquo;asym\u00e9trie positive de la s\u00e9rie statistique.<\/p>\n<p>Si la variable \u00e9tudi\u00e9e suivait rigoureusement une <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/fr.wikipedia.org\/wiki\/Loi_normale\">loi normale<\/a> centr\u00e9e et r\u00e9duite, l&rsquo;\u00e9cart th\u00e9orique entre les quantiles successifs devrait \u00eatre parfaitement sym\u00e9trique et conforme aux propri\u00e9t\u00e9s de la fonction de r\u00e9partition de Gauss. Dans un cadre gaussien standard, l&rsquo;\u00e9cart entre le 70e centile (z &asymp; 0,524) et le 80e centile (z &asymp; 0,841) est de 0,317 &sigma;, tandis que l&rsquo;\u00e9cart entre le 80e et le 90e centile (z &asymp; 1,282) est de 0,441 &sigma;. La confrontation des valeurs empiriques obtenues dans SAS avec les esp\u00e9rances th\u00e9oriques param\u00e9triques permet ainsi aux \u00e9pid\u00e9miologistes et aux analystes de risque de quantifier la d\u00e9viation d&rsquo;une cohorte par rapport au postulat de normalit\u00e9, justifiant l&rsquo;abandon des mod\u00e8les lin\u00e9aires classiques au profit de mod\u00e9lisations non param\u00e9triques ou g\u00e9n\u00e9ralis\u00e9es.<\/p>\n<h2>5. M\u00e9thode 3 : Calcul des centiles stratifi\u00e9s par sous-groupes<\/h2>\n<h3>5.1 Tri pr\u00e9alable des donn\u00e9es avec PROC SORT<\/h3>\n<p>Dans les applications r\u00e9elles de la data science, l&rsquo;analyse globale agr\u00e9g\u00e9e dissimule fr\u00e9quemment des h\u00e9t\u00e9rog\u00e9n\u00e9it\u00e9s structurelles majeures entre sous-populations. Qu&rsquo;il s&rsquo;agisse de comparer les temps de gu\u00e9rison entre un groupe sous traitement exp\u00e9rimental et un groupe placebo dans un essai clinique de phase III, ou d&rsquo;\u00e9valuer les niveaux de r\u00e9mun\u00e9ration selon des segments d&rsquo;activit\u00e9, la segmentation par sous-groupes repr\u00e9sente la pierre angulaire de l&rsquo;analyse comparative. Au sein de SAS, l&rsquo;instruction universelle permettant d&rsquo;instancier un traitement par strate est l&rsquo;instruction <em>BY<\/em>.<\/p>\n<p>Cependant, l&rsquo;utilisation de l&rsquo;instruction BY dans toute proc\u00e9dure analytique SAS, et plus particuli\u00e8rement dans PROC UNIVARIATE, est subordonn\u00e9e \u00e0 une contrainte architecturale stricte : la table d&rsquo;entr\u00e9e doit imp\u00e9rativement avoir \u00e9t\u00e9 pr\u00e9alablement tri\u00e9e ou index\u00e9e selon la ou les variables de stratification d\u00e9clar\u00e9es. Le compilateur SAS lit les donn\u00e9es de fa\u00e7on s\u00e9quentielle par blocs de m\u00e9moire ; s&rsquo;il rencontre une alternance d\u00e9sordonn\u00e9e d&rsquo;identifiants de groupes (par exemple, un enregistrement de l&rsquo;\u00e9quipe B surgissant au milieu des observations de l&rsquo;\u00e9quipe A), la proc\u00e9dure s&rsquo;interrompt brutalement en \u00e9mettant une erreur d&rsquo;ex\u00e9cution bloquante dans le journal (SAS Log) : <em>ERROR: Data set WORK.ORIGINAL_DATA is not sorted in ascending sequence.<\/em><\/p>\n<p>L&rsquo;utilisation de la proc\u00e9dure PROC SORT constitue par cons\u00e9quent le pr\u00e9requis obligatoire avant tout calcul de centiles stratifi\u00e9s. L&rsquo;instruction s&rsquo;\u00e9crit avec une rigueur absolue :<\/p>\n<p>PROC SORT DATA=original_data OUT=sorted_data;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;BY team;<br \/>\nRUN;<\/p>\n<p>Cette \u00e9tape mat\u00e9rialise une nouvelle table ordonn\u00e9e <em>sorted_data<\/em> o\u00f9 toutes les observations relatives \u00e0 l&rsquo;\u00e9quipe A sont cons\u00e9cutivement regroup\u00e9es en premier lieu, suivies de l&rsquo;ensemble ordonn\u00e9 des unit\u00e9s de l&rsquo;\u00e9quipe B. La stabilit\u00e9 du tri et l&rsquo;int\u00e9grit\u00e9 de la table sont ainsi garanties pour le moteur d&rsquo;ex\u00e9cution de PROC UNIVARIATE.<\/p>\n<h3>5.2 Ex\u00e9cution de PROC UNIVARIATE avec l&rsquo;instruction BY<\/h3>\n<p>D\u00e8s lors que la table de travail pr\u00e9sente la structuration requise, la proc\u00e9dure PROC UNIVARIATE peut \u00eatre d\u00e9ploy\u00e9e en lui adjoignant conjointement les instructions <em>BY team;<\/em>, <em>VAR points;<\/em> et la clause de g\u00e9n\u00e9ration <em>OUTPUT OUT=<\/em> dot\u00e9e des sp\u00e9cifications de centiles d\u00e9sir\u00e9es. Le compilateur SAS partitionne alors dynamiquement le processus de calcul : pour chaque modalit\u00e9 distincte identifi\u00e9e dans la variable de groupe, la proc\u00e9dure r\u00e9initialise ses accumulateurs de moments, trie les valeurs locales de la variable m\u00e9trique, applique l&rsquo;algorithme de quantile s\u00e9lectionn\u00e9 et r\u00e9dige un enregistrement sp\u00e9cifique dans la table de sortie.<\/p>\n<p>Le bloc d&rsquo;instructions SAS se structure comme suit :<\/p>\n<p>PROC UNIVARIATE DATA=sorted_data NOPRINT;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;BY team;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;VAR points;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;OUTPUT OUT=percentiles_stratifies<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PCTLPTS=70 80 90<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PCTLPRE=p_<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PCTLNAME=p70 p80 p90;<br \/>\nRUN;<\/p>\n<p>PROC PRINT DATA=percentiles_stratifies NOOBS;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;TITLE \u00ab\u00a0Centiles stratifi\u00e9s par sous-groupes (\u00c9quipe A vs \u00c9quipe B)\u00a0\u00bb;<br \/>\nRUN;<\/p>\n<p>La table analytique de sortie <em>percentiles_stratifies<\/em> ainsi construite offre une granularit\u00e9 m\u00e9thodologique parfaite. Elle ne comporte plus une seule ligne agr\u00e9g\u00e9e, mais exactement autant de lignes qu&rsquo;il existe de modalit\u00e9s distinctes dans la variable de tri (en l&rsquo;esp\u00e8ce, deux observations : une pour l&rsquo;\u00e9quipe A et une pour l&rsquo;\u00e9quipe B). Les colonnes de groupe pr\u00e9sentes dans l&rsquo;instruction BY sont automatiquement conserv\u00e9es et positionn\u00e9es en t\u00eate de table, garantissant une identification sans ambigu\u00eft\u00e9 des m\u00e9triques calcul\u00e9es pour chaque strate respective.<\/p>\n<h3>5.3 Analyse comparative intra-groupe et inter-groupes<\/h3>\n<p>L&rsquo;affichage de la table des centiles stratifi\u00e9s r\u00e9v\u00e8le des contrastes majeurs entre les deux cohortes, d\u00e9montrant la puissance diagnostique de la m\u00e9thode par rapport \u00e0 une simple comparaison des moyennes de groupe. Pour l&rsquo;\u00e9quipe A, les centiles d&rsquo;ordre sup\u00e9rieur s&rsquo;\u00e9tablissent \u00e0 : <em>P<sub>70<\/sub> = 21,4<\/em>, <em>P<sub>80<\/sub> = 23,2<\/em> et <em>P<sub>90<\/sub> = 27,8<\/em>. En revanche, pour l&rsquo;\u00e9quipe B, ces m\u00eames estimateurs atteignent des niveaux nettement plus \u00e9lev\u00e9s : <em>P<sub>70<\/sub> = 29,2<\/em>, <em>P<sub>80<\/sub> = 32,6<\/em> et <em>P<sub>90<\/sub> = 37,5<\/em>.<\/p>\n<p>L&rsquo;analyse inter-groupes met en \u00e9vidence un d\u00e9calage structurel d&rsquo;environ 8 \u00e0 10 points sur l&rsquo;ensemble du spectre sup\u00e9rieur au b\u00e9n\u00e9fice de l&rsquo;\u00e9quipe B. Le 70e centile de l&rsquo;\u00e9quipe B (29,2) d\u00e9passe m\u00eame le 90e centile de l&rsquo;\u00e9quipe A (27,8). Cela signifie qu&rsquo;un membre situ\u00e9 dans la tranche des 30 % sup\u00e9rieurs de l&rsquo;\u00e9quipe A r\u00e9aliserait une performance consid\u00e9r\u00e9e comme inf\u00e9rieure au seuil des 30 % d&rsquo;\u00e9lite au sein de l&rsquo;\u00e9quipe B. Ce constat poss\u00e8de des implications empiriques consid\u00e9rables : dans un syst\u00e8me d&rsquo;\u00e9talonnage manag\u00e9rial ou scolaire unifi\u00e9, l&rsquo;application d&rsquo;un bar\u00e8me global unique p\u00e9naliserait artificiellement les membres de l&rsquo;\u00e9quipe A ou sous-estimerait l&rsquo;exigence impos\u00e9e aux membres de l&rsquo;\u00e9quipe B.<\/p>\n<p>Sur le plan intra-groupe, l&rsquo;examen de l&rsquo;\u00e9cart d&rsquo;h\u00e9t\u00e9rog\u00e9n\u00e9it\u00e9 entre le 70e et le 90e centile r\u00e9v\u00e8le une dispersion interne diff\u00e9rente : l&rsquo;amplitude inter-centile <em>P<sub>90<\/sub> &#8211; P<sub>70<\/sub><\/em> s&rsquo;\u00e9l\u00e8ve \u00e0 <em>27,8 &#8211; 21,4 = 6,4<\/em> points pour l&rsquo;\u00e9quipe A, alors qu&rsquo;elle s&rsquo;\u00e9l\u00e8ve \u00e0 <em>37,5 &#8211; 29,2 = 8,3<\/em> points pour l&rsquo;\u00e9quipe B. L&rsquo;\u00e9quipe B n&rsquo;affiche donc pas seulement des scores m\u00e9dians plus \u00e9lev\u00e9s, elle pr\u00e9sente \u00e9galement une variance et une polarisation beaucoup plus accentu\u00e9es parmi ses \u00e9l\u00e9ments les plus performants. Ces informations ordinales stratifi\u00e9es fournissent aux d\u00e9cideurs une finesse d&rsquo;analyse inaccessible par la seule observation des moyennes arithm\u00e9tiques d&rsquo;\u00e9chantillon.<\/p>\n<h2>6. Algorithmes de calcul des centiles et option PCTLDEF dans SAS<\/h2>\n<h3>6.1 Les cinq formules d&rsquo;interpolation impl\u00e9ment\u00e9es dans SAS<\/h3>\n<p>L&rsquo;un des aspects les plus techniques et souvent m\u00e9connus du calcul des quantiles dans les logiciels de traitement de donn\u00e9es r\u00e9side dans le fait qu&rsquo;il n&rsquo;existe pas de formule math\u00e9matique universelle unique pour interpoler la valeur d&rsquo;un centile au sein d&rsquo;un \u00e9chantillon fini discret. Pour formaliser ces variantes, le syst\u00e8me SAS impl\u00e9mente de mani\u00e8re native cinq algorithmes d&rsquo;interpolation distincts, gouvern\u00e9s par l&rsquo;option <em>PCTLDEF=n<\/em> (o\u00f9 <em>n<\/em> prend une valeur enti\u00e8re comprise entre 1 et 5) positionn\u00e9e dans l&rsquo;en-t\u00eate de la proc\u00e9dure PROC UNIVARIATE.<\/p>\n<p>Consid\u00e9rons une s\u00e9rie ordonn\u00e9e de <em>n<\/em> observations r\u00e9elles not\u00e9es <em>y<sub>(1)<\/sub> &le; y<sub>(2)<\/sub> &le; &#8230; &le; y<sub>(n)<\/sub><\/em>, et cherchons \u00e0 estimer le <em>p<\/em>-i\u00e8me centile avec la fraction <em>q = p \/ 100<\/em>. Les cinq m\u00e9thodes param\u00e9trables se d\u00e9finissent ainsi :<\/p>\n<ul>\n<li><strong>PCTLDEF=1 (Fonction de r\u00e9partition empirique avec moyenne aux discontinuit\u00e9s) :<\/strong> Cette m\u00e9thode repose sur l&rsquo;\u00e9valuation directe de la distribution cumulative empirique. Soit le produit <em>n &times; q<\/em>. Si <em>n &times; q<\/em> n&rsquo;est pas un entier, on pose <em>j = floor(n &times; q) + 1<\/em> et le centile vaut <em>y<sub>(j)<\/sub><\/em>. Si <em>n &times; q<\/em> est un entier exact <em>k<\/em>, le centile est calcul\u00e9 en effectuant la moyenne arithm\u00e9tique de deux observations adjacentes : <em>(y<sub>(k)<\/sub> + y<sub>(k+1)<\/sub>) \/ 2<\/em>.<\/li>\n<li><strong>PCTLDEF=2 (Fonction de r\u00e9partition inverse avec palier d&rsquo;observation) :<\/strong> Similaire \u00e0 la premi\u00e8re d\u00e9finition mais sans moyenne aux points de discontinuit\u00e9. Si <em>n &times; q<\/em> n&rsquo;est pas un entier, la formule retient l&rsquo;observation de rang <em>j = floor(n &times; q) + 1<\/em>. En revanche, si <em>n &times; q<\/em> est un entier exact <em>k<\/em>, la m\u00e9thode retient strictement la valeur d&rsquo;observation <em>y<sub>(k)<\/sub><\/em> sans proc\u00e9der \u00e0 une interpolation interm\u00e9diaire avec le point suivant.<\/li>\n<li><strong>PCTLDEF=3 (Arrondi entier le plus proche de la fonction empirique) :<\/strong> L&rsquo;indice d&rsquo;observation retenu est d\u00e9termin\u00e9 en arrondissant le produit \u00e0 l&rsquo;entier le plus proche. Si <em>n &times; q<\/em> poss\u00e8de une partie fractionnaire non nulle, on d\u00e9termine <em>j = round(n &times; q)<\/em>. Si le produit est un entier exact ou une valeur \u00e9quidistante avec un seuil de coupure sp\u00e9cifique, l&rsquo;algorithme bascule sur l&rsquo;entier d&rsquo;ordre imm\u00e9diatement sup\u00e9rieur lorsque la r\u00e8gle d&rsquo;arrondi l&rsquo;impose.<\/li>\n<li><strong>PCTLDEF=4 (Interpolation lin\u00e9aire standard recommand\u00e9e) :<\/strong> C&rsquo;est la m\u00e9thode s\u00e9lectionn\u00e9e par d\u00e9faut par SAS si aucune option PCTLDEF n&rsquo;est sp\u00e9cifi\u00e9e dans le code source. Elle repose sur l&rsquo;indice r\u00e9el <em>(n + 1) &times; q<\/em>. Soit <em>t = (n + 1) &times; q<\/em>, que l&rsquo;on d\u00e9compose en sa partie enti\u00e8re <em>j = floor(t)<\/em> et sa partie fractionnaire <em>g = t &#8211; j<\/em>. La valeur du centile est obtenue par l&rsquo;interpolation lin\u00e9aire continue : <em>y = (1 &#8211; g) &times; y<sub>(j)<\/sub> + g &times; y<sub>(j+1)<\/sub><\/em>, sous r\u00e9serve que <em>1 &le; j &lt; n<\/em>. Si <em>j &lt; 1<\/em>, le centile est fix\u00e9 \u00e0 la valeur minimale <em>y<sub>(1)<\/sub><\/em> ; si <em>j &ge; n<\/em>, il est fix\u00e9 \u00e0 <em>y<sub>(n)<\/sub><\/em>.<\/li>\n<li><strong>PCTLDEF=5 (Interpolation lin\u00e9aire empirique continue standardis\u00e9e) :<\/strong> Cette variante d&rsquo;interpolation lin\u00e9aire se base sur l&rsquo;indice r\u00e9el <em>n &times; q<\/em> au lieu de <em>(n + 1) &times; q<\/em>. Soit <em>t = n &times; q<\/em>, d\u00e9compos\u00e9 en sa partie enti\u00e8re <em>j = floor(t)<\/em> et sa partie fractionnaire <em>g = t &#8211; j<\/em>. La valeur estim\u00e9e est donn\u00e9e par : <em>y = (1 &#8211; g) &times; y<sub>(j)<\/sub> + g &times; y<sub>(j+1)<\/sub><\/em>. Cette m\u00e9thode garantit une coh\u00e9rence th\u00e9orique \u00e9troite avec l&rsquo;estimateur de quantile non biais\u00e9 adopt\u00e9 par de nombreuses \u00e9coles de statistique industrielle.<\/li>\n<\/ul>\n<h3>6.2 Impact du choix de PCTLDEF sur les petits \u00e9chantillons<\/h3>\n<p>Dans les \u00e9chantillons de taille volumineuse (par exemple <em>N &gt; 10 000<\/em>), les divergences num\u00e9riques g\u00e9n\u00e9r\u00e9es par ces cinq d\u00e9finitions s&rsquo;att\u00e9nuent jusqu&rsquo;\u00e0 devenir virtuellement ind\u00e9tectables, l&rsquo;\u00e9cart entre deux observations cons\u00e9cutives <em>y<sub>(i+1)<\/sub> &#8211; y<sub>(i)<\/sub><\/em> convergeant asymptotiquement vers z\u00e9ro. En revanche, sur des \u00e9chantillons restreints ou des cohortes pilotes comportant un nombre limit\u00e9 de sujets (tels que notre sous-groupe de dix enregistrements), le choix de l&rsquo;algorithme d&rsquo;interpolation entra\u00eene des variations chiffr\u00e9es substantielles qui peuvent influencer la validation d&rsquo;une hypoth\u00e8se ou la conformit\u00e9 r\u00e9glementaire d&rsquo;un produit.<\/p>\n<p>Pour illustrer empiriquement cette sensibilit\u00e9 math\u00e9matique, appliquons les cinq valeurs de l&rsquo;option PCTLDEF pour calculer le 70e centile sur les 10 observations de l&rsquo;\u00e9quipe A : 8, 10, 12, 12, 15, 18, 20, 22, 25, 29. Nous avons <em>n = 10<\/em> et <em>q = 0,70<\/em>, soit un produit <em>n &times; q = 7,0<\/em>, qui s&rsquo;av\u00e8re \u00eatre un entier exact :<\/p>\n<ul>\n<li>Sous <strong>PCTLDEF=1<\/strong>, <em>n &times; q = 7<\/em> \u00e9tant entier, le centile est la moyenne du 7e point (20) et du 8e point (22), ce qui donne <em>(20 + 22) \/ 2 = 21,0<\/em>.<\/li>\n<li>Sous <strong>PCTLDEF=2<\/strong>, <em>n &times; q = 7<\/em> \u00e9tant entier, la r\u00e8gle s\u00e9lectionne strictement la 7e observation ordonn\u00e9e, ce qui produit un r\u00e9sultat de <em>20,0<\/em>.<\/li>\n<li>Sous <strong>PCTLDEF=3<\/strong>, l&rsquo;arrondi entier retient \u00e9galement la 7e observation, produisant <em>20,0<\/em>.<\/li>\n<li>Sous <strong>PCTLDEF=4<\/strong> (d\u00e9faut SAS), l&rsquo;indice vaut <em>(10 + 1) &times; 0,70 = 7,7<\/em>. La partie enti\u00e8re est <em>j = 7<\/em> et la fraction <em>g = 0,7<\/em>. La formule interpole entre le 7e point (20) et le 8e point (22) : <em>y = 0,3 &times; 20 + 0,7 &times; 22 = 6,0 + 15,4 = 21,4<\/em>.<\/li>\n<li>Sous <strong>PCTLDEF=5<\/strong>, l&rsquo;indice vaut <em>10 &times; 0,70 = 7,0<\/em>. La fraction \u00e9tant <em>g = 0<\/em>, la formule produit <em>y = 1,0 &times; 20 + 0,0 &times; 22 = 20,0<\/em>.<\/li>\n<\/ul>\n<p>Sur ce petit \u00e9chantillon, le 70e centile oscille donc entre 20,0 et 21,4 selon l&rsquo;algorithme retenu, soit une variation relative de 7 % imputable uniquement au formalisme math\u00e9matique. Dans les contextes acad\u00e9miques, biom\u00e9dicaux et r\u00e9glementaires (par exemple dans le cadre d&rsquo;un dossier d&rsquo;autorisation de mise sur le march\u00e9 soumis \u00e0 la Food and Drug Administration ou \u00e0 l&rsquo;Agence Europ\u00e9enne des M\u00e9dicaments), il est imp\u00e9ratif de stipuler explicitement l&rsquo;algorithme d&rsquo;interpolation s\u00e9lectionn\u00e9 dans le plan d&rsquo;analyse statistique (SAP) afin d&rsquo;assurer l&rsquo;auditabilit\u00e9 et la parfaite reproductibilit\u00e9 des calculs.<\/p>\n<h3>6.3 Configuration et param\u00e9trage explicite de l&rsquo;option dans le code<\/h3>\n<p>Le param\u00e9trage de l&rsquo;option d&rsquo;interpolation s&rsquo;effectue directement dans l&rsquo;instruction d&rsquo;ouverture de la proc\u00e9dure PROC UNIVARIATE en d\u00e9clarant le commutateur syntaxique <em>PCTLDEF=valeur<\/em>. L&rsquo;int\u00e9gration de cette consigne explicite garantit que le comportement algorithmique demeure p\u00e9renne, y compris en cas de migration de code vers des versions futures de SAS ou lors du partage de scripts avec des tiers dont les profils d&rsquo;environnement par d\u00e9faut pourraient diverger.<\/p>\n<p>Le bloc de code ci-dessous d\u00e9montre la configuration explicite de l&rsquo;interpolation standard PCTLDEF=4 :<\/p>\n<p>PROC UNIVARIATE DATA=sorted_data PCTLDEF=4 NOPRINT;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;BY team;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;VAR points;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;OUTPUT OUT=percentiles_def4<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PCTLPTS=70<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PCTLPRE=p_<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PCTLNAME=p70;<br \/>\nRUN;<\/p>\n<p>Cette rigueur de configuration s&rsquo;av\u00e8re fondamentale lors de l&rsquo;ex\u00e9cution d&rsquo;analyses crois\u00e9es avec d&rsquo;autres langages scientifiques tels que <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/www.r-project.org\">R<\/a> ou le module <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/numpy.org\">NumPy de Python<\/a>. Le langage R dispose, au sein de sa fonction native <em>quantile()<\/em>, de neuf d\u00e9finitions math\u00e9matiques distinctes (param\u00e9tr\u00e9es via l&rsquo;argument <em>type=1<\/em> \u00e0 <em>type=9<\/em>). Par d\u00e9faut, R impl\u00e9mente l&rsquo;algorithme de type 7, lequel \u00e9quivaut rigoureusement \u00e0 l&rsquo;option PCTLDEF=5 de SAS, tandis que le comportement par d\u00e9faut de SAS (PCTLDEF=4) correspond au type 6 dans la nomenclature de R et Minitab. Documenter pr\u00e9cis\u00e9ment le param\u00e8tre PCTLDEF \u00e9vite ainsi des discordances num\u00e9riques st\u00e9riles lors du portage d&rsquo;algorithmes entre SAS, R et Python dans des environnements de recherche pluridisciplinaires.<\/p>\n<h2>7. Calculs alternatifs des centiles avec PROC MEANS et PROC SUMMARY<\/h2>\n<h3>7.1 Exploitation des mots-cl\u00e9s de quantiles pr\u00e9d\u00e9finis<\/h3>\n<p>Si la proc\u00e9dure PROC UNIVARIATE offre une flexibilit\u00e9 totale quant au choix des seuils percentiles et des r\u00e8gles d&rsquo;interpolation, la proc\u00e9dure PROC MEANS (ainsi que son pendant batch PROC SUMMARY) constitue le vecteur historique privil\u00e9gi\u00e9 pour l&rsquo;extraction de m\u00e9triques descriptives massives. Dans les architectures analytiques de production o\u00f9 les tables d&rsquo;entr\u00e9e renferment plusieurs dizaines ou centaines de millions d&rsquo;enregistrements, la surcharge computationnelle induite par les tests diagnostiques complets de PROC UNIVARIATE peut peser sur les temps de traitement et les entr\u00e9es-sorties syst\u00e8me.<\/p>\n<p>Pour r\u00e9pondre \u00e0 ce besoin d&rsquo;agilit\u00e9 computationnelle, PROC MEANS int\u00e8gre nativement un lexique de mots-cl\u00e9s r\u00e9serv\u00e9s d\u00e9di\u00e9s aux principaux rep\u00e8res quantiles de la distribution. Ces mots-cl\u00e9s standardis\u00e9s comprennent :<\/p>\n<ul>\n<li><strong>P1, P5, P10 :<\/strong> Les premier, cinqui\u00e8me et dixi\u00e8me centiles, couramment employ\u00e9s dans la surveillance des signaux faibles, le contr\u00f4le qualit\u00e9 de pr\u00e9cision et l&rsquo;analyse des risques extr\u00eames de perte en capital (Value at Risk).<\/li>\n<li><strong>Q1 (ou P25) :<\/strong> Le premier quartile, d\u00e9limitant le quart inf\u00e9rieur (25 %) de la distribution des observations.<\/li>\n<li><strong>MEDIAN (ou P50, Q2) :<\/strong> La m\u00e9diane de l&rsquo;\u00e9chantillon, valeur centrale robuste par excellence.<\/li>\n<li><strong>Q3 (ou P75) :<\/strong> Le troisi\u00e8me quartile, mat\u00e9rialisant les 75 % inf\u00e9rieurs de la masse statistique.<\/li>\n<li><strong>P90, P95, P99 :<\/strong> Les quantiles d&rsquo;ordre sup\u00e9rieur, essentiels pour l&rsquo;\u00e9valuation des pics de charge r\u00e9seau, les plafonds d&rsquo;indemnisation assurantielle ou les valeurs de r\u00e9f\u00e9rence toxicologiques.<\/li>\n<\/ul>\n<p>Bien que cette nomenclature pr\u00e9d\u00e9finie couvre les besoins statistiques courants, elle ne permet pas de sp\u00e9cifier des points de coupure arbitraires non calibr\u00e9s en amont par les concepteurs de SAS (comme un 70e ou un 82,5e centile). En pareille situation, l&rsquo;analyste doit n\u00e9cessairement s&rsquo;orienter vers PROC UNIVARIATE ou vers des approches empiriques alternatives.<\/p>\n<figure class=\"wpt-preserved-image\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/french.arabpsychology.com\/wp-content\/uploads\/2026\/09\/percent12.jpg\" alt=\"\" \/><\/figure>\n<h3>7.2 Syntaxe comparative et extraction dans une table de r\u00e9sultats<\/h3>\n<p>L&rsquo;\u00e9criture d&rsquo;une extraction de quantiles sous PROC MEANS s&rsquo;articule autour de l&rsquo;instruction <em>OUTPUT OUT=<\/em>, en associant chaque mot-cl\u00e9 statistique \u00e0 un nom de variable cible. De surcro\u00eet, PROC MEANS pr\u00e9sente l&rsquo;avantage op\u00e9rationnel majeur de pouvoir exploiter l&rsquo;instruction <em>CLASS<\/em> au lieu de l&rsquo;instruction <em>BY<\/em>. Contrairement \u00e0 BY, l&rsquo;instruction CLASS n&rsquo;exige aucun tri physique pr\u00e9alable de la table de donn\u00e9es par PROC SORT, le compilateur s&rsquo;appuyant sur des tables de hachage dynamiques instanci\u00e9es en m\u00e9moire vive pour agr\u00e9ger les observations au vol.<\/p>\n<p>L&rsquo;impl\u00e9mentation comparative s&rsquo;ex\u00e9cute ainsi :<\/p>\n<p>PROC MEANS DATA=original_data NOPRINT;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;CLASS team;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;VAR points;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;OUTPUT OUT=synthese_means<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P10=dixieme_centile<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Q1=premier_quartile<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MEDIAN=mediane<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Q3=troisieme_quartile<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P90=quatre_vingt_dixieme_centile;<br \/>\nRUN;<\/p>\n<p>PROC PRINT DATA=synthese_means NOOBS;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;TITLE \u00ab\u00a0Synth\u00e8se des quantiles via PROC MEANS avec instruction CLASS\u00a0\u00bb;<br \/>\nRUN;<\/p>\n<p>L&rsquo;inspection de la table g\u00e9n\u00e9r\u00e9e <em>synthese_means<\/em> met en \u00e9vidence deux variables de service g\u00e9n\u00e9r\u00e9es automatiquement par le moteur SAS : <em>_TYPE_<\/em> et <em>_FREQ_<\/em>. La variable <em>_FREQ_<\/em> indique le nombre effectif d&rsquo;enregistrements compil\u00e9s au sein de chaque strate. La variable <em>_TYPE_<\/em> traduit quant \u00e0 elle le niveau d&rsquo;agr\u00e9gation hi\u00e9rarchique de l&rsquo;op\u00e9ration : une ligne avec <em>_TYPE_ = 0<\/em> regroupe les statistiques consolid\u00e9es sur l&rsquo;ensemble complet de l&rsquo;\u00e9chantillon (ind\u00e9pendamment de la variable d&rsquo;\u00e9quipe), tandis que les lignes caract\u00e9ris\u00e9es par <em>_TYPE_ = 1<\/em> d\u00e9taillent les valeurs sp\u00e9cifiques calcul\u00e9es pour chacune des modalit\u00e9s segment\u00e9es de la variable <em>team<\/em>. Cette double restitution au sein d&rsquo;une table unique simplifie les synth\u00e8ses comparatives entre le niveau global et les niveaux granulaires.<\/p>\n<h3>7.3 Crit\u00e8res de s\u00e9lection entre PROC UNIVARIATE et PROC MEANS<\/h3>\n<p>Le choix m\u00e9thodologique entre PROC UNIVARIATE et PROC MEANS repose sur un arbitrage technique fond\u00e9 sur trois crit\u00e8res directeurs : la volum\u00e9trie des donn\u00e9es, la sp\u00e9cificit\u00e9 des percentiles requis et la profondeur des diagnostics statistiques annexes n\u00e9cessaires \u00e0 la recherche.<\/p>\n<table border=\"1\" cellpadding=\"8\" cellspacing=\"0\" style=\"border-collapse: collapse;width: 100%;margin: 20px 0\">\n<thead>\n<tr style=\"background-color: #f2f2f2;text-align: left\">\n<th>Caract\u00e9ristique m\u00e9thodologique<\/th>\n<th>Proc\u00e9dure PROC UNIVARIATE<\/th>\n<th>Proc\u00e9dure PROC MEANS \/ SUMMARY<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Sp\u00e9cification des centiles<\/strong><\/td>\n<td>Centiles arbitraires continus illimit\u00e9s (option PCTLPTS)<\/td>\n<td>Mots-cl\u00e9s discrets pr\u00e9d\u00e9finis uniquement (P1, P5, Q1, MEDIAN, etc.)<\/td>\n<\/tr>\n<tr>\n<td><strong>Algorithmes d&rsquo;interpolation<\/strong><\/td>\n<td>Cinq d\u00e9finitions math\u00e9matiques param\u00e9trables (PCTLDEF=1 \u00e0 5)<\/td>\n<td>D\u00e9finition fixe interne par d\u00e9faut (align\u00e9e sur PCTLDEF=4\/5)<\/td>\n<\/tr>\n<tr>\n<td><strong>Gestion des sous-groupes<\/strong><\/td>\n<td>N\u00e9cessite imp\u00e9rativement PROC SORT pr\u00e9alable avec instruction BY<\/td>\n<td>Supporte CLASS (sans tri pr\u00e9alable) ou BY (avec tri pr\u00e9alable)<\/td>\n<\/tr>\n<tr>\n<td><strong>Performance sur Big Data<\/strong><\/td>\n<td>Consommation CPU et m\u00e9moire \u00e9lev\u00e9e sur des dizaines de millions de lignes<\/td>\n<td>Optimisation multi-thread\u00e9e rapide, consommation m\u00e9moire ma\u00eetris\u00e9e<\/td>\n<\/tr>\n<tr>\n<td><strong>Analyses diagnostiques<\/strong><\/td>\n<td>Tests de normalit\u00e9, moments d&rsquo;ordre sup\u00e9rieur, graphiques de r\u00e9partition<\/td>\n<td>Statistiques descriptives \u00e9l\u00e9mentaires d&rsquo;agr\u00e9gation uniquement<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>En pratique industrielle, si l&rsquo;objectif de l&rsquo;analyste consiste \u00e0 alimenter un tableau de bord ex\u00e9cutif ou une table d&rsquo;entrep\u00f4t de donn\u00e9es avec des indicateurs pivots standards (Q1, m\u00e9diane, Q3, P95) \u00e0 partir d&rsquo;une volum\u00e9trie substantielle, PROC MEANS s&rsquo;impose comme la solution d&rsquo;ing\u00e9nierie la plus rapide et la moins consommatrice de ressources serveur. En revanche, d\u00e8s lors que l&rsquo;\u00e9tude statistique requiert la d\u00e9termination de seuils normatifs non conventionnels (tels que le 70e, le 82e ou le 97,5e centile), la validation d&rsquo;une conformit\u00e9 pharmacocin\u00e9tique ou le contr\u00f4le strict de la formule d&rsquo;interpolation via PCTLDEF, PROC UNIVARIATE demeure la seule proc\u00e9dure homologu\u00e9e et adapt\u00e9e.<\/p>\n<h2>8. Traitement des valeurs manquantes et pond\u00e9ration dans le calcul des centiles<\/h2>\n<h3>8.1 Gestion des valeurs manquantes (Missing Values)<\/h3>\n<p>L&rsquo;int\u00e9grit\u00e9 des jeux de donn\u00e9es empiriques est fr\u00e9quemment compromise par la pr\u00e9sence d&rsquo;enregistrements incomplets ou de donn\u00e9es non collect\u00e9es, repr\u00e9sent\u00e9es conventionnellement dans SAS par un point (.) pour les variables num\u00e9riques ordinaires. L&rsquo;impact des valeurs manquantes sur le calcul des mesures de position d&rsquo;ordre n&rsquo;est pas anodin et n\u00e9cessite une compr\u00e9hension fine des m\u00e9canismes d&rsquo;exclusion automatique mis en \u0153uvre par le syst\u00e8me.<\/p>\n<p>Par d\u00e9faut, lors de l&rsquo;ex\u00e9cution de PROC UNIVARIATE ou de PROC MEANS, le compilateur SAS exclut syst\u00e9matiquement de l&rsquo;analyse toute observation dont la variable d&rsquo;int\u00e9r\u00eat cibl\u00e9e par l&rsquo;instruction VAR porte une valeur manquante. Cette exclusion op\u00e8re en amont de toute mod\u00e9lisation : le d\u00e9nominateur effectif <em>N<\/em> (repr\u00e9sentant la taille totale de l&rsquo;\u00e9chantillon prise en compte dans les formules d&rsquo;interpolation lin\u00e9aire pr\u00e9sent\u00e9es pr\u00e9c\u00e9demment) est recalcul\u00e9 pour correspondre strictement au nombre d&rsquo;observations non manquantes valides. Par cons\u00e9quent, la position relative de chaque rang d&rsquo;observation est r\u00e9\u00e9valu\u00e9e sur cette base r\u00e9duite. Si une table contient 100 enregistrements mais que 20 scores sont manquants, le 50e centile (m\u00e9diane) correspondra \u00e0 la m\u00e9diane calcul\u00e9e sur les 80 valeurs r\u00e9elles, et non \u00e0 un rang positionn\u00e9 sur l&rsquo;effectif nominal initial.<\/p>\n<p>La situation devient plus complexe lorsque des valeurs manquantes affectent les variables cat\u00e9gorielles de stratification utilis\u00e9es au sein de l&rsquo;instruction <em>CLASS<\/em> sous PROC MEANS. Par d\u00e9faut, SAS \u00e9carte l&rsquo;int\u00e9gralit\u00e9 des observations pr\u00e9sentant une modalit\u00e9 manquante dans l&rsquo;une des variables de classe. Si l&rsquo;analyste souhaite analyser la distribution des scores pour la cohorte d&rsquo;individus dont l&rsquo;appartenance de groupe n&rsquo;a pas \u00e9t\u00e9 renseign\u00e9e (plut\u00f4t que de supprimer purement et simplement ces donn\u00e9es de la synth\u00e8se), il est n\u00e9cessaire de sp\u00e9cifier l&rsquo;option <em>MISSING<\/em> dans l&rsquo;en-t\u00eate de PROC MEANS ou directement dans l&rsquo;instruction CLASS. Cette directive ordonne au syst\u00e8me de traiter la valeur manquante comme une cat\u00e9gorie statistique valide \u00e0 part enti\u00e8re et de lui allouer une s\u00e9rie compl\u00e8te de quantiles dans la table de r\u00e9sultats.<\/p>\n<h3>8.2 Int\u00e9gration de poids d&rsquo;\u00e9chantillonnage via l&rsquo;instruction WEIGHT<\/h3>\n<p>Dans le domaine des enqu\u00eates par sondage complexes, des recensements \u00e9pid\u00e9miologiques nationaux ou des plans d&rsquo;\u00e9chantillonnage stratifi\u00e9s non proportionnels, les observations collect\u00e9es ne disposent pas d&rsquo;une probabilit\u00e9 d&rsquo;inclusion unitaire. Certaines unit\u00e9s statistiques repr\u00e9sentent un nombre plus important d&rsquo;individus de la population cible que d&rsquo;autres. L&rsquo;estimation non biais\u00e9e des centiles de population requiert alors l&rsquo;incorporation d&rsquo;une variable de pond\u00e9ration statistique (ou poids d&rsquo;\u00e9chantillonnage, souvent not\u00e9 <em>sampling weight<\/em>), refl\u00e9tant l&rsquo;inverse de la probabilit\u00e9 de s\u00e9lection de chaque unit\u00e9 d&rsquo;observation.<\/p>\n<p>Au sein de la proc\u00e9dure PROC UNIVARIATE, l&rsquo;int\u00e9gration de ces coefficients de redressement s&rsquo;effectue via l&rsquo;instruction <em>WEIGHT<\/em>. L&rsquo;adjonction de cette clause modifie profond\u00e9ment la m\u00e9canique algorithmique de d\u00e9termination des quantiles. La fonction de r\u00e9partition empirique cumulative n&rsquo;est plus calcul\u00e9e par une incr\u00e9mentation discr\u00e8te de <em>1 \/ N<\/em> \u00e0 chaque \u00e9tape d&rsquo;observation, mais par la sommation progressive des poids normalis\u00e9s associ\u00e9s aux observations ordonn\u00e9es.<\/p>\n<p>Le bloc de code SAS illustrant la prise en compte d&rsquo;une pond\u00e9ration s&rsquo;\u00e9nonce comme suit :<\/p>\n<p>PROC UNIVARIATE DATA=sorted_data PCTLDEF=4 NOPRINT;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;BY team;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;VAR points;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;WEIGHT poids_echantillonnage;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;OUTPUT OUT=percentiles_ponderes<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PCTLPTS=70 80 90<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PCTLPRE=pw_;<br \/>\nRUN;<\/p>\n<p>Sur le plan math\u00e9matique, lorsqu&rsquo;une variable de pond\u00e9ration est d\u00e9clar\u00e9e, les cinq d\u00e9finitions standards de PCTLDEF subissent une adaptation pour int\u00e9grer les sommes cumul\u00e9es de poids. L&rsquo;interpolation lin\u00e9aire ne s&rsquo;appuie plus sur les rangs d&rsquo;entiers discrets, mais sur les masses relatives cumul\u00e9es <em>W<sub>(i)<\/sub> = &sum; w<sub>(k)<\/sub><\/em> (pour <em>k<\/em> allant de 1 \u00e0 <em>i<\/em>). Dans le cas o\u00f9 les poids d&rsquo;\u00e9chantillonnage ne sont pas des entiers (ce qui correspond \u00e0 la norme dans les redressements statistiques post-stratification par calage sur marges), les options de quantiles fond\u00e9es sur des r\u00e8gles d&rsquo;arrondi ou de discontinuit\u00e9 stricte (telles que PCTLDEF=2 ou 3) perdent de leur pertinence statistique au profit des m\u00e9thodes d&rsquo;interpolation lin\u00e9aire pond\u00e9r\u00e9es (PCTLDEF=4 ou 5), qui assurent une transition continue et stable des percentiles au travers de la masse empirique redress\u00e9e.<\/p>\n<h2>9. Automatisation et industrialisation du calcul via les macros SAS<\/h2>\n<h3>9.1 Cr\u00e9ation d&rsquo;une macro modulaire de calcul de centiles<\/h3>\n<p>Dans un contexte de d\u00e9ploiement industriel, l&rsquo;\u00e9criture manuelle r\u00e9p\u00e9titive de blocs PROC UNIVARIATE ou PROC MEANS pour chaque nouvelle extraction de centiles contrevient aux principes de maintenabilit\u00e9, d&rsquo;auditabilit\u00e9 et de non-redondance du code (principe DRY : <em>Don&rsquo;t Repeat Yourself<\/em>). La mise en place de macros compil\u00e9es SAS param\u00e9trables permet d&rsquo;encapsuler la complexit\u00e9 syntaxique au sein d&rsquo;une unit\u00e9 logicielle r\u00e9utilisable et s\u00e9curis\u00e9e.<\/p>\n<p>La conception d&rsquo;une macro robuste de calcul de centiles n\u00e9cessite la d\u00e9claration de param\u00e8tres positionnels ou nomm\u00e9s cl\u00e9s : la table source en entr\u00e9e, la variable quantitative cible, la variable optionnelle de stratification, la liste des centiles requis et le nom de la table de restitution finale. Le script doit \u00e9galement int\u00e9grer des contr\u00f4les de flux et des r\u00e9solutions de cha\u00eenes de caract\u00e8res dynamiques pour construire les arguments PCTLPTS et PCTLPRE sans rupture syntaxique.<\/p>\n<p>Consid\u00e9rons l&rsquo;impl\u00e9mentation macro-analytique suivante :<\/p>\n<p>%MACRO calculer_centiles(<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;table_in=,<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;var_cible=,<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;var_by=,<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;liste_pctl=70 80 90,<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;table_out=work.resultats_centiles<br \/>\n);<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;%* Contr\u00f4le de la pr\u00e9sence des param\u00e8tres indispensables ;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;%IF %LENGTH(&amp;table_in) = 0 OR %LENGTH(&amp;var_cible) = 0 %THEN %DO;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;%PUT %STR(ERR)OR: Param\u00e8tres table_in et var_cible obligatoires non renseign\u00e9s.;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;%RETURN;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;%END;<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;%* Traitement conditionnel selon la pr\u00e9sence d&rsquo;une variable de tri ;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;%IF %LENGTH(&amp;var_by) &gt; 0 %THEN %DO;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PROC SORT DATA=&amp;table_in OUT=_temp_sorted;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BY &amp;var_by;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RUN;<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PROC UNIVARIATE DATA=_temp_sorted PCTLDEF=4 NOPRINT;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BY &amp;var_by;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VAR &amp;var_cible;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OUTPUT OUT=&amp;table_out<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PCTLPTS=&amp;liste_pctl<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PCTLPRE=p_;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RUN;<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PROC DATASETS LIB=work NOLIST;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DELETE _temp_sorted;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;QUIT;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;%END;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;%ELSE %DO;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PROC UNIVARIATE DATA=&amp;table_in PCTLDEF=4 NOPRINT;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VAR &amp;var_cible;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OUTPUT OUT=&amp;table_out<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PCTLPTS=&amp;liste_pctl<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PCTLPRE=p_;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RUN;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;%END;<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;%PUT %STR(NOTE): Extraction automatis\u00e9e des centiles termin\u00e9e avec succ\u00e8s.;<br \/>\n%MEND calculer_centiles;<\/p>\n<p>Cette macro analyse dynamiquement la pr\u00e9sence d&rsquo;une variable de stratification via la fonction macro <em>%LENGTH()<\/em>. En pr\u00e9sence d&rsquo;un argument <em>var_by<\/em>, elle proc\u00e8de automatiquement au tri physique pr\u00e9alable dans une table temporaire, ex\u00e9cute l&rsquo;extraction des quantiles avec conservation des identifiants de groupe, puis purge imm\u00e9diatement la table temporaire de travail au moyen de la proc\u00e9dure PROC DATASETS, garantissant une empreinte m\u00e9moire optimale au sein de la session de travail.<\/p>\n<h3>9.2 Traitement it\u00e9ratif sur plusieurs variables quantitatives<\/h3>\n<p>Dans les vastes projets d&rsquo;analyse de donn\u00e9es multivari\u00e9es, les tables sources comportent fr\u00e9quemment des dizaines ou des centaines de variables quantitatives n\u00e9cessitant une caract\u00e9risation par centiles. Plut\u00f4t que de multiplier les appels manuels \u00e0 la macro, il est possible d&rsquo;orchestrer un traitement it\u00e9ratif enti\u00e8rement automatis\u00e9 en exploitant les dictionnaires de m\u00e9tadonn\u00e9es du syst\u00e8me SAS, accessibles via la vue <em>SASHELP.VCOLUMN<\/em>.<\/p>\n<p>Le principe d&rsquo;ing\u00e9nierie repose sur l&rsquo;extraction pr\u00e9alable de la liste exhaustive des variables num\u00e9riques d&rsquo;int\u00e9r\u00eat dans une table de contr\u00f4le, suivie de l&rsquo;ex\u00e9cution s\u00e9quentielle d&rsquo;appels macro g\u00e9n\u00e9r\u00e9s dynamiquement par le compilateur au travers de l&rsquo;instruction <em>CALL EXECUTE<\/em> au sein d&rsquo;une \u00e9tape DATA. Cette architecture d\u00e9couple totalement le code d&rsquo;analyse de la structure physique de la table d&rsquo;entr\u00e9e.<\/p>\n<p>L&rsquo;impl\u00e9mentation op\u00e9rationnelle se d\u00e9ploie selon la logique suivante :<\/p>\n<p>DATA _NULL_;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;SET sashelp.vcolumn(WHERE=(libname=&rsquo;WORK&rsquo; AND memname=&rsquo;ORIGINAL_DATA&rsquo; AND type=&rsquo;num&rsquo;));<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;LENGTH commande $256;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;commande = CATS(&lsquo;%calculer_centiles(table_in=original_data, var_cible=&rsquo;, name, &lsquo;, var_by=team, table_out=pctl_&rsquo;, name, &lsquo;);&rsquo;);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;CALL EXECUTE(commande);<br \/>\nRUN;<\/p>\n<p>\u00c0 chaque it\u00e9ration de la boucle de lecture sur la vue des m\u00e9tadonn\u00e9es, le processeur DATA \u00e9value les colonnes num\u00e9riques de la table cibl\u00e9e, assemble la cha\u00eene d&rsquo;appel macro correspondante \u00e0 l&rsquo;aide de la fonction de concat\u00e9nation <em>CATS()<\/em>, puis l&rsquo;injecte dans la file d&rsquo;ex\u00e9cution syst\u00e8me via <em>CALL EXECUTE<\/em>. Une fois la routine achev\u00e9e, toutes les tables de r\u00e9sultats pr\u00e9fix\u00e9es par <em>pctl_<\/em> peuvent \u00eatre fusionn\u00e9es et consolid\u00e9es en une structure matricielle unifi\u00e9e par une instruction MERGE ou une proc\u00e9dure SQL, concr\u00e9tisant ainsi une cha\u00eene de traitement automatis\u00e9e et industrialis\u00e9e conforme aux meilleures pratiques de l&rsquo;ing\u00e9nierie logicielle SAS.<\/p>\n<h3>9.3 Exportation automatis\u00e9e des r\u00e9sultats tabulaires<\/h3>\n<p>L&rsquo;aboutissement de toute cha\u00eene de traitement statistique consiste \u00e0 exporter les m\u00e9tadonn\u00e9es et r\u00e9sultats quantitatifs calcul\u00e9s vers des supports exploitables par des d\u00e9cideurs, des auditeurs ou des revues scientifiques. Le syst\u00e8me ODS (Output Delivery System) de SAS offre des fonctionnalit\u00e9s d&rsquo;interfa\u00e7age natives pour acheminer les tables de centiles vers des formats bureautiques ou structur\u00e9s tels que Microsoft Excel, des flux CSV normalis\u00e9s ou des documents PDF haute d\u00e9finition.<\/p>\n<p>Pour transf\u00e9rer les r\u00e9sultats de centiles stratifi\u00e9s vers un classeur Excel professionnel respectant les normes de mise en page institutionnelles, on utilise la destination <em>ODS EXCEL<\/em> dot\u00e9e d&rsquo;options d&rsquo;habillage sp\u00e9cifiques :<\/p>\n<p>ODS EXCEL FILE=\u00a0\u00bb\/repertoire\/rapports\/Distribution_Centiles.xlsx\u00a0\u00bb<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;OPTIONS(SHEET_NAME=\u00a0\u00bbCentiles_Scores\u00a0\u00bb EMBEDDED_TITLES=\u00a0\u00bbYES\u00a0\u00bb AUTOFILTER=\u00a0\u00bbYES\u00a0\u00bb);<\/p>\n<p>PROC PRINT DATA=percentiles_stratifies NOOBS;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;TITLE BOLD \u00ab\u00a0Rapport d&rsquo;analyse de position : 70e, 80e et 90e centiles\u00a0\u00bb;<br \/>\nRUN;<\/p>\n<p>ODS EXCEL CLOSE;<\/p>\n<p>L&rsquo;activation des options ODS permet de nommer pr\u00e9cis\u00e9ment l&rsquo;onglet de travail, d&rsquo;int\u00e9grer formellement les m\u00e9tadonn\u00e9es de titrage au sein de la feuille de calcul et d&rsquo;activer nativement les filtres automatiques sur les en-t\u00eates de colonnes. Cette m\u00e9thode supprime toute intervention humaine manuelle de ressaisie ou de copier-coller dans des outils tiers, \u00e9liminant ainsi les risques d&rsquo;erreur mat\u00e9rielle et assurant une cha\u00eene de valeur analytique \u00e9tanche et enti\u00e8rement auditable, du chargement brut des donn\u00e9es jusqu&rsquo;\u00e0 la diffusion du rapport final.<\/p>\n<h2>10. Repr\u00e9sentation graphique des centiles avec SAS ODS Graphics et PROC SGPLOT<\/h2>\n<h3>10.1 Construction de bo\u00eetes \u00e0 moustaches annot\u00e9es (Boxplots)<\/h3>\n<p>La synth\u00e8se num\u00e9rique des centiles gagne en lisibilit\u00e9 lorsqu&rsquo;elle est doubl\u00e9e d&rsquo;une repr\u00e9sentation graphique ad\u00e9quate. Dans l&rsquo;arsenal visuel du biostatisticien, le diagramme en bo\u00eete \u00e0 moustaches (ou bo\u00eete de Tukey, instanci\u00e9 via l&rsquo;instruction <em>VBOX<\/em> de la proc\u00e9dure PROC SGPLOT) constitue le vecteur canonique pour mat\u00e9rialiser les quartiles (les 25e, 50e et 75e centiles) tout en illustrant l&rsquo;\u00e9tendue interquartile (IQR) et les observations marginales suspect\u00e9es d&rsquo;aberrance.<\/p>\n<p>Pour enrichir la visualisation au-del\u00e0 des quartiles conventionnels et positionner pr\u00e9cis\u00e9ment les centiles personnalis\u00e9s extraits lors de nos analyses univari\u00e9es ant\u00e9rieures (tels que notre 70e centile calcul\u00e9 \u00e0 24,5 points), PROC SGPLOT permet la superposition de lignes de r\u00e9f\u00e9rence horizontales via l&rsquo;instruction <em>REFLINE<\/em>. Ces marqueurs graphiques permettent de confronter visuellement la dispersion des sous-groupes avec le seuil critique d\u00e9fini au niveau de la population g\u00e9n\u00e9rale.<\/p>\n<p>Le bloc de code graphique se structure de la mani\u00e8re suivante :<\/p>\n<p>PROC SGPLOT DATA=original_data;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;VBOX points \/ CATEGORY=team<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BOXWIDTH=0.4<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FILLATTRS=(COLOR=cxCFE2F3)<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LINEATTRS=(COLOR=cx0B5394 THICKNESS=2);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;REFLINE 24.5 \/ AXIS=Y<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LINEATTRS=(COLOR=cxCC0000 PATTERN=DASH THICKNESS=1.5)<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LABEL=\u00a0\u00bb70e centile global (24,5)\u00a0\u00bb<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LABELPOS=TOP;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;YAXIS LABEL=\u00a0\u00bbDistribution des scores (points)\u00a0\u00bb GRID;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;XAXIS LABEL=\u00a0\u00bbCohortes exp\u00e9rimentales (\u00c9quipes)\u00a0\u00bb;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;TITLE \u00ab\u00a0Profil comparatif des distributions de scores et seuil du 70e centile\u00a0\u00bb;<br \/>\nRUN;<\/p>\n<p>Ce graphique met en \u00e9vidence la m\u00e9diane interne de chaque bo\u00eete, l&rsquo;espacement interquartile repr\u00e9sentant 50 % des observations centrales, ainsi que la trajectoire transversale de la ligne de r\u00e9f\u00e9rence pointill\u00e9e rouge. La confrontation visuelle certifie imm\u00e9diatement le d\u00e9calage distributionnel entre les deux cohortes : la ligne du 70e centile global traverse l&rsquo;\u00e9quipe A au-del\u00e0 de son troisi\u00e8me quartile, alors qu&rsquo;elle s&rsquo;ins\u00e8re sous le deuxi\u00e8me quartile de l&rsquo;\u00e9quipe B, r\u00e9sumant de fa\u00e7on intuitive la disparit\u00e9 structurelle document\u00e9e par les tables num\u00e9riques.<\/p>\n<figure class=\"wpt-preserved-image\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/french.arabpsychology.com\/wp-content\/uploads\/2026\/09\/percent13.jpg\" alt=\"\" \/><\/figure>\n<h3>10.2 Graphiques de distribution cumulative empirique<\/h3>\n<p>L&rsquo;instrument graphique le plus rigoureux pour appr\u00e9cier la continuit\u00e9 et le comportement de l&rsquo;ensemble des centiles d&rsquo;une variable quantitative continue r\u00e9side dans le trac\u00e9 de la fonction de r\u00e9partition cumulative empirique (ECDF &#8211; <em>Empirical Cumulative Distribution Function<\/em>). Au lieu de r\u00e9sumer la distribution par quelques barres ou segments discrets, l&rsquo;ECDF mat\u00e9rialise l&rsquo;int\u00e9gralit\u00e9 de la courbe monotone croissante reliant chaque point d&rsquo;observation ordonn\u00e9 \u00e0 son rang centile cumul\u00e9 compris entre 0 et 1 (ou entre 0 % et 100 %).<\/p>\n<p>La proc\u00e9dure PROC UNIVARIATE int\u00e8gre une commande graphique d\u00e9di\u00e9e, l&rsquo;instruction <em>CDFPLOT<\/em>, qui g\u00e9n\u00e8re directement cette courbe sous le moteur ODS Graphics sans exiger la construction manuelle pr\u00e9alable des rangs ordonn\u00e9s :<\/p>\n<p>PROC UNIVARIATE DATA=sorted_data NOPRINT;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;CLASS team;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;VAR points;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;CDFPLOT points \/ OVERLAY<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VREF=70 80 90<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VREFLABELS=&rsquo;70%&rsquo; &lsquo;80%&rsquo; &lsquo;90%&rsquo;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VREFLABPOS=RIGHT;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;TITLE \u00ab\u00a0Courbes de distribution cumulative empirique (ECDF) stratifi\u00e9es\u00a0\u00bb;<br \/>\nRUN;<\/p>\n<p>L&rsquo;adjonction de l&rsquo;option <em>OVERLAY<\/em> au sein de la directive CDFPLOT ordonne au moteur graphique de superposer les trajectoires des \u00e9quipes A et B sur le m\u00eame rep\u00e8re cart\u00e9sien, plut\u00f4t que de produire deux graphiques s\u00e9par\u00e9s. Les options <em>VREF=<\/em> positionnent des jalons horizontaux aux cotes de probabilit\u00e9 70 %, 80 % et 90 %.<\/p>\n<p>La lecture graphique permet d&rsquo;identifier visuellement les points de coordonn\u00e9e <em>(x, y)<\/em> o\u00f9 les courbes empiriques coupent les lignes horizontales des quantiles. On observe avec nettet\u00e9 que la courbe de l&rsquo;\u00e9quipe B est syst\u00e9matiquement d\u00e9cal\u00e9e vers la droite par rapport \u00e0 celle de l&rsquo;\u00e9quipe A sur toute l&rsquo;\u00e9tendue du domaine m\u00e9trique. Cette divergence visuelle apporte la d\u00e9monstration de la dominance stochastique d&rsquo;ordre 1 de la distribution de l&rsquo;\u00e9quipe B sur celle de l&rsquo;\u00e9quipe A, une conclusion analytique fondamentale en \u00e9conom\u00e9trie et en mod\u00e9lisation actuarielle qui d\u00e9passe le cadre d&rsquo;une simple comparaison tabulaire ponctuelle.<\/p>\n<h2>11. Diagnostics, validation statistique et pi\u00e8ges courants \u00e0 \u00e9viter<\/h2>\n<h3>11.1 Erreurs de syntaxe et pi\u00e8ges fr\u00e9quents dans PROC UNIVARIATE<\/h3>\n<p>L&rsquo;exploitation avanc\u00e9e de PROC UNIVARIATE pour l&rsquo;extraction de quantiles pr\u00e9sente certains pi\u00e8ges syntaxiques classiques qui peuvent induire des erreurs d&rsquo;ex\u00e9cution ou la g\u00e9n\u00e9ration de donn\u00e9es tronqu\u00e9es. L&rsquo;identification pr\u00e9ventive de ces dysfonctionnements est essentielle pour fiabiliser les scripts d&rsquo;analyse.<\/p>\n<p>Le premier pi\u00e8ge concerne l&rsquo;omission du tri physique pr\u00e9alable lors de l&#8217;emploi de l&rsquo;instruction BY. Comme abord\u00e9 \u00e0 la section 5, SAS interrompt le traitement d\u00e8s lors que les donn\u00e9es en entr\u00e9e ne sont pas rigoureusement s\u00e9quenc\u00e9es selon les variables de classe. L&rsquo;analyste doit syst\u00e9matiquement faire pr\u00e9c\u00e9der son appel univari\u00e9 d&rsquo;un bloc PROC SORT, ou recourir \u00e0 PROC MEANS dot\u00e9e de l&rsquo;instruction CLASS si la volum\u00e9trie ou les droits d&rsquo;\u00e9criture temporaire restreignent les op\u00e9rations de tri sur disque.<\/p>\n<p>Le second \u00e9cueil syntaxique r\u00e9side dans l&rsquo;utilisation incorrecte des s\u00e9parateurs dans l&rsquo;instruction PCTLPTS. Contrairement aux standards de nombreuses fonctions SAS o\u00f9 les \u00e9l\u00e9ments d&rsquo;une liste sont d\u00e9limit\u00e9s par des virgules, la clause PCTLPTS exige des s\u00e9parateurs sous forme de simples espaces : <em>PCTLPTS=70 80 90<\/em>. L&rsquo;insertion accidentelle de virgules engendre une erreur d&rsquo;interpr\u00e9tation dans le parseur interne, conduisant au rejet de la commande ou \u00e0 l&rsquo;interpr\u00e9tation erron\u00e9e des centiles d\u00e9cimaux.<\/p>\n<p>Enfin, la gestion des pr\u00e9fixes et suffixes de d\u00e9nomination de colonnes via PCTLPRE et PCTLNAME requiert une vigilance particuli\u00e8re quant \u00e0 la limite de longueur des identifiants SAS. Selon les r\u00e8gles du compilateur (syst\u00e8me V9), le nom d&rsquo;une variable ne peut exc\u00e9der 32 caract\u00e8res d&rsquo;un seul tenant. Si l&rsquo;analyste d\u00e9clare un pr\u00e9fixe particuli\u00e8rement long (par exemple <em>PCTLPRE=score_evaluation_performance_clinique_p<\/em>), la concat\u00e9nation automatique du suffixe num\u00e9rique (par exemple <em>70<\/em>) d\u00e9passera le plafond autoris\u00e9 des 32 octets, provoquant une troncature silencieuse ou une erreur de compilation bloquante : <em>ERROR: The name &#8230; is too long for a SAS variable name<\/em>. Il convient donc d&rsquo;adopter des acronymes compacts et explicites pour pr\u00e9server la stabilit\u00e9 de la cha\u00eene analytique.<\/p>\n<h3>11.2 \u00c9carts d&rsquo;arrondi et pr\u00e9cision num\u00e9rique<\/h3>\n<p>La repr\u00e9sentation des donn\u00e9es num\u00e9riques au sein des architectures logicielles s&rsquo;appuie sur le standard mat\u00e9riel IEEE 754 pour le codage des valeurs en virgule flottante double pr\u00e9cision. Cette convention technique, bien que garantissant une pr\u00e9cision relative de l&rsquo;ordre de 10<sup>-16<\/sup>, induit occasionnellement des impr\u00e9cisions d&rsquo;arrondi infinit\u00e9simales lors des calculs d&rsquo;interpolation math\u00e9matique ou de la gestion des donn\u00e9es ex \u00e6quo (les <em>ties<\/em>).<\/p>\n<p>Dans certaines distributions empiriques denses, deux valeurs apparemment identiques \u00e0 l&rsquo;affichage (par exemple 12,0000000) peuvent diverger au niveau de leurs derniers bits de mantisse en raison d&rsquo;op\u00e9rations d&rsquo;arrondi en amont. Cette micro-diff\u00e9rence peut fausser la classification d&rsquo;\u00e9galit\u00e9 stricte op\u00e9r\u00e9e par les algorithmes PCTLDEF, induisant un saut d&rsquo;indice discret inattendu lors de l&rsquo;interpolation. Pour pr\u00e9venir ces d\u00e9rives, il est recommand\u00e9 de normaliser pr\u00e9alablement les variables m\u00e9triques continues par l&rsquo;application de la fonction <em>ROUND()<\/em> au sein de l&rsquo;\u00e9tape DATA si les donn\u00e9es brutes proviennent de calculs arithm\u00e9tiques complexes ou de divisions successives.<\/p>\n<p>Par ailleurs, l&rsquo;application d&rsquo;estimateurs de centiles sur des variables fondamentalement discr\u00e8tes ou pr\u00e9sentant une variance quasi nulle (par exemple, des scores d&rsquo;\u00e9chelles de Likert born\u00e9s entre 1 et 5 comportant un grand nombre de valeurs ex \u00e6quo) soul\u00e8ve des difficult\u00e9s m\u00e9thodologiques majeures. L&rsquo;interpolation lin\u00e9aire continue impl\u00e9ment\u00e9e par PCTLDEF=4 ou 5 tend \u00e0 produire des valeurs d\u00e9cimales interm\u00e9diaires (telles qu&rsquo;un score de 3,42) qui ne poss\u00e8dent aucune r\u00e9alit\u00e9 s\u00e9mantique dans l&rsquo;\u00e9chelle d&rsquo;\u00e9valuation initiale. Face \u00e0 de tels profils discrets, l&rsquo;analyste doit privil\u00e9gier les algorithmes \u00e0 palier discret tels que PCTLDEF=2 ou s&rsquo;orienter vers des proc\u00e9dures de mod\u00e9lisation pour variables ordinales (comme PROC LOGISTIC avec mod\u00e8le \u00e0 cotes proportionnelles) plut\u00f4t que de s&rsquo;en remettre aveugl\u00e9ment \u00e0 des percentiles continus.<\/p>\n<h3>11.3 Bonnes pratiques de documentation et de reproductibilit\u00e9<\/h3>\n<p>La reproductibilit\u00e9 computationnelle constitue l&rsquo;exigence supr\u00eame des analyses biostatistiques et financi\u00e8res modernes. Un calcul de centile n&rsquo;a de validit\u00e9 p\u00e9renne que si l&rsquo;environnement m\u00e9thodologique complet ayant pr\u00e9sid\u00e9 \u00e0 sa d\u00e9rivation est consign\u00e9 de fa\u00e7on exhaustive dans les journaux de traitement et les plans d&rsquo;analyse associ\u00e9s.<\/p>\n<p>La documentation de l&rsquo;ex\u00e9cution doit obligatoirement expliciter trois \u00e9l\u00e9ments techniques cardinaux :<\/p>\n<ul>\n<li><strong>La version exacte de la plateforme logicielle SAS<\/strong> (obtenue via la variable automatique <em>&amp;SYSVLONG<\/em>), ainsi que le syst\u00e8me d&rsquo;exploitation h\u00f4te, les changements d&rsquo;architecture ou de maintenance pouvant occasionnellement r\u00e9viser des sous-routines math\u00e9matiques sous-jacentes.<\/li>\n<li><strong>L&rsquo;algorithme formel d&rsquo;interpolation retenu<\/strong>, document\u00e9 via la transcription explicite de l&rsquo;option <em>PCTLDEF<\/em> dans le script de soumission, sans jamais se reposer sur les valeurs implicites par d\u00e9faut de l&rsquo;interpr\u00e9teur.<\/li>\n<li><strong>Le protocole de traitement des donn\u00e9es ex \u00e6quo et des enregistrements manquants<\/strong>, en consignant express\u00e9ment dans les m\u00e9tadonn\u00e9es de sortie le nombre d&rsquo;observations non manquantes retenues (N effectif) ainsi que le volume des valeurs rejet\u00e9es.<\/li>\n<\/ul>\n<p>Dans les d\u00e9marches de recherche de pointe, la robustesse statistique d&rsquo;une estimation ponctuelle de centile doit \u00eatre corrobor\u00e9e par l&rsquo;adjonction de son intervalle de confiance empirique. En effet, stipuler qu&rsquo;un 90e centile vaut 33 points sur un \u00e9chantillon de 20 observations masque une incertitude d&rsquo;\u00e9chantillonnage consid\u00e9rable. L&rsquo;utilisation conjointe de techniques de r\u00e9\u00e9chantillonnage bootstrap non param\u00e9trique (r\u00e9alisables via l&rsquo;association de PROC SURVEYSELECT pour la g\u00e9n\u00e9ration des pseudo-\u00e9chantillons et de PROC UNIVARIATE pour l&rsquo;estimation distribu\u00e9e) permet de d\u00e9river l&rsquo;erreur standard et les bornes de confiance \u00e0 95 % associ\u00e9es \u00e0 chaque quantile, conf\u00e9rant ainsi aux conclusions analytiques une rigueur scientifique irr\u00e9prochable.<\/p>\n<h2>12. Synth\u00e8se m\u00e9thodologique et recommandations op\u00e9rationnelles<\/h2>\n<h3>12.1 Matrice d\u00e9cisionnelle pour le choix de la proc\u00e9dure SAS optimale<\/h3>\n<p>Pour guider l&rsquo;ing\u00e9nieur de donn\u00e9es et le statisticien dans leurs choix de conception logicielle, cette matrice d\u00e9cisionnelle r\u00e9capitule les crit\u00e8res op\u00e9rationnels de s\u00e9lection entre les trois principales proc\u00e9dures SAS impliqu\u00e9es dans le positionnement quantile :<\/p>\n<table border=\"1\" cellpadding=\"8\" cellspacing=\"0\" style=\"border-collapse: collapse;width: 100%;margin: 20px 0\">\n<thead>\n<tr style=\"background-color: #f2f2f2;text-align: left\">\n<th>Crit\u00e8re op\u00e9rationnel<\/th>\n<th>PROC UNIVARIATE<\/th>\n<th>PROC MEANS \/ SUMMARY<\/th>\n<th>PROC RANK<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Objectif prioritaire<\/strong><\/td>\n<td>Extraction de centiles pr\u00e9cis, conformit\u00e9 r\u00e9glementaire, exploration approfondie<\/td>\n<td>Agr\u00e9gation massive rapide, tableaux de bord de synth\u00e8se d\u00e9cisionnels<\/td>\n<td>Attribution de rangs ou de classes quantiles directement dans la table d&rsquo;entr\u00e9e<\/td>\n<\/tr>\n<tr>\n<td><strong>G\u00e9n\u00e9ration des centiles<\/strong><\/td>\n<td>Explicite, vectoris\u00e9e avec PCTLPTS pour n&rsquo;importe quel seuil continu<\/td>\n<td>Mots-cl\u00e9s rigides pr\u00e9d\u00e9finis pour les quantiles universels usuels<\/td>\n<td>Segmentation par classes d&rsquo;effectifs \u00e9gaux (centiles via option GROUPS=100)<\/td>\n<\/tr>\n<tr>\n<td><strong>Param\u00e9trage math\u00e9matique<\/strong><\/td>\n<td>Exhaustif via l&rsquo;option d&rsquo;interpolation PCTLDEF (cinq variantes algorithmiques)<\/td>\n<td>Interne standardis\u00e9, non modifiable de fa\u00e7on granulaire<\/td>\n<td>Rangs discrets bas\u00e9s sur des r\u00e8gles d&rsquo;\u00e9galit\u00e9 sp\u00e9cifiques (TIES=MEAN, LOW, HIGH)<\/td>\n<\/tr>\n<tr>\n<td><strong>Type de table produite<\/strong><\/td>\n<td>Table analytique fine ne contenant que les m\u00e9triques demand\u00e9es<\/td>\n<td>Table de synth\u00e8se multivari\u00e9e hi\u00e9rarchique avec niveaux d&rsquo;agr\u00e9gation _TYPE_<\/td>\n<td>Copie de la table d&rsquo;entr\u00e9e originale enrichie de la nouvelle variable de rang<\/td>\n<\/tr>\n<tr>\n<td><strong>Empreinte syst\u00e8me<\/strong><\/td>\n<td>Mod\u00e9r\u00e9e \u00e0 lourde sur des volum\u00e9tries massives sans indexation<\/td>\n<td>Tr\u00e8s faible, proc\u00e9dure nativement con\u00e7ue pour la scalabilit\u00e9 Big Data<\/td>\n<td>D\u00e9pend de la taille de la table \u00e0 trier pour le classement individuel<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Cette matrice met en exergue la compl\u00e9mentarit\u00e9 des outils disponibles dans l&rsquo;\u00e9cosyst\u00e8me SAS. Lorsque l&rsquo;objectif est d&rsquo;\u00e9tiqueter chaque enregistrement individuel de la table avec son num\u00e9ro de centile d&rsquo;appartenance (de 0 \u00e0 99) afin d&rsquo;op\u00e9rer un d\u00e9coupage op\u00e9rationnel en 100 tranches \u00e9gales, la proc\u00e9dure <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/documentation.sas.com\/?docsetId=proc&#038;docsetTarget=p1p7k0n9yv234nn1m2q5x68903r7.htm&#038;docsetVersion=9.4\">PROC RANK<\/a> s&rsquo;av\u00e8re particuli\u00e8rement adapt\u00e9e. En revanche, pour la d\u00e9rivation math\u00e9matique des valeurs fronti\u00e8res pr\u00e9cises d&rsquo;une variable continue, le couple PROC UNIVARIATE \/ PROC MEANS demeure incontournable, le choix final entre ces deux modules \u00e9tant dict\u00e9 par les contraintes d&rsquo;arbitrage entre flexibilit\u00e9 algorithmique et scalabilit\u00e9 computationnelle.<\/p>\n<h3>12.2 Check-list compl\u00e8te pour l&rsquo;analyste de donn\u00e9es<\/h3>\n<p>Avant de d\u00e9ployer en production un script SAS de calcul de centiles ou d&rsquo;en int\u00e9grer les conclusions dans un dossier de d\u00e9cision strat\u00e9gique, il est recommand\u00e9 de valider point par point la check-list m\u00e9thodologique suivante :<\/p>\n<ul>\n<li>[ ] <strong>Typage et int\u00e9grit\u00e9 des donn\u00e9es :<\/strong> Certifier via PROC CONTENTS que les variables analys\u00e9es sont encod\u00e9es sous forme num\u00e9rique double pr\u00e9cision exempte de masquages textuels.<\/li>\n<li>[ ] <strong>Audit des valeurs manquantes :<\/strong> Quantifier le taux de cellules vides dans la variable continue VAR et examiner la pertinence de l&rsquo;option MISSING dans l&rsquo;instruction CLASS pour conserver les sous-groupes incomplets.<\/li>\n<li>[ ] <strong>Ordonnancement et structure :<\/strong> V\u00e9rifier que la table source a fait l&rsquo;objet d&rsquo;un tri ad\u00e9quat via PROC SORT si l&rsquo;instruction de stratification BY est mobilis\u00e9e dans PROC UNIVARIATE.<\/li>\n<li>[ ] <strong>Formulation de la syntaxe de quantiles :<\/strong> Contr\u00f4ler l&rsquo;absence de virgules s\u00e9paratrices dans la liste PCTLPTS et s&rsquo;assurer que les pr\u00e9fixes d\u00e9clar\u00e9s dans PCTLPRE respectent la limite syst\u00e8me des 32 caract\u00e8res autoris\u00e9s pour les noms de variables.<\/li>\n<li>[ ] <strong>Choix de la formule d&rsquo;interpolation :<\/strong> D\u00e9finir explicitement l&rsquo;algorithme math\u00e9matique via l&rsquo;option <em>PCTLDEF=<\/em> dans la d\u00e9claration de PROC UNIVARIATE afin de garantir la reproductibilit\u00e9 des r\u00e9sultats face aux petits \u00e9chantillons.<\/li>\n<li>[ ] <strong>Prise en compte des pond\u00e9rations :<\/strong> S&rsquo;assurer de la pr\u00e9sence d&rsquo;une instruction WEIGHT si les donn\u00e9es sont issues d&rsquo;un plan de sondage probabiliste complexe ou d&rsquo;un calage d\u00e9mographique.<\/li>\n<li>[ ] <strong>Contr\u00f4le des performances :<\/strong> D\u00e9sactiver l&rsquo;affichage des rapports ODS volumineux par l&rsquo;insertion de l&rsquo;option <em>NOPRINT<\/em> lors des traitements de donn\u00e9es de masse au sein des macro-programmes.<\/li>\n<li>[ ] <strong>Validation visuelle et confrontation externe :<\/strong> Valider la coh\u00e9rence distributionnelle des seuils obtenus au moyen d&rsquo;un graphique de dispersion (SGPLOT VBOX ou CDFPLOT) et confronter les valeurs de centiles \u00e0 la r\u00e9alit\u00e9 empirique du domaine m\u00e9tier \u00e9tudi\u00e9.<\/li>\n<\/ul>\n<p>En observant scrupuleusement ces r\u00e8gles de conception et d&rsquo;assurance qualit\u00e9, l&rsquo;analyste de donn\u00e9es garantit que ses analyses de centiles sous SAS b\u00e9n\u00e9ficient du plus haut niveau d&rsquo;int\u00e9grit\u00e9 statistique, de fiabilit\u00e9 algorithmique et de conformit\u00e9 scientifique exig\u00e9 par les standards industriels et r\u00e9glementaires internationaux.<\/p>\n<h2>R\u00e9f\u00e9rences<\/h2>\n<p>Agresti, A. (2018). <em>Statistical Methods for the Social Sciences<\/em> (5th ed.). Pearson. <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/www.pearson.com\">https:\/\/www.pearson.com<\/a><\/p>\n<p>Cleveland, W. S. (1993). <em>Visualizing Data<\/em>. Hobart Press. <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/www.stat.purdue.edu\/~wsc\/\">https:\/\/www.stat.purdue.edu\/~wsc\/<\/a><\/p>\n<p>Cody, R. (2018). <em>Cody&rsquo;s Data Cleaning Techniques Using SAS<\/em> (3rd ed.). SAS Institute. <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/www.sas.com\/store\/books\/categories\/usage-and-reference\/cody-s-data-cleaning-techniques-using-sas-third-edition\/prodBK_68798_fr.html\">https:\/\/www.sas.com\/store\/books\/categories\/usage-and-reference\/cody-s-data-cleaning-techniques-using-sas-third-edition\/prodBK_68798_fr.html<\/a><\/p>\n<p>Delwiche, L. D., &amp; Slaughter, S. J. (2019). <em>The Little SAS Book: A Primer<\/em> (6th ed.). SAS Institute. <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/support.sas.com\/content\/dam\/SAS\/support\/en\/books\/the-little-sas-book-a-primer-sixth-edition\/60824_excerpt.pdf\">https:\/\/support.sas.com\/content\/dam\/SAS\/support\/en\/books\/the-little-sas-book-a-primer-sixth-edition\/60824_excerpt.pdf<\/a><\/p>\n<p>Hyndman, R. J., &amp; Fan, Y. (1996). Sample quantiles in statistical packages. <em>The American Statistician<\/em>, 50(4), 361-365. <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1080\/00031305.1996.10473566\">https:\/\/doi.org\/10.1080\/00031305.1996.10473566<\/a><\/p>\n<p>SAS Institute Inc. (2020). <em>Base SAS 9.4 Procedures Guide: Statistical Procedures<\/em> (5th ed.). SAS Institute. <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/documentation.sas.com\/?docsetId=procstat&#038;docsetTarget=procstat_univariate_overview.htm&#038;docsetVersion=9.4\">https:\/\/documentation.sas.com\/?docsetId=procstat&amp;docsetTarget=procstat_univariate_overview.htm&amp;docsetVersion=9.4<\/a><\/p>\n<p>SAS Institute Inc. (2021). <em>SAS\/STAT 15.2 User&rsquo;s Guide<\/em>. SAS Institute. <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/support.sas.com\/documentation\/onlinedoc\/stat\/index.html\">https:\/\/support.sas.com\/documentation\/onlinedoc\/stat\/index.html<\/a><\/p>\n<p>Tukey, J. W. (1977). <em>Exploratory Data Analysis<\/em>. Addison-Wesley. <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/www.pearson.com\">https:\/\/www.pearson.com<\/a><\/p>\n<p>Wicklin, R. (2013). <em>Simulating Data with SAS<\/em>. SAS Institute. <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/support.sas.com\/content\/dam\/SAS\/support\/en\/books\/simulating-data-with-sas\/64478_excerpt.pdf\">https:\/\/support.sas.com\/content\/dam\/SAS\/support\/en\/books\/simulating-data-with-sas\/64478_excerpt.pdf<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Guide acad\u00e9mique complet pour calculer les centiles dans SAS \u00e0 l&rsquo;aide de PROC UNIVARIATE, de l&rsquo;instruction BY et d&rsquo;options avanc\u00e9es avec exemples d\u00e9taill\u00e9s.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","template":"","categories":[1829,9499],"tags":[6869,9575,5093,235,2212],"class_list":["post-9938","psych_stat","type-psych_stat","status-publish","hentry","category-methodologie-statistique","category-programmation-sas","tag-centiles","tag-proc-univariate","tag-quantiles","tag-sas","tag-statistiques-descriptives"],"_links":{"self":[{"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/psych_stat\/9938","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/psych_stat"}],"about":[{"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/types\/psych_stat"}],"author":[{"embeddable":true,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=9938"}],"version-history":[{"count":1,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/psych_stat\/9938\/revisions"}],"predecessor-version":[{"id":9943,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/psych_stat\/9938\/revisions\/9943"}],"wp:attachment":[{"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=9938"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=9938"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=9938"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}