Vous êtes sur la page 1sur 93

P UBLICATIONS DU L ABORATOIRE

DE S S TATISTIQUE ET P ROBABILIT E

SAS sous UNIX Logiciel Hermetique ` pour Systeme Ouvert


C ARDOT, J.M. A ZA I S , P HILIPPE B ESSE , H ERV E V INCENT C OUALLIER , A LAIN C ROQUETTE

Version septembre 2001 mises a ` jour : www.lsp.ups-tlse.fr/Besse

Laboratoire de Statistique et Probabilit es UMR CNRS C5583 Universit e Paul Sabatier 31062 Toulouse cedex 4.

Table des mati` eres


Avant-Propos 1 Pr esentation 1 Introduction . . . . . . . . . . . . . . . . . 1.1 Table SAS . . . . . . . . . . . . . 1.2 Programme SAS . . . . . . . . . . 1.3 Les modules et leur documentation 2 Modes dutilisation de SAS . . . . . . . . . 2.1 Ex ecution diff er ee . . . . . . . . . cran . . . . . . . . . . . . . 2.2 Mode e 3 Commandes globales . . . . . . . . . . . . Gestion des donn ees 1 Lecture dun chier texte (ascii) . . . . 1.1 syntaxe . . . . . . . . . . . . . 1.2 Format libre . . . . . . . . . . . 1.3 Lecture format ee . . . . . . . . 2 Transformations . . . . . . . . . . . . . 2.1 G en eralit es . . . . . . . . . . . 2.2 fonctions . . . . . . . . . . . . 2.3 Exemples . . . . . . . . . . . . 3 Rangs . . . . . . . . . . . . . . . . . . 3.1 Syntaxe . . . . . . . . . . . . . 3.2 Options . . . . . . . . . . . . . 3.3 Commandes . . . . . . . . . . 4 R eduction . . . . . . . . . . . . . . . . 4.1 Syntaxe . . . . . . . . . . . . . 4.2 Options . . . . . . . . . . . . . 4.3 Commandes . . . . . . . . . . 5 Concat enation de tables . . . . . . . . . 5.1 Concat enation verticale et fusion 5.2 Concat enation horizontale . . . 6 Transposition . . . . . . . . . . . . . . 6.1 Syntaxe . . . . . . . . . . . . . 6.2 Options . . . . . . . . . . . . . 6.3 Commandes . . . . . . . . . . 7 Tri . . . . . . . . . . . . . . . . . . . . 7.1 Syntaxe . . . . . . . . . . . . . 7.2 Options . . . . . . . . . . . . . 7.3 Commandes . . . . . . . . . . 8 Afchage . . . . . . . . . . . . . . . . 8.1 Syntaxe . . . . . . . . . . . . . 8.2 Options . . . . . . . . . . . . . 9 11 11 11 11 12 13 13 13 14 15 15 15 15 16 17 17 17 17 19 19 19 19 20 20 20 20 20 20 21 21 21 21 21 21 22 22 22 22 22 22

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4 8.3 Commandes Proc edure SQL . . . 9.1 Syntaxe . . . 9.2 Options . . . 9.3 Commandes Produit de matrices . 10.1 Syntaxe . . . 10.2 Options . . . 10.3 Commandes 10.4 Exemples . . Tableau de variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

` TABLE DES MATIERES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 22 22 23 23 26 26 26 27 27 28 29 29 29 29 29 29 30 30 30 30 30 30 30 30 31 31 31 31 31 31 31 31 32 33 35 35 36 36 36 36 36 37 37 37 37 38 38 38 38 38 38

10

11 3

l Statistiques e ementaires 1 proc edure univariate . 1.1 Syntaxe . . . . . . 1.2 Options . . . . . . 1.3 Commandes . . . 2 proc edure means . . . . . 3 proc edure freq . . . . . . 3.1 Syntaxe . . . . . . 3.2 Options . . . . . . 3.3 Commandes . . . 4 proc edure corr . . . . . . 4.1 Syntaxe . . . . . . 4.2 Options . . . . . . 4.3 Commandes . . . 5 proc edure chart . . . . . 5.1 Syntaxe . . . . . . 5.2 Options . . . . . . 5.3 Options standards . 5.4 Options sp eciques 6 proc edure plot . . . . . . 6.1 Syntaxe . . . . . . 6.2 Options . . . . . . 6.3 Commandes . . . Langage matriciel

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

4 5

Graphiques Haute R esolution 1 Environnement . . . . . . . 2 Commandes globales . . . . 2.1 Axes . . . . . . . . 2.2 L egendes . . . . . . 2.3 Symboles . . . . . . 2.4 Options graphiques . 2.5 Titres et notes . . . . 3 proc edure gchart . . . . . 3.1 Syntaxe . . . . . . . 3.2 Options g en erales . . 3.3 Options dapparence 3.4 Options statistiques . 3.5 Options daxes . . . 4 proc edure gplot . . . . . . 4.1 Syntaxe . . . . . . . 4.2 Options g en erales . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

` TABLE DES MATIERES 4.3 Options dapparence 4.4 Options daxes . . . 4.5 Commandes . . . . Annotate data set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5 38 38 38 39 41 41 41 41 41 41 41 42 42 42 43 43 45 45 47 50 54 57 59 61 61 61 61 61 62 62 62 63 63 64 64 65 65 66 66 67 67 67 67 68 68 68 69 69 69

5 6

Exploration et Graphiques 1 Introduction . . . . . . . 1.1 Contexte . . . . 1.2 Objectif . . . . . 1.3 Apprentissage . . 2 Graphiques dynamiques . 3 Organisation . . . . . . . 3.1 Arborescence . . 3.2 Fen etre d edition 3.3 Liens avec SAS . 4 Graphiques . . . . . . . 5 Analyses . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

Mod` eles lin eaires : analyse de la variance et r egression l 1 Mod` eles e ementaires . . . . . . . . . . . . . . . . . 2 R egression multiple . . . . . . . . . . . . . . . . . . ` deux facteurs . . . . . . . . 3 Analyse de la variance a 4 Analyse de la covariance . . . . . . . . . . . . . . . 5 Mod` eles mixtes . . . . . . . . . . . . . . . . . . . . 6 bibliographie . . . . . . . . . . . . . . . . . . . . . Techniques factorielles 1 Analyse en composantes principales (ACP) 1.1 Syntaxe . . . . . . . . . . . . . . . 1.2 Options . . . . . . . . . . . . . . . 1.3 Macros-commandes . . . . . . . . 2 Analyse Factorielle Discriminante (AFD) . 2.1 Syntaxe . . . . . . . . . . . . . . . 2.2 Options . . . . . . . . . . . . . . . 3 Analyses des Correspondances . . . . . . . 3.1 Syntaxe . . . . . . . . . . . . . . . 3.2 Options . . . . . . . . . . . . . . . 3.3 Graphiques . . . . . . . . . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

M ethodes de Classication 1 R e-allocation it erative des n individus . . . . . . . . . . . . 1.1 Syntaxe . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Options . . . . . . . . . . . . . . . . . . . . . . . . 2 Classication hi erarchique . . . . . . . . . . . . . . . . . . 2.1 Syntaxe . . . . . . . . . . . . . . . . . . . . . . . . 2.2 M ethodes . . . . . . . . . . . . . . . . . . . . . . . 2.3 Options . . . . . . . . . . . . . . . . . . . . . . . . 2.4 Partition ou Classication hi erarchique des variables 2.5 Syntaxe . . . . . . . . . . . . . . . . . . . . . . . . 2.6 Options . . . . . . . . . . . . . . . . . . . . . . . . 3 Repr esentation dun arbre de classication . . . . . . . . . . 3.1 Syntaxe . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Options . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

6 10 S eries temporelles 1 Mise en forme des donn ees 2 La proc edure ARIMA . . . 2.1 Syntaxe . . . . . . 2.2 commandes . . . . 2.3 Quelques exemples 3 La proc edure forecast . . . 3.1 Syntaxe . . . . . . 3.2 options . . . . . . 3.3 commandes . . . . 3.4 Exemple . . . . .

` TABLE DES MATIERES 71 71 72 72 72 73 73 73 73 74 74 75 75 76 76 77 77 79 79 79 80 83 83 83 83 84 84 84 84 84 84 85 85 87 87 87 87 88 88 88 88 88 89 89 90 90 90 91 91 91 91

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

11 Plans dexp erience 1 g en eration de plans randomis es . . . . 2 Sortie dans une table sas . . . . . . . 3 Exemples . . . . . . . . . . . . . . . 4 randomisation dun plan d ej` a existant 5 G en eration de plans fractionnaires . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

12 Macro-commandes 1 Macro-variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Macro-commandes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Biblioth` eque de macro-commandes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Enterprise miner 1 Introduction . . . . . . . . . . . . 2 Organisation . . . . . . . . . . . . 2.1 Fen etres . . . . . . . . . . 2.2 Menus . . . . . . . . . . . 2.3 D emarrage . . . . . . . . 3 Descriptif sommaire des noeuds . 3.1 Echantillonnage . . . . . . 3.2 Exploration . . . . . . . . 3.3 Transformations . . . . . 3.4 Mod elisation . . . . . . . 3.5 Comparaison, certication

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

A Vers Unix 1 Introduction . . . . . . . . . . . . . . . . 1.1 Historique . . . . . . . . . . . . . 1.2 Caract eristiques . . . . . . . . . . 2 Connexion . . . . . . . . . . . . . . . . . ` partir dun terminal X . . . . . 2.1 A ` partir dun PC . . . . . . . . . 2.2 A 2.3 D econnexion . . . . . . . . . . . 3 Gestion des Fichiers . . . . . . . . . . . . 4 Commandes de base . . . . . . . . . . . 5 Edition de textes . . . . . . . . . . . . . 6 Gestion des processus . . . . . . . . . . . 6.1 Suspendre, tuer des processus . . 6.2 Redirection des chiers standards 6.3 Commandes compos ees . . . . . 6.4 Communication par tube (pipe) . 6.5 Processus en arri` ere plan . . . . . 7 Sp ecicit e du tc-Shell . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

` TABLE DES MATIERES 7.1 Historique des commandes 7.2 Abr eviations . . . . . . . 7.3 Compl etion de commande Dautres commandes . . . . . . . Communication . . . . . . . . . . 9.1 Messagerie . . . . . . . . 9.2 Communication . . . . . . 9.3 Net surng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7 91 91 91 92 92 92 92 93

8 9

` TABLE DES MATIERES

Avant-Propos
Syt` eme SAS est sans doute le logiciel de traitement de donn ees le plus complet et, sinon le plus r epandu, du moins celui qui traite quotidiennement le plus gros volume de donn ees. Il a acquis depuis la mise en route du projet au d ebut des ann ees 60 une situation dominante dans beaucoup de branches dactivit es conomiques. e En France, les grandes entreprises et administrations : INSEE, EDF, ELF,. . ., toute lindustrie pharmaceutique lont adopt e tandis que dautres secteurs, principalement dans le tertiaire et impliqu es dans la production de chiffres (banques, assurances, marketing), succombent au mythe. Aux Etats-Unis, il est m eme quasiment impos e par ladministration (Foods and Drugs) pour la mise sur le march e des m edicaments1 . La situation de monopole est telle que SAS Institute a entrepris une grande op eration de diversication. SAS ne veut plus dire Statistical Analysis Sytem, le calcul statistique nest plus quaccessoire dans la strat egie qui vise a eseaux de lentreprise, ` simmiscer dans toutes les e tapes de la gestion de linformation a ` travers les r de la saisie a ecision : KDD (Knowledge Discovery in Data) et Data Mining. ` la prise de d t Historiquement, SAS a suivi lexpansion des sites IBM sur lesquels il a e e conc u et, m eme sil est maintenant disponible sur toute machine issue dun grand constructeur (CDC, DEC, HP, SUN), il conserve, de son environnement initial, les caract eristiques fondamentales : complexit e, lourdeur, co ut mais aussi puissance et efcacit e. SAS Institute, a en effet adopt e la strat egie dIBM pour d eliser ses clients et sattache ` suivre le grand principe de la compatibilit a e verticale ; toute nouvelle version du logiciel doit accepter les applicatifs conc us avec les versions ant erieures2 . Cest tr` es positif pour les utilisateurs mais, en plus de trente ans de d eveloppement, ceci a aussi des cons equences tr` es n efastes sur la clart e, la coh erence, la ` ce logiciel. Son apprentissage est donc long, fastidieux si souplesse du ou plut ot des langages sp eciques a lon veut en ma triser les subtilit es. Son utilisation ne se justie que dans un environnement o` u les besoins en statistiques et le volume des donn ees trait ees sont consid erables et qui dispose de ressources nanci` eres cons equentes : outre le co ut de location du logiciel, il faut prendre en compte les salaires des statisticiens professionnels et sp ecialistes de ce logiciel qui sauront d evelopper et maintenir les applications sp eciques n ecessaires aux diff erents services de lentreprise. `e tre largement comment Ce document, qui nest quun support de cours amen ea e, ne peut se sufre ` lui-m ` se rep a eme. Ce nest pas un manuel de r ef erence et il faut tout de suite apprendre a erer dans la tre capable dadapter les exemples standards aux documentation an dacqu erir une certaine autonomie et e ` un massif montagneux, avec ses routes touristiques situations rencontr ees. Si lon compare lunivers SAS a (SAS/ASSIST), ses cols mais aussi ses pics escarp es et glaciers crevass es, ce document aspire plut ot au statut de sentier de Grande Randonn ee. Il propose un aperc u de certaines fonctionnalit es du logiciel et des solutions balis ees aux d emarches courantes et probl` emes standards rencontr es dans un cours de statistique. ` d Enn il se limite a ecrire lutilisation de SAS (version 8.2) dans lenvironnement UNIX, d ecrit bri` evement en annexe, m eme si lutilisation dun autre syst` eme dexploitation ne devrait pas poser trop de probl` emes hormis son apprentissage. En particulier, avec la version 8, linterface graphique propos ee est ind ependante ` part l ` du syst` eme. Mis a editeur qui reste tr` es rudimentaire sous Unix, lutilisation de SAS semble tout a fait identique sous Windows. Ce support de cours est un document collectif qui tente de regrouper lexp erience p edagogique acquise dans diff erents enseignements (Licence et Ma trise dIng enierie Math ematique, Magist` ere dEconomiste Statisticien, DESS de Statistique & Econom etrie, DESS de Mod elisation Math ematique et M ethodes Infor` jour successives, les travaux pratiques indispenmatiques). Il est et restera longtemps en chantier, les mises a
1 Splus 2 Le

a obtenu plus r ecemment son agr ement. ` la version 6 fut, sur quelques points, une exception mais des utilitaires de conversion ont e t passage a e fournis.

10

` TABLE DES MATIERES

` partir de lURL http://www-sv.cict.fr/lsp/Besse. sables ainsi que des macros sont disponibles a l tre dissoci Ce cours ne n ecessite quun niveau tr` es e ementaire en informatique mais ne saurait e e dune formation compl` ete aux techniques de la statistique. Seule est illustr ee la mise en uvre de diff erentes tre vues par ailleurs. Enn techniques mais leur utilisation, leurs limites ou leurs interpr etations doivent e les aspects les plus informatiques des modules SAS (SAS/AF, SAS/FSVIEW...) sont volontairement laiss es de c ot e dans le cadre de formations plus ax ees sur un apprentissage de la Statistique.

Chapitre 1

Pr esentation
1 Introduction

Le syst` eme SAS est un ensemble de modules logiciels pour la gestion et le traitement statistique des donn ees. A travers diff erents types dinterfaces utilisateur. Il permet l ecriture de Programmes SAS qui ex ecutent : les saisies, importations, interrogations, manipulations, transformations de donn ees, ditions d les e etats, de rapports nanciers, de graphiques basse ou haute r esolution, les analyses statistiques, mod elisation, pr evision, tre pilot des applications sp eciques d enies sous forme de macro-commandes et pouvant e ees par menus. La version 8 propose des solutions : guided data analysis, market project, time series forecasting... qui sont ` une interface graphique sp ` une probl autant denvironnements de travail associ es a ecique a ematique. Ils crire une ligne de programme. Les modules Insight, Enterpermettent un traitement de linformation sans e labor prise Guide et Enterprise Miner sont les e es en ce sens. Il serait certes possible, en premi` ere approche, l de se contenter de cette utilisation e ementaire mais lusage montre que ces solutions sont n ecessairement ` des contraintes sp limit ees et quun usage professionnel, associ ea eciques, rend incontournable lusage dune programmation basique.

1.1

Table SAS

Apr` es saisie ou importation en provenance de chiers ASCII ou dun SGBD (Syst` eme Relationnel de Gestion de Base de Donn ees), les donn ees sont g er ees par SAS sous la forme dun SAS Data Set nomm e par la suite Table SAS selon la terminologie en vigueur en France. Une table SAS est lassociation dun ou deux chiers binaires contenant les donn ees et leur descriptif : Nom de la table Commentaire ou label Date et heure de cr eation Nombre dobservations et, pour chaque variable : Nom abr eg e Signication ou label Type Type de codage Longueur Position

1.2

Programme SAS

Un programme SAS est un encha nements de ees (Data Step) et dappels tapes de gestion des donn ` chaque module, les traitements a ` r de proc edures, d ecrivant, dans une syntaxe souvent sp ecique a ealiser tapes ou proc sous le couvert doptions prises par d efaut ou explicitement d enies. Les diff erentes e edures communiquent entre elles exclusivement par linterm ediaire de tables SAS, permanentes ou temporaires, et 11

12

Chapitre 1. Pr esentation

avec lext erieur par des tables SAS ou des chiers textes usuels en un format quelconque. Exemple 1.1 . /* Lecture, impression et tabulation de donn ees. */ data Europe; infile edc.fun.overseas; input date $ 1-7 dest $ 8-10 boarded 11-13; proc print data = europe; proc tabulate data = europe; class data dest; var boarded; table date, dest*boarded*sum; run;

1.3

Les modules et leur documentation

Les modules indispensables pour les premiers traitements statistiques sont d ecrits dans la documentation (papier) tr` es volumineuse list ee ci-dessous. Dautres modules, plus sp ecialis es (contr ole de qualit e, recherche op erationnelle, s eries chronologiques. . .) traitent de probl` emes sp eciques. La documentation est ` la documentation accessible en ligne depuis la version 8 mais pour certains aspects basiques, le reours a traditionnelle est plus efcace. ` Companion for the UNIX environment and derivatives contient toutes les informations relatives a linstallation de SAS sous UNIX. Les modes dutilisation, le multi-fen etrage, la gestion des chiers et les changes dinformation, les impressions. e SAS Language Cest la documentation de base et le manuel de r ef erence pour tous les traitements de gestion des donn es : le editeur de tape Data, la syntaxe de ses commandes, la gestion des tables SAS, l texte des programmes. ` lexception des proc SAS Procedures Guide Fonctions et syntaxes de toutes les proc edures (43) a edures l statistiques plus complexes : statistiques e ementaires, fr equences, graphiques basse r esolution, impression, tri, tabulation, transposition,. . . SAS/Stat Users Guide. Deux volumes pour d ecrire toutes les proc edures statistiques et la grande vari et e de leurs options : tous les mod` eles de r egression, les classications, les dur ees de vie, la statistique nonparam etrique, les analyses multidimensionnelles. SAS/Graph Software. innombrables options. Deux volumes pour d etailler les possibilit es graphiques (haute r esolution) et leurs

SAS/INSIGHT Users guide Module pour lanalyse interactive et graphique dun jeu de donn ees. Tr` es efcace en phase exploratoire pour mettre en uvre les m ethodes qui y sont implant ees. SAS/IML Software. Un module de calcul matriciel interactif ; cest un langage interpr et e, comme Matlab volu ` la mise en ou Splus, pour traiter des objets matriciels avec la syntaxe dun langage e e. Il est adapt ea ` partir des op place rapide de m ethodes originales construites a erateurs classiques de lalg` ebre lin eaire. SAS Guide to Macro Processing. Comment rendre op erationnel des programmes SAS complexes pour chantillons et par des utilisateurs pas n une exploitation r ep etitive sur de nombreux e ecessairement tr` es comp etents.

2. Modes dutilisation de SAS

13

2
2.1

Modes dutilisation de SAS


Ex ecution diff er ee

` son Cest la meilleure fac on dex ecuter des programmes op erationnels mais longs sans rester coller a cran. Ils sont ex e ecut es en diff er e avec la commande at dUnix. Il suft de taper la commande sas mon_prog -fsdevice x11.motif & o` u nom_de_fichier.sas est un chier contenant un programme SAS ; les r esultats sont alors regroup es dans le chier nom_de_fichier.lst tandis que le compte rendu de lex ecution ainsi que les messages derreurs se trouvent dans le chier nom_de_fichier.log. Il existe de nombreuses options : type de terminal, taille m emoire. . .. Le caract` ere & permet de reprendre la main avant la n de lex ecution ventuellement de tuer le processus sas en cas de probl` qui se d eroule en arri` ere plan et ainsi, e emes.

2.2

cran Mode e

Taper simplement la commande sas & qui lance SAS en t ache de fond an de pouvoir r eactiver, si n ecessaire, la fen etre du process shell (xterm). Les fen etres ` l Cinq fen etres apparaissent alors a ecran avec une gestion de la couleur qui peut r eserver des surprises tre en fonction du terminal utilis e. Elles disposent dun ascenseur pour se d eplacer dans le texte et peuvent e ` sa convenance sur l ` laide de la souris. Il faut cliquer loreille gauche dans une fen dispos ees a ecran a etre pour la rendre active. SAS offre une interface graphique relativement intuitive mais, tr` es sophistiqu ee et ouvrant sur de tr` es nombreuses possibilit es, il serait innefcace de vouloir la d ecrire de fac on exhaustive. ` d Elle est a ecouvrir en fonction des besoins. Chaque fen etre contient une barre de menus d eroulants contextuels cest-` a-dire dont le contenu d epend de lenvironnement : crire dans des chiers unix ext ` SAS, importer ou exporter des donn File pour lire ou e erieurs a ees dans diff erents formats, sortir de SAS (exit) en fermant toutes les fen etres. Edit pour g erer le texte (s electionner, couper, copier, coller...), View pour rendre active une des fen etres. ` des utilitaires de gestion de graphiques, de tables sas, de rapports, dimages, de textes Tools pour acc eder a et pour congurer les options personnalisant son environnement (couleurs, polices...). Solutions pour ex ecuter les modules sp eciques (sils sont install es !) pour la r ealisation de tableaux de bord, le d eveloppement dapplications. ` laide en ligne d ` laide dun butineur (netscape ou internet explorer) ainsi Help pour acc eder a etaill ee a qu` a un tutorial (Getting started with sas). Ces fen etres sont : SAS : Explorer afchage arborescent des librairies (r epertoires) et tables g er ees par SAS. SAS : Results permet de g erer lensemble des r esultats (textes et graphiques) de fac on arborescente. SAS : Output afche tous les r esultats (texte) produits par lex ecution des diff erentes proc edures. Les graphiques haute r esolution apparaissent dans une fen etre sp ecique. SAS : Log afche le compte rendu de la bonne ex ecution et les messages derreur. diteur de texte rudimentaire sous unix1 , plus e labor SAS : Program Editor est un e e sous windows, pour entrer et modier les programmes SAS avant den demander lex ecution. Outre les commandes du choix EDIT du menu, il faut savoir que pour : ins erer n lignes il faut taper in dans la zone des num eros de lignes, supprimer une ligne il faut y taper d et, pour supprimer un block, entrer dd sur la premi` ere et la derni` ere ligne du bloc, passer alternativement du mode insertion au mode superposition il faut taper <ctrl>x.
1 Sous unix, il est vivement recommander douvrir une fen diter un programme avant de la soumettre par simple etre xemacs pour e copie de la souris. Cela permet deviter des mauvaises surprises : caract` eres sp eciaux cach es, crash de SAS...

14

Chapitre 1. Pr esentation

Enn, le menu sp ecique Run permet de lancer lex ecution du programme ou le tampon de la souris et pour rappeler le programme ex ecuter dans la fen etre. permet de lancer lex ecution du programme (submit ou < F 3 >), de rappeler dans l editeur celui qui vient d etre ex ecut e (recall diteur. text ou < F 4 >) tandis que le menu EDIT autorise tous les choix classiques dun e Attention aux courants dair, il est important de g erer correctement la multitude des fen etres qui remplissent l ecran et surtout de les refermer dans le bon ordre an d eviter de se retrouver bloqu e. En particu tre ferm lier, les fen etres Explorer et Results peuvent e ees en phase de mise au point de programmes. SAS/ASSIST ` des menus d Cest un module qui permet dex ecuter de nombreux programmes gr ace a eroulants. Les ` quelques options mais SAS/ASSIST g capacit es de traitement sont limit ees a en` ere les programmes quil est ensuite possible de rappeler dans l editeur, sauver ou modier. Ceci facilite lapprentissage de la programmation en langage SAS. Dautre part, SAS/ASSIST est un exemple dapplication ou plut ot dinterface ` lutilisateur programm ` laide de SAS/AF. Ce type denvironnement est tr` daide a ee a es pris e lorsquil sagit ` des non-sp de faire calculer a ecialistes, par exemple des biologistes dans lindustrie pharmaceutique, des traitements statistiques routiniers. ` tout niveau, lensemble des menus disponibles comporte un index qui liste toutes les t A aches disponibles par ordre alphab etique et permet dy acc eder directement ainsi quun menu daide g en eral. SAS/EG, SAS/EM,... Chacun des modules sp ecialis es comme Enterprise Guide ou Enterprise Miner offre une interface graphique particuli` ere et n ecessite donc un apprentissage sp ecique.

Commandes globales

l Cette section aborde quelques e ements de programmation SAS. En plus des deux types de structures ` tout moment an de pr d ej` a cit es ( etape data et proc edures), certaines commandes peuvent intervenir a eciser ou modier certaines options. Elles restent actives durant toute la session ; voici les principales. Commentaires Tout texte sous la forme : * texte ; ou /* texte */ est ignor e de SAS et permet dexpliciter le fonctionnement dun programme. libname libref SAS-data-library ; Les r epertoires (unix) contenant des biblioth` eques de tables SAS autres que sasuser (par d efaut) tre allou doivent e es avant leur utilisation mentionnant cette r ef erence logique. lename fileref external-file ; ` SAS (chier ASCII unix) peut e galement e tre r Un chier ext erieur a ef erenc e. options liste doptions ; permet de sp ecier certains param` etres : ` traiter pour tester par exemple un programme, obs=n limite le nombre dobservations a linesize=n xe le nombre de caract` eres par ligne en sortie, pagesize=n xe le nombre de lignes par page, date|nodate pr esence ou absence de date en haut de page, number|nonumber pr esence ou absence de num erotation des pages, pageno=n xe le num ero de la premi` ere page. titlen titre ; permet de faire imprimer jusqu` a n = 10 lignes de titre sur chaque page en sortie, par d efaut, la premi` ere ligne contient : The SAS System, footnoten note de bas de page ; permet de faire imprimer jusqu` a n = 10 notes de bas de page sur chaque page en sortie. Exemple 1.2 Options usuelles : options linesize=75 pagesize=66 nodate number; title Mon titre; footnote Note de bas de page; tre visualis L etat des options en cours peut e e et modi e en ouvrant la fen etre concern ee : Tools>options>...

Chapitre 2

Gestion des donn ees


ventail de traitements permettant dassurer toutes les fonctions de Le syst` eme SAS offre un tr` es large e tre amen ` mettre en uvre. Cette richesse est aussi source de gestion des donn ees quun statisticien peut e ea complexit e. Nous nous contenterons de d ecrire les exemples les plus standards. Ces traitements sont pris en tapes data (data step), qui reconnaissent un langage de programmation proche de PL/1, et charge par les e quelques proc edures sp eciques. Un programme SAS se d ecompose en : tape(s) data, 1. une (ou des) e ` des proc 2. une (ou des) appels a edures (proc). Ces deux parties sont g en eralement ind ependantes, il est donc inutilement co uteux de r e-ex ecuter l etape ` chaque mise au point data, dont les r esultats sont stock es dans une table SAS (permanente ou temporaire), a des proc edures qui suivent. l Les commandes e ementaires : proc print; run; e. permettent de v erier dans la fen etre output la bonne constitution de la derni` ere table SAS cr ee

Lecture dun chier texte (ascii)

Lobjectif est de construire une table SAS dans le cas de gure le plus usuel o` u les donn ees sont conte diteur, dun autre logiciel statistique ou encore dun gestionnaire nues dans un chier texte provenant dun e galement e tre directement saisies au clavier (SAS/ASSIST) de bases de donn ees. Les donn ees peuvent e ou incluses au programme SAS (commande include card). Enn, SAS peut lire tout autre format de chier que ceux succinctement d ecrits ci-dessous (articles de longueur variable, binaire,. . .) sur tout support (bandes magn etiques,. . .) mais cest vite compliqu e!

1.1

syntaxe
data <sasuser.>table-sas ; inle leref ou nom-de-chier <dlm= carac lrecl=nn> ; input liste de variables et sp ecications ;

ventuellement La liste des variables d enit chaque identicateur ; il est suivi du caract` ere $ pour pr eciser, e le type alphanum erique de la variable. Il est fortement conseill e de d eclarer chaque variable qualitative de type alpha-num erique.

1.2

Format libre

` une unit Les donn ees associ ees a e statistique sont s epar ees par des blancs ou tout autre caract` ere ` la ligne. Si les d elimiteur sp eci e dans loption dlm ( ; : ,. . .) ; les unit es sont s epar ees par des retours a lignes du chier en entr ee sont trop longues, d epassant la valeur par d efaut, elles sont tronqu ees en lecture. Il est n ecessaire de d eclarer un majorant de cette longueur dans loption lrecl. 15

16 Une observation par ligne Chaque observation est d ecrite par une ligne du chier. Exemple 2.1 : data sasuser.fich1; infile /data/fich.dat dlm=;; input var1 var2 $ var3; run; Une observation sur plusieurs lignes

Chapitre 2. Gestion des donn ees

Chaque unit e statistique est d ecrite sur n lignes du chier. Plusieurs d eclarations input ou des caract` eres / permettent de pr eciser le d ecoupage. Exemple 2.2 . data sasuser.fich1; infile /data/fich.dat dlm=;; input var1 var2 $ var3 / var4 $ var5 var6; run; Plusieurs observations par ligne Le double caract` ere @@ a pour effet de maintenir un article dans le buffer de lecture jusqu` a ce quil soit compl` etement lu. Exemple 2.3 : data sasuser.fich1; infile /data/fich.dat; input var1 var2 $ var3 @@ ; run; tre int Lorsque le volume des donn ees est tr` es r eduit, celles-ci peuvent e egr ees au programme avec la commande cards : Exemple 2.4 : data sasuser.fich1; input var1 var2 $ var3 @@ ; cards; 1.5 A 55 2.4 B 44 2.7 B 61 2.3 A 48 ; run; ` la place du dernier point-virgule. Attention a

1.3

Lecture format ee

Le format libre ci-dessus nest plus utilisable lorsque, pour des raisons d economies despace disque, les ` la suite du nom de chaque variable, les positions donn ees sont coll ees ; il faut alors indiquer explicitement, a (ou champs) concern es. Exemple 2.5 : data sasuser.fich1; infile /data/fich.dat; input var1 1-12 var2 $ 13-18 var3 19-25; run;

2. Transformations

17

2
2.1

Transformations
G en eralit es

volu L etape data est capable dinterpr eter un langage de programmation e e qui, par sa syntaxe, est proche de PL/1. On y retrouve les m emes structures : if, then, else, do. La diff erence fondamen tape data peut e tre assimil ` une lecture de la table a ` traiter. Elle inclut tale est quune e ee, en g en eral, a implicitement une boucle consid erant chacune des observations ; une variable du langage est une colonne ou variable statistique. La syntaxe habituelle est la suivante : data <sasuser.>table out ; set <sasuser.>table in ; . . . instructions ; run ; Chaque observation ou ligne de table in est lue, transform ee par ex ecution des instructions puis enregistr ee sur table out. Par d efaut, toutes les variables de table in sont consid er ees et re t es par les instructions mais il est possible copi ees sur table out ainsi que celles qui ont e e cr ee den laisser tomber (drop) ou de nen conserver (keep) que certaines. Ces commandes peuvent appara tre comme des options des commandes data, set ou dautres proc edures : data table out (drop=var1 var2) ; set table in (keep=var1 var2 var3) ; tape data : ou encore comme commandes dune e keep|drop var1 var2 `e liminer par rapport au nombre a ` Lutilisation de drop ou keep d epend du nombre relatif de variables a conserver.

2.2

fonctions

Le langage reconnait les expressions arithm etiques usuelles, sait g erer des constantes num eriques ou al` moins davoir phanum eriques (constante) et des variables qui sont enregistr ees sur table out a t limin e ee ees (drop, keep). Il reconna t, de plus, la plupart des fonctions math ematiques usuelles (round, sin, log, sqrt,...), les fonctions de gestion de cha nes de caract` eres (lenght, scan, substr,...), ` usage plus statistique (sum, celles sp eciques aux diff erentes lois de probabilit es (quantiles) et dautres a ` une liste de valeurs avec la syntaxe mean, min, max, var, std,...). Ces derni` eres sappliquent a suivante : sum (var1, of var10-var20, var 25)

2.3

Exemples

Exemple 2.6 /* transformations de variables quantitatives */ data sasuser.table1; set sasuser.table2 (drop=var10 var11); newvar1=sqrt(var3); newvar2=log(var4)/mean(of var5-var9); run; Exemple 2.7 /* codage en classes dune variable quantitative */ data sasuser.table1 (keep taillec sexe csp); set sasuser.table2 ; if sexe=M then do; if taille > 190 then taillec=grand; else if taille > 170 then taillec=moyen; else taillec=petit; end; else then do; if taille > 180 then taillec=grand;

18

Chapitre 2. Gestion des donn ees else if taille > 160 then taillec=moyen; else taillec=petit; end;

run; Exemple 2.8 /* codage en classes dune variable quantitative */ /* meme chose avec la commande select :*/ data sasuser.table1 (keep taillec sexe csp); set sasuser.table2 ; select (sexe); when (M) if taille > 190 then taillec=grand; else if taille > 170 then taillec=moyen; else taillec=petit; when(F) if taille > 180 then taillec=grand; else if taille > 160 then taillec=moyen; else taillec=petit; otherwise put probleme; end; run; e des observations v Il est facile de supprimer ou plut ot, de ne pas recopier dans la table cr ee eriant ou non une condition logique. Exemple 2.9 /* exemples de regroupement de modalit es */ select(mon); when(mon in(mars,avri,mai )) sais=printemps; when(mon in(juin,juil,aout)) sais=ete; when(mon in(sept,octo,nove)) sais=automne; when(mon in(dece,janv,fevr)) sais=hiver; otherwise; end; select(a); when(1); when(3,4,5) x=x*10; otherwise; end; Exemple 2.10 /* elimination dobservations */ data sasuser.table1; set sasuser.table2 ; if var1 = nul then delete; /* SAS passe a la suivante*/ ... run; Exemple 2.11 /* selection implicite dobservations */ data sasuser.table1; set sasuser.table2 ; if var1 = bon ; /* sinon SAS passe a la suivante*/ ... run; ` l t Des commandes sp eciques a etape Data nont pas e e d ecrites : retain, return, put, output, missing, list, link, label, goto, do. Ainsi, lexemple suivant utilise une variable d enie de fac on implicite et une boucle pour r ep eter les diff erents niveaux dun facteur.

3. Rangs Exemple 2.12 /* d efinition implicite dune variable */ data table1; /* fichier temporaire */ input var n ; do i=1 to n ; input gain @@ ; output ; end; cards ; 0 16 228 229 216 224 206 235 229 233 219 224 220 232 200 209 232 0.04 11 186 229 220 208 228 198 222 273 216 198 213 0.07 12 179 193 183 180 143 204 114 188 178 134 208 196 0.10 8 130 87 135 116 118 165 151 59 0.13 11 154 130 130 118 118 104 112 134 98 100 104 ; run; Dautres transformations usuelles sont propos ees sous forme de proc edures.

19

Rangs

La proc edure ranks calcule les rangs de variables quantitatives et les recopie dans une nouvelle table. gales sont affect Par d efaut, les valeurs e ees du rang moyen. Une option (group=) permet de sp ecier le nombre de valeurs de rangs utilis ees et ainsi de d ecouper en classes une variable quantitative avec des gaux. effectifs sensiblement e

3.1 Syntaxe
proc rank <options> ; by <descending> variable ; ranks liste de nouvelles variables ; var liste de variables ;

3.2

Options
e, data=table sas indique le nom de la table, par d efaut, la derni` ere cr ee e qui contiendra les variables initiales et les rangs, out=table sas sp ecie le nom de la table cr ee fraction|groups=n|normal=blom pour obtenir, respectivement, les valeurs de la fonction de r epartition, un d ecoupage en n classes de m eme effectif, les valeurs dune distribution normale, plut ot que, par d efaut, les valeurs des rangs. descending rangs par valeurs d ecroissantes, ties= sp ecie la fac on de g erer les ex-quos (mean|high|low).

3.3

Commandes

by suivi du nom dune variable qualitative indique que les statistiques sont calcul ees par groupe dobser tre tri vations ; la table doit e ee. tre sp ranks doit e eci ee si lon veut que les variables initiales soient recopi ees en sortie. Sinon, les va` terme entre les noms des deux listes riables gardent le m eme nom. Il y a une correspondance terme a de variables. var les rangs des variables de la liste var sont calcul es et recopi es dans la table de sortie ; par d efaut, toutes les variables num eriques sont trait ees.

20

Chapitre 2. Gestion des donn ees

R eduction

La r eduction ou la standardisation de variables quantitatives sobtient en ex ecutant la proc edure standard.

4.1

Syntaxe
proc standard <options> ; by <descending> variable ; var liste de variables ; weight variable ;

4.2

Options
e, data=table sas indique le nom de la table, par d efaut, la derni` ere cr ee e qui contiendra les variables initiales et celles standar out=table sas sp ecie le nom de la table cr ee dis es. carts-types des variables trait print imprime moyennes et e ees, mean= sp ecie la nouvelle valeur moyenne (=0), std= sp ecie la nouvelle valeur de l ecart-type (=1), replace demande que toute donn ee manquante soit remplac ee par la nouvelle moyenne (mean=), vardef pr ecise le diviseur dans le calcul de la variance (df, n, wdf,wgt).

4.3

Commandes

by suivi du nom dune variable qualitative indique que les statistiques sont calcul ees par groupe dobser tre tri vations ; la table doit e ee. var les variables de la liste var sont standardis ees et recopi ees dans la table de sortie ; par d efaut, toutes les variables num eriques sont trait ees. weight nom de la variable contenant les pond erations des observations.

5
5.1

Concat enation de tables


Concat enation verticale et fusion

` compl Cette op eration consiste a eter une table SAS par une ou plusieurs autres contenant les m emes ` r variables mesur ees sur dautres observations. Elle est tr` es simple a ealiser, il suft de mentionner toutes liminant, conservant e ventuellement certaines variables. ces tables dans la commande set en renommant, e Sil ny a pas une bonne correspondance entre les variables, des donn ees manquantes sont g en er ees. Exemple 2.13 : data sasuser.concvtable; set sasuser.table1 (rename=(var1=var15)) sasuser.table2 (rename=(var5=var15)); run; tre conserv Si chacune des tables est tri ee sur la m eme cl e, ce tri peut e e dans la table concat en ee, il sagit alors dune fusion, en sp eciant la variable cl e dans une commande by. Exemple 2.14 : data sasuser.fusiontable; set sasuser.table1 (rename=(var1=var15)) sasuser.table2 (rename=(var5=var15)); by vartri; run; Dautres possibilit es sont offertes par la proc edure append.

6. Transposition

21

5.2

Concat enation horizontale

t Les m emes unit es statistiques ont e e observ ees sur des paquets de variables contenues dans des tables SAS distinctes. La table regroupant toutes les variables est obtenue en utilisant plusieurs fois la commande set. Exemple 2.15 : data sasuser.conchtable; set sasuser.table1; set sasuser.table2; run; tre obtenu avec la commande merge. Elle permet, en plus, de contr Le m eme r esultat peut e oler la bonne correspondance des lignes de chaque table (tri ee) suivant les valeurs dune cl e et introduit, le cas ch e eant, des donn ees manquantes. Exemple 2.16 : data sasuser.mergetable; merge sasuser.table1 sasuser.table2; by varcom; run;

Transposition

La proc edure transpose lit toute ou partie dune table SAS et la recopie apr` es transposition : les lignes deviennent des colonnes et les colonnes des lignes. Une nouvelle variable name contient alors, en sortie, les noms des variables transpos ees qui d esignent maintenant les observations. La commande by permet de r eorganiser des donn ees complexes. Attention, si une variable est de type caract` ere, toutes les variables transpos ees le deviennent.

6.1

Syntaxe
proc transpose <options> ; var liste de variables ; id variable ; copy liste de variables ; by liste de variables ;

6.2

Options
e, data=table sas indique le nom de la table, par d efaut, la derni` ere cr ee e, out=table sas sp ecie le nom de la table cr ee prex= sp ecie le pr exe utilis e pour cr eer les noms des nouvelles variables, e qui contiendra les noms des anciennes variables pour name= sp ecie le nom de la variable cr ee d esigner les observations (par d efaut name ).

6.3

Commandes

e pour chaque variable transpos by : une observation est cr ee ee et pour chaque groupe ; la variable de tre tri groupage est incluse en sortie mais non transpos ee. La table doit e ee. copy les variables de la liste copy sont recopi ees dans la table de sortie sans transposition. var les variables de la liste var sont transpos ees et recopi ees dans la table de sortie ; par d efaut, toutes les variables num eriques, napparaissant pas ailleurs sont trait ees. id nom de la variable en entr ee contenant les noms des variables apr` es transposition.

Tri
La proc edure sort permet de trier une table SAS.

22

Chapitre 2. Gestion des donn ees

7.1

Syntaxe
proc sort <options> ; by <descending> variable1 <<descending> variable2> ;

7.2

Options
e, data=table sas indique le nom de la table, par d efaut, la derni` ere cr ee e qui contiendra les observations tri out=table sas sp ecie le nom de la table cr ee ees. limine les observations identiques. nodup e

7.3

Commandes

by liste des variables qui servent de cl e de tri ; lordre est croissant par d efaut. Sur les tables tri ees, SAS g` ere deux variables g en er ees par la commande BY permettant didentier les d ebuts et n de groupes de lignes prenant les m emes valeurs dune variable utilis ee dans le tri. Par exemple, si la table est tri ees par la variable sexe, la commande BY sexe g en` ere les variables temporaires First.sexe et LAST.sexe qui prennent des valeurs 0 ou 1 pour indiquer respectivement la premi` ere observation ou la derni` ere de chaque modalit e de la variable.

8 Afchage
dite la liste dune table SAS dans la fen ventuellement La proc edure print e etre SAS.output en calculant e des sommes partielles.

8.1

Syntaxe
proc print <options> ; by <descending> variable ; var liste de variables ;

8.2

Options
e, data=table sas indique le nom de la table, par d efaut, la derni` ere cr ee noobs supprime les num eros des observations, round arrondit les r esultats avec deux d ecimales.

8.3

Commandes

by suivi du nom dune variable qualitative indique que les statistiques sont calcul ees par groupe dobser tre tri vations ; la table doit e ee. dit var les variables de la liste var sont e ees dans la fen etre output ; par d efaut, toutes les variables sont trait ees.

Proc edure SQL

Le langage SQL (Structured Query Language) est un langage dinterrogation de bases de donn ees stan` la plupart des logiciels de base de donn tudi dardis e commun a ees. La proc edure sql e ee dans cette section en constitue une impl ementation dans la version 6 de SAS. Cette proc edure permet dextraire, corriger et ` jour des donn tape data. mettre a ees dans une table SAS, souvent plus rapidement que par une e ` un stockage de donn ` ce Le terme de table d esigne toujours une table SAS, correspondant a ees propre a galement deux nouveaux types dobjets : les vues et les index. Une vue est le stockage logiciel. On utilise e dune interrogation : elle contient la description ou d enition dune table virtuelle. Une vue est donc une ` laquelle on donne un nom, pour son usage ult interrogation a erieur dans une autre proc edure SAS. Le principal int er et de d enir une vue est le gain despace m emoire. Un index est un syst` eme de pointeurs permettant dans certains cas dacc eder plus rapidement aux informations contenues dans une table SAS.

9.1

Syntaxe

proc sql <options> ; alter table d eclaration de modication ;

9. Proc edure SQL create table d eclaration de cr eation ; delete d ecl-destruction ; describe d ecl-description ; drop d ecl-suppression ; insert d ecl-insertion ; reset <options> ; select d ecl-s election ; ` jour ; update d ecl-mise a validate d ecl- evaluation ;

23

Remarques : tape il est inutile de r ep eter linstruction proc sql avant chaque d eclaration, sauf si lon ex ecute une e ` une autre proc data ou si lon fait appel a edure entre deux commandes de sql. linstruction run nest pas n ecessaire.

9.2

Options
inobs=n restreint le nombre dobservations trait ees (par exemple dans une clause where) sur une table fournie en entr ee de la proc edure. outobs=n restreint le nombre dobservations trait ees (par exemple ins er ees) dans une table retourn ee par la proc edure. feedback rappelle la d enition des vues parentes lors de la description dune vue (commande describe). noprint pas d edition

9.3

Commandes
` partir dautres tables ou dautres vues. Elle permet de cr eer des tables, des vues, ou des index, a

La commande create

a) Cr eation dune table : Syntaxe create table nom-table as query-expression ; create table nom-table like nom-table ; create table nom-table (def-col <, def-col>) ; La premi` ere syntaxe est utilis ee pour stocker les r esultats dune interrogation. Cest une fac on de cr eer des tables temporaires. La deuxi` eme syntaxe est utilis ee pour cr eer une table ayant les m emes noms de variables et m emes attributs quune autre table. La troisi` eme syntaxe est utilis ee quand on veut cr eer une table dont les colonnes ne sont pas pr esentes dans des tables d ej` a existantes. Les syntaxes 2 et 3 cr eent des tables vides, quil faut ensuite remplir avec la commande insert. Exemple 2.17 Cr eation dune table SAS permanente dans la librairie sql libname sql sql; proc sql; create table sql.statlab like

sasuser.statlab2;

create table sql.statlab2 as select sexenf, gsenf, tenf_n, penf_n, tenf_10, penf_10 from sasuser.statlab2 where (consm_n=nonfum); b) Cr eation dune vue :

24 Syntaxe create view nom-vue as query-exp <order byitem <, item>> ;

Chapitre 2. Gestion des donn ees

tant une interrogation stock Une vue e ee et ne contenant pas de donn ees, on ne peut utiliser les instructions ` une vue : insert, delete, alter, update. suivantes quand on se r ef` ere a Exemple 2.18 Cr eation dune vue a ` partir dune table create view labv2 as select sexenf, gsenf, tenf_n, penf_n, tenf_10, penf_10 from sql.statlab2 where (sexenf=fille); proc print data=labv2; run; c) Cr eation dun index : ` la fois les valeurs des colonnes dune table, et un syst` Un index stocke a eme de directions qui permet ` partir des valeurs de lindex. Lutilisation de lindex lors dinterrodacc eder aux lignes de cette table a gations ou autres instructions de la proc edure est d etermin ee par le syst` eme. Lindex est automatiquement ` jour quand on modie la table a ` laquelle il est associ mis a e. Il permet dam eliorer la performance de cer` une valeur constante a ` laide de taines commandes, par exemple la comparaison dune colonne index ee a lexpression where. Syntaxe create <unique > index nom-index on nom-table ; tre utile quand Le mot-cl e unique garantit que chaque valeur de la colonne index ee est unique. Ceci peut e on manipule des variables telles que le num ero de s ecurit e sociale. Exemple 2.19 Cr eation de lindex simple gse associ e au groupe sanguin proc sql; create index gse on sql.statlab2 (gsenf); Exemple 2.20 Cr eation de lindex composite consm associ ea ` deux variables proc sql; create index consm on sql.statlab2 (consm_n,consm_10); La commande alter Elle permet dajouter ou de supprimer des colonnes dans une table SAS, ou den modier les attributs (longueur, label, format). Syntaxe alter table nom-table < add def-col <, def-col >> < modify def-col <, def-col >> < drop nom-col <, nom-col >> ; Exemple 2.21 Modication dune table existante alter table sql.statlab2 add gender char(6); La commande delete Elle permet de supprimer des lignes dans une table.

9. Proc edure SQL Syntaxe delete from nom-table < where sql-exp > ; Exemple 2.22 Suppression des lignes dune table delete from sql.statlab2 where gsenf=A+; La commande describe Elle donne la d enition dune vue, et des vues parentes si loption feedback est sp eci ee. Syntaxe describe view nom-vue ; Exemple 2.23 Description dune vue describe view labv2; La commande drop Elle permet de d etruire indiff eremment une table ou une vue. Syntaxe drop table nom-table < , nom-table > ; drop view nom-vue < , nom-vue > ; La commande insert ` une table. Elle permet dajouter des lignes a Syntaxe insert into nom-table < ( nom-col < , nom-col > >) values ( value < , value >) ; Il existe deux autres mani` eres dutiliser la commande insert (voir laide en ligne). Exemple 2.24 Insertion de lignes dans une table insert into sql.statlab2 values (fille,AB,0,0,0,0,d) values (garcon,AB,10,10,10,10,e); La commande select

25

Elle permet de s electionner des colonnes dans une table, et dafcher les r esultats dans la fen etre output. Syntaxe select liste dobjets from liste < where sql-exp > ; La commande update Elle permet de modier les valeurs de certaines observations pour des colonnes dune table existante. Syntaxe update nom-table set nom-col=sql-exp < where sql-exp > ; Exemple 2.25 Modication dune table update sql.statlab2 set gender=sexenf;

26 La commande validate

Chapitre 2. Gestion des donn ees

Elle permet d evaluer la syntaxe dune interrogation sans lex ecuter, et retourne un message dans la fen etre log. Syntaxe validate query-exp ; Cette commande est essentiellement utile dans des applications utilisant des macro-variables. validate ` la macro-variable SQLRC (SQL retourne alors une valeur indiquant si linterrogation est valide gr ace a Return Code). Comparaison de la proc edure sql avec une e tape data ` 10 ans et par sexe des enfants dont la m` On veut conna tre la taille moyenne a ere consommait entre 10 et 20 cigarettes par jour au moment de leur naissance. Ecrivez le programme permettant de calculer ces ` laide des proc quantit es a edures summary, sort et print ; puis comparer avec le programme suivant utilisant la proc edure sql. Exemple 2.26 Une utilisation de la proc sql proc sql; select sexenf , mean(tenf_10) as tmoy from sasuser.statlab2 where consm_n=10a20cig group by sexenf order by tmoy;

10

Produit de matrices

La proc edure score permet de calculer le produit entre deux matrices (repr esent ees par deux tables SAS) sans faire appel au module SAS/IML. La proc edure score multiplie, individu par individu, les ` ces variables et pr variables dune table SAS par des coefcients (appel es scores) associ es a esents dans lautre table SAS consid er ee. Cette proc edure est utilis ee, par exemple, pour calculer les coordonn ees sur le ` partir des r plan factoriel dun individu suppl ementaire a esultats dune ACP effectu ee au pr ealable. On peut lappliquer directement sur les sorties des proc edures princomp, candisc, factor. . ., qui contiennent une matrice de type score.

10.1

Syntaxe

proc score <options> ; by <descending> variable ; id variable ; var liste de variables ; run ;

10.2

Options

La proc edure score multiplie les individus dune table SAS par des scores contenus dans une autre table SAS. Elle effectue le produit de la matrice des individus par la transpos ee de la matrice des scores. La table contenant les scores doit poss eder une variable TYPE . Cette variable peut prendre les valeurs SCORE pour indiquer les coefcients, et MEAN et STD si on souhaite centrer et r eduire les donn ees avant dappliquer les coefcients. data=table sas contenant les individus, out=table sas en sortie. Par d efaut, elle contient les nouvelles variables et les variables de la table initiale. galement score=table sas contenant les coefcients. Elle doit poss eder une variable TYPE et peut e comprendre une variable NAME donnant le nom de la nouvelle variable ou des nouvelles variables es. (colonnes) cr ee

10. Produit de matrices

27

type=nom indique que les coefcients sont conserv es dans les lignes pour lesquelles TYPE prend ` utiliser si TYPE la valeur nom (cf. exemple de la r egression o` u TYPE=PARMS). Cette option est a est diff erent de SCORE. nostd indique que lon ne centre pas et que lon ne r eduit pas les donn ees avant application des coefcients.

10.3

Commandes

by suivi du nom dune variable qualitative pour effectuer les calculs selon les groupes d enis par les mo tre tri dalit es de cette variable. La table doit e ee. tre pr var liste des variables sur lesquelles on applique les coefcients. Ces variables doivent e esentes dans les tables appel ees par score= et data=. id liste des variables pr esentes dans la table sortie d enie par out=. Par d efaut toutes les variables.

10.4

Exemples

Exemple 2.27 data coeff; /* Creation de la table contenant les scores */ input _TYPE_ $ _NAME_ $ var1 var2; cards; MEAN clin 1 3 STD clin 2 1 SCORE clin 0.5 -0.5 ; run; data donnees; /* Creation des donn ees sur lesquelles on souhaite appliquer les scores */ input var1 var2 @@; cards; 3 4 1 2 ..... ; run; /* Creation de la nouvelle variable clin a partir de scores apres centrage et reduction des donnees */ proc score data=donnees score=coeff out=sortie; var var1 var2; run; qui donne la table sortie suivante : var1 3 1 .. var2 4 2 .. clin 0 0.5 .. /* 0 = (3-1)/2*0.5 +(4-3)/1*(-0.5) */ /* 0.5= (1-1)/2*0.5 + (2-3)/1*(-0.5) */

Exemple 2.28 Utilisation des r esultats de la proc edure reg pour calculer la valeur ajust ee de nouvelles observations. proc reg data=donnees outest=coeff; model y = var1 var2; run; /* affichage de la table coeff contenant les coefficients de la regression */ proc print data=coeff; run; /* table coeff */ _TYPE_ _DEPVAR_ ... INTERCEP var1 var2 PARMS y 1.5 0.3 -0.7 Il est alors possible, pour une nouvelle observation, destimer la valeur de la variable y en appliquant la proc edure score. Celle-ci tient automatiquementcompte de la constante INTERCEP du mod` ele si on pr ecise type=PARMS.

28

Chapitre 2. Gestion des donn ees

/* calcul des y ajust es pour les nouvelles observations */ proc score data=autretab score=coeff type=PARMS out=valajust; var var1 var2; run; Exemple 2.29 Calcul des coordonn ees dindividus suppl ementaires (ACP) /* ACP du tableau initial */ /* la table coeff contient les coordonnees des vecteurs propres */ /* permettant le calcul des composantes principales */ proc princomp data=table1 outstat=coeff; var var1-var5; run; /* Calcul des composantes principales des individus supplementaires */ /* on centre et reduit les donnees automatiquement */ /* avant calcul des composantes principales */ /* qui sont sauvees dans la table compr2 */ proc score data=table2 score=coeff out=compr2; var var1-var5; run;

11 Tableau de variables
tre op Des traitements plus sophistiqu es (it eratifs, conditionnels) peuvent e er es sur les variables dune tre indic table en les d eclarant sous la forme dun tableau (array) dont les colonnes peuvent alors e ees. ` consid Plus pr ecis ement, cette d eclaration revient a erer un vecteur ligne contenant successivement chaque ligne de la table en cours de lecture.

Chapitre 3

l Statistiques e ementaires
l Ce chapitre d ecrit les proc edures SAS les plus utiles permettant la description e ementaire (uni-vari ee et bi-vari ee) dun jeu de donn ees, les graphiques en basse r esolution associ es ainsi que la production des ` rechercher dans la tests (param etriques ou non) les plus courants. Dautres tests et options d edition sont a documentation.

proc edure univariate

tre obtenus, par SAS, dans le cadre dune Cette proc edure regroupe tous les r esultats qui peuvent e tude uni-vari e ee de variables quantitatives : indicateurs de tendance centrale (moyenne, m ediane, mode), indicateurs de dispersion, dautres caract eristiques de la distribution (quantiles, skewness, kurtosis), les graphiques en basse r esolution (histogrammes, tige-et-feuille, bo te-` a-moustaches, droites de Henri), le test de Student de nullit e de la moyenne, les tests de normalit e dune distribution et les tests non-param etriques (signe, Wilcoxon,. . .).

1.1

Syntaxe
proc univariate <options> ; var liste de variables ; by <descending> variable ; weight variable ; output <out=table sas> <liste de statistiques> ;

1.2

Options
La liste des options permet de pr eciser les r esultats attendus. e, data=table sas indique le nom de la table par d efaut, la derni` ere cr ee normal pour obtenir des tests de normalit e, plot pour obtenir les graphiques, si la commande by est employ ee, les bo tes sont afch ees en parall` ele, vardef= pr ecise le diviseur dans le calcul de la variance (df, n, wdf, wgt).

1.3

Commandes

by suivi du nom dune variable qualitative indique que les statistiques sont calcul ees par groupe dobser tre tri vations ; la table doit e ee. output indique le nom du chier et la liste des statistiques qui y seront enregistr ees. var liste des variables concern ees par la proc edure, par d efaut, toutes les variables quantitatives. weight nom de la variable contenant les pond erations des observations.

proc edure means

Les r esultats fournis par cette proc edure sont inclus dans ceux produits par la proc edure univariate d ecrite ci-dessus. Elle sutilise de la m eme fac on et diff` ere par la pr esentation des r esultats r esum es sous 29

30

l Chapitre 3. Statistiques e ementaires

` consulter. Elle ne fournit ni statistique non-param la forme dun tableau plus facile a etrique ni graphe. La proc edure summary ne diff` ere de la proc edure means que dans le choix des options par d efaut.

proc edure freq

` plat et compl` Cette proc edure traite les variables qualitatives. Elle fournit donc des tris a ete ces r esultats tudes bi ou multi-vari par des e es de tables de contingences. On obtient ainsi les prols lignes et colonnes, les statistiques des tests dind ependance (2 ) et des comparaisons avec les valeurs d eduites du mod` ele dind ependance.

3.1

Syntaxe
proc freq <options> ; by <descending> variable ; tables liste des croisements requis </ options> ; weight variable ;

3.2

Options
e, data=table sas indique le nom de la table par d efaut, la derni` ere cr ee dition ordonn order=freq e ee par effectifs d ecroissants,

3.3

Commandes

by suivi du nom dune variable qualitative indique que les statistiques sont calcul ees par groupe dobser tre tri vations ; la table doit e ee. tables liste des croisements exprim es sous une des formes : a*b, a*(b c), (a b)*(c d), (a- -d)*c. Les options pr ecisent les r esultats et statistiques demand ees ; la plus utile est chisq qui ex ecute un test du 2 , ditions (prols). dautres permettent d eviter certaines e weight nom de la variable contenant les pond erations des observations.

proc edure corr

tudie les liaisons entre variables quantitatives et propose donc les indicateurs usuels Cette proc edure e comme les coefcients de corr elation de Pearson et de Spearman, dautres qui le sont moins, et les tests tre enregistr associ es. Les r esultats peuvent e es dans des tables sas.

4.1

Syntaxe
proc corr <options> ; by <descending> variable ; var liste de variables ; weight variable ; with liste de variables ;

4.2

Options
e, data=table sas indique le nom de la table, par d efaut, la derni` ere cr ee hoeffding kendall pearson spearman s electionne les types de mesure de corr elation, pearson par d efaut, vardef= pr ecise le diviseur dans le calcul de la variance (df, n, wdf,wgt),

4.3

Commandes

by suivi du nom dune variable qualitative indique que les statistiques sont calcul ees par groupe dobser tre tri vations ; la table doit e ee. var les variables de la liste var sont crois ees avec celles de la liste with ; par d efaut, toutes les variables num eriques. with par d efaut, tous les couples de variables apparaissant dans la liste var. weight nom de la variable contenant les pond erations des observations.

5. proc edure chart

31

proc edure chart

Cette proc edure trace en basse r esolution (caract` eres) des diagrammes en barres (hbar), en colonnes (vbar), en secteurs (pie) et a erolaires (star). Elle peut traiter des variables quantitatives ou qualitatives, les variables quantitatives sont cod ees explicitement ou automatiquement en classes.

5.1

Syntaxe
proc chart <options> ; by <descending> variable ; vbar liste de variables </<options standards><options sp eciques>> ; hbar liste de variables </<options standards><options sp eciques>> ; pie liste de variables </<options standards><options sp eciques>> ; star liste de variables </<options standards><options sp eciques>> ;

5.2

Options
e, data=table sas indique le nom de la table ou, par d efaut, la derni` ere cr ee lpi= facteur d echelle (nb lignes par pouce/ nb de colonnes par pouce)*10.

5.3

Options standards
sumvar= variable quantitative dont le cumul ou la moyenne est repr esent e, freq= variable de pond eration des observations, midpoints= liste des bornes de classes, levels= nombre de classes, type= sp ecie ce que repr esente le graphique (par d efaut une fr equence) : cfreq (fr equence cumul ee), ` sumvar=). cpt (pourcentage cumul e), pct (pourcentage), sum ou mean (associ ees a

5.4

Options sp eciques

hbar <group= subroup= g100> ; vbar <group= subroup= g100> ; pie Ces options ont les signications suivantes : ` c group= repr esentation de plusieurs graphes c ote a ote suivant les modalit es de la variable sp eci ee, subgroup= d ecoupage des barres ou colonnes selon la participation des modalit es de la variable sp eci ee. ` modier les e tats imprim Il existe dautres options destin ees a es : nolegend, nosymbol, nospace, ` rechercher symbol=, ascending, descending, nozeros, ref= dont la signication est a dans la documentation.

proc edure plot


Graphiques en basse r esolution de nuages de points en deux dimensions.

6.1 Syntaxe
proc plot <options> ; by <descending> variable ; plot liste de graphiques </ options> ;

6.2

Options
e, data=table sas indique le nom de la table ou, par d efaut, la derni` ere cr ee vtoh= facteur d echelle d ependant de limprimante, hpercent= part horizontale utilis ee de la page, vpercent= part verticale utilis ee de la page, dans la mesure du possible, plusieurs graphiques sont trac es par page .

32

l Chapitre 3. Statistiques e ementaires

6.3

Commandes

by suivi du nom dune variable qualitative indique que les statistiques sont calcul ees par groupe dobser tre tri vations ; la table doit e ee. plot liste des graphes sous la forme : y*x=caract` ere ou variable, avec la m eme syntaxe que pour les tables de contingence (a*(a b),. . .). La variable y fournit les ordonn ees et x les abscisses des points repr esent es par des caract` eres ou par le premier caract` ere contenu dans la variable sp eci ee. Les options pouvant intervenir dans cette commande plot sont tr` es nombreuses, elles permettent de pr eciser les axes, les marques d echelles et leurs libell es, de tracer des lignes suppl ementaires, un cadre autour du graphe, den superposer plusieurs (overlay).

Chapitre 4

Langage matriciel
SAS/IML est un module sp ecialis e interpr etant un langage de calcul matriciel. Ses fonctionnalit es sont comparables aux autres produits du m eme type (Splus, ISP, GAUSS, . . .) mais offre g en eralement moins ` lutilisateur dins de possibilit es. N eanmoins, il permet a erer de nouvelles techniques statistiques dans ses programmes SAS ou dadapter les r esultats, la pr esentation de celles existantes. Comme tout interpr` ete, il est tr` es lent lors de lex ecution. Il est donc vivement recommand e d eviter les structures r ep etitives (do, end it eratif) et de faire syst ematiquement appel aux proc edures de gestion et calcul matriciels existantes pour l ecriture de ses algorithmes. Lobjet de base de manipulation du langage est une matrice, un tableau bidimensionnel (nrow ncolumn) de valeurs num eriques ou de caract` eres (un scalaire est une matrice (1 1)). La plupart des op erateurs matriciels sont des proc edures du langage (produits, inversion, d ecompositions, . . .) ; une table tre lue dans une matrice ou, inversement, cr ` partir dune matrice. SAS peut e ee a volu SAS/IML est un langage e e qui sait interpr eter les commandes de contr ole usuelles (do, if-then/else, start/finish) pour l ecriture de programmes modulaires. Dautre part, pour des applications plus li tre interactive (ex mit ees, lutilisation de SAS/IML peut e ecution ligne par ligne). La gestion de la m emoire et donc, la taille des matrices est dynamique, aucune d eclaration nest n ecessaire. Dautre part, SAS/IML int` egre des primitives graphiques usuelles mais qui offrent naturellement moins de possibilit es que le module SAS/GRAPH sp ecique. Malheureusement, compte tenu du co ut de location dun module suppl ementaire de SAS et de sa lenteur, ce module est rarement impl ement e dans les entreprises ; les utilisateurs avertis se satisfont, le plus souvent, ` l des possibilit es offertes par le langage propre a etape data dont la logique et la syntaxe sont franchement diff erentes de celles de SAS/IML. Ils rechignent aux investissements humains et nanciers suppl ementaires.

33

34

Chapitre 4. Langage matriciel

Chapitre 5

Graphiques Haute R esolution


Le module SAS/GRAPH permet de tracer des graphes dont la r esolution est celle du p eriph erique utilis e ` celle des proc (terminal X, imprimante laser, diapositives,. . .) avec une qualit e bien sup erieure a edures du chapitre 3 (graphiques par caract` eres). Une multitude doptions pilot ees par les options des proc edure ou des commandes permettent de modi` loisir tous les aspects des graphiques : dimensions, couleurs, titres, l tiquettes, axes, e chelles, er a egendes, e tre produits a ` condition polices et dimensions des caract` eres,. . .. Des graphiques tr` es sophistiqu es peuvent e de ma triser toutes les subtilit es des deux volumes de la documentation SAS/GRAPH. Les proc edures de base (gchart, gplot) poss` edent la m eme syntaxe que les proc edures correset ees par des options sp eciques. Dautres pondantes en basse r esolution du chapitre 3 mais sont compl proc edures permettent de tracer des fonds de cartes (gmap), des surfaces ou nuages de points en trois dimensions (g3d), de dessiner dautres polices de caract` eres (gfont), de combiner plusieurs graphes de natures diff erentes sur une m eme page (greplay), de tester linstallation de SAS/GRAPH, les param` etres du p eriph erique courant et les options en vigueur (gtestit). tre rajout Enn, tout texte ou gure g eom etrique compl ementaires peuvent e es sur un graphe en les d ecrivant dans une table SAS sp eciale dite dannotation : Annotate Data Set.

Environnement

Le graphique demand e est trac e dans une zone dont les dimensions sont d enies par les param` etres ` l hsize et vsize (les valeurs maximales sont prises par d efaut) diminu es de lespace n ecessaire a edition tre exprim des titres, sous-titres, notes, l egendes,. . .. Les dimensions peuvent e ees en trois unit es : pouce, cm ou pct qui signie pourcentage de la dimension totale. Cette derni` ere unit e est pr ef erable pour exprimer les tailles de caract` eres et symboles lorsque les dimensions globales, li es au p eriph erique de sortie, ` modications. sont sujettes a En labsence de commande explicite, le graphe appara t sur le p eriph erique par d efaut, ici le terminal X. tre sauv Une fois les graphiques mis au point, ils peuvent e es dans des chiers ou imprim es. La strat egie la ` cr tre visualis plus efcace consiste a eer un chier postscript contenant le graphique qui peut alors e e par lutilitaire ghostview puis, si le r esultat est satisfaisant, dirig e vers une imprimante. La g en eration dun chier postscript n ecessite de soumettre les commandes suivantes : goptions device=psepsf gend=0ax filename gsasfile nomfic.eps; gaccess=gsasfile;

` utiliser avant de r e-ex ecuter les proc edures graphiques. La premi` ere ligne sp ecie le driver du p eriph erique a ventuellement, pr (ici postscript encapsul e), d eroute le trac e vers le chier logique gsasfile et, e ecise les ` un nom de chier x dimensions totales ; la deuxi` eme ligne, affecte l etiquette logique a e par lutilisateur. t Ces options sont valides tant quelles nont pas e e red enies, par exemple au moment de lutilisation de 35

36

Chapitre 5. Graphiques Haute R esolution

SAS/ASSIST et jusqu` a la n de la session SAS. Toute utilisation dun proc edure graphique doit sachever par une commande quit ; avant de pouvoir renommer le chier par une commande filename. Un chier postscript encapsul e permet dincorporer les graphiques produits dans un autre logiciel, par A exemple un traitement de texte comme WORD ou L TEX. Ces chiers postscripts sont visualis es avant impression par lutilitaire ghostview sous Unix. nomfic.ps

2 Commandes globales
Elles d enissent des objets (axes, symboles, trames, l egendes) et les options utilis es pour les trac es ; elles demeurent valables jusqu` a une nouvelle d enition ou la n de la session sas.

2.1

Axes

` 99 sont d tre utilis Des types daxes, num erot es de 1 a enis avant de pouvoir e es dans les diff erents gra paisseur, phiques. Ils pr ecisent l echelle (liste de valeurs, logarithmique), lapparence (longueur, couleur, e paisseur, hauteur), les valeurs des e chelles style de ligne, origine), les marques d echelle (nombre, couleur, e (format), le libell e (police,. . .). Exemple 5.1 : axis1 order=(1973 to 1981 by 2) label=(annee) minor=(number=1) width=3; axis2 order=(0 to 10000 by 1000) label=(Revenu en francs) minor=none width=3;

2.2

L egendes

` 99) sont d Comme pour les axes, diff erents types de l egendes (de 1 a enissables. Ils sp ecient positions et textes des libell es qui identient les diff erents graphismes et symboles utilis es.

2.3

Symboles

` 99) sont d Les diff erents types de symboles (1 a enis an de d ecrire les modes de repr esentation recherch es. Sont concern es : le symbole (forme, taille, couleur) utilis e pour repr esenter un point, le type de lignes reliant les points (couleur, continue, hachur ee, pointill ee,. . .), la fac on ou mode dinterpolation ` moustaches, escaliers, splines, intervalles de conance, r incluant barres, bo tes a egression (lin eaire, polynomiale, spline). Exemple 5.2 : symbol1 interpol=sm50s /* lissage spline */ value=diamond /* symbole */ height=3 /* taille du symb.*/ width=2; /* epaisseur */

2.4

Options graphiques

Outre ceux d ecrits ci-dessus (gaccess, device, hsize, vsize, cette commande red enit les valeurs de 82 param` etres affectant les diff erents aspects du graphique : border cadre autour du graphique, gunit=cm|in|pct unit e de mesure, rotate=landscape|portrait orientation du graphique,

3. proc edure gchart

37

la fac on dont le graphique est envoy e vers le p eriph erique, le fonctionnement du p eriph erique, le texte : ftext police du texte, ftitle police des titres, texte, symboles, types de hachures, l egendes. ` la suite de : Les param` etres reprennent leurs valeurs par d efaut a reset=all|global all concerne tous les param` etres tandis que que global naffecte pas ceux d enis dans la m eme commande.

2.5

Titres et notes

Les commandes title et footnote d enissent des lignes de texte autour du graphique, elles suivent le m eme principe que celui d ecrit au paragraphe I.1.4 et dautres options sont disponibles : taille, couleur et police des caract` eres, position, rotations de la ligne de texte et des caract eres, trac es de lignes. Exemple 5.3 : goptions reset=global gunit=pct border ftext=swissb htext=3; title1 height=5 Laboratoire; title2 de; title3 height=5 Statistique et Probabilistes; footnote1 font=script justify=left Universite Paul Sabatier; tre initialis ` diff Il est important de noter que chaque param` etre peut e e ou red eni a erents endroits dun programme sas : dans les commandes sp eciques (symbol, legend, axes, pattern, title, footnote), par la commande goptions et dans chacune des proc edures. Ceci impose de bien distinguer ` tous les graphes, des param` ` chaque graphe. les param` etres globaux, applicables a etres sp eciques a

proc edure gchart

Cette proc edure trace des diagrammes en barres (hbar), en colonnes et histogrammes (vbar), en secteurs (pie) et ar eolaires (star). Elle peut traiter des variables quantitatives ou qualitatives ; les variables quantitatives sont cod ees explicitement ou automatiquement en classes ou, selon les besoins, somm ees ou moyenn ees.

3.1

Syntaxe
proc gchart <options g en erales> ; by <descending> variable ; vbar liste de variables </<options dapparence> <options statistiques> <options daxes> > > ; hbar liste de variables </<options dapparence> <options statistiques> <options daxes> > ; pie liste de variables </<options dapparence> <options statistiques> ; star liste de variables </<options dapparence> <options statistiques> > ;

3.2

Options g en erales
data=table sas indique le nom de la table ou, par d efaut, la derni` ere cr ee, annotate= table contenant les compl ements graphiques.

38

Chapitre 5. Graphiques Haute R esolution

3.3

Options dapparence

galement possible Elles sp ecient les couleurs, les espacements et largeurs de colonnes ou barres. Il est e dadjoindre un cadre (frame), de supprimer (nolegend) ou modier la l egende. Une option annotate tre introduite au niveau de chaque commande. peut e

3.4

Options statistiques
sumvar= variable quantitative dont le cumul ou la moyenne est repr esent e, freq= variable de pond eration des observations, midpoints= liste des bornes de classes, levels= nombre de classes, type= sp ecie ce que repr esente le graphique (par d efaut une fr equence) : cfreq (fr equence cu` sumvar=). mul ee), cpt (pourcentage cumul e), pct (pourcentage), sum ou mean (associ ees a ` c group= repr esentation de plusieurs graphes c ote a ote suivant les modalit es de la variable sp eci ee (hbar ou vbar), subgroup= d ecoupage des barres ou colonnes selon la participation des modalit es de la variable sp eci ee (hbar ou vbar).

3.5

Options daxes

Deux options permettent de de d enir les axes ou de leur assigner des d eclarations ant erieurs : gaxis=axisn pour laxe des groupes et maxis=axisn pour celui des bornes o` u n caract erise la d enition daxe concern ee (cf. paragraphe V.2.1.).

4 proc edure gplot


Graphiques en haute r esolution de nuages de points en deux dimensions.

4.1

Syntaxe
proc gplot <options g en erales> ; by <descending> variable ; plot liste de graphiques </ < annotate=data-set > < options dapparence> < options daxes>> ; bubble liste de graphiques </ < annotate=data-set > < options dapparence> < options daxes>> ;

4.2

Options g en erales
data=table sas indique le nom de la table ou, par d efaut, la derni` ere cr ee, annotate=table sas table contenant les compl ements graphiques. chelles aux axes des diff uniform impose les m emes e erents graphiques.

4.3

Options dapparence

Elles sp ecient les couleurs, les polices de caract` eres, les tailles des bulles (bubble), le hachurage daires, la d enition de l egendes, la superposition (plot).

4.4

Options daxes

Deux options permettent de d enir les axes ou de leur assigner des d eclarations ant erieurs : vaxis=axisn pour laxe vertical et haxis=axisn pour laxe horizontal o` u n caract erise la d enition daxe concern ee (cf. paragraphe 5.2.1.). De plus, frame trace un cadre tandis que noaxis supprime les axes.

4.5

Commandes

by suivi du nom dune variable qualitative indique que les graphiques sont trac es par groupe dobserva tre tri tions ; la table doit e ee.

5. Annotate data set

39

plot liste des graphes sous la forme : y*x<=n|variable>, avec la m eme syntaxe que pr ec edemment pour d esigner plusieurs graphes (a*(a b),. . .). La variable y fournit les ordonn ees et x les abscisses des points repr esent es par des symboles d enis dans la commande symboln ou par diff erents symboles selon les valeurs de la variable sp eci ee qui induit une classication. Dans ce dernier cas, une e par d l egende est cr ee efaut. bubble liste des graphes sous la forme : y*x = size o` u size est une variable indiquant la taille des ` tracer autour des centres de coordonn bulles a ees x et y .

Annotate data set

tape data, est une table SAS contenant les descriptifs dun Une table dannotations, d enie lors dune e ensembles de graphiques qui viendront se superposer aux r esultats des proc edures pr ec edemment d ecrites (gchart, gplot,...). Il est alors possible de positionner tout libell e ou toute gure g eom etrique simple et ainsi de personnaliser ses graphiques. Des applications imm ediates sont, par exemple, la production de plans factoriels avec identications des points (variables, individus, modalit es) par des libell es explicites ou encore le trac e du cercle des corr elations en analyse en composantes principales. Par principe, chaque ligne ou observation dune table dannotations est une commande de r ealisation dun graphique particulier. Les valeurs de chacune des variables sp ecient comment r ealiser ce graphique : type, emplacement, couleur,. . .. Les variables de la table dannotation ont des noms pr ed enis ; les plus usuelles sont : function indique ce quil faut trac e : bar, draw, frame, pie, symbol, label,. . ., x positionnement en abscisses, y positionnement en ordonn ees, size hauteur des caract` eres, xsys unit e de mesure des abscisses, ysys unit e de mesure des ordonn ees, hsys unit e de mesure des hauteurs, color couleur, ` gauche, centr position dun texte par rapport aux coordonn ees (cal ea e,. . .), line type de ligne (par d efaut, continue), text texte du libell e style police de caract` eres. diter La mise en uvre de ces fonctionnalit es est un peu fastidieuse mais cest la seule fac on de faire e par SAS certains types de graphiques dont les fameux plans factoriels (cf. chapitre 8) avec les libell es en clair de tous les points. Exemple 5.4 Cr eation dune table dannotations : data annocomp; set outcomp; x = prin1; y = prin2; xsys= 2; ysys= 3; text= lib_ind; size= 0.8; label x = axe1; label y = axe2; keep x y text xsys ysys size; run;

40

Chapitre 5. Graphiques Haute R esolution

Chapitre 6

Exploration et Graphiques
1
1.1

Introduction
Contexte

t La convivialit e de linterface du Mac Intosh ainsi que ses capacit es graphiques ont e e utilis ees en statistique pour d evelopper de nouveaux types de programmes pour lexploration dun jeu de donn ees. Ainsi, Macspin puis Datadesk ont introduit les notions de graphiques dynamiques et de graphiques li es. ` l volution en proposant, avec la version 6, un nouveau module : SAS Institute nest pas rest ea ecart de cette e ` linterface graphique propre a ` Unix (X11, OSF/motif). SAS/INSIGHT adapt ea

1.2

Objectif

` laide ` une exploration interactive dun tableau statistique. A Les fonctionnalit es offertes sont destin ees a ` visualiser et tente dinterpr de ces outils, le statisticien cherche a eter les liaisons (lin eaires ou non) pouvant ` exister entre les variables. Les m ethodes statistiques offertes par SAS/INSIGHT sont surtout adapt ees a l etude de variables quantitatives. Le premier contact avec de nouvelles donn ees est rapide et efcace tandis que lexploitation syst ematique, fastidieuse, reste le domaine de pr edilection de la programmation SAS usuelle bien quil soit maintenant possible denregistrer des scripts de commandes de SAS/INSIGHT an de les faire rejouer sur dautres jeux de donn ees.

1.3

Apprentissage

` un usage intensif Ce type de produit fait largement appel aux possibilit es dune interface graphique et a de la souris. Il est donc dun emploi simple et intuitif une fois que les grands principes de son organisation, l succinctement pr esent es ici, sont connus. Lapprentissage est en fait beaucoup plus e ementaire que celui des m ethodes statistiques (parfois tr` es sophistiqu ees) mises en uvre !

Graphiques dynamiques

` un logiciel statistique traditionnel tient a ` lutilisation Lapport essentiel des outils propos es par rapport a tr` es pouss ee des capacit es du multi-fen etrage, de linter-activit e et du graphique. De nouvelles fonctionnalit es sont ainsi offertes : Tout objet s electionn e1 , individu ou variable, sur un graphe ou un tableau devient aussi s electionn e sur tout autre graphe ou tableau le contenant et pouvant appara tre dans une autre fen etre. Toute modication des donn ees, par exemple en supprimant des points, dune analyse, dun graphe, est instantan ement report ee sur les autres graphes et tableaux de r esultats concern es. La mise en rotation dun nuage de points rep er es par trois variables donne lillusion dune repr esentation en 3 dimensions.

Organisation
t ` partir de la version 6.7. La structure du logiciel a e e compl` etement revue a
1 Clic

` une surbrillance. ou balayage associ es a

41

42

Chapitre 6. Exploration et Graphiques

3.1

Arborescence

` partir du choix Analyse > Interactive data analysis Le module SAS/INSIGHT sex ecute a du menu global dune fen etre SAS. On ouvre alors une table dans fen etre de type feuille de calcul et munie de menus d eroulants. Ces menus apparaissent dans toutes les fen etres. Leurs choix sadaptent en fonction du type de la fen etre et de lanalyse mise en route. File Pour ouvrir ou cr eer une table SAS, sauver les modications dune table ou un grazphique, quitter t SAS. Le choix print na pas e e install e. l Edit Pour s electionner, manipuler variables et observations. Pour reformater ou supprimer des e ements de la fen etre. Analyse Commande les diff erents graphes ou analyses que peut produire SAS/INSIGHT : histogramme ` 2 ou 3 trois dimensions ou diagramme en barre, s erie (nuage avec segments de droites), nuage a ` moustache et histogramme, mod (dynamique), distribution avec bo te a elisation (mod` ele lin eaire g en eralis e), analyse en composantes principales. Tables Compl` ete des r esultats en fonction de lanalyse uni, bi ou multidimensionnelle r ealis ee. Graph M eme chose pour les graphiques. Curves M eme chose pour des estimations non-param etriques (spline, noyau), param etriques ou des tests. vars ajoute les r esidus, des pr evisions, des tests en mod elisation, les composantes principales en ACP. Help Aide en ligne. ` chaque tableau de r Des boutons associ es a esultats apparaisent dans les fen etres. Ils permettent de modier le format, de sauver des r esultats interm ediaires ou encore de modier un param` etre de lissage.

3.2

Fen etre d edition

diteur de tableau. Des lignes, des colonnes, des Elle poss` ede les caract eristiques dutilisation dun e tre s valeurs peuvent e electionn ees tandis que le bouton de langle sup erieur gauche (triangle) propose une liste de modications permettant de d eplacer, trier, s electionner. . .variables et observations.

3.3

Liens avec SAS

SAS/INSIGHT communique avec les autres modules par linterm ediaire de tables SAS. Celles-ci sont ` la demande et contiennent les r tre ainsi export cr ees a esultats des analyses qui peuvent e es pour dautres traitements. Limpression de graphes produits par SAS/INSIGHT est un peu d elicate si lon veut proter de toute la r esolution graphique de limprimante et donc sans passer par une simple recopie d ecran. Il faut suivre ` partir dun fen la proc edure ci-dessous. La cr eation directe dun chier postscript a etre de SAS/INSIGHT nest pas op erationnelle. 1. Pr eparer le graphique, seule la partie visible de la fen etre sera imprim e. ` 2. Sauvegarder ce graphique (save > Graphics Catalog du menu file en format sp ecique a SAS ind ependamment du p eriph erique en indiquant un nom de catalogue (par d efaut sasuser.insight et un nom dentr ee dans ce catalogue (graph1 ci-dessous). ` SAS/INSIGHT. Les op erations suivantes sont ext erieures a ` SAS le programme : 3. Soumettre a goptions hsize=20cm vsize=20cm gaccess=gsasfile device=ps300; filename gsasfile essai.ps; proc greplay igout=sasuser.insight nofs ; replay graph1 ; run ; quit ; qui rejoue le graphique en tenant compte des options cr eant le chier essai.ps. 4. Imprimer le chier :lpx -Fps essai.ps.

4. Graphiques

43

Graphiques

Les menus proposent trois types de graphiques ouvrant chacun sur une fen etre de dialogue permettant de s electionner les variables et xer les options. Pour chaque graphique, on peut modier sa taille, son orientation, sa position (main de la palette) et laligner sur un autre poss edant une variable commune. Un tre cr dans la m autre graphe peut e ee eme fen etre (ou dans une danalyse) en pr es electionnant la zone o` u il tre compl doit appara tre. Chaque graphique peut e et e en utilisant les options de son menu sp ecique. Barchart(Y) pour diagrammes en barres et histogrammes. La s election dune barre s electionne automatiquement les individus concern es. La main permet de modier le nombre et la position des bornes qui quidistantes. Le menu associ restent e e propose dafcher les effectifs et des modications des axes. Scatterplot pour nuage de points dans le plan. La s election de plusieurs variables num eriques produit un tableau de nuages (scatter plot matrix). Le menu associ e permet de contr oler les axes ainsi que la taille des marqueurs. La souris (` eche) permet de d enir une zone de balayage (brush), dans laquelle tous les points sont s electionn es, puis de la d eplacer en animant ainsi tous les graphes li es. ` laide de la main. Le bouton propose en plus Rotating plot pour nuage en 3 dimensions avec animation a ` la profondeur. une bo te, des rayons, une taille de marqueurs li ee a

Analyses

` sp Trois types danalyses sont propos es. Chacune ouvre une fen etre de dialogue demandant a ecier les variables concern ees et les options. Les variables X, Y sont n ecessairement num eriques comme la variable tre de type caract` de poids. Seule la variable label peut e ere. Le menu sp ecique permet de compl eter les r esultats de chaque type danalyse par dautres calculs, estimations ou tests. Distribution Calcule les indicateurs usuels de la statistique descriptive unidimensionnelle ainsi que les indicateurs robustes, ajuste lhistogramme par une densit e de loi classique ou propose une estimation non-param etrique par la m ethode du noyau avec optimisation de la largeur de fen etre. Tests ` une loi et trac dad equation (Kolmogorov) a e des QQplots. Fit(Y,X) mod` ele lin eaire g en eralis e avec les tests et diagnostics usuels (graphes des r esidus). Le menu sp ecique propose, dans le cas dune seule variable explicative, des ajustements non-param etriques (spline et noyau) avec optimisation du param` etre de lissage. Multivariate(Ys) Matrices des covariances et des corr elations, analyse en composantes principales avec repr esentations des individus mais pas des variables !.

44

Chapitre 6. Exploration et Graphiques

Chapitre 7

Mod` eles lin eaires : analyse de la variance et r egression


Le mod` ele lin eaire est trait e dans SAS essentiellement par les proc edures ANOVA (analyse de la variance orthogonale), REG (r egression), GLM (mod` eles danalyse de la variance non-orthogonaux, analyse de la covariance, mod` eles lineaires g en eraux) et MIXED (mod` eles mixtes). Plutot que d ecrire un r esum e de la volumineuse documentation SAS nous avons choisi de donner quelques exemples incontournables qui reprennent les exemples des chapitres pr ec edents.

l Mod` eles e ementaires

Consid erons un mod` ele de r egression lin eaire qui lie la tension art erielle moyenne (en mm Hg) a l age dun groupe de femmes. Se mod` ele se pose de la fac on suivante :
data sasuser.tension; input age tension; cards; 35 114 45 124 55 143 65 158 75 166 ; run; proc reg data=sasuser.tension; model tension=age; plot tension*age=* p.*age/overlay symbol=.; run;quit;

Interpr etons la seconde partie du programme La premi` ere ligne d eclare que la proc edure va travailler sur la table tension contenue dans le r epertoire sasuser. ` expliquer (tension) et la variable explicative (age). La seconde ligne d eclare la variable a La troisi` eme ligne demande de mani` ere tr` es simple, un graphique qui superpose le nuage de points avec la droite de r egression. Ce graphique nest utilisable quen r egression lin eaire simple. Dans le cas g en eral voir les exemples qui suivent. Le r esultat est (extrait)
Analysis of Variance Sum of Squares 1904.40000 31.60000 Mean Square 1904.40000 10.53333

Source Model Error

DF 1 3

F Value 180.797

Prob>F 0.0009

45

46

Chapitre 7. Mod` eles lin eaires : analyse de la variance et r egression

tension = 65.1 +1.38 age 170 160 tension 150 140 130 120 110 35 40 45 50 55 60 65 70 75 age Plot tension*age PRED*age

N 5 Rsq 0.9837 AdjRsq 0.9782 RMSE 3.2455

F IG . 7.1 Droite de r egression et nuage de points

C Total

1936.00000 Parameter Estimates

Variable INTERCEP AGE 0.0009

DF 1 1

Parameter Estimate 65.100000 1.380000

Standard Error 5.82837885 0.10263203

T for H0: Parameter=0 11.169 13.446

Prob > |T| 0.0015

Le graphique montre clairement que la d ependance entre les variables (indiqu ee par des *) est bien ` la superposition dun point et dune e toile). Lanalyse de la variance montre que la lin eaire (le ? est d ua pente est signicativement non nulle : F=180,... ou T= 13.4... ce qui revient au m eme. ` un facteur extrait de Dacunha-Castelle & Duo (1990). Il sagit Lexemple de lanalyse de la variance a chantillons darbres pris dans trois for de la comparaison de la hauteur de trois e ets.
data ; infile foret3; input hauteur foret; run; proc glm ; class foret; model hauteur= foret; mean foret; output out= sortie r= residu p=predite; run; proc gplot data = sortie; plot residu*predite; run;quit;

les petites diff erences sont l etape data va chercher les donn ees sur un chier unix qui sappelle foret3.

2. R egression multiple

47

residus 4 3 2 1 0 -1 -2 -3 -4 -5 23 24 25 26 valeurs predites

F IG . 7.2 graphique des r esidus ` lanalyse de variance. Par pour l etape proc edure, On a d u bien s ur utiliser un proc edure adapt ee a souci de coh erence avec ce qui suit nous avons pr ef er e utiliser proc GLM plut ot que proc ANOVA. la ligne CLASS d eclare que la variable (foret) (le num ero de la for et) est qualitative. la ligne MEANS demande explicitement les moyennes qui ne sont pas donn ees par d efaut. la ligne OUTPUT r ealise une sortie des r esultats de lanalyse (les r esidus et les valeurs pr edites) sur le data (sortie). Ces donn ees sont reprise par GPLOT qui donne un graphique haute r esolution. On obtient (extrait)
General Linear Models Procedure Dependent Variable: HAUTEUR Source DF Model 2 Error 33 Corrected Total 35 R-Square 0.301664

Sum of Squares 50.44718376 116.78253846 167.22972222 C.V. 7.523912

F Value 7.13

Pr > F 0.0027

HAUTEUR Mean 25.0027778

General Linear Models Procedure Level of FORET 1 2 3 -----------HAUTEUR----------Mean SD 25.9923077 25.4538462 23.1300000 1.39072016 1.82647903 2.43905719

N 13 13 10

vidence d Le graphique des r esidus ne met pas en e ecart manifeste aux postulats. Le tableau danalyse de la variance montre que les trois for ets ont des hauteurs signicativement diff erentes (F = 7.13). Les hauteurs estim ees sont 25.9..., 25.4... 23.1....

R egression multiple

Nous utilisons un jeu de donn ee sur la chenille processionnaire du pin issu de Tomassone et al (1992). Il sagit dexpliquer le nombre de nids de chenillles processionnaires (X11) ou son log (X12) en fonction de caract eristiques de la placette qui sont altitude en m : X1 pente en degr es : X2 nombre de pins dans la placette : X3 chantillonn hauteur de larbre e e au centre de la placette : X4

48

Chapitre 7. Mod` eles lin eaires : analyse de la variance et r egression diam` etre de cet arbre : X5 note de densit e de peuplement : X6 orientation de la placette (1=sud 2=autre) : X7 hauteur en m des arbres dominants : X8 nombre de strates de v eg etation : X9 m elange du peuplement ( 1=m elang e, 2=non m elang e ) X10 On suppose les donn ees rang ees dans le data sasuser.process et on lance le programme suivant

proc reg data= sasuser.process; model X12 = X1-X10/selection = rsquare best =1 model X11 X12 = X1 X2 X4 X5/tol vif r; plot r.*p.; run;quit;

cp

aic bic;

Le programme est volontairement charg e en options pour illustrer les possibilit es de SAS. La premi` ere ligne nappelle pas de commentaire, dans la seconde loption (que lon peut consid erer comme monobloc ` faire tourner lalgorithme de Furnival et Wilson. Cette option selection = rsquare best =1) revient a qui permet le tri automatique de r egresseur[width = 8cm] est la meilleure qui soit et SAS supporte sans probl` emes jusqu` a 15 r egresseurs ce qui couvre la plupart des applications. Elle est clairement pr ef erable ` choisir aux options : Backward Forward Stepwise et Maxsquare qui ont le m eme propos. Il reste a la taille optimale du mod` ele. Pour ce faire nous avons demand e limpression du cp de Mallows (CP) ainsi que les crit` eres dAkaike (AIC) et de Schwarz (BIC). La troisi` eme ligne utilise le mod` ele retenu par la ligne pr ec edente avec le crit` ere du CP. On y a illustr e diverses possibilit es : celle de mettre plusieurs variables ` expliquer et e galement la demande des diagnostics de multicolin a earit e (TOL VIF) et la demande des r esidus. Le graphique qui suitest le graphique classique r esidus (r.) contre valeur pr edite(p.). La sortie est la suivante :
N = 32 Regression Models for Dependent Variable: X12

R-square C(p) AIC BIC Variables in Model 1 0.3722390 28.4409 2.9658 2.8586 X9 -------------------------------------------------2 0.5030220 18.6824 -2.5099 -2.3740 X1 X9 ----------------------------------------------------3 0.5917772 12.7026 -6.8053 -5.8632 X1 X2 X9 -------------------------------------------------------4 0.7118930 3.9032 -15.9567 -11.7138 X1 X2 X4 X5 ----------------------------------------------------------5 0.7247899 4.7437 -15.4222 -10.0751 X1 X2 X4 X5 X10 --------------------------------------------------------------6 0.7434261 5.0681 -15.6660 -8.5451 X1 X2 X3 X4 X5 X9 ----------------------------------------------------------------7 0.7574359 5.8085 -15.4628 -6.4225 X1 X2 X3 X4 X5 X9 X10 --------------------------------------------------------------------8 0.7605669 7.5270 -13.8786 -3.5949 X1 X2 X3 X4 X5 X8 X9 X10 -----------------------------------------------------------------------9 0.7660609 9.0331 -12.6214 -0.7368 X1 X2 X3 X4 X5 X6 X8 X9 X10 --------------------------------------------------------------------------10 0.7664287 11.0000 -10.6717 2.3033 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 ----------------------------------------------------------------------------

` la premi` Cette partie est la r eponse a ere ligne. Elle illustre le choix de mod` eles. Loption (selection = ` 1 r rsquare best = 1) donne le meilleur mod` ele a egresseur, puis celui a 2 r egresseur etc... Dans notre exemple, on peut remarquer que les ensembles de variables choisies ne sont pas hi erarchiques : par exemple, on ne ` 3 r ` celui a ` 4 en rajoutant une variable. passe pas du mod` ele a egresseurs a Le vrai probl` eme, ensuite est de choisir la taille du mod` ele. Dans notre exemple, les crit` eres de CP AIC ` 4 r ou BIC minimum sont remarquablement coh erents et choisissent tous un mod` ele a egresseurs. Nous ne donnons ci-dessous la sortie que pour la variable X11, celle pour X12 a exactement le m eme format.

2. R egression multiple
Model: MODEL2 Dependent Variable: X11

49

nb

nids de procession. par arbre

Analysis of Variance Sum of Squares 13.10487 7.68670 20.79157 0.53357 0.81406 65.54360 Mean Square 3.27622 0.28469

Source Model Error C Total Root MSE Dep Mean C.V.

DF 4 27 31

F Value 11.508

Prob>F 0.0001

R-square Adj R-sq

0.6303 0.5755

Parameter Estimates Parameter Estimate 6.603087 -0.002813 -0.045647 -0.755095 0.168475 Standard Error 1.02423313 0.00078216 0.01345751 0.21590679 0.05153843 Variance Inflation 0.00000000 1.11732623 1.02066803 5.67192545 5.52696248 T for H0: Parameter=0 6.447 -3.596 -3.392 -3.497 3.269 Variable Label Intercept altitude pente hauteur diametre

Variable INTERCEP X1 X2 X4 X5

DF 1 1 1 1 1

Prob > |T| 0.0001 0.0013 0.0022 0.0016 0.0029

Variable INTERCEP X1 X2 X4 X5

DF 1 1 1 1 1

Tolerance . 0.89499376 0.97975049 0.17630697 0.18093121

Dep Var Predict Std Err Std Err Student Obs X11 Value Predict Residual Residual Residual 1 2.3700 1.6964 0.162 0.6736 0.508 1.325 2 1.4700 1.2602 0.180 0.2098 0.502 0.418 3 1.1300 1.3642 0.209 -0.2342 0.491 -0.477 4 0.8500 1.0823 0.165 -0.2323 0.507 -0.458 5 0.2400 0.3341 0.166 -0.0941 0.507 -0.186 6 1.4900 1.0255 0.108 0.4645 0.522 0.889 7 0.3000 0.0136 0.257 0.2864 0.468 0.612 8 0.0700 -0.1807 0.268 0.2507 0.462 0.543 9 3.0000 1.8174 **************************extrait de la sortie ******************************* Obs -2-1-0 1 2 1 2 3 4 5 6 7 8 9 10 11 | | | | | | | | | | | |** | | | | |* |* |* |**** |* **| | | | | | | | | | | | D 0.036 0.004 0.008 0.004 0.001 0.007 0.023 0.020 0.150 0.048 0.063

50

Chapitre 7. Mod` eles lin eaires : analyse de la variance et r egression

Residual

Residual

X11 = 8.7732 -0.0034 X1 -0.0775 X2 -1.2921 X4 +0.2819 X5 1.00 N 16 Rsq 0.75 0.7940 AdjRsq 0.50 0.7190 RMSE 0.25 0.5315 0.00 -0.25 -0.50 -0.75
-0.5 0.0 0.5 1.0 1.5 2.0 2.5

X12 = 896.59 +0.1858 X1 +5.9266 X2 -114.43 X4 +36.094 X5 200 N 16 150 Rsq 0.4177 100 AdjRsq 0.2060 50 RMSE 114.44 0 -50 -100 -150 -200 -250
1175 1200 1225 1250 1275 1300 1325 1350 1375 1400 1425 1450

Predicted Value

Predicted Value

F IG . 7.3 graphique des r esidus pour les deux variables X11 et X12
12 13 14 | | | *| |** |** | | | 0.027 0.094 0.030

Remarquons dabord que le graphique de r esidus pour X11 est pathologique. Que lon se rassure celui pour X12 ne lest pas ! Cest pour cela que lon a travaill e sur les log dans la premi` ere analyse. Les valeurs des estimateurs montrent un effet positif (c.` a d. une diminution) de laltitude de la pente et ventuellement sinterpr ` certaines de la hauteur des arbres. Cela peut e eter comme une difcult e dacc` es a placettes qui serait protectrice. On constate que toutes les variables retenues par la proc edure pr ec edente sont signicatives. Les indicateurs de colin earit e (on v erie que TOL est linverse de VIF) sont relativement raisonnables. ` lanalyse de r Les deux derniers tableaux sont d us a esidus demand e par loption /r. Le premier ne pose pas de problemes dinterpretation. Le second est conc u pour la recherche de corr elations entre r esidus cons ecutifs. Il comprend une repr esentation des r esidus par un diagramme en b atons ainsi que la valeur du D de Cook : mesure dinuence de la mesure sur le param` etre estim e.

` deux facteurs Analyse de la variance a

Les donn ees que nous allons utiliser sont extraites de Calas et col. (1998). Dans cette exp erience on chantillons de dents contamin compare laction de deux traitements (facteur trait) d esinfectants sur des e ees au pr ealable par deux sources de germes (facteur germe). La r eponse est le nombre moyen de germes lectronique. Pour des raisons dhomog restant. Elle est mesur e par microscopie e en eite de la variance, on tre incorpor travaillera plut ot sur le log de ce nombre (LNBAC). Dautres facteurs devraient en fait e es dans le mod` ele danalyse : l age de la dent, la vache dont est issu la dent etc..., mais par souci de simplicit e nous les omettrons ici. En supposant les donn ees pr esentes dans la table sasuser.dents lanalyse se fait par
proc glm data=sasuser.dents; class trait germe; model lnbac=trait germe trait*germe; output out=sortie predicted=p student=r; lsmeans trait germe trait*germe/ out=graph;

3. Analyse de la variance a ` deux facteurs


run; quit;

51

La seconde ligne d eclare trait et germe en qualitatif. la troisi` eme d eclare le mod` ele standard danalyse ` deux facteurs avec interaction. La quatri` crit, sur une table SAS, les r de la variance a eme ligne e esidus et les valeurs pr edites en vue de pr eparer un graphique haute r esolution. La cinqui` eme ligne demande les crit dans la table graph. moyennes ajust ees : lsmeans et les e Les commandes suivantes sont typiquement UNIX. Elles permettent de construire des graphiques haute crire en postcript encapsul ` titre r esolution et de les e e dans les chiers gra.eps. Nous laissons au lecteur, a dexercice, le soin de d ecouvrir leur logique.
/* -------------------------------*/ goptions device=psepsf gend=0ax gaccess=gsasfile vsize= 8cm hsize=12cm ; filename gsasfile graf1.eps; proc gplot data=sortie; axis1 label=(valeurs predites) length=9cm; axis2 label=(residus) length=6cm; symbol v=dot; plot r*p / haxis=axis1 vaxis=axis2 vref=0; ; run;goptions reset=all;quit; goptions device=psepsf gend=0ax gaccess=gsasfile vsize= 8cm hsize=12cm; filename gsasfile graf2.eps; proc gplot data=graph; axis1 label=(germe) order=(1 to 2 by 1) minor=none length=9cm; axis2 label=(moyenne justify=right des effets) length=6cm; symbol1 i=join v=dot cv=black; symbol2 i=join v=triangle cv=black; symbol3 i=join v=circle cv=black; plot lsmean*germe =trait/ haxis=axis1 vaxis=axis2; run;goptions reset=all; quit; goptions device=psepsf gend=0ax gaccess=gsasfile vsize= 8cm hsize=12cm; filename gsasfile graf3.eps; proc gplot data=graph; axis1 label=(trait) order=(1 to 2 by 1) minor=none length=9cm; axis2 label=(moyenne justify=right des effets) length=6cm; symbol1 i=join v=dot cv=black; symbol2 i=join v=triangle cv=black; symbol3 i=join v=circle cv=black; plot lsmean*trait=germe / haxis=axis1 vaxis=axis2; run;goptions reset=all; quit;

Ces programmes donnent les r esultats suivants


General Linear Models Procedure Class Level Information Class TRAIT GERME Levels 2 2 Values 1 2 1 2

Number of observations in data set = 64 General Linear Models Procedure Dependent Variable: LNBAC Sum of Mean

52

Chapitre 7. Mod` eles lin eaires : analyse de la variance et r egression

residus 3 2 1 0 -1 -2 -0.6 -0.1 0.4 0.9 1.4 1.9 valeurs predites


F IG . 7.4 graphique des r esidus

Source Model Error Corrected Total

DF 3 60 63 R-Square 0.528649

Squares 26.8258464 23.9183125 50.7441589 C.V. 98.91739 Type I SS 0.1037806 16.7022612 10.0198046

Square 8.9419488 0.3986385

F Value 22.43

Pr > F 0.0001

Root MSE 0.63138 Mean Square 0.1037806 16.7022612 10.0198046 F Value 0.26 41.90 25.14

LNBAC Mean 0.63829 Pr > F 0.6118 0.0001 0.0001

Source TRAIT GERME TRAIT*GERME

DF 1 1 1

Least Squares Means TRAIT 1 2 LNBAC LSMEAN 0.67855719 0.59801969 GERME 1 2 LNBAC LSMEAN 1.14914344 0.12743344

TRAIT 1 1 2 2

GERME 1 2 1 2

LNBAC LSMEAN 1.58508813 -0.22797375 0.71319875 0.48284063

quilibr Ce jeu de donn ees est parfaitement e e : pour un couple traitement-germe, il y a exactement 16 observations. Pour cette raison nous ne pr esentons pas le tableau danalyse de la variance de type III car il ` celui de type I. On voit dans le tableau de type I que linteraction est signicative et que par est identique a tre conserv cons equent les deux facteurs doivent e es, par contre leffet traitement est non signicatif ce qui est intriguant. On comprend mieux ce qui se passe en regardant les moyennes ajust ees ou les graphiques

3. Analyse de la variance a ` deux facteurs

53

1.4 1.2 1.0 0.8 0.6 0.4 0.2 0.0 -0.2 -0.4 1 germe trait . 1 2 2

1.4 1.2 1.0 0.8 0.6 0.4 0.2 0.0 -0.2 -0.4 1 trait germe . 1 2 2

F IG . 7.5 graphique des interactions dans les deux sens correspondants : un traitement est efcace sur un germe et le second sur lautre. quir ` deux niveaux. Quand les Ici nous avons donn e un exemple de donn ees e ep et ees avec des facteurs a quir donn ees ne sont pas e ep et ees, le tableau danalyse de la variance nest pas unique, il est alors conseill e ` la directive lsmeans (et non pas means) dutiliser le tableau de type III, voir Aza s (1994) . Le recours a est n ecessaire. Dans le cas o` u les facteurs ont plus de deux niveaux, et dans le cas o` u les effets sont signi quilibr catifs, une comparaison de moyennes est n ecessaire. Elle se fait, dans le cas e e, par l option means trait germe trait*germe /tuckey;

` la main apr` Dans le cas d es equilibr e, le mieux est le plus souvent de faire un m ethode de Bonferroni a es ` deux par avoir demand e les comparaisons deux a lsmeans trait germe trait*germe /tdiff;

Exercice 3.1 Nous allons illustrer labominable complexit e de loption /solution en analyse de la variance a ees on e e invent ees. Luti` deux facteurs. Voici un exemple volontairement simple et dont les donn t lisation de /solution donne la valeur -12 a ete telle ? ` la n du tableau pour a*b 1 1. Comment sinterpr`
data; input a b y; cards; 1 1 5 1 1 3 1 2 25 1 2 27 1 2 32 2 1 12 2 2 21 2 2 27 ; proc glm ; class a b; model y= a b a*b/solution; lsmeans a b a*b; run; quit; -------------Dependent Variable: Y Source Model Error Corrected Total DF 3 4 7 Sum of Squares 792.000000 46.000000 838.000000 Mean Square 264.000000 11.500000 F Value 22.96 Pr > F 0.0055

54
R-Square 0.945107

Chapitre 7. Mod` eles lin eaires : analyse de la variance et r egression


C.V. 17.84824 Root MSE 3.39116 Y Mean 19.0000

Source A B A*B

DF 1 1 1

Type III SS 6.857143 555.428571 61.714286

Mean Square 6.857143 555.428571 61.714286

F Value 0.60 48.30 5.37

Pr > F 0.4831 0.0023 0.0814

Dependent Variable: Y T for H0: Parameter=0 B B B B B B B B B 10.01 1.29 . -2.89 . -2.32 . . . Pr > |T| Std Error of Estimate 2.39791576 3.09569594 . 4.15331193 . 5.18009009 . . .

Parameter INTERCEPT A 1 2 B 1 2 A*B 1 1 2 2

Estimate 24.00000000 4.00000000 0.00000000 -12.00000000 0.00000000 -12.00000000 0.00000000 0.00000000 0.00000000

1 2 1 2

0.0006 0.2659 . 0.0446 . 0.0814 . . .

NOTE: The XX matrix has been found to be singular and a generalized inverse was used to solve the normal equations. Estimates followed by the letter B are biased, and are not unique estimators of the parameters. A B Y LSMEAN 1 1 2 2 1 2 1 2 4.0000000 28.0000000 12.0000000 24.0000000

4 Analyse de la covariance
Les donn ees que nous consid erons sont extraites de Tanner(1964). Elles contiennent la mesure ann ee ` 10 ans. Ces llettes sont regroup par ann ee de la taille de llettes de 6 a ees en trois classes, suivant la taille de leur m` ere (facteur (tmere) :p petite, m moyenne, g grande). On indique par ailleurs dans le chier -le ` 10 num ero de lindividu dans le groupe de taille de m` ere : (ind) -ensuite les 5 tailles de lindividu de 6 a ans. Extrait des donn ees :
tmere p p p p p p m m ind 1 2 3 4 5 6 1 2 taille de 6 a 10 ans 111 110 113.7 114.0 114.5 112.0 116 117.6 116.4 115.8 119.7 118.9 122.0 117.3 122 123.2 121.7 121.5 125.3 124.6 126.4 124.4 126.6 129.3 126.3 126.6 130.1 129.1 131.2 129.2 132.6 134.5 130.5 131.4 136.0 134.0 135.0 135.2 137.6 138.9

` expliquer : la taille, est fonction de variables qualitatives (tmere, ind) et dune variable La variable a

4. Analyse de la covariance

55

quantitative lage. Cest une situation danalyse de la covariance. On remarque de plus que le facteur individu est hi erachis e au facteur tmere. Le chier de donn ee nest pas sous forme standard, voici la mani` ere de le lire.
data sasuser.agemere; infile /dess/agemere; input tmere$ ind@@; do i=6 to 10; input taille @@; age =i; output; end; proc print;run;

Pour prendre en compte la variable quantitative (age) et le facteur (tmere) on pose dabord un mod` ele standard dh et erog enit e des pentes.
proc glm data=sasuser.agemere; class tmere ind ; model taille = tmere age age*tmere /solution; output out =a r=re p=es; proc gplot data=a; plot re*es; run;

En fait ce mod` ele nest pas le bon : ind ependamment de la taille de la m` ere, il est clair quil y a des individus plus ou moins grands ou qui grandissent plus vite. On v erie dailleurs cela sur le graphe de r esidus que nous ne donnons pas. Il est n ecessaire de faire appara tre le facteur (ind) qui est hi erachis e au facteur (tmere).
proc glm data=sasuser.agemere; class tmere ind ; model taille = tmere ind(tmere) age age*tmere age*ind(tmere)/solution; lsmeans tmere ind(tmere); output out =a r=re p=es; proc gplot data=a; plot re*es; run;

loption /solution, dont lutilit e est en g en eral tr es limit ee, est n ecessaire ici pour obtenir le coefcient de (age).
General Linear Models Procedure Dependent Variable: TAILLE Source Model Error Corrected Total DF 39 60 99 R-Square 0.996806 Sum of Squares 8909.01740 28.54900 8937.56640 C.V. 0.537826 Mean Square 228.43634 0.47582 F Value 480.09 Pr > F 0.0001

Root MSE 0.68979

TAILLE Mean 128.256

Source TMERE IND(TMERE) AGE AGE*TMERE AGE*IND(TMERE)

DF 2 17 1 2 17

Type I SS 1534.58354 774.71086 6535.67445 33.34026 30.70829

Mean Square

F Value

Pr > F 0.0001 0.0001 0.0001 0.0001 0.0001

767.29177 1612.58 45.57123 95.77 6535.67445 13735.70 16.67013 35.03 1.80637 3.80

56
Source TMERE IND(TMERE) AGE AGE*TMERE AGE*IND(TMERE) DF 2 17 1 2 17

Chapitre 7. Mod` eles lin eaires : analyse de la variance et r egression


Type III SS 1.95739 27.67190 6468.29463 33.34026 30.70829 Mean Square F Value 0.97869 2.06 1.62776 3.42 6468.29463 13594.09 16.67013 35.03 1.80637 3.80 Pr > F 0.1368 0.0002 0.0001 0.0001 0.0001

Parameter INTERCEPT AGE AGE*TMERE

Estimate 76.98000000 B 5.83000000 1.11000000 -0.12000000 0.00000000 -1.72000000 -0.43000000 -0.57000000 -0.48000000 -1.12000000 -0.52000000 0.00000000 -0.33000000 -0.32000000 0.43000000 -0.49000000 -0.06000000 -0.23000000 0.00000000 -0.94000000 -0.47000000 -0.33000000 -0.81000000 -0.81000000 0.00000000 B B B B B B B B B B B B B B B B B B B B B B B B

T for H0: Parameter=0 43.44 26.73 3.60 -0.39 . -5.58 -1.39 -1.85 -1.56 -3.63 -1.69 . -1.07 -1.04 1.39 -1.59 -0.19 -0.75 . -3.05 -1.52 -1.07 -2.63 -2.63 .

Pr > |T|

Std Error of Estimate 1.77211456 0.21813222 0.30848555 0.30848555 . 0.30848555 0.30848555 0.30848555 0.30848555 0.30848555 0.30848555 . 0.30848555 0.30848555 0.30848555 0.30848555 0.30848555 0.30848555 . 0.30848555 0.30848555 0.30848555 0.30848555 0.30848555 .

0.0001 0.0001 0.0006 0.6987 . 0.0001 0.1685 0.0696 0.1250 0.0006 0.0971 . 0.2890 0.3037 0.1685 0.1175 0.8464 0.4588 . 0.0034 0.1329 0.2890 0.0110 0.0110 .

g m p AGE*IND(TMERE) 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6

g g g g g g g m m m m m m m p p p p p p

Least Squares Means TMERE g m p IND 1 2 3 4 5 6 7 1 2 3 4 5 TMERE g g g g g g g m m m m m TAILLE LSMEAN 133.111429 127.511429 123.460000 TAILLE LSMEAN 130.940000 134.160000 131.940000 133.580000 133.540000 128.160000 139.460000 126.960000 128.700000 133.620000 124.520000 128.920000

5. Mod` eles mixtes


6 7 1 2 3 4 5 6 m m p p p p p p 124.940000 124.920000 121.180000 121.060000 124.960000 124.120000 125.820000 123.620000

57

Le graphe de r esidus, omis pour des raisons de concision, a un aspect satisfaisant. Le r esidu maximum est de 2cm ce qui est peu en pratique. Tous les effets sont signicatifs sauf (tmere) en type I. Ce dernier point quilibr m erite une explication soign ee. En effet le dispositif est e e, chaque individu est observ e exactement une fois et une seule chaque ann ee. Les composantes du mod` eles seraient orthogonales si on avait pris soin dorthogonaliser la covariable (age) par rapport aux constantes. Cela peut se faire en centrant l age : on introduit la variable (agec) : age-8 qui est centr ee. Le mod` ele est alors orthogonal. En fait la decomposition de type I va faire ceci automatiquement puisque (age) est othogonalis e par ` lintercept ou (tmere). rapport a En consequence le test de type III de (tmere) est fait avec (age) et teste lhypothese : est-ce-que les 3 ` lorigine. L origine correspond droites de r egression moyennes des trois groupes de llettes concourent a ` une taille extrapol ` la naissance qui a peu de sens car la croissance dun e tre humain dans les toutes a ee a premi` eres ann ees nest pas lin eaire. Cette hypoth` eses est peu interpr etable. Ici le test de type I est pr ef erable car il est fait implicitement avec (agec) et teste lhypoth` ese : est` 8 ans. Autrement ce-que les 3 droites de r egression moyennes des trois groupes de llettes concourent a dit Y a til des groupes plus grands que dautres. Il sagit l` a clairement de tester lexistence dun partie h er editaire dans la taille. Exercice 4.1 V eriez les afrmation ci dessus en introduisant la variable (agec). - A laide de votre calcullette ou de matlab (ce qui est malheureusement un comble) calculez la croissance moyenne par an des diff erentes llettes a eechissez au contraintes ` partir de la sortie de /solution . R a ` utiliser en analyse de la variance a ` un facteur.

Mod` eles mixtes

Nous reprenons lexemple pr ec edent mais, plus raisonnablement nous supposons que les individus ont t chantillonn e ee es parmi les trois populations : lletes dont la m` ere est petite, llettes dont la m` ere est moyenne, llettes dont la m` ere est grande. Nous voulons donc faire de linf erence au nivceau de population et non plus des individus. On r ealise lanalyse suivante
data; set sasuser.agemere; agec= age-8; run; proc mixed ; class tmere ind ; model taille = tmere agec agec*tmere /solution; random ind(tmere) agec*ind(tmere); lsmeans tmere/diff; run;quit;

Ici la construction de (agec) est indispensable car la d ecmposition de type I nexiste pas dans proc MIXED. Comme dans proc GLM on d eclare dabord les variables qualitatives. La seule diff erence est que ` part : la ligne random. Ceci correspond a ` la forme la les effets al eatoires sont d eclar es dans une ligne a plus simple dutilisation de proc MIXED. Il existe des formes beaucoup plus sophistiqu ees adapt ees aux situations de mesures r ep et ees que nous ne d etaillerons pas. La ligne LSMEANS demande les moyennes ajust ees pour le facteur (tmere) avec comparaisons.
The MIXED Procedure

58

Chapitre 7. Mod` eles lin eaires : analyse de la variance et r egression

Class Level Information Class TMERE IND Levels 3 7 Values g m p 1 2 3 4 5 6 7

REML Estimation Iteration History Iteration 0 1 Evaluations 1 1 Objective 322.29586816 147.51999619 Criterion

0.00000000

Convergence criteria met.

Covariance Parameter Estimates (REML) Cov Parm IND(TMERE) AGEC*IND(TMERE) Residual Ratio 18.95495193 0.27963566 1.00000000 Estimate 9.01908204 0.13305531 0.47581667 Std Error 3.12620865 0.06256403 0.08687184 Z 2.88 2.13 5.48 Pr > |Z| 0.0039 0.0334 0.0001

Model Fitting Information for TAILLE Description Observations Variance Estimate Standard Deviation Estimate REML Log Likelihood Akaikes Information Criterion Schwarzs Bayesian Criterion -2 REML Log Likelihood Value 100.0000 0.4758 0.6898 -160.140 -163.140 -166.955 320.2804

Solution for Fixed Effects Parameter INTERCEPT TMERE g TMERE m TMERE p AGEC AGEC*TMERE g AGEC*TMERE m AGEC*TMERE p Estimate 123.46000000 9.65142857 4.05142857 0.00000000 5.27000000 0.97857143 0.29714286 0.00000000 Std Error 1.23249377 1.67960589 1.67960589 . 0.17351127 0.23645601 0.23645601 . DDF 17 17 17 . 17 17 17 . T 100.17 5.75 2.41 . 30.37 4.14 1.26 . Pr > |T| 0.0001 0.0001 0.0274 . 0.0001 0.0007 0.2259 .

Tests of Fixed Effects Source TMERE AGEC AGEC*TMERE NDF 2 1 2 DDF 17 17 17 Type III F 16.84 3572.36 9.23 Pr > F 0.0001 0.0001 0.0019

6. bibliographie

59

Least Squares Means Level TMERE g TMERE m TMERE p LSMEAN 133.11142857 127.51142857 123.46000000 Std Error 1.14106751 1.14106751 1.23249377 DDF 17 17 17 T 116.66 111.75 100.17 Pr > |T| 0.0001 0.0001 0.0001

Differences of Least Squares Means Level TMERE TMERE TMERE 1 g g m Level TMERE TMERE TMERE 2 m p p Difference 5.60000000 9.65142857 4.05142857 Std Error 1.61371314 1.67960589 1.67960589 DDF 17 17 17 T 3.47 5.75 2.41 Pr > |T| 0.0029 0.0001 0.0274

t On voit dans lordre que - la convergence a e e obtenue au bout de la premi` ere it eration - leffet al eatoire (ind) est tr` es important. Le facteur dh et erog en eit e des pentes (agec*ind(tmere)) para t moins important, mais il ne faut pas oublier quil est multipli e par (agec) qui peut prendre la valeur 2. Le test chantillons) montre que les effets al de Wald de la nullit e (souvent tr` es conservatif pour des petits e eatoires sont signicatifs. -La solution des effets xes est moins horrible que dans le o` u individu est d eclar e en effet xe. Un petit calcul est quand m eme n ecessaire pour d eduire que la croissance moyenne est de 5.27 + 1/3(0.98 + .3) = 5.70... cm par an. - tous les effets sont signicatifs. On peut en d eduire par ordre d evidence que 1) les llettes grandissent 2) la taille a une composante h er editaire : plus la m` ere est grande, plus la lle est grande et plus elle grandit rapidement. - le tableau des LSMEANS permet de voir que chacun des groupes est signicativement diff erent.

bibliographie

Aza s, J.-M., (1994). Analyse de variance non orthogonale, lexemple de SAS/GLM. Rev. Statistique Appliqu ee, 1994, XLII(2), 27-41. Calas P., Rochd T., Druilhet P. & Aza s (1998). In vitro adhesion of two strains of prevotella nigrescens to the dentin of the root canal : the part played by different irrigations solutions.Journal of Endontics, 24,2, 112, 115. Dacunha-Castelle D. & Duo M. (1990). Probabilit es et statistique, 1. Probl` emes a ` temps xe. Masson dition. 2` eme e Tanner ,J. M. (1964), The Physique of the Olympic Athlete. George Allen and Unwin, London. Tomassone, R., Audrain, S ;, Lesquoy, E. & Millier C (1992)). La r egression : nouveaux regards sur une ancienne m ethode statistique. Masson.

60

Chapitre 7. Mod` eles lin eaires : analyse de la variance et r egression

Chapitre 8

Techniques factorielles
Le module SAS/STAT inclut la plupart des techniques de statistique multidimensionnelles utilisables sur un gros chier de donn ees dont les techniques factorielles. Les proc edures principales sont les suivantes : princomp calcule lanalyse en composantes principales (ACP) dun paquet de variables quantitatives , corresp calcule les analyses correspondances simples (AFC) dune table de contingence ou multiples (AFCM) dun paquet de variables qualitatives ou dun tableau de Burt, candisc calcule une analyse discriminante au sens descriptif (ACP des barycentres des classes), cancorr calcule lanalyse canonique de deux paquets de variables quantitatives, prinqual utilise lalgorithme des moindres carr es altern es pour approcher une version de lACP semilin eaire, factor calcule lanalyse en facteurs communs et sp eciques (factor analysis).

1
1.1

Analyse en composantes principales (ACP)


Syntaxe
proc princomp <options> ; by <descending> variable ; var liste de variables ; weight variable ;

1.2

Options
data=table SAS indique le nom de la table lue ou, par d efaut, la derni` ere cr ee, out=table SAS cr ee la table contenant les donn ees initiales et les composantes principales, carts-types, corr outstat=table SAS cr ee la table contenant les moyennes, e elations ou covariances, valeurs propres et vecteurs propres, prex prexe utilis e pour nommer les facteurs, par d efaut : PRIN, vardef pr ecise le diviseur dans lexpression de la variance : df, n, wdf, weight, noint ACP non centr e si sp eci e, cov ACP non r eduite si sp eci e, l noprint pas d edition des e ements propres.

1.3

Macros-commandes

` linLa proc edure princomp calcule les principaux r esultats dune ACP mais ne fournit ni aides a t crites an de compl terpr etation ni graphique exploitable. Des macros-commandes SAS ont donc e ee eter facilement ces r esultats. Elles sont d etaill ees en annexe et disponibles dans le r epertoire besse/sas/macros/ ; en voici la liste : %acp (table,varind,liste de variables,<red=cov>,poids=,q=3) ; 61

62

Chapitre 8. Techniques factorielles Lance lex ecution de princomp avec pour param` etres : le nom de la table (sasuser. est pris `e tudier, la par d efaut), le nom de la variable contenant les identicateurs, la liste des variables a ventuelle des variables, une e ventuelle variable de pond non r eduction e eration (par d efaut 1/n), le nombre de composantes calcul ees (par d efaut 3). La fen etre output afche les valeurs propres et l les statistiques e ementaires. Calcule et afche les composantes principales, les qualit es de repr esentation des individus et leurs contributions pour q axes. Calcule et afche les coordonn ees des variables, les corr elations variablefacteur, les qualit es de repr esentation.

%gacpsx ; ` l Trace a ecran l eboulis des valeurs propres, %gacpbx ; Trace les bo tes-` a-moustaches parall` eles des composantes principales. %gacpvx (x=axeh,y=axev,nc=nbcar,coeff=1) ; ` l Trace a ecran la repr esentation des variables r eduites avec le cercle des corr elations. Les param` etres indiquent les num eros des axes (par d efaut le plan principal), le nombre max de caract` eres pour afcher les identicateurs (4 par d efaut) et un coefcient pour modier la taille des caract` eres. %gacpix (x=axeh,y=axev,nc=nbcar,coeff=1) ; Fait la m eme chose pour les individus. Lex ecution pr ealable de la macro-commande %epsf permet de g en erer un chier postscript encapsul e lors de lex ecution suivante dune commande de graphique.

Analyse Factorielle Discriminante (AFD)

` La m eme appellation analyse discriminante recouvre plusieurs m ethodes selon que lon cherche a ` d classer des observations ou a ecrire une liaison entre une variable qualitative T et p variables quantitatives ` travers lutilisation de la proc Y 1 , . . . , Y p . Cest ce deuxi` eme aspect qui est ici d ecrit a edure candisc (canonical discriminant analysis).

2.1

Syntaxe
proc candisc <options> ; by <descending> variable ; class variable num erique ou alpha-num erique ; var liste de variables ; freq variable ;

2.2

Options

data=table SAS indique le nom de la table lue ou, par d efaut, la derni` ere cr ee, out=table SAS cr ee la table contenant les donn ees initiales Y et les coordonn ees des individus (canonical variable scores), carts-types, corr outstat=table SAS cr ee la table contenant les moyennes, e elations et les diff erents r esultats calcul es par SAS, prex prexe utilis e pour nommer les facteurs, par d efaut : CAN, noprint pas d edition. ` une conception angloDe tr` es nombreuses options permettent dobtenir diff erents r esultats sp eciques a saxonne : b,p,t ou wcorr, b,p,t ou wcov, b,p,t ou wsscp, distance, anova. Les options les plus usuelles sont bcorr, tcorr. tre construits a ` partir des sorties enregistr Comme pour lACP, les graphiques doivent e ees dans les tables des options out et outstat. Exemple 8.1 AFD des iris proc candisc data=sasuser.iris simple bcorr tcorr out=scores;

3. Analyses des Correspondances class species; run; proc print data=scores round; run; proc plot data=scores; plot can2*can1=species; run;

63

Les travaux pratiques sur lAFD (deuxi` eme partie) d ecrivent un exemple complet en explicitant les pro` lobtention de tous les r grammes n ecessaires a esultats notamment graphiques.

Analyses des Correspondances

La proc edure corresp calcule des analyses des correspondances simples (AFC) ou multiples (AFCM) ` partir dune table de contingence ou dun tableau de Burt (calcul a es par ailleurs), dun tableau de variables ` lACP, cette proc qualitatives ou dun tableau disjonctif complet. Contrairement a edure de conception plus dite la plupart des r r ecente e esultats usuels : diff erentes options de coordonn ees pour les modalit es (barycen` la dispersion, observations et variables suppl triques, biplot), contributions a ementaires, cosinus carr es,. . .. Attention, les options possibles sont tr` es nombreuses mais toutes leurs combinaisons ne sont pas int eressantes ni m eme autoris ees.

3.1

Syntaxe
proc corresp <options> ; /* necessairement une seule des commandes suivantes */ tables variables lignes <, variables colonnes> ; var liste de variables ; /* commandes optionnelles*/ by <descending> variable ; id variable ; contenant les identicateurs des modalit es lignes lorsque la commande var est utilis ee supplementary liste de variables ; suppl ementaires weight variable ; de pond eration

La commande var est utilis ee lorsque les donn ees sont d ej` a sous la forme dune table de contingence ou ` la commande id dun tableau de Burt (afcm en pr ecisant les options mca et nvars=). Elle est associ ee a qui sp ecie les noms des modalit es des lignes de la table. ` partir des variables qualitaLa commande tables cr ee la table de contingence ou le tableau de Burt a tives cit ees avant de lancer lanalyse. Diff erentes possibilit es sont offertes. lAFC simple en construisant la table de contingence par croisement des deux variables : tables variable ligne, variable colonne ; LAFCM classique avec loption mca et en construisant le tableau de burt sym etrique en listant les variables (sans virgule) : tables var1 var2 ... varp ; quivalent a ` lister : Cest e tables var1 var2 ... varp , var1 var2 ... varp ; sans loption mca LAFCM du tableau disjonctif complet avec calcul des coordonn ees des individus en construisant une table de contingence croisant une variable didentication de chaque individu (indent) avec la liste des variables : tables ident, var1 var2 ... varp ; Une autre option de la proc edure corresp : cross=row|column|both permet de construire ` 2 des modalit les variables obtenues par croisement 2 a es des variables cit ees en (lignecolonneles deux). Les coordonn ees des modalit es des variables suppl ementaires sont calcul ees mais elles ne participent ` la d pas a enition des axes factoriels.

64

Chapitre 8. Techniques factorielles

3.2

Options

data=table SAS indique le nom de la table lue ou, par d efaut, la derni` ere cr ee, out=table SAS cr ee la table SAS contenant coordonn ees des modalit es pour les repr esentations gra` linterpr phiques ainsi que les aides a etation (contributions, qualit es), mca pour une analyse des correspondances multiple ; dimens= sp ecie le nombre de dimensions retenues, dition des prols colonnes, cp e nocolumn pas d edition des coordonn ees des modalit es colonnes, norow pas d edition des coordonn ees des modalit es lignes, dition de la table de contingence, observed e dition des prols lignes, rp e noprint pas d edition. Dautres options non cit ees modient les calculs des coordonn ees lignes et colonnes (barycentriques, biplot,. . .). Exemple 8.2 AFC dune table de contingence data tcont; input sexe $ brun chatain blond; cards; M 8 4 7 F 6 3 5 ; proc corresp data=tcont observed; var brun chatain blond; id sexe; run; Exemple 8.3 AFC de deux variables qualitatives data varqual; input sexe $ coul $ freq; cards; M blond 7 F blond 5 M chatain 4 F chatain 6 M brun 8 F brun 6 ; proc corresp data=tcont observed; tables sexe, coul; weight freq; run; Exemple 8.4 AFCM dun tableau de variables qualitatives proc corresp data=sasuser.donnees outc=res mca; tables csp etud ...; run;

3.3

Graphiques

Ils sobtiennent comme pour lACP par la constitution dune table dannotations et en utilisant les coordonn es list ees dans la table SAS, sortie de loption outc.

Chapitre 9

M ethodes de Classication
Pour classer n individus ou p variables en c classes, SAS fournit un ensemble cons equent de m ethodes ` partir dune table SAS contenant lune des donn permettant dobtenir des partitions ou des hi erarchies a ees : tableau X (n p) dobservation s de p variables sur n individus, matrice D (n n) de distances ou dissemblances, matrice S (p p) de ressemblances (corr elations, covariances, ...). Les proc edures de base sont : ` partir de la matrice des donn fastclust R e-allocation it erative a ees X par lalgorithme k -means (MacQueen) sur des p oles initiaux s electionn es selon lalgorithme leader (Hartigan). Cette m ethode est ` un nombre n important dindividus (100 a ` 100 000). adapt ee a ` partir des donn cluster Classication hi erarchique (11 crit` eres en option) des individus a ees de X ou D. varclust Classication des variables (hi erarchique et partition). ` partir des r tree fournit, a esultats hi erarchiques (cluster ou varclust) larbre de classication (den` un niveau x dogramme) ou la partition correspondant a e. ` une classication ou pour analyser les Les proc edures suivantes sont souvent utilis ees pr ealablement a r esultats : standard standardisation des variables, princomp, corresp. . . construction de r esum es factoriels, aceclus estimation de la variance intraclasse, donc des variances des classes sous lhypoth` ese de leur galit e e. discri, candisc analyse discriminante. La version 6, fournit aussi les proc edures modelclust, overclust (construisant des classes empi etantes) et des proc edures plus sp ecialis ees (ipfhc, hier. . .) permettant de traiter des indices non sym etriques.

R e-allocation it erative des n individus

La proc edure fastclust est une extension de la m ethode k -means (Mac-Queen 1967), utilisant des ` p oles dattraction initiaux s electionn es selon lalgorithme leader (Hartigan 1975). Cette m ethode, adapt ee a ` 100 000) op` tapes (2. et 3. sont optionnelles). un nombre n important dindividus (100 a ere en 4 e 1. Construction dune repr esentation initiale des classes : s election de maxc p oles dattraction initiaux dans les premiers individus (algorithme leader contr ol e par loption replace) ` un des individus au p 2. Construction dune classication initiale : affectation un a ole le plus proche, ` jour des p avec mise a oles si option drift. 3. It erations (affectation-repr esentation) contr ol ees par les options conv et maxiter jusqu` a stabilisation des p oles. 4. Construction de la classication nale : affectation des n individus au p ole le plus proche. 65

66

Chapitre 9. M ethodes de Classication

1.1

Syntaxe

proc fastclust maxc=c | radius=t <options> ; var liste de variables ; id variable ; freq variable ; weight variable ; by liste de variables ; Le nombre maximum de classes maxc est de 100 par d efaut, la distance minimale des p oles, le radius (0 par d efaut) est ignor ee si loption replace=random est sp eci ee.

1.2

Options

Options sur les tables data= table SAS contenant le tableau X ; indique le nom de la table lue ou, par d efaut, la derni` ere cr ee. out= table SAS cr ee ; contient les donn ees initiales, les variables cluster et distances associ ees aux classes cr ees et aux distances inter-p oles. mean= table SAS cr ee ; contient les valeurs de cluster et des statistiques sur les classes (_freq_ _rmsstd_ . . .) cluster= nom de la variable de classication cr ee dans out= ou mean= (cluster par d efaut). seed= table SAS contenant les p oles de d epart ; si elle est sp eci ee, elle doit comporter les m emes variables que la table data. S election des p oles de d epart replace=full part none random sp ecie le mode d evolution des leaders dans lalgorithme dinitialisation dHartigan ( etapes 1). random=i option suppl ementaire pr ecisant pour replace=random lentier initialisant le g en erateur pseudo-al eatoire. Construction des classes nales converge=r rapport entre la distance minimale des p oles stabilis es et la distance maximale des p oles de d epart (0.02 par d efaut). l delete=i destruction des classes comportant moins de i e ements (0 par d efaut). drift effectue l etape 2 de lalgorithme. tapes 2 maxiter=i nombre maximum dit erations (1 par d efaut) dans les phases d evolution des p oles des e et 3. strict=r valeur maximale permise de la distance entre un individu et un p ole (radius par d efaut) ; si cette valeur est d epass ee lindividu est rep er e par loppos e du num ero du p ole le plus proche. Contr ole des sorties distance distances entre les p oles stabilis es. list pour chaque individu : identicateur, num ero de classe, distance au p ole. noprint pas d edition. short suppression des p oles (initiaux, stabilis es) et des dispersions. quivaut a ` short + suppression des statistiques sur les variables. summary e Autres param` etres nomiss exclusion des donn ees manquantes de la classication. impute estimation des caract eristiques des donn ees manquantes. vardef pr ecise le diviseur dans lexpression de la variance : df, n, wdf, weight. ` n p c r, r d Le temps calcul de cette proc edure est proportionnel a esignant le nombre de consultations des n individus du tableau X en cours dalgorithme.

_radius_

2. Classication hi erarchique

67

2
2.1

Classication hi erarchique
Syntaxe

proc cluster method=nom <options> ; by liste de variables ; copy liste de variables ; id variable ; rmsstd variable ; racine de la somme des carr es des distances intra var liste de variables ; freq variable ;

2.2

M ethodes

Loption method= pr ecise lun des 11 choix suivants : ` moins de pr average saut moyen (travaille par d efaut sur les carr es de lindice a eciser loption nosquare). ` moins de pr centroid saut inter centres de gravit e (travaille par d efaut sur les carr es de lindice a eciser loption nosquare). complete saut maximum (pr eciser loption trim= pour r eduire les distorsions dues aux points suspects). ventuellement les padensity crit` ere de densit e (selon le choix de lestimation de la densit e, pr eciser e ram` etres k= r= hybrid mode= dim=. eml maximum de vraisemblance sous lhypoth` ese dun m elange de distributions multinormales sph eriques ; m ethode quali ee de lente par SAS ! ! ! exible algorithme exible de Lance et Williams (pr eciser loption beta= ). mcquitty saut moyen pond er e (m ethode de Mc-Quitty (1966). ` moins median algorithme de la m ediane de Gower (1967) ; travaille par d efaut sur les carr es de lindice a de pr eciser loption nosquare. single saut minimum (pr eciser loption trim= pour r eduire leffet de cha ne). tapes) ; selon le choix de lestimation de la densit ventuellement twostage crit` ere de densit e (2 e e pr eciser e les param` etres k= r= hybrid , mode=, dim=. ` moins de pr ward saut de Ward ; travaille par d efaut sur les carr es de lindice a eciser loption nosquare ; pr eciser loption trim= pour r eduire les distorsions dues aux points suspects).

2.3

Options

Options sur les tables data= table SAS contenant le tableau X ou la matrice D de dissemblance ; indique le nom de la table lue tre retenu en pr ou, par d efaut, la derni` ere cr ee ; D peut e ecisant loption type=distance ( elev ees au carr e par d efaut dans les m ethodes average centroid median ward). outtree= table SAS cr ee ; contient, sauf si _null_ est pr ecis e, les sorties utilisables par la proc edure tree. Options de contr ole des algorithmes beta=l sp ecie la valeur l du param` etre b eta dans la m ethode de Lance et Williams (-0.25 par d efaut) doit tre inf ` 1 (couramment entre -1 et 0). e erieur a mode=e sp ecie leffectif minimum e dune classe modale (m ethode density ou twostage). penalty=l sp ecie le coefcient positif de p enalit e (d efaut) dans la m ethode eml. noeigen supprime le calcul des valeurs propres dans le calcul du coefcient ccc. nonorm supprime la normalisation des distances. nosquare travaille sur les distances initiales et non sur leurs carr es. noties ne tient pas compte des ex quo dans les algorithmes. standard centre et r eduit les variables du tableau X. trim=r omet r% (si r > 1) dindividus ayant les densit es les plus faibles. Les points omis sont rep er es par des valeurs n egatives de _freq_.

68 Options associ ees aux crit` eres de densit e

Chapitre 9. M ethodes de Classication

dim=q pr ecise la dimension q de lespace dans lestimation de la densit e (par d efaut nombre de variables pour le traitement de X et 1 pour le traitement de D. hybrid sp ecie lutilisation de la m ethode de Wong (1982). ` utiliser dans lestimation de la densit k=v pr ecise le nombre v de voisins a e. ` utiliser dans lestimation de la densit r=r pr ecise le rayon r de la sph` ere a e. Options de sortie ccc sortie du cubic clustering criterium (Sarle, 1983) et dautres statistiques (rsquare...). noid supprime l edition des identicateurs des classes. dite les c derni` print=c e eres classications. dite les statistiques pseudo F et t2 pour le traitement de X. pseudo e dite la racine carr rmsstd e ee de l ecart type dans chaque classe. dite le R2 et le R2 partiel. rsquare e noprint supprime les sorties. dite des r cart types, diss. simple e esum es : moyennes, e

2.4

Partition ou Classication hi erarchique des variables

tape, on retient les 2 premi` A chaque e eres composantes principales (ou les composantes centroides, contrastes des variables de la classe) sur lesquelles on effectue une rotation orthoblique (crit` ere quartimax), pour obtenir 2 composantes obliques, servant de p oles au d ecoupage. ` d ` la premi` 1. S election dune classe a ecouper ; toutes les variables a ere it eration selon lun des 2 crit` eres pourcentage de variation expliqu ee par la classe (option percent=), valeur de la 2` eme variance principale (option = maxeigen=). Ces valeurs constitue un test darr et. ` la composante oblique la plus corr 2. Affecter chaque variable a el ee (en valeur absolue) pour former 2 classes de variables. (phase NCS ou nearest component sorting). ` une pour maximiser la variance expliqu 3. Echange de classe des variables une a ee par les composantes obliques (search phase).

2.5

Syntaxe

proc varclus <options> ; var liste de variables ; by liste de variables ; seed liste de variables ; (p oles initiaux de variables) ` ces variables remplacent les corr partial liste de variables ; (les corr elations partielles par rapport a elations) weight variable ; freq variable ;

2.6

Options

Options sur les tables data= table SAS contenant le tableau X ou la matrice S de ressemblance, indique le nom de la table lue tre retenue en pr ou, par d efaut, la derni` ere cr ee ; S peut e ecisant loption type= corr | ucorr | cov | ucov | factor | sscp. cart types, corr outstat= table SAS cr ee pouvant contenir (selon les options) moyennes, e elations, scores, structure de classes, etc. . . ` la commande tree. outtree= table SAS cr ee contenant les r esultats utiles a

3. Repr esentation dun arbre de classication Options de contr ole de lalgorithme maxclusters= minclusters= maxeigen= percent= pr ecisent le nombre de classes, centroid retient les composantes centro des et non les composantes principales, covariance= group input random seed pr ecise les p oles initiaux, maxiter= maxsearch= impose une limite au nombre dit erations des phases, ` lalgorithme de Harman (1976), multiplegroup impose les valeurs correspondant a vardef pr ecise le diviseur dans lexpression de la variance (df,n,wdf,weight). Options de sortie dition de la matrice des corr corr e elations, noprint supprime l edition, short supprime l edition des classes, des scores et de la variance inter, dite moyennes et e cart types, simple e dite un r summary e esum e, trace fournit une trace du d eroulement de lalgorithme.

69

Repr esentation dun arbre de classication

A partir des r esultats hi erarchiques (table SAS du type output) de cluster ou varclust, tree trace le dendogramme (arbre de classication) ou cr ee une table SAS fournissant la partition correspondant ` un niveau x a e.

3.1

Syntaxe

proc tree <options> ; name variable ; identie les singletons _name_ parent variable ; identie les nuds _parent_ height variable ; (cf. options) by liste de variables ; copy liste de variables ; freq variable ; id variable ;

3.2

Options

Options sur les tables data= table SAS d enissant larbre : indique le nom de la table lue ou, par d efaut, la derni` ere cr ee. out= table SAS cr ee ; contient pour un niveau (level) ou un nombre de classes (ncluster) x e, la partition associ ee (variables cluster et clusname). ` i par des donn dock=i remplace en sortie (table out) les objets des classes de cardinal inf erieur a ees manquantes (par d efaut i=0). level=i sp ecie la valeur minimale du niveau de larbre pour les sorties. nclusters=c sp ecie le nombre de classes d esir ees. `e diter. root=nom sp ecie le nom de la racine du sous-arbre a height= height | length | mode | ncl | rsq sp ecie la variable utilis ee pour les niveaux de larbre : crit` ere initial, nombre danc etres du nud, variable modale, nombre de classes, coefcient de corr elation tre ajout ventuellement, multiple. Les options dissimilar ou similar peuvent e ees pour pr eciser, e si les valeurs de height sont des dissemblances ou des ressemblances. graphics utilise le module SAS/GRAPH pour la repr esentation de larbre en haute r esolution.

70 Contr ole de laxe des paliers

Chapitre 9. M ethodes de Classication

inc=i (maxheight=i minheight=i) impose lincr ement (le max le min) du palier. ntick=i (tickpos=i) impose le nombre de (caract` eres entre) marques de graduations. pages=i nombre de pages (d efaut 1) de la repr esentation. pos= i impose le nombre dimpressions de laxe. spaces=i impose le nombre despaces entre les objets (singletons). La valeur par d efaut des 2 derniers param` etres d epend de lorientation verticale ou horizontale de larbre et des valeurs de pagesize et linesize. Contr ole des sorties dit graphics le graphique est e e en haute r esolution (si le module SAS/GRAPH est disponible, list pour chaque nud : hauteur, parents, enfants, noprint pas d edition, horizontal repr esentation horizontale de larbre. Autres param` etres sort (resp. descending) trie, pour chaque nud, les enfants dans lordre (resp. inverse) de la variable height en respectant lordre de formation des classes. llchar=c (resp. joinchar, leafchar, treechar) pr ecise le caract` ere utilis e pour repr esenter les inter-branches, les fusions, les feuilles, les noeuds. Ces caract` eres sont par d efaut ,x,.,x.

Chapitre 10

S eries temporelles
Le module SAS/ETS permet de traiter les s eries temporelles (lissage, identication, estimation, pr evision) et inclut la plupart des techniques statistiques usuelles. Les proc edures principales sont les suivantes : arima permet didentier, destimer et de pr evoir les s eries temporelles univari ees de type AR, MA, ARMA, ARIMA et SARIMA en utilisant la m ethodologie de Box & Jenkins, forecast met en uvre les m ethodes de lissage exponentiel de type Holt-Winters. galement la proc Citons e edure autoreg qui estime les param` etres de la r egression avec erreurs corr el ees de type ARMA ou ARCH (sas version 6.11), la proc edure spectra qui permet destimer la densit e spectrale de la s erie et la proc edure statespace qui traite les mod` eles ARMA multivari es.

Mise en forme des donn ees

La table sas contenant la s erie temporelle doit n ecessairement poss eder une variable num erique contenant les temps dobservation. Il est pr ef erable que cet identicateur du temps soit dans un format SAS appropri e d eni lors de l etape Data. Ainsi, par exemple, SAS pourra extrapoler le temps lors de pr evisions. chelles de Il existe un grand nombre de formats temporels sous SAS qui recouvrent quasiment toutes les e temps (se reporter au manuel SAS/ETS, chapitre 2). Citons les formats les plus courants : hour. pour les heures, day. pour le jour, monthyy. pour les mois et lann ee, yyqc. pour les trimestres et lann ee. Exemple 10.1 Exemple de cr eation automatique dune variable format ee de temps. data exemple1; date=intnx(month,1dec85d, _n_); format date monyy.; input x @@; cards; 52 56 54 48 45 56 57 ... ; run; qui donne la table suivante x 52 56 54 .. date JAN86 FEB86 MAR86 .. 71

72

Chapitre 10. S eries temporelles

Exemple 10.2 Cr eation implicite de la variable temporelle par num erotation des observations data exemple2; n=_n_; input x @@; cards; 52 56 54 48 45 56 57 ; run;

...

2 La proc edure ARIMA


` la d Lemploi de la proc edure arima est analogue a emarche propos ee par Box & Jenkins. Elle comprend les trois phases successives : ` la phase didentication du mod` ` calculer les autocorr identify qui correspond a ele et consiste a elations partielles pour d eterminer le d egr e souhaitable de diff erenciation de la s erie et lordre du processus arma. estimate qui fournit lestimation des param` etres et des tests de validit e du mod` ele. forecast pour la pr evision.

2.1

Syntaxe
proc arima data=table sas ; identify <options> ; estimate <options> ; forecast <options> ;

2.2

commandes
var=x indique la variable contenant la s erie temporelle dont on calcule la corr elation crois ee et lautocorr elation partielle. Il est possible de travailler sur la serie diff erenci ee en pr ecisant lordre de diff erenciation, par exemple ` lordre 1 : var=x(1) indique que lon utilise la s erie diff erenci ee a yt = xt xt1 = (1 B )xt o` u B est lop erateur retard, var=x(1,12) indique que lon travaille sur yt = (1 B )(1 B 12 )xt . nlag=n indique le nombre de retards utilis es pour lestimation de la corr elation crois ee. center indique la s erie est centr ee au pr ealable.

identify : identication du mod` ele

estimate : estimation des param` etres Les param` etres du mod` ele sont estim es en utilsant la s erie (diff erenci ee ou non) d enie dans identify par linstruction var=. p = n ou p = (r1 , . . . , rp ) (r1 , . . . , rp ) sp ecie le degr e de la partie autor egressive du mod` ele. Par exemple, p = 2 signie que lon estme les coefcients (a1 , a2 ) du mod` ele AR(2) (1 a1 B a2 B 2 )xt p = (1, 3)(2, 4) signie que lon ajuste le mod` ele (1 a1 B a2 B 3 )(1 a3 B 2 a4 B 4 ). q = n ou q = (r1 , . . . , rp ) (r1 , . . . , rp ) sp ecie le degr e de la partie moyenne mobile du mod` ele. Par exemple, q = 3 signie que lon estime les coefcients (a1 , a2 , a3 ) du mod` ele (1 a1 B a2 B 2 a3 B 3 ) t 2 q = (1, 2)(4) signie que lon ajuste le mod` ele (1 a1 B a2 B )(1 a4 B 4 ) t . noint supprime la constante du mod` ele. plot trace les corr elations crois ees des r esidus destimations. forecast : pr evision t Cette instruction permet de pr evoir la s erie dont les param` etres ont e e estim es dans estimate lead=n pr ecise lhorizon de la pr evision.

3. La proc edure forecast

73

` la ne ` me observation en partant de la n de back=n pr ecise que le d ebut de la pr evision commence a la s erie. id=identicateur de la variable de temps pr ecise la variable utilis ee comme identicateur du temps. Si cette variable est format ee, SAS extrapole les valeurs de temps. ` utiliser conjoin interval = permet de d enir lintervalle s eparant deux mesures. Cette options est a tement avec id= pour permettre dextrapoler les valeurs du la variable de temps. Par exemple interval=month sp ecie que lintervalle entre deux mesures est le mois. out=tablesas cr ee une table sas contenant les valeurs pr evues, les intervalles de conance, les r esidus destimations, ...

2.3

Quelques exemples

Exemple 10.3 Estimation dun processus ARMA(1,1) proc arima data=exemple1; identify var=x; /* la variable x contient la s erie ` a traiter */ estimate noint p=1 q=1 /* on estime les coefficients dun ARMA(1,1) */ plot; run; Exemple 10.4 Estimation et pr evision dun processus ARIMA(2,1) proc arima identify estimate forecast data=exemple1; var=x(1) /* on differencie la serie */ noint p=2 q=1 plot; id=date interval=month lead=12 /* lhorizon de la pr evision est de out=result ;

un an */

run;

La proc edure forecast

La proc edure forecast permet deffectuer des pr evisions de la s erie bas ees sur des m ethodes de types lissages exponentiels. Elle est automatique et permet de traiter rapidement des s eries volumineuses. Le lecteur est renvoy e au manuel SAS/ETS et au livre de Gourieroux & Montfort (1990) pour plus de pr ecisions sur les m ethodes utilis ees ici.

3.1 Syntaxe
proc forecast <options> ; by <descending> variable ; id <options> ; var liste de variables ;

3.2

options
e, data= table sas indique le nom de la table ou, par defaut, la derni` ere cr ee method= prend les valeurs method=expo pour effectuer un lissage exponentiel, winters pour un lissage exponentiel incluant une saisonnalit e et addwinters pour un lissage additif incluant une saisonnalit e. trend=1, 2 ou 3 pr ecise le degr e de la tendance. trend=1 signie que lon ajuste une constante, trend=2 une droite et trend=3 un polyn ome de degr e 2. interval= indique le temps s eparant deux observations. Par exemple interval=month signie que lon dispose dobservations mensuelles. seasons=intervalle indique la saisonnalit e de la s erie. Par exemple seasons=day pr ecise le caract` ere journalier de la saisonnalit e. lead=n indique lhorizon de la pr evision. out=table sas cr ee une table SAS contenant, entre autres, pr evisions et intervalles de conance.

74

Chapitre 10. S eries temporelles

3.3

commandes

id = identicateur du temps pr ecise la variable permettant didentier le temps. Lutilisation conjointe avec loption interval= permet dextrapoler les valeurs du temps pour les valeurs pr edites. ` prevoir. var = liste de variables pr ecise la liste des variables a

3.4

Exemple

Exemple 10.5 Lissage par la m ethode de Winters avec saisonnalit e et tendance polyn omiale proc forecast data=exemple1 method=winters trend=2 seasons=month interval=month lead=24 out=result; id date; var x; proc gplot data=result; /* graphique des valeurs pr edites */ plot x*date=_type_; /* _type_ prend les valeurs ACTUAL pour les */ /* observations et FORECAST pour les previsions */ run; quit;

Chapitre 11

Plans dexp erience


` lutilisation de la proc Ce chapitre se limite a edure plan qui g en` ere des plans randomis es classiques : galement g plans en blocs , carr es latins, split plots etc. . .Par certaines astuces on peut e en erer des plans fractionnaires. Dautres outils plus sp ecialis es sont disponibles dans le module SAS/QC.

g en eration de plans randomis es

On d enit dabord une structure des parcelles par la directive factors. Par d efaut les niveaux des t facteurs sont al eatoires sauf si la proc edure a e e appel ee avec loption /ordered ;. Tous les facteurs d enis par factors sont crois es. Par exemple proc plan ; factors ligne=5 ordered colonne=10 ordered; run; d enit une structure de 50 parcelles en 5 lignes et 10 colonnes. Autre exemple : proc plan ; factors bloc=3 ordered trait=10; run; g en` ere un plan en blocs complets randomis es. Aux facteurs de base d enissant la structure du plan, on peut ajouter dautres facteurs qui vont eux varier sur la structure d enie par les premiers facteurs. Cest lobjet de la commande treatments. Voici une autre fac on de g en erer un plan en blocs complets avec maintenant un num ero de parcelle. proc plan ; factors bloc=5 ordered numero=10 ordered; treatments trt=10 random; run; alors que proc plan ; factors bloc=5 ordered numero=10 ordered run; trt=10;

` 500 unit tre ordonn g en` ere un plan a es. Un traitement peut e e (ordered), al eatoire (random) ou varier cycliquement. Dans le dernier cas la syntaxe est la suivante : treatments trt = n of p cyclic (bloc initial) incr ement; Lincr ement par d efaut est 1. Par exemple pour une structure 5 4 treatments trt = 4 of 5 cyclic (1 2 4 3) ; 75

76 donne 1 2 3 4 5 2 3 4 5 1 4 5 1 2 3 3 4 5 1 2

Chapitre 11. Plans dexp erience

Pour ce qui est de traitements al eatoires treatments trt = 4 of 5 ; donne des tirages sans remise de 4 traitements par bloc parmi 1 2 3 4 5.

Sortie dans une table sas

Les sorties permettent de cr eer une table au format statistique standard contenant les facteurs g en er es. tre renum A cette occasion les modalit es de facteurs peuvent e erot ees et surtout randomis ees. Pour r esumer : output out= nomdata facteur1 random facteur2 nvals = (1 3 5) facteur3 cvals =( A B C) ; sort dans la table nomdata 3 facteurs : le premier est randomis e et prend ses valeurs entre 1 et son nombre de niveaux. le second a 3 niveaux num erot es dans lordre 1 3 5 le troisi` eme a 3 niveaux num erot es dans lordre A B C ;

3 Exemples
Plan compl` etement randomis e avec 20 unit e et 4 traitements data a; do unit = 1 to 20; if (unit<= 5) then treat = 1; else if (unit<= 10) then treat = 2; else if (unit<= 15) then treat = 3; else treat = 4; output; end; proc plan ; factors unit = 20; output data=a out =b; run; proc sort; by unit; run;proc print; run; La proc edure plan nest pas tellement pr evu pour ce type de plan, la solution propos ee est acrobatique. Ici la directive output prend la table a et en randomise le facteur unit suivant la randomisa` rapprocher de la randomisation dun plan en bloc tion d enie par proc plan. Cette solution est a incomplet. Plan en bloc complet avec 3 blocs et 4 traitements proc plan ; factors bloc=3 ordered numero=4 ordered; treatments trt=10 random; run;

4. randomisation dun plan d ej` a existant

77

Carr e latin proc plan ; factors ligne = 6 ordered colonne =6 ordered; treatment trt 6 cyclic (6 1 5 2 4 3); output out=a ligne random colonne random;{\tt sortie} run;quit; Notez que le bloc initial, qui est particulier, donne au plan des propri et es d equilibre des voisinages en ligne. Si on ne le pr ecise pas il sera par d efaut 1 2 3 4 5 6. splitplot proc plan ; factors bloc=3 ordered parcelle=4 soup =5; run;quit; plans en blocs incomplets De mani` ere g en erale la g en eration de plans en bloc incomplet avec proc plan est rarement possible. Il est par contre toujours possible de randomiser un plan d ej` a existant contenue dans une table. Cest lobjet du paragraphe suivant. Ce nest que dans le cas de plans en bloc incomplet cycliques que lon peut obtenir une g en eration automatique proc plan ; factors bloc= 13 parcelle=8; treatement = 8 of 52 cyclic (1 2 3 4 32 43 46 49) 4; run;quit;

randomisation dun plan d ej` a existant

La commande output data=entree out=sortie permet de lire une table entree contenant un plan, de le randomiser en utilisant proc plan et de sortir sur une table sortie. Considerons par exempleun plan en 2 bloc de 3 sous-blocs de 3 parcelles, par exemple un plan lattice pour 9 traitements. La randomisation se fera par proc plan ; factors bloc=2 sbloc=3 par =3 ; output data=entree out=sortie; run;quit; proc sort data= sortie; by bloc sbloc par; proc print; run;

G en eration de plans fractionnaires

La g en eration de plans factoriels fractionnaires dans leur g en eralite nest pas possible, de m eme que nest pas possible l etude de toutes les confusion dun plan. Pour cela il faut se reporter aux proc edures sp ecialis ees du module SAS/QC. Cependant on peut construire beaucoup de plans 2p par la m ethode des facteurs de base (voir par exemple le livre de Box Hunter et Hunter. Supposons que nous voulons construire un plan pour 5 facteurs A B C D E de r esolution V avec 16 unit es. Supposons les niveaux not es -1 et 1. On obtient le plan par la clef E = ABCD et on le construit par proc plan ; factors a=2 b=2 c =2 d=2 output out=sortie a nvals=(-1 1) b nvals=(-1 1) c nvals=(-1 1) d nvals=(-1 1); run;quit; ;

78

Chapitre 11. Plans dexp erience qui donne le plan factoriel complet pour les 4 facteurs de base. On introduit le 5` eme et la clef par

data set sortie e=a*b*c*d; proc print; run;

Chapitre 12

Macro-commandes
crire des programmes SAS sufsamment g D` es que lon souhaite e en eraux an, par exemple, de les ` diff appliquer a erents jeux de donn ees, il est n ecessaire, par souci defcacit e, de faire appel aux ressources de SAS permettant de d enir des macro-variables et des macro-commandes. Le principe g en eral consiste ` associer une cha ` un identicateur. Par la suite, a ne de caract` eres, une suite de commandes ou, un texte a toute occurrence de cet identicateur est remplac ee par le texte d esign e au cours dun traitement pr ealable ` lex a ecution proprement dite. Le pr e-processeur implicitement invoqu e reconna t diff erents objets : variables, commentaires, commandes, fonctions, arguments, qui lui sont propres (pr ec ed es des caract` eres & ou %) ; ils lui conf` erent les possibilit es dun langage de programmation rudimentaire mais structur e. Les macro-variables et macro-commandes sont connues, sauf d eclaration explicite contraire (%global, %local), dans lenvironnement dans lequel elles sont d eclar ees : globalement pour toute une session SAS ` lint ou localement a erieur dune macro.

Macro-variables

` associer par la commande %let une cha La d eclaration dune macro-variable consiste a ne de caract` eres ` un identicateur : a %let nomvar1=taille; %let nomvar2=poids; %let varlist=csp sexe age taille poids revenu; Certaines d eclarations sont implicites : compteur dune boucle %do, param` etres dune macro-commande,. . .. ` une macro-variable sont pr Dans la suite du programme, les r ef erences a ec ed ees du caract` ere & : tude des variables &varlist";(avec " au lieu de ) title "E proc plot; plot &nomvar1*&nomvar2; run; Une macro-variable peut contenir des commandes ou instructions SAS mais, dans ce cas, il est pr ef erable de d enir une macro-commande.

Macro-commandes
La d eclaration dune macro-commande (ou macro tout court) suit les m emes principes, %macro impdat; %* ceci est un commentaire; proc print; run; %mend impdat; 79

80

Chapitre 12. Macro-commandes

elle peut inclure des param` etres qui deviennent des macro-variables locales : %macro plot(yvar,xvar); proc plot; plot &yvar*&xvar; run; %mend plot; Lex ecution dune macro est invoqu ee en faisant pr ec eder son nom du caract` ere % : %impdat; %plot(taille,poids); Les param` etres peuvent avoir des valeurs par d efaut : %macro plot(yvar=taille,xvar=poids); proc plot; plot &yvar*&xvar; run; %mend plot; Il nest plus n ecessaire de leur assigner des valeurs. Exemple 12.1 Analyse en composantes principales %macro acp(ldataset, lident, llistev, red=); %global dataset ident listev; %let dataset=&ldataset; %let ident=&lident; %let listev=&llistev; %* Acp de dataset ; %* ident : variable contenant les; %* identificateurs des individus; %* llistev : liste des variables (numeriques); %* par defaut : reduites sinon red=cov; %* options edition; options linesize=80 pagesize=60 number; title "A.c.p. des donnees de &dataset"; footnote; proc princomp data=donnees outstat=eltpr out=compr vardef=N &red; var &listev; run; %mend acp; /* acp reduite par defaut */ %acp(crime,staten,murder--auto);

Biblioth` eque de macro-commandes

tre d Une macro-commande doit e eclar ee avant toute utilisation au cours dun m eme session SAS. conomique de les stocker dans une biblioth` Lorsque certaines sont r eguli` erement sollicit ees, il est e eque ` un utilisateur ou a ` un groupe. Les r` ` respecter : de macros sp ecique a egles suivantes sont a 1. Chaque d eclaration de macro et une seule est enregistr ee dans un chier qui a pour nom lidenticateur de cette macro suivi de lextension .sas : impdat.sas,

3. Biblioth` eque de macro-commandes 2. Tous ces chiers sont regroup es dans un ou des r epertoires qui constituent la ou les biblioth` eques,

81

3. le ou les chemins dacc` es sont sp eci es une fois pour toute dans le chier .config.sas du r epertoire daccueil de lutilisateur (home directory) ou lors dune session SAS par la commande : options sasautos=(/app/sas/sasautos /app/sas/TEST/sasautos $home/sas/macros);

82

Chapitre 12. Macro-commandes

Chapitre 13

Enterprise miner
1 Introduction

` certains environnement : statistique e l SAS propose de nombreux modules plus sp eciques a ementaire guid ee (SAS/LAB), contr ole de qualit e, planication exp erimentale, pr evision. . .. Parmi ceux-ci et depuis ` la demande sp la version 8.e, SAS Enterprise Miner (SEM) est la r eponse de SAS Institute a ecique au` la gestion de la relation client. Bien sur, cet outil a dautres tour du data mining et de ses applications a champs dapplication que le marketing comme par exemple la d etection dune d efaillance dans un proc ed e industriel. ` des proc SEM est avant tout une interface graphique a edures ou macros SAS permettant une gestion, ` une prospection de en premi` ere lecture facile, de lensemble de la cha ne des traitements n ecessaires a donn ees (Besse, 2000)1 . En deuxi` eme lecture, les choses se compliquent rapidement. Un utilisateur ne peut chapper a ` une bonne compr pas e ehension des m ethodes propos ees, de leurs conditions dapplication, de leur interpr etation et de leurs limites. Dautre part une personnalisation de lenvironnement pour ajouter ses galement des comp propres traitements n ecessitent e etences informatiques et une bonne connaissance de la programmation SAS classique. Ce court chapitre ne propose pas un cours d etaill e ou un manuel de r ef erence de SEM, tout ceci est disponible dans la documentation en ligne. En effet, linterface graphique, tr` es intuitive, permet de se retrouver ` un rapidement dans les diff erents outils disponibles. Comme pour SAS/Insight, nous nous limiterons donc a ` pr descriptif sommaire des possibilit es offertes de fac on a eciser lorganisation et les capacit es de traitement lev de ce module. Enn il est bon de pr eciser que ce module est dun co ut relativement e e par rapport aux autres modules de SAS, cet investissement lourd ne pourrait se justier que par un gain tr` es signicatif de productivit e dans le traitement et lanalyse des donn ees.

Organisation

Le principe de base de lutilisation de linterface est la r ealisation dun graphe sch ematisant lensemble des traitements dune prospection. Chaque nud symbolise un traitement tandis quune arr ete orient ee tapes. L mat erialise la circulation des donn ees entre les diff erentes e edition du graphe engendre ainsi l ecriture puis lex ecution de commandes SAS. tapes (SEMMA) qui reSEM propose sous cette forme la mise en uvre dune m ethodologie en 5 e tude statistique : e chantillonnage (Sample), Exploration, transformations prend le sch ema logique dune e (Modify), Mod elisation, comparaisons et certications (Assess).

2.1 Fen etres


Outre des barres doutils et menus de la version 8, SEM se pr esente sous la forme de deux fen etres : Outils Avec 3 onglets : tudes. Diagrams : gestion hi erarchis ee des projets et e Tools : liste des nuds disponibles.
1 Statistique

et Data mining, http ://www.lsp.ups-tlse/Besse

83

84 Reports : gestion des r esultats en format html.

Chapitre 13. Enterprise miner

Graphe en cours de d enition, ex ecution. La construction du graphe se fait avec la souris en s electionnant et en faisant glisser les ic ones de la barre des outils ou ceux de la fen etre tools. Il suft ensuite de les relier.

2.2

Menus
` chaque nud est associ A e un menu identique proposant diff erents choix dont :

open ouvre une fen etre dans lesquels sont d enis les param` etres et options du nud consid er e, ` ce nud, run provoque lex ecution du programme associ ea resul la fen etre de pr esentation des r esultats.

2.3

D emarrage

1. Le module SEM est lanc e par la commande miner ou dans le menu global>solutions>enterprise miner. 2. Il suft ensuite souvrir un projet existant ou un nouveau projet (menu file>new>project). ` une librairie SAS cest-` ` un r Un projet correspond a a-dire encore a epertoire de lenvironnement de lutilisateur. choisir le type de localisation : client sur le poste de lutilisateur ou sur un 3. Nommer le projet cr ee ` travers le r serveur distant a eseau et le module SAS/Connect.

3 Descriptif sommaire des noeuds


Pour une utilisation efcace de tout logiciel, il est n ecessaire davoir une vision compl` ete de ses pos` lobjectif a ` atteindre. Les outils de SEM ou nuds sibilit es an dutiliser les outils les mieux adapt es a sont r epartis en plusieurs classes. Certains reprennent des fonctionnalit es usuelles des modules SAS/Stat ou SAS/Graph, dautres (not es par une *) apportent des compl ements.

3.1

Echantillonnage

Input data source S electionne une table SAS contenant les donn ees et sp ecie son r ole : donn ees brutes (raw), train (apprentissage), validate (validation), test, score (param` etres dun mod` ele). Sp ecication ` expliquer (cible) ; les autres sont par d du r ole des variables et en particulier de celle a efaut explicatives (input). chantillon. Sampling Tirage al eatoire simple ou strati e dun e chantillons dapprentissage, de validation et de Data partition Partition de la table (donn ees brutes) en e test en sp eciant la part respective de chacun.

3.2

Exploration

` 3 variables. Distribution explorer graphe dynamique de la distribution de la loi conjointe de 1 a Multiplot distribution et distribution crois ee avec la variable cible de chacune des variables explicatives. Insight est int egr e pour ses aspects exploratoires et ses tests mais sans certaines fonctionnalit es (ACP, mod elisation). Association* Recherche de co-occurences, ou de s equences d ev` enements. Exemple : achats simultan es darticles. Variable selection Recherche, dans un grand ensemble, des variables explicatives les plus li ees (coef. de ` la pr corr elation, 2 ou les plus aptes a ediction de la cible. Des discr etisations sont propos ees pour les variables qualitatives si elles am eliorent les qualit es pr edictives.

3.3

Transformations

Data set attributes permet de red enir les r oles des variables (input, target, rejected, id, freq, trial, predict, residual, group, assess), leur type (binary, interval, nominal, ordinal, unary), leur libell e. Transform variables par des fonctions classiques (log, exp, . . .) d enies par lutilisateur ou automatiquement pour optimiser la normalit e de la distribution ou encore la corr elation avec la cible.

3. Descriptif sommaire des noeuds

85

limine les modalit ` la moyenne ou la m Filter outliers e es rares, les valeurs extr emes par rapport a ediane ou ` lext a erieur dun intervalle. Replacement Plut ot que de supprimer des lignes ou des colonnes, il est possible de remplacer les valeurs manquantes par diff erentes m ethodes : valeur moyenne ou m ediane, tirage al eatoire, valeur pr edite par un arbre de classication ou de r egression. Clustering Cr eation dune typologie (nu ees dynamiques ou CAH) et des graphiques liant la typologie avec les variables explicatives. SOM/Kohonen cr ee une typologie par la construction dune carte auto-organisatrice de Kohonen.

3.4

Mod elisation

Tree Estimation dun arbre de classication ou de r egression avec diff erents crit` eres optionnels : test de Fisher et r eduction de la variance pour une cible quantitative, entropie, concentration de Gini, test du ` minimiser lerreur sur l 2 pour une cible qualitative. La proc edure d elagage cherche a echantillon de validation. Regression R egression logistique ou r egression lin eaire avec choix de mod` ele par par diff erents algorithmes (forward, backward, stepwise) et selon diff erents crit` eres (AIC, BIC, validation error, validation, cross-validation error, prot/loss). Neural network Perceptron multi couches avec diff erents options pour lapprentissage : Levenberg Marquardt, Quasi Newton, gradient conjugu e, r etropropagation dont certains sont issus du module SAS/OR. Le choix d epend de la capacit e m emoire, de la taille du r eseau et du volume de l echantillon dap` estimer et la prentissage. Le premier est plus rapide mais tr` es p enalis e par le nombre de param` etres a ` la pr m emoire requise. Le dernier est jug e moins able et sensible a esence de minimas locaux. Les options permettent de xer le nombre de couches cach ees, le nombre de neurones par couches et les fonctions de transfert de chaque neurone. Le nombre dit erations et donc la dur ee de lapprentissage est contr ol ee par lerreur calcul ee sur l echantillon de validation. User dened model rec oit une table de type score ou encore le r esultat dun programme SAS inclut dans ` laide des un nud SAS Code et permet dint egrer dans SEM un mod` ele d enit par lutilisateur a proc edures classiques de SAS. Par exemple : une analyse discriminante d ecisionnelle, une r egression sur composantes principales. . .. Ensemble permet de calculer de nouvelles pr evisions par combinaisons de plusieurs mod` eles ou par moyen chantillonnages (bagging ou bootstrap aggregating). Enn une autre nage de pr edictions issues de r ee chantillonnage (arcing ou adaptative resampling & combining) renforce dans son proc edure de r ee ` pour effet dam tirage les probabilit es proportionnellement aux r esidus. Ceci a eliorer lajustement des valeurs extr emes.

3.5

Comparaison, certication

Assessment compare les capacit es pr edictives des mod` eles sur l echantillon test. ` une autre table poss Score applique un mod` ele estim ee sur une premi` ere table a edant les m emes variables et permettant ainsi d etablir les pr evisions sur dautres donn ees. Reporter plac e en n de graphe, il produit un rapport en format html regroupant les tableaux et gra tapes. phiques r esultants des diff erentes e

86

Chapitre 13. Enterprise miner

Annexe A

Vers Unix
l Moyennant une connaissance e ementaire dun syst` eme dexploitation (MS-DOS. . .), cette annexe propose une transition vers une connaissance un peu plus approfondie dune version standard dUNIX.

1
1.1

Introduction
Historique

t ` partir de 1969 sous limpulsion de Ken ThomLe syst` eme Unix a e e d evelopp e aux Bell Laboratories a son pour un usage interne. Lapparition du langage C (Dennis Ritchie) dans le m eme environnement a per criture dune version portable et donc largement diffus mis la r ee ee pour de nombreux types de machines ` lexplosion du march dans le milieu universitaire. Compte tenu de son succ` es, d ua e des stations de travail, ` partir de la version la soci et e BELL/ATT a d ecid e den contr oler le d eveloppement et la commercialisation a ` c dite System V avant den c eder les droits. Ainsi, a ot e de cette version ofcielle, on en rencontre dautres plus ou moins orthodoxes (XENIX, SPIX,. . .) construites sur le m eme noyau ainsi que celles issues de la souche Berkeley (version 4.2). Par ailleurs, de nombreux constructeurs ont propos e des versions (AIX, EPIX, ULTRIX, IRIX. . .) int egrant les fonctionnalit es des deux r ealisations dominantes (System V et Berkeley 4.2). Enn, on peut noter les efforts importants de la part de groupes dutilisateurs et de constructeurs voluer le monde UNIX vers une norme unique (POSIX) en d pour faire e epit des tactiques protectionnistes ` dominer le march et/ou s eparatistes des leaders cherchant a e. Depuis quelques ann ees, Unix est redevenu un produit libre sous licence GNU. Sa version PC (LINUX) disponible gratuitement et disposant de remarquables qualit es de abilit e entre en concurrence avec Windows pour les utilisations professionnelles hors bureautique.

1.2

Caract eristiques

1. Cest un syst` eme multi-utilisateurs et multi-t aches qui, comme tout syst` eme dexploitation, cherche ` optimiser une r a epartition ou un partage des ressources (m emoire, processeur, p eriph eriques, programmes utilitaires,. . .) entre les diff erentes t aches des diff erents utilisateurs. Ces capacit es per` chaque utilisateur de lancer des processus en arri` mettent a ere-plan (compilation, calculs volumineux en back-ground) tout en conservant la main. Il propose en outre un environnement de diteurs, compilateurs, d d eveloppement : e ebogueur, g en erateur danalyseurs lexicaux et syntaxiques, traitement de texte et un service de messagerie complet. 2. Unix est compos e: dun noyau assurant la gestion de la m emoire (virtuelle pagin ee pour les versions r ecentes), les entr ees/sorties de bas niveau et lencha nement des diff erentes t aches, t dinterpr eteurs de langages de commandes (le Bourne Shell a e e d evelopp ee aux Bell Labs tandis t ` Berkeley) admettant les structures syntaxiques dun langage de programque le C-Shell la e ea volu mation e e. 3. La gestion des chiers est hi erarchis ee (arbre). 4. Il autorise la r eallocation ou redirection des entr ees-sorties dun processus qui peuvent par ailleurs communiquer entre eux par un m ecanisme de tube (pipe) : les r esultats dun processus sont les 87

88 donn ees en entr ee du processus suivant.

Chapitre A. Vers Unix

crites en C peuvent lancer des appels syst` 5. Des applications e emes au noyau et cr eer ainsi des processus par programme de fac on dynamique.

2 Connexion
2.1 ` partir dun terminal X A
tait e teint, (il Frapper la barre espace ou d eplacer la souris ou actionner linterrupteur, si le terminal e faut le laisser allumer) et attendre le chargement du serveur X11. Host : choisir la machine (ondine ou marine), Login : nom dutilisateur puis <enter>, Password : mot de passe <enter>, une fen etre xterm souvre, pilot ee par un window manager (mwm pour motif). (xterm) <enter> pour accepter le type de terminal par d efaut, % le prompt du TC-Shell safche, vous pouvez travailler, passwd changer le mot de passe a ere connexion ; au moins 6 caract` eres et au plus 8. ` la premi`

2.2

` partir dun PC A

quip mulant un terminal X (PC-Xview) sont Les PC e es dune carte Ethernet ainsi que dun logiciel e utilis es comme un terminal X. Ils offrent par ailleurs des facilit es de transfert de chiers par FTP.

2.3

D econnexion
Il est indispensable de terminer la session en tapant : <ctrl>D ou exit ou logout.

3 Gestion des Fichiers


t Le principe de la gestion arborescente des chiers a e e repris par la plupart des syst` emes dexploitation plus r ecents : ` partir de la racine, le nom absolu dun chier ou dun r epertoire est le chemin (path) dacc` es d ecrit a ` partir du r le nom relatif est le chemin dacc` es d ecrit a epertoire courant (ou par d efaut), de plus, le r epertoire courant est d esign e par . et son p` ere par .., la variable $home contient le nom du r epertoire daccueil : /usr/magist/nom utilisateur il est d esign e aussi par , le nom du chier lui-m eme est une cha ne dau plus 14 caract` eres alphanum eriques excluant : / * [ ] ? - $ & et les caract` eres accentu es ; les majuscules sont d econseill ees car r eserv ees aux variables ; le point . s epare des extensions (ex : ch.tex) ; un nom commenc ant par un point d esigne un chier toile) tandis ou un r epertoire cach e ; le caract` ere * d esigne toute cha ne de caract` ere (convention e que le ? d esigne un caract` ere quelconque. Les chiers ordinaires contiennent des programmes (binaire ou source), des donn ees (binaire ou ascii), ce sont les r esultats de programmes ( editeurs, compilateurs,. . .). Les chiers sont prot eg es par des crire, effacer ou modier des chiers qu` droits dacc` es ; un utilisateur standard ne peut e a lint erieur de son r epertoire daccueil sauf autorisation explicite. cran, disque,. . .), ils Les chiers sp eciaux d esignent les entr ees/sorties sur les p eriph eriques (clavier, e sont g er es par le syst` eme comme des chiers sur disque ordinaire mais les op erations de lecture ou d ecriture sur ces chiers activent les dispositifs physiques associ es. Larborescence se pr esente sous la forme : / bin/... usr/... dev/... etc/... tmp/... racine commandes unix externes au noyau commandes unix externes au noyau nom des fichiers speciaux fichiers de gestion du systeme fichiers temporaires

4. Commandes de base users/... magist/ mag21/ .login monfich monrep/... de3s12/... ... ... ... liste des projets liste des utilisateurs dun groupe fichiers et repertoires dun utilisateur fichier cache fichier personnel repertoire personnel

89

Commandes de base
La syntaxe g en erale dune commande est :

ventuelles] <chier ou catalogue> commande [options e Seul lusage le plus courant des commandes les plus usuelles est d ecrit. Consulter le manuel pour des ` laide de la commande : informations plus d etaill ees et des compl ements a man <commande> syntaxe, options et mode demploi dune commande, passwd change le mot de passe, date afche la date, cal afche le calendrier du mois, who afche la liste des utilisateurs connect es, pwd afche le nom du r epertoire courant, ls afche le contenu du r epertoire courant avec de nombreuses options (ls -Fla par exemple), consulter man ls pour en avoir la liste ; more <chier> afche le contenu dun chier ascii avec un d ecoupage en pages- ecrans, wc [-lwc] <chier> compte le nombre de [lignes, mots, caract` eres] dans le chier, cp <chier1> <chier2> copie physique de chiers, cp chiers r epertoire copie la liste des chiers dans le r epertoire, mv <ch1> <ch2> (move) m eme syntaxe que cp, les chiers sources sont d etruits, rm <chier> (remove) efface un chier, cd <r epertoire> (change directory) changement de r epertoire courant cd .. remonte au p` ere tandis que cd seul e quivaut a ` cd $home, mkdir <r epertoire> (make dir) cr eation dun catalogue, rmdir <r epertoire> suppression dun catalogue lorsquil est vide.

Edition de textes

diteurs de textes sous Unix : ed, vi, xedit, asedit. Le plus recommand Il esiste de nombreux e e est Emacs. Cest un outil tr` es efcace offrant de tr` es nombreuses possibilit es (couper, copier, coller de zones, de colonnes, recherches et remplacements de cha nes de caract` eres, d eplacement vertical et horizontal de la fen etre, gestion de mots, phrases, paragraphes, multifen etrage, abr eviations, customization pour diff erents t ` lusage environnements,. . .). La derni` ere version (xemacs) ont e e adapt ee aux fen etres de X window et a ` de la souris avec lapparition de menus d eroulants. N eanmoins, pour aller plus vite ou pour acc eder a dautres commandes il est n ecessaire de sinitier aux raccourcis du clavier. Voici les quelques commandes indispensables pour d ebuter. Un didacticiel est disponible en ligne. C-x signie presser <ctrl> puis x tandis que M-x signie presser <esc> relacher puis presser x ou encore, sur un terminal X : presser <alt> puis x.

90 G en eralit es

Chapitre A. Vers Unix

emacs [chier] entrer dans emacs en pr ecisant le chier a ` charger dans le buffer, C-x C-f <chier> lire un chier dans le buffer, C-x C-s sauver le buffer, C-x C-c sortir de emacs C-g abandonne une commande en cours de frappe, Recherche de cha nes M-r recherche vers la n, C-r recherche vers le d ebut et r ep etition, M-% cha ne1<enter>cha ne2<enter> remplacement ( ! dans tout le chier <esp> la premi` ere occurence).

Gestion des processus

` un instant donn Un processus ou t ache est lex ecution dun programme a e. Un programme est une s equence dinstructions machines stock ees sur disque sous la forme dun chier ordinaire ex ecutable. La plupart des programmes standards sous Unix sont r eentrants : la m eme image m emoire du programme est utilis ee par plusieurs utilisateurs avec une sauvegarde des jeux de registres sp eciques. Il faut distinguer : ` aucun terminal et sont cr s au lancement du syst` les processus syst` emes qui ne sont attach es a ee eme ` des dates x (le m ecanisme de swapping, le spooler de gestion de limprimante,. . .) ou a es par ladministrateur (les cron), ` une date donn les processus lanc es par un utilisateur depuis un terminal donn ea ee. La simple connexion lance deux processus dont un pour g erer la liaison et lautre est linterpr eteur de commande (sh ou csh).

6.1

Suspendre, tuer des processus

ps afche la liste des processus de lutilisateur (de tous les processus avec loption -e). Un processus est caract eris e par un identicateur (un entier), un propri etaire, un terminal dattachement. tty donne le nom du terminal associ ea ` lutilisateur, stty donne les principaux param` etres de la ligne, kill -9 <num.> d etruit le processus d esign e. La commande kill du processus csh initial provoque la ` partir dun autre terminal lorsquune ligne d econnexion (comme <ctrl> D). Cest ce quil faut faire a est bloqu ee. <ctrl> z suspend le processus et le met en arri` ere plan (cf. paragraphe 6.5), il reste visible avec la commande ps, fg (foreground) relance le processus suspendu en dernier ; pour un autre, indiquer son num ero.

6.2

Redirection des chiers standards

` l Les r esultats dun processus sont afch es sur la sortie standard normalement associ ee a ecran du terminal propri etaire du processus (chier sp ecial /dev/tty/<nom du terminal>. De m eme, les processus usuels (csh, mail,. . .) lisent leurs donn ees sur lentr ee standard (le clavier). Il est possible daffecter ` dautres dispositifs (chiers ordinaires) a ` condition de disposer des acc` ces entr ees-sorties a es n ecessaires. redirection de la sortie commande > chier exemple : ls -l > liste commande >> chier ls -la >> liste rallonge le chier. redirection de lentr ee commande < chier exemple : mail mag21 mag22 < lettre

7. Sp ecicit e du tc-Shell

91

6.3

Commandes compos ees

tre encha Plusieurs commandes ind ependantes peuvent e n ees en les s eparant par des ;. Un seul pro. cessus est alors cr ee Exemple : date ; cal ; who tre redirig Elles peuvent e ees : (date ; cal ; who) > info

6.4

Communication par tube (pipe)

` travers un tube : la sortie stanPlusieurs processus peuvent sencha ner en communicant entre eux a dard de lun est lentr ee standard du suivant. Exemples : ps -le | more liste de tous les processus d ecoup ee en pages, who | sort | more utilisateurs actifs tri es par ordre alphab etique, who | wc -l nombre dutilisateurs.

6.5

Processus en arri` ere plan

tre cr s en arri` Des processus dont le temps dex ecution est a priori long peuvent e ee ere plan (background) en le signalant par &. Le processus shell reprend alors la main et lutilisateur peut ainsi lancer plusieurs t aches. Sur un terminal X, cela permet douvrir plusieurs t aches donc plusieurs fen etres (SAS, emacs, ghostview. . .). qui, sil nest pas ni, est tu Le syst` eme r epond par le num ero du processus ainsi cr ee e automatiquement ` tout moment, avec la commande kill -9 <num lors de la d econnexion ou, a ero>.

Sp ecicit e du tc-Shell

Les langages de commandes de lenvironnement Unix (Bourne-Shell, C- shell, tc-shell) sont des lan volu gages interpr et es reconnaissant les structures des langages de programmation e es classiques ainsi, la ` celle du langage C. Ces capacit syntaxe du C- Shell est-elle analogue a es ne seront pas d ecrites dans le cadre restreint de ce cours. On se propose simplement de d ecrire quelques fonctionnalit es du tc-Shell conf erant plus defcacit e dans lutilisation quotidienne de Unix.

7.1 Historique des commandes


La commande history afche la liste des n derni` eres commandes o` u n est un param` etre x e a ventuellement, de les e diter/modier avant de les lavance. Il est possible de r ecup erer ces commandes an, e r eex ecuter. Ce sont les ` eches du pav e num erique qui g` erent cet historique, vers le haut pour r ecup erer les diter la ligne de commande commandes ant erieures, vers la droite ou la gauche pour d eplacer le curseur et e avant son ex ecution.

7.2 Abr eviations


La commande alias permet de d enir des abr eviations pour les commandes les plus usuelles et, ainsi, de personnaliser le langage de commande : alias h history taper h au lieu de history, alias L ls -Fla alias ll ls -ll ... tre ins Ces d enitions et dautres commandes peuvent e er ees dans le chier cach e .tcshrc qui sex ecute ` chaque cr a eation, par lutilisateur, dun processus de commande tc-shell. De m eme, le chier .login ` chaque connexion. sex ecute a

7.3 Compl etion de commande


La touche de tabulation a pour effet de compl eter une commande en afchant le ou les chiers du r epertoire courant sur lesquels la commande en cours d edition peut op erer.

92

Chapitre A. Vers Unix

Dautres commandes

Voici quelques exemples dutilisations de commandes, efcaces pour la manipulation des chiers. Consulter le manuel pour dautres pr ecisions (man commande). impu3 soumet un chier au spooler dimpression de la xerox du de lA.I.G.M. avec les options : -c< n > n copies, -F<form> format (portrait ou paysage), -S NO pas dagraphage, -R pas de recto-verso, -d format tex ou latex, -f avec caract` eres de mise en page fortran, Exemple : impu3 -c 3 -F 2x66l80 -S NO sas.res erentes options : choix du champ contenant la clef, tri alphab etique ou sort trie un chier selon diff num erique, ordre inverse, sortie sur un chier ou a ecran. ` l Exemple : who | sort afche la liste des utilisateurs par ordre alphab etique. cat lit les chiers et les e ecran). crits sur la sortie standard ( Exemple : cat f1 f2 f3 > fconcv la concat enation des trois chiers est redirig ee vers fconcv. paste afche a ecran la concat enation horizontale de deux chiers. ` l Exemple : paste f1 f2 > fconch join comme paste mais la juxtaposition des lignes se fait a efaut le ` partir dune clef commune (par d premier champ) ; le champ commun napparait quune fois. cut scinde un chier en colonnes. grep afche la liste des lignes dun ou plusieurs chiers contenant une cha ne de caract` eres donn ee. Exemple : ps -e | grep kermit donne, a ecran, la liste des utilisateurs ayant cr ee ` l un processus kermit a e. ` un moment donn find recherche un chier dans une arborescence. Exemple : find / -name mon fic -print cherche a ` partir de la racine (/) et afche (sil existe) le chemin dacc` es de mon fic a ecran. ` l

9
9.1

Communication
Unix offre de larges possibilit es de communication suivant diff erents protocoles.

Messagerie

mail lit le contenu de la bo te aux lettres ; le dernier message rec u safche et un ? apparait pour conna tre lusage quil faut faire de ce message (effacer, copier, imprimer,. . .) ; h fournit la liste des commandes possibles. mail nom utilisateur ou mail nom utilisateursite distant envoie dans la bo te aux lettres dun utilisateur le contenu de lentr ee standard (clavier) ; <ctrl> d ou . seul sur une ligne termine la saisie. Exemple : mail mag23 < fichier envoie le contenu de chier a ` mag23 galement un utilitaire de gestion de courrier qui est tr` ` lenvironnement netscape contient e es adapt ea des TX.

9.2

Communication

` internet autorise des vitesses importantes et offre donc des foncUn r eseau local ethernet connect ea tionnalit es sophistiqu ees. ftp lance un processus de transfert entre le site local et un site distant selon un protocole qui nest pas sp ecique a ` unix ; ainsi, cette commande permet le transfert de chiers entre toutes machines, rlogin connecte le terminal du site local sur un site distant, telnet analogue a et erog` enes. ` rlogin mais selon un autre protocole pour des machines h

9. Communication

93

9.3

Net surng

normes possibilit De bombreux outils logiciels permettent dutiliser au mieux les e es offertes par le r eseau internet. Il est bien de les utiliser mais den faire un usage raisonnable : ` explorer les masses consid ne pas passer ses soir ees a erables dinformation disponibles, une ann ee scolaire ny suft pas ! ne pas transf erer dimages qui saturent rapidement les capacit es des r eseaux. ne pas faire imprimer des chiers volumineux. les deux principaux outils sont : xrn qui permet de sabonner et de lire confortablement les news cest-` a-dire les diff erents forums lectroniques, e netscape qui permet dacc eder aux serveurs www (world wide web) et donc de surfer sur des vagues doctets.