Vous êtes sur la page 1sur 3

Stat II – Initiation à SAS (proc univariate, proc reg, proc freq, proc ANOVA)

Exercice 1: proc univariate et proc reg.

L’association nationale des entrepreneurs du bâtiment évalue les marchés immobiliers les plus abordables et les
moins abordables, en se basant sur la proportion de maisons qu’une famille à revenus moyens peut acheter. Les
données sur le revenu médian (en milliers de dollars) et le prix de vente médian (en milliers de dollars) d’un
échantillon de 12 marchés immobiliers choisis parmi la liste des marchés les plus abordables, sont données dans
le fichier nommé "e:wallstreet.txt" (The Wall Street Journal Almanac 1998). Sauvez ces données sur le disque
"h:wallstreet.txt".

1. Importation des données

Nous allons importer les données que nous nommerons "wallstreet" dans le logiciel SAS. Les variables du
fichier sont dans l'
ordre marche (variable nominale, indiquée par $), etat (idem), revenu et prix qui sont des
variables numériques.

data wallstreet;
infile "h:wallstreet.txt";
input marche $ etat $ revenu prix;
run;

La procédure suivante permet d'


afficher le tableau de données à l'
écran.

proc print data=wallstreet;


run;

2. Exploration des données

Nous allons obtenir quelques paramètres de position, de dispersion, de forme et d' aplatissement relatifs à la
variable "prix". Nous testerons également si la moyenne de cette variable est significativement différente de 90
(en spécifiant mu0=90, la valeur par défaut de mu0 étant 0). Nous obtiendrons également l' histogramme relatif à
cette variable partitionnée en classes de largeur 10, dont la première commence à 60 et la dernière termine à 120.
Nous demanderons finalement le qqplot relatif à cette variable qui nous permettra de vérifier l' hypothèse de
normalité. Les différents graphiques seront créés dans une nouvelle fenêtre: graph1 work.

proc univariate data=wallstreet mu0=90;


var prix;
histogram / cfill=red normal midpoints=60 to 120 by 10;
qqplot / normal(mu=est sigma=est color=red);
run;

3. Représentation graphique des données (scatter plot)

Nous représentons la variable prix en fonction de la variable revenu. Ce graphique vous semble-t-il linéaire?

proc gplot data=wallstreet;


plot prix*revenu;
run;

4. Modélisation des données: modèle de régression linéaire simple

Nous choisissons de modéliser ces données au moyen d' un modèle linéaire, avec prix comme variable réponse et
revenu comme variable explicative. Nous vérifierons l' hypothèse d' homoscédasticité à l' aide du graphique des
résidus en fonction des valeurs prédites: il faut que ce graphique ne présente aucune structure particulière pour
que l'
hypothèse d' homocédasticité soit vérifiée. Nous demandons également les graphique de la variable réponse
en fonction de la variable explicative (la droite de régression est alors ajoutée sur le graphique par défaut).
proc reg data=wallstreet;
model prix = revenu;
plot residual.*predicted.;
plot prix*revenu ;
run;

Exercice 2: proc freq.

Une étude a fourni des données sur la principale raison qui a poussé des étudiants à se présenter, à plein-temps et
à temps partiel, à un programme MBA. Est-ce que les données suggèrent que les étudiants à plein-temps ont des
motivations différentes des étudiants à temps partiel?

1. Importation des données

Afin d'entrer le tableau de contingence, nous définissons un compteur de ligne (statut) et un compteur de
colonnes (raison) et entrons les effectifs relatifs à chaque case.

data school;
input statut raison effectif;
datalines;
1 1 421
1 2 393
1 3 76
2 1 400
2 2 593
2 3 46
;

proc print data=school;


run;

2. Test chi-carré d'


indépendance

Nous utiliserons la procédure "freq" afin d'obtenir le tableau des effectifs théoriques (qui contient également les
effectifs observés, les écarts à l'
indépendance au carré divisés par l'effectif théorique, les fréquences relatives et
marginales). Nous obtiendrons également la valeur de la statistique de test, ainsi que la p-valeur correspondante
(notez que d'autres tests d'
indépendance sont proposés)

proc freq data=school order=data;


weight effectif;
tables raison*statut / chisq expected cellchi2 norow nocol;
run;

Exercice 3: Proc ANOVA

Un psychologue s’intéressait à la relation entre le sexe, le statut socio-économique (SSE) et le “ locus of control”
perçu. Il a pris huit adultes (âgés de 25 à 30 ans) de chaque combinaison sexe-SSE et leur a administré une
échelle portant sur le “ locus of control”; un score élevé indique que l’individu estime contrôler sa vie
quotidienne.
1. Importation des données

Les données telles qu'elles sont entrées dans ce tableau ne peuvent pas être analysées. Nous allons devoir créer
une variable "sexe" prenant les modalités 1 pour homme et 2 pour femme, ainsi que la variable SSE prenant la
valeur 1 pour faible, 2 pour moyen et 3 pour élevé. Compilez l' instruction suivante et observez ce que SAS
fournit comme base de données.

data SSE;
do sexe=1 to 2;
do id=1 to 8;
do SSE=1 to 3;
input locus @;
output;
end;
end;
end;
datalines;
10 16 18
12 12 14
8 19 17
14 17 13
10 15 19
16 11 15
15 14 22
13 10 20
8 14 12
10 10 18
7 13 14
9 9 21
12 17 19
5 15 17
8 12 13
7 8 16
;
proc print data=SSE;
run;

2. Test ANOVA.

Nous allons obtenir le tableau ANOVA, ainsi que les tests correspondant aux facteurs du modèle
locus = µ + α j + β k + γ jk + ε ijk
Pour cela, introduisez les instructions suivantes et comparez les résultats donnés par SAS avec ceux obtenus lors
des TP en salle de cours.

proc anova data=SSE;


class sexe id SSE;
model locus=sexe SSE sexe*SSE;
run;