1 / 45

Informatique décisionnelle

Informatique décisionnelle. SAS. mohamed.hamou@gmail.com. Objectif. Le logiciel SAS dispose d’un grand nombre de procédures spécialisées permettant de réaliser toutes sortes d’analyses statistiques, allant des plus simples aux plus complexes :

genera
Download Presentation

Informatique décisionnelle

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Informatique décisionnelle SAS mohamed.hamou@gmail.com

  2. Objectif Le logiciel SAS dispose d’un grand nombre de procédures spécialisées permettant de réaliser toutes sortes d’analyses statistiques, allant des plus simples aux plus complexes : • Calculer la moyenne, la médiane, le mode (caractéristiques de tendance centrale) • Analyser la dispersion d’une variable avec son écart type et sa variance • Etudier la répartition des effectifs et fréquences des modalités d’une variable • Calculer des fréquences croisées entre deux variables • Etudier les corrélations 2 à 2 pour plusieurs variables • Réaliser des tests (normalité, égalité de la moyenne à une constante, indépendance, égalité de la moyenne de deux échantillons …) • Faire des analyses factorielles • Elaborer des typologies sur une population donnée • Estimer des modèles de régression.

  3. Procédures d’analyse statistique La structure générale d’une procédure SAS est toujours la même :

  4. La spécification de la table SAS en entrée L’option DATA = permet de spécifier la table SAS à utiliser en entrée. Elle est valable dans toutes les procédures de statistique. Si l'option DATA = nom est absente, la procédure travaille par défaut sur le dernier tableau créé dans les étapes en amont

  5. La sélection de l’échantillon d’étude Pour effectuer une sélection des observations et des variables de la table SAS spécifiée en entrée d’une procédure SAS quelconque, on peut utiliser des options de table. En particulier, l’option de table WHERE = permet de sélectionner l’échantillon d’étude, c'est-à-dire un sous-ensemble d’observations de la table SAS en entrée vérifiant un critère donné.

  6. La sélection des variables d’analyse Pour sélectionner les variables analysées dans les procédures de statistique, on utilise généralement l’instruction VAR. Les variables numériques sont les seules autorisées dans une instruction VAR pour les procédures statistiques. En l’absence d’une instruction VAR dans les procédures où cette dernière est valide, la procédure utilisera toutes les variables numériques de la table SAS en entrée.

  7. L’analyse statistique par sous-groupes Pour mener une analyse sur plusieurs sous-groupes d’observations, on dispose des instructions CLASS ou BY. Les variables des instructions BY et CLASS peuvent être indifféremment numériques ou caractères car elles ne servent qu’à constituer des sous-groupes sur lesquels seront effectués des calculs. Pour chaque variable spécifiée dans l’instruction BY ou CLASS, SAS crée autant de sous-groupes que de valeurs distinctes de cette variable.

  8. L’analyse statistique par sous-groupes Différences entre les instructions BY et CLASS dans les procédures de statistique :

  9. Le regroupement des valeurs d’une variable Pour créer des sous-groupes d’observations en n’utilisant pas toutes les valeurs distinctes d’une variable, mais en faisant des regroupements, il est possible d’utiliser une instruction FORMAT combinée avec la présence d’une instruction BY, CLASS ou TABLE. Notons que chaque variable de l’instruction FORMAT devra simultanément figurer dans la liste des variables de l’une de ces instructions. Cette démarche sera utile pour recoder une variable qualitative ou pour mettre une variable quantitative en classes sans avoir à créer une nouvelle variable.

  10. La pondération des observations Dans certains cas de figure, il peut s’avérer nécessaire de pondérer les observations de la table SAS en entrée par les valeurs d’une variable numérique. Pour cela on dispose des instructions WEIGHT ou FREQ. Les deux instructions ne peuvent pas être utilisées simultanément.

  11. Procédure SQL Lister le contenu d’une table. Listons par exemple la table sashelp.class, le poids et le nom de chaque personne. proc sql; select NAME, WEIGHT from sashelp.class ; quit;

  12. Procédure SQL Listons le poids de chaque femme dans l’ordre décroissant des Poids : proc sql ; select NAME, WEIGHT from SASHELP.CLASS where SEX = “F” order by WEIGHT descending ; quit ;

  13. Procédure SQL Syntaxe : proc sql ; select VARIABLE1_A_LISTER , VARIABLE2_A_LISTER from NOM_TABLE where CONDITION(S) order by VARIABLE1_DE_TRI, VARIABLE2_DE_TRI descending ; quit ;

  14. Procédure SQL Exercices : Comptons le nombre d’hommes et de femmes de la table SASHELP.CLASS Calculons, à partir de la table SASHELP.PRDSAL2, le nombre de ventes par pays, en ne conservant dans le résultat que les pays ayant totalisé moins de 10000 ventes.

  15. Procédure SQL Correction : proc sql ; select SEX, count (*) from SASHELP.CLASS group by SEX ; quit ;

  16. Procédure SQL Correction : proc sql ; select COUNTRY, count (*) as N label = "Nb de ventes“ format = 4. from SASHELP.PRDSAL2 group by COUNTRY having N < 10000; quit ;

  17. Procédure SQL Sauvegarde dans la bibliothèque WORK. proc sql ; create table WORK.REQUETE as select NAME, WEIGHT from SASHELP.CLASS ; quit ;

  18. Procédure SQL Exercices : A partir de la table SASHELP.PRDSL2, lister les informations suivantes : le pays, la province, le produit, les ventes actuelles et le mois/année. Ce listing ne concernera que les ventes du premier semestre 1998 effectuées en dehors des Etats-Unis. Le résultat sera trié par pays, province, produit et ventes actuelles décroissantes.

  19. Procédure SQL Correction : procsql ; select country,state,product,actual, MONYR from SASHELP.prdsal2 where MONYR between '01JAN98'd and '01JUN98'd and country ne "U.S.A." order by country,state,product,actual descending ; quit ;

  20. Procédure MEANS La procédure MEANS permet d’analyser la distribution d’une variable numérique sur une population donnée (groupe d’observations d’une table SAS). Cette procédure pourra notamment servir à : • Calculer la somme de la variable • Calculer la moyenne et médiane (caractéristiques de tendance centrale) • Calculer l’écart-type, l’étendue et l’intervalle inter quantiles (caractéristiques de dispersion) • Etudier la répartition de la variable (médiane, quartiles d’ordres 1 et 3, centiles d’ordres 1, 5, 10, 25, 50, 75, 90, 95, 99) • Etudier la forme de la distribution (coefficient d’aplatissement et d’asymétrie) • Identifier les valeurs extrêmes de la variable • Faire des tests d’égalité de la moyenne à une constante donnée.

  21. Procédure MEANS Quelques statistiques descriptives calculées par la procédure MEANS

  22. Procédure MEANS QUELQUES OPTIONS - MAXDEC = n : nombre de décimales en impression - FW = n : largeur de chaque statistique en impression (12 par défaut) LISTE DES STATISTIQUES DISPONIBLES : - N, NMISS, MEAN, STD, VAR, MIN, MAX, RANGE, - SUM, USS, CSS, CV, STDERR, T, PRT, SUMWGT Si aucune statistique n'est demandée, sortent par défaut celles qui sont soulignées.

  23. Procédure MEANS INSTRUCTION BY Elle permet de sortir les statistiques demandées pour chaque modalité de la variable-by. Le tableau doit être trié avant. INSTRUCTION CLASS Elle a le même rôle qu'une instruction BY. Seule change la présentation des résultats. De plus, le tableau n'a pas à être trié. INSTRUCTION FREQ Chaque observation du tableau d'entrée représente n observations, si n est la valeur de la variable freq.

  24. Procédure MEANS INSTRUCTION WEIGHT Les moyennes et les variances sont pondérées par les valeurs de la variable de pondération. INSTRUCTION OUTPUT Les mots-clés disponibles sont : N, NMISS, MEAN, STD, VAR, MIN, MAX, RANGE, SUM, USS, CSS, CV, STDERR, T, PRT, SUMWGT On a autant d'observations dans le tableau de sortie que de groupes BY ou CLASS (une seule s'il n'y a ni BY ni CLASS).

  25. Procédure MEANS Exemples :  proc means data=sashelp.class;         var age height weight;  run;

  26. Procédure MEANS Exercice : DATA eleves;INPUT nom $ genre $ age taille poids ; CARDS;Albert M 14 155 52.5Marc M 13 145 50.0Louis M 15 132 35.5Valérie F 12 126 28.7Mélanie F 14 138 . Jean M 15 144 46.2Pierre M 12 140 32.3Deborah F 13 142 34.6Suzanne F 13 145 39.5Laura F 14 156 45.5Hélène F 12 135 34.6Steve M 15 . 37.2David M 16 155 48.3;RUN; PROC PRINT DATA=eleves; RUN;

  27. Procédure MEANS Exercice : Définissez pour chaque genre, des stats sur les variables poids et taille.

  28. Procédure MEANS Correction : PROC MEANS DATA=eleves; VAR taille poids ;CLASS genre ;OUTPUT OUT=stats ; RUN;

  29. Procédure MEANS On peut stocker des résultats dans un tableau de sortie. PROC MEANS DATA = Tableau SAS Options; VAR variables; CLASS variables; BY variables; FREQ variable; WEIGHT variable; OUTPUT OUT = tableau SAS mot-clé=noms de variables...; RUN;

  30. Procédure SUMMARY La procédure MEANS possède une procédure jumelle, SUMMARY, qui propose exactement les mêmes résultats, avec une syntaxe analogue. Leur seule différence est que, par défaut, la procédure MEANS édite ses résultats dans la fenêtre « sortie », tandis que SUMMARY nécessite une option PRINT pour le faire.

  31. Procédure SUMMARY Exemples : procsummary data=SASHELP.PRDSAL2 maxdec = 2 mean min max print ; class COUNTRY ; var ACTUAL ; run ;

  32. Procédure SUMMARY Exercices : Faites un tableau indiquant la moyenne du poids à partir de la table SAS Sashelp.class. Ne conservez qu’une décimale pour les résultats. A partir de la table sashelp.prdsal2, déterminez le CA moyen par tranche de CA sans étape DATA. Définissez dans un premier temps un format VENTE pour les tranches.

  33. Procédure SUMMARY procformat; value VENTE 0 - < 50 = "Vente faible" 50 - < 500 = "Moyenne" 500 - high = "élevée" ; run; procsummary data = SASHELP.PRDSAL2 missing nway; var ACTUAL ; format ACTUAL VENTE.; Class ACTUAL; output out = WORK.PRDSALTEST mean (ACTUAL) = MY_CA; format MY_CA DOLLAR12.2 ; run;

  34. Procédure FREQ Elle permet de produire des tableaux de fréquence à une ou plusieurs dimensions (pour les variables numériques, on aura intérêt à utiliser l’instruction FORMAT pour avoir une table lisible). PROC FREQ Options; TABLES Demandes/Options; WEIGHT Variable; FORMAT Variables et Formats; BY Variables ; TITLE 'Titre'; WHERE Condition Logique;

  35. Les instructions de la procédure FREQ • L’instruction TABLE permet de créer un ou plusieurs tableaux contenant des effectifs ou des fréquences des variables. Il peut s’agir de tableaux à une variable ou de tableaux croisés encore appelés tableaux de contingence). • L’option MISSPRINT permet d’éditer les valeurs manquantes dans les tableaux demandés dans l’instruction TABLE, mais elles ne sont pas prises en compte dans les calculs statistiques effectués par la procédure. • L’option MISSING permet de traiter les valeurs manquantes comme des modalités renseignées dans les calculs et tous les tableaux.

  36. Les options de la procédure FREQ L’option ORDER = permet de spécifier l’ordre dans lequel SAS devra éditer les valeurs des variables en lignes dans les tableaux produits par la procédure FREQ : • ORDER = DATA pour éditer les valeurs dans l’ordre d’apparition dans la table • ORDER = FORMATTED pour éditer les valeurs dans l’ordre croissant du format d’affichage • ORDER = FREQ pour éditer les valeurs dans l’ordre de leurs fréquences décroissantes • ORDER = INTERNAL pour éditer les valeurs dans l’ordre croissant des valeurs non formatées. C’est l’ordre utilisé par défaut

  37. Procédure FREQ INSTRUCTION TABLES Tables à une dimension : PROC FREQ; - TABLES AGE QUAL STAT; Tables à plusieurs dimensions : PROC FREQ; - TABLES A*B; - TABLES A*B*C; L'écriture peut être simplifiée; A*(B C) est équivalent à A*B A*C; (A B)*(C D) est équivalent à A*C A*D B*C B*D ...

  38. Procédure FREQ Options de l'instruction TABLES : OUT = nom de tableau : pour stocker les résultats dans un tableau SAS NOROW, NOCOL, NOPERCENT..... : pour supprimer les sorties standards CHISQ, EXPECTED, DEVIATION,... : pour des calculs associés au CHI2

  39. Procédure FREQ Exemples : procfreq data=sashelp.class; tables age sex ; run; procfreq data=sashelp.class; tables age sex*age ; run;

  40. Procédure TABULATE La procédure TABULATE de SAS permet de créer un tableau croisé à 2 ou 3 dimensions à partir des données d’une table SAS. Un certains nombre de statistiques peuvent être calculées. La mise en forme du tableau peut être personnalisée. Le résultat de la procédure TABULATE se trouve dans la fenêtre OUTPUT ou alors dans un fichier externe (htm, rtf, pdf), une sortie directe sur imprimante si l’ODS est précisé. Les données résultat des différents croisements peuvent être sauvées dans une table SAS.

  41. Procédure TABULATE Exemples : Tableau croisé simple. Réalisons un tableau croisé calculant la moyenne des ventes actuelles par pays et type de produit. proctabulate data = SASHELP.PRDSAL2 ; var ACTUAL ; class COUNTRY PRODTYPE ; table COUNTRY , PRODTYPE *ACTUAL * MEAN; run;

  42. Procédure TABULATE Exemples : Plusieurs statistiques et plusieurs croisements. En plus de la moyenne, représentons la somme des ventes actuelles, le nombre de produits vendus ainsi que le pourcentage que cela représente. Ajoutons la décomposition année par pays. Seules les années 1995 et 1996 seront représentées.

  43. Procédure TABULATE proctabulate data = SASHELP.PRDSAL2 format = 9.1; var ACTUAL ; class COUNTRY PRODTYPE YEAR; table COUNTRY * YEAR, PRODTYPE * ACTUAL * ( MEAN SUM N PCTN ) ; where YEAR in (1995 , 1996) ; Run ;

  44. Procédure TABULATE Exercice 1 Créer un tableau à partir de la table SASHELP.PRDSAL2, affichant par pays (COUNTRY) et par produit (PRODUCT) la somme des ventes prévues (PREDICT).

  45. Procédure TABULATE Correction : proctabulate data = SASHELP.PRDSAL2; var PREDICT ; class COUNTRY PRODUCT ; table COUNTRY , PRODUCT * PREDICT * ( SUM ) ; Run ;

More Related