Page : 1 Informatique décisionnelle SAS [email protected].

45
Page : 1 Informatique décisionnelle Informatique décisionnelle SAS [email protected] [email protected]

Transcript of Page : 1 Informatique décisionnelle SAS [email protected].

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

Page : 1

Informatique décisionnelleInformatique décisionnelle

SAS

[email protected]@gmail.com

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

Page : 2

ObjectifObjectif

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.

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

Page : 3

Procédures d’analyse statistiqueProcédures d’analyse statistique

La structure générale d’une procédure SAS est toujours la

même :

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

Page : 4

La spécification de la table SAS en entréeLa 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

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

Page : 5

La sélection de l’échantillon d’étudeLa 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é.

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

Page : 6

La sélection des variables d’analyseLa 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.

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

Page : 7

L’analyse statistique par sous-groupesL’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.

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

Page : 8

L’analyse statistique par sous-groupesL’analyse statistique par sous-groupes

Différences entre les instructions BY et CLASS dans les

procédures de statistique :

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

Page : 9

Le regroupement des valeurs d’une variableLe 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.

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

Page : 10

La pondération des observationsLa 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.

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

Page : 11

Procédure SQLProcé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;

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

Page : 12

Procédure SQLProcé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 ;

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

Page : 13

Procédure SQLProcé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 ;

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

Page : 14

Procédure SQLProcé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.

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

Page : 15

Procédure SQLProcédure SQL

Correction :

proc sql ;

select SEX, count (*)

from SASHELP.CLASS

group by SEX ;

quit ;

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

Page : 16

Procédure SQLProcé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 ;

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

Page : 17

Procédure SQLProcédure SQL

Sauvegarde dans la bibliothèque WORK.

proc sql ;

create table WORK.REQUETE as

select NAME,

WEIGHT

from SASHELP.CLASS

;

quit ;

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

Page : 18

Procédure SQLProcé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.

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

Page : 19

Procédure SQLProcédure SQL

Correction :

proc sql ;

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 ;

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

Page : 20

Procédure MEANSProcé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.

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

Page : 21

Procédure MEANSProcédure MEANS

Statistiques Définition

N Nombre d’observations non manquantes

Nmiss Nombre d’observations manquantes

Min Minimum

Max Maximum

Mean Moyenne

Sum Somme

Var Variance

Std Ecart-type

Range Ecart entre le maximum et le minimum

Qrange Ecarts entre Q3 et Q1.

Sumwgt Somme pondérée

Stderr Ecart-type de la moyenne

Quelques statistiques descriptives calculées par la procédure

MEANS

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

Page : 22

Procédure MEANSProcé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.

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

Page : 23

Procédure MEANSProcé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.

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

Page : 24

Procédure MEANSProcé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).

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

Page : 25

Procédure MEANSProcédure MEANS

Exemples :

 proc means data=sashelp.class;         var age height weight;

 run;

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

Page : 26

Procédure MEANSProcé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;

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

Page : 27

Procédure MEANSProcédure MEANS

Exercice :

Définissez pour chaque genre, des stats sur les variables poids

et taille.

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

Page : 28

Procédure MEANSProcédure MEANS

Correction :

PROC MEANS DATA=eleves;

VAR taille poids ;CLASS genre ;OUTPUT OUT=stats ;

RUN;

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

Page : 29

Procédure MEANSProcé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;

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

Page : 30

Procédure SUMMARYProcé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.

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

Page : 31

Procédure SUMMARYProcédure SUMMARY

Exemples :

proc summary data=SASHELP.PRDSAL2

maxdec = 2

mean min max print ;

class COUNTRY ;

var ACTUAL ;

run ;

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

Page : 32

Procédure SUMMARYProcé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.

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

Page : 33

Procédure SUMMARYProcédure SUMMARY

proc format;

value VENTE 0 - < 50 = "Vente faible"

50 - < 500 = "Moyenne"

500 - high = "élevée" ;

run;

proc summary 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;

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

Page : 34

Procédure FREQProcé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;

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

Page : 35

Les instructions de la procédure FREQLes 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.

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

Page : 36

Les options de la procédure FREQLes 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

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

Page : 37

Procédure FREQProcé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 ...

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

Page : 38

Procédure FREQProcé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

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

Page : 39

Procédure FREQProcédure FREQ

Exemples :

proc freq data=sashelp.class;

tables age sex ;

run;

proc freq data=sashelp.class;

tables age sex*age ;

run;

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

Page : 40

Procédure TABULATEProcé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.

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

Page : 41

Procédure TABULATEProcédure TABULATE

Exemples : Tableau croisé simple.

Réalisons un tableau croisé calculant la moyenne des ventes

actuelles par pays et type de produit.

proc tabulate data = SASHELP.PRDSAL2 ;

var ACTUAL ;

class COUNTRY PRODTYPE ;

table COUNTRY , PRODTYPE *ACTUAL * MEAN;

run;

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

Page : 42

Procédure TABULATEProcé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.

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

Page : 43

Procédure TABULATEProcédure TABULATE

proc tabulate 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 ;

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

Page : 44

Procédure TABULATEProcé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).

Product

BED CHAIR DESK SOFA

Predicted Sales Predicted Sales Predicted Sales Predicted Sales

Sum Sum Sum Sum

Country

850600.80 847395.00 844844.40 888175.80Canada

Mexico605701.80 571402.80 578431.80 599823.00

U.S.A.2453193.80 2579405.29 2586199.03 2517807.03

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

Page : 45

Procédure TABULATEProcédure TABULATE

Correction :

proc tabulate data = SASHELP.PRDSAL2;

var PREDICT ;

class COUNTRY PRODUCT ;

table COUNTRY ,

PRODUCT * PREDICT * ( SUM ) ;

Run ;