introduction au logiciel sas (version …lmertz/sas_cours.pdf · n de la session. si l’on veut...

48
INTRODUCTION AU LOGICIEL SAS (VERSION PROVISOIRE) LAURENT MERTZ Ann´ ee 2014 Universit´ e de Nice Sophia-Antipolis Abstract. Le logiciel SAS (Statistical Analysis System) est un syst` eme d’analyse statis- tique qui est tr` es utilis´ e dans les entreprises, les compagnies d’assurance, les institutions de sant´ e publique, la finance, les ressources humaines. Ce logiciel aide ` a la gestion de projet, ` a la pr´ ediction de l’information et ` a la prise de d´ ecision. C’est la raison pour laquelle il fait l’objet d’un enseignement en LICENCE 3 MASS. Dans cette premi` ere session, on donne une introduction pratique ` a quelques proc´ edures de SAS quant ` a la cr´ eation et la gestion de quelques donn´ ees. Cours 8h-9h30 TD 9h45h-11h15 TP 11h30-13h 29/01 Premiers exemples de code SAS (cr´ eation de donn´ ees ´ el´ ementaires, importation de donn´ ees et simulation de variables discr` etes et continues.) 05/02 Simulation de donn´ ees et histogrammes (Partie 1) (m´ ethode de Box-Muller pour une loi normale 1D et vecteurs gaussiens 2D.) 12/02 Simulation de donn´ ees et histogrammes (Partie 2) (vecteurs gaussiens 2D/3D. s´ eance d’exercices) 19/02 (´ evaluation TP mi-parcours) 19/03 Analyse de donn´ ees (Partie 1) Rappel et mise en oeuvre de la r´ egression lin´ eaire et multiple 26/03 Analyse de donn´ ees (Partie 2) Rappel et mise en oeuvre du test du χ 2 02/04 Examen final 1. Objectifs du cours et pr´ esentation de SAS Le syst` eme SAS est un ensemble de briques logicielles developp´ ees par SAS Institute depuis 1976 (North Carolina State University 1966) pour l’analyse et la gestion d’informations DERNI ` ERE MISE ` A JOUR : 6 MAI 2014 1

Upload: duongtram

Post on 11-Sep-2018

229 views

Category:

Documents


0 download

TRANSCRIPT

INTRODUCTION AU LOGICIEL SAS(VERSION PROVISOIRE)

LAURENT MERTZ

Annee 2014Universite de Nice Sophia-Antipolis

Abstract. Le logiciel SAS (Statistical Analysis System) est un systeme d’analyse statis-tique qui est tres utilise dans les entreprises, les compagnies d’assurance, les institutions desante publique, la finance, les ressources humaines. Ce logiciel aide a la gestion de projet,a la prediction de l’information et a la prise de decision. C’est la raison pour laquelle il faitl’objet d’un enseignement en LICENCE 3 MASS. Dans cette premiere session, on donneune introduction pratique a quelques procedures de SAS quant a la creation et la gestion dequelques donnees.

Cours 8h-9h30TD 9h45h-11h15TP 11h30-13h29/01 Premiers exemples de code SAS(creation de donnees elementaires, importation de donneeset simulation de variables discretes et continues.)05/02 Simulation de donnees et histogrammes (Partie 1)(methode de Box-Muller pour une loi normale 1D et vecteurs gaussiens 2D.)12/02 Simulation de donnees et histogrammes (Partie 2)(vecteurs gaussiens 2D/3D. seance d’exercices)19/02 (evaluation TP mi-parcours)19/03 Analyse de donnees (Partie 1)Rappel et mise en oeuvre de la regression lineaire et multiple26/03 Analyse de donnees (Partie 2)Rappel et mise en oeuvre du test du χ2

02/04 Examen final

1. Objectifs du cours et presentation de SAS

Le systeme SAS est un ensemble de briques logicielles developpees par SAS Institute depuis1976 (North Carolina State University 1966) pour l’analyse et la gestion d’informations

DERNIERE MISE A JOUR : 6 MAI 20141

(sous la forme d’ensembles de donnees) ainsi que le renseignement lie aux affaires. Parmices briques, on peut citer en particulier

SAS/GRAPH (creation de graphique) SAS/IML (algebre lineaire) SAS/STAT (procedures statistiques)

L’objectif du cours est de se familiariser a l’analyse de bases de donnees avec le logiciel SAS(Statistical Analysis System) a travers ces trois briques.

1.1. Quelques definitions.

Definition 1. Une base de donnee est un ensemble organise d’informations brutes tellesque des nombres ou des mots. Formellement, le terme ”base de donnees” correspond auxdonnees elles memes mais aussi a la maniere dont elles sont structurees.

Les ensembles d’informations que nous considerons sont composes d’un nombre importantd’observations d’une ou plusieurs variables qui, selon les cas, peuvent etre qualitatives ouquantitatives.

Definition 2. Une variable est dite

qualitative si elle est representee par une qualite, par exemple: le genre, la couleur,ou encore l’etat civil. Elle s’exprime en une modalite.

quantitative si elle est representee par une quantite, par exemple: l’age, le poids oula taille. Elle s’exprime en une valeur numerique.

1.2. L’environnement de travail SAS. L’environnement de travail de SAS se presentesous la forme de 3 fenetres + une sortie visuelle:

en bas a droite: edition du code, en haut a droite: journal (informations liees au deroulement de l’execution du code), a gauche: les resultats stockes dans SAS et puis une sortie visuelle des resultats qui apparaıt suite a l’execution du code.

Un script SAS s’ecrit dans la fenetre editeur. Il se compose d’une etape de creation de ladonnee: data et d’une etape de traitement la donnee: proc. En fait, de maniere generale,les procedures du systeme SAS entrent dans deux classes d’instructions:

Creation, importation et lecture des donnees

data main;

[instructions]

run;

Le code cree un ensemble de donnees appele ”main” avec le mot cle data. Analyse et le traitement des donnees

proc

[instructions]

run;

Le code procede au traitement des donnees avec le mot cle proc.

Dans les deux cas, le mot cle run ferme la suite des instructions. Par ailleurs, il est tresimportant de finir une instruction avec un point virgule. En terme de stockage memoire, ladata main est placee dans la bibliotheque de travail temporaire ’Work’ qui sera detruite a la

2

fin de la session. Si l’on veut sauvegarder ses instructions, on verra plus loin comment creerune bibliotheque virtuelle SAS assignee a un repertoire de travail permanent.

2. Premiers exemples de code SAS

2.1. Creation de donnees directement dans SAS.

(1) Voici une code qui cree d’abord une base de donnees ”main” contenant une variableappelee ”x” dont la valeur est 1 et qui ensuite procede a l’affichage du contenu de”main”, a savoir ”x”, avec proc print.

data main1;

x=1;

run;

proc print data = main1;

run;

(2) Voici un code qui permet d’assigner plusieurs observations des variables ”x” ”y” ”z”grace au couple de mots cles input et cards. Le premier (input) sert a declarer lesvariables et le deuxieme (cards) sert a assigner plusieurs observations de ”x” ”y” ”z”,ici il y a deux observations a savoir 1 2 3 et 7 8 9.

data main2;

input x y z;

cards;

1 2 3

7 8 9

;

run;

proc print data = main2;

run;

(3) Dans le code suivant, on cree une donnee ’main3’ par copie de ’main2’ avec le motcle set et on peut retirer ’z’ avec le mot cle drop.

data main3;

set main2;

drop z;

run;

proc print data = main3;

run;

2.2. Importation de donnees.

(1) Supposons que l’on dispose d’un fichier ”main.txt” avec un grand nombre de lignescontenant les donnees du genre

5 6 8

1 2 3

7 5 4

2 7 9

9 6 3

...3

Voici un code qui lit les donnees de ”main.txt” avec l’instruction infile et les assigneen tant qu’observation des variables ”x” ”y” ”z” avec l’instruction input.

data main4;

infile ’C:\Users\Etudiant\Desktop\main.txt’;

input x y z;

run;

proc print data = main4;

run;

2.3. Simulation de donnees avec SAS. Un probleme naturel qui se pose en manipulationde donnees est la question de leur simulation. Le logiciel SAS est capable de simuler certainesloi usuelles. Nous etudions cela dans cette section. Voici une liste de fonctions mathematiquespour simuler des lois discretes:

Si X1 est une variable a valeurs dans t1, ...., nu de loi

PpX1 � kq � pk, k P t1, ...., nu,on utilise la fonction

rantbl(SEED,p1,...,pn)

Si X2pn, pq est une variable a valeurs dans t0, ...., nu de loi binomiale de parametre pet n, i.e.

PpX2 � kq � Cknp

kp1� pqn�k, k P t0, ...., nu,on utilise la fonction

ranbin(SEED,n,p)

Si X3 est une variable a valeurs dans N de loi de Poisson de parametre L, i.e.

PpX3 � kq � expp�LqLk

k!k P t0, ...., nu,

on utilise la fonction

ranpoi(SEED,L)

Ensuite, pour simuler des lois continues:

Si X4 est une variable a valeurs dans l’intervalle r0, 1s de loi uniforme, i.e. la densites’ecrit

ppxq � 1 si 0 ¤ x ¤ 1 et 0 sinon

on utilise la fonction

ranuni(SEED)

Si X5 est une variable a valeurs dans R de loi normale centree reduite, i.e. la densites’ecrit

ppxq � 1?2π

expp�x2

2q

alors il faut utiliser

rannor(SEED)

Curieusement, SAS ne sait pas simuler de lui meme, les lois precedentes avec des parametresdifferents.

(1) Le code suivant simule 1000 realisations de X4.4

data simu;

do i=1 to 1000;

uniforme=ranuni(123);

output;

end;

run;

(2) Le code suivant simule 1000 realisations de X2p7, 0.23q.data simu;

do i=1 to 1000;

binomiale=ranbin(123,7,0.23);

output;

end;

run;

(3) Que fais le code suivant?

data simu;

do i=1 to 1000;

if ranuni(123)<0.75

then do;

variable1=0;

variable2=0.2+0.5*rannor(123);

end;

else do;

variable1=1;

variable2=0.6+0.2*ranuni(123);

end;

output;

end;

run;

(4) Pouvez vous proposer un code pour repondre au probleme suivant?

Probleme 3. Generer une population aleatoire composee de 5000 individus avec desmesures de leur taille. On suppose que la taille des hommes adultes est distribuee selon une loi normale de moyennem1 � 176cm et d’ecart type σ1 � 6.81cm,

la taille des femmes adultes est distribuee selon une loi normale de moyennem2 � 162cm et d’ecart type σ2 � 7.24cm,

enfin, le ratio du nombre de femmes sur le nombre total d’individus vaut r �50.56.

(5) Une variable X est distribuee selon une loi lognormale de parametre µ et σ si sonlogarithme ξ � logpXq est distribuee selon une loi normale de moyenne µ et d’ecarttype σ. Il est connu que cette loi permet de representer le cours des actions ou auxautres produits financiers. Rappelons la definition d’une action.

Definition 4. Une action est un titre de propriete delivre par une societe (par ex-emple dans le CAC 40 BNP Paribas, Danone ou L’Oreal etc...). Le detenteur est

5

proprietaire d’une partie du capital de la societe avec les droits qui y sont associscomme intervenir dans la gestion de l’entreprise et en retirer un revenu appele divi-dende.

Donner la densite de X. Calculer EX � exppµ� σ2

2q et EpX � EXq2 � pexppσ2q � 1q expp2µ� σ2q.

Notons m � EX et s2 � EpX � EXq2. On peut verifier que

µ � logpmq � 1

2logp1� s

m2q, et σ2 � logp1� s

m2q.

Pouvez vous proposer un code pour repondre au probleme suivant?

Probleme 5. Generer 10000 prix d’actions qui suivent une distribution lognormalede moyenne 41.79 et d’ecart type 31.33.

3. Calcul des matrices de correlation et de covariance

Soient X1, X2, X3 trois variables aleatoires reelles. Notons

Σ :� covpXi, Xjq, 1 ¤ i, j ¤ 3

et

R :� covpXi, XjqσpXjqσpXjq , 1 ¤ i, j ¤ 3.

oucovpX, Y q :� E ppX � EXqpY � EY qq et σpXq :�

acovpX,Xq

Verifier queR � S�1ΣS�1 et Σ � SRS.

Voici un exemple SAS.

proc iml;

/*voir page 88 dans ’SAS for MC studies: A guide for quantitatives researchers’

/*conversion d’une matrice de correlation en une matrice de covariance*/

/*definition d’une matrice de correlation*/

r1 = {1.00 0.70 0.20,

0.70 1.00 0.40,

0.20 0.40 1.00};

/*definition d’une matrice diagonale d’cart type*/

s1 = {15 0 0,

0 10 0,

0 0 1};

/*calcul de la matrice de variance covariance*/

cov1 = s1*r1*s1;

/*affiche la matrice*/

print cov1;

run;

/*conversion d’une matrice de covariance en une matrice de correlation*/

/*definition d’une matrice de covariance*/

cov2 = {225 105 3,

105 100 4,6

3 4 1};

/*definition d’une matrice diagonale d’cart type*/

s2 = sqrt(diag(cov2));

s2_inv = inv(s2);

/*calcul de la matrice de correlation*/

r2 = s2_inv*cov2*s2_inv;

/*affiche la matrice*/

print cov2;

print s2;

print r2;

run;

Pour resumer voici une liste de mots cle en SAS que l’on vient de voir:

(1) les premiers mots cles a connaıtre:

data, proc, run, proc print, proc contents, set, drop, infile, input, cards

(2) instructions pour generer des variables aleatoires:

rantbl, ranpoi, ranbin, ranuni, rannor

(3) les boucles:

do i=.. to .. [instructions] end;

if [vrai ou faux] then do; [instructions] end;

else do; [instructions] end;

calcul de matrices

proc iml;

4. quelques references

Ce cours s’inspire des references suivantes:

http://www.stat.berkeley.edu/classes/s100/sas.pdf http://www.youtube.com, taper ”How to Use SAS Mike’s SAS Tutorials” SAS for Monte Carlo Studies : A guide for quantitative researchers de Xitao Fan,

Akos Felsovalyi, Stephen A. Sivo et Sean C. Keenan.

7

Abstract. Le but de ce deuxieme cours et de fournir un petit guide pratique pour la sim-ulation de donnees aleatoires (de type loi normales multidimensionnelles) et la constructionde quelques histogrammes sous SAS.

Un ingredient essentiel rentrant dans la conception des algorithmes de simulation des vari-ables aleatoires est la loi uniforme sur l’intervalle r0, 1s. On rappelle sa densite de probabilite#

pUpxq � 1 si 0 ¤ x ¤ 1

pUpxq � 0 sinon.

Dans nos codes, nous utiliserons le generateur de la loi uniforme de SAS et nous le supposonsoptimal. On va s’interesser a la simulation des variables normales en dimension 1 ¤ d ¤ 3.

5. Generation d’une variable de loi normale

Dans cette section, on presente la methode de Box-Muller pour simuler un couple de vari-ables aleatoires (v.a.) pX1, X2q independantes et identiquement distribuees suivant la loinormale centree reduite a partir d’un couple de v.a. pU1, U2q independantes et identique-ment distribuees suivant la loi uniforme sur r0, 1s. Rappelons que la densite de probabilitedu couple pU1, U2q est donnee par

pUpu1, u2q � 1r0,1spu1q1r0,1spu2qet que celle de pX1, X2q est donnee par

ppx1, x2q � 1

2πexp

��1

2px21 � x22q

.

5.1. Methode de Box-Muller. Rappelons la formule de changement de variable en coor-donnees polaires:

(1)

» 8

�8

» 8

�8fpx, yqdxdy �

» 8

0

» 2π

0

fpr cospθq, r sinpθqqrdrdθ, @f P L1pR2q.

Par exemple, cette formule facilite le calcul d’integrales de la forme³1�1

³1�1

1x2�y2¤1dxdy

ou³8�8 expp�x2

2qdx. Essentiellement, la methode de Box-Muller decoule de la proposition

suivante:

Proposition 6. Soient pU1, U2q un couple de variables aleatoires independantes et iden-tiquement distribuees selon une loi uniforme sur l’intervalle r0, 1s. Les variables definiespar

X1 �a�2 logpU1q cosp2πU2q et X2 �

a�2 logpU1q sinp2πU2q

sont independantes et identiquement distribuees suivant la loi normale centree reduite.

Proof. On se donne une fonction muette f continue et bornee et on va calculer

E pfpX1, X2qq �» 1

0

» 1

0

fpa�2 logpu1q cosp2πu2q,

a�2 logpu1q sinp2πu2qqdu1du2.

8

Faisons un changement de variable en posant

pr, θq � pa�2 logpu1q, 2πu2q ô pu1, u2q � pexpp�r

2

2q, θ

2πq,

ici la transformation est bijective et reguliere (attention la premiere coordonnee est decroissante)de sorte que

pr, θq P p0,8q � p0, 2πq ô pu1, u2q P p0, 1q � p0, 1q,et

du1 � �r expp�r2

2qdr et du2 � dθ

2π.

Ainsi, on obtient» 1

0

» 1

0

fpa�2 logpu1q cosp2πu2q,

a�2 logpu1q sinp2πu2qqdu1du2

� 1

» 8

0

» 2π

0

fpr cospθq, r sinpθqq expp�r2

2qrdrdθ.

Enfin, il resulte de la formule en coordonnees polaires (1) que

E pfpX1, X2qq �» 8

�8

» 8

�8fpx1, x2qppx1, x2qdx1dx2.

5.2. Mise en oeuvre de la methode de Box-Muller sous SAS.

data boxmuller;

do i = 1 to 1000;

u1 = ranuni(0);

u2 = ranuni(123);

x1 = sqrt(-2*log(u1))*cos(2*3.14157*u2);

x2 = sqrt(-2*log(u1))*sin(2*3.14157*u2);

drop i;

output;

end;

proc print data = boxmuller;

run;

proc means data = boxmuller;

var u1 u2 x1 x2;

run;

proc corr;

var u1 u2;

run;

proc corr;

var x1 x2;9

run;

Pour representer graphiquement la distribution empirique des variables X1, on utilisera

proc univariate data = boxmuller;

var x1;

histogram / normal;

run;

6. Generation d’un couple de variables normales correlees

Le but de cette section est d’apprendre a simuler un certain type de couple de variablesnormales correlees : les vecteurs gaussiens a deux dimensions.

Definition 7. On dit que pY1, Y2q est un vecteur gaussien a deux dimensions (vg2d) s’iladmet la densite suivante

pmpy1, y2q � 1

2πσ1σ2a

1� ρ2exp

�� qρpy1, y2q

2p1� ρ2q, 0 ¤ ρ   1,

ou

qρpy1, y2q :��y1 �m1

σ1

2

��y2 �m2

σ2

2

� 2ρ

�y1 �m1

σ1

�y2 �m2

σ2

et

(2)

$''''''''&''''''''%

m1 :� EY1 moyenne de Y1m2 :� EY2 moyenne de Y2σ1 :�a

EpY1 �m1q2 ecart type de Y1σ2 :�a

EpY2 �m2q2 ecart type de Y2σ12 :� EpY1 �m1qpY2 �m2q covariance entre Y1 et Y2ρ :� σ12

σ1σ2correlation entre Y1 et Y2.

Remarque 8. Dans le cas d’un vg2d, on peut montrer que pour tout pα, βq P R2 la variableη :� αY1 � βY2 est une variable de loi normale. On peut montrer que Eη � αm1 � βm2 etque Epη�Eηq2 � pασ1�βσ2q2�2αβp1�ρqσ1σ2. Par ailleurs, il est important de remarquerqu’un coefficient de correlation nul entre Y1 et Y2 implique l’independance. Si le coefficientde correlation vaut 1 alors le couple est degenere au sens ou il n’admet pas de densite parrapport a la mesure de Lebesgue dans R2.

6.1. Methode de correlation utilisant deux variables normales independantes. Leprobleme auquel on s’interesse est celui de la construction d’un vg2d (deux variables normalescorrelees) en utilisant un couple de variables normales centrees reduites et independantes.L’idee est simple, nous allons imposer une structure de ’melange’. Notons

M :��m1

m2

et Σ1{2 :�

�a1� ρ2σ1 ρσ1

0 σ2

PM2�2.

Proposition 9. Le couple de variables aleatoires definies par�Y1Y2

�M � Σ1{2

�X1

X2

est un vg2d satisfaisant (2).

10

Proof. Calculons la densite de pY1, Y2q. La methode est la suivante: nous considerons unefonction (muette) fpy1, y2q continue et bornee sur R2 et on va chercher la densite ppy1, y2qde pY1, Y2q en ecrivant

EfpY1, Y2q �»R2

fpy1, y2qppy1, y2qdy1dy2.

Par definition, on sait que

EfpY1, Y2q � Efpm1 � σ1a

1� ρ2X1 � σ1ρX2,m2 � σ2X2q

�» 8

�8

» 8

�8fpm1 � σ1

a1� ρ2x1 � σ1ρx2,m2 � σ2x2qppx1, x2qdx1dx2

� 1

σ1σ2a

1� ρ2

» 8

�8

» 8

�8fpy1, y2qp

�σ2py1 �m1q � σ1ρpy2 �m2q

σ1σ2a

1� ρ2,y2 �m2

σ2

�dy1dy2,

ou, dans la derniere ligne, on a procede au changement de variable$''''&''''%

�y1y2

���m1

m2

���σ1a

1� ρ2 σ1ρ

0 σ2

��x1x2

ô�x1x2

�� 1

σ1σ2?

1�ρ2

�σ2 �σ1ρ0 σ1

a1� ρ2

��y1 �m1

y2 �m2

satisfaisant

px1, x2q P R2 ô py1, y2q P R2 et dx1dx2 � dy1dy2

σ1σ2a

1� ρ2.

Ainsi, la densite de pY1, Y2q doit s’ecrire

ppy1, y2q :� 1

σ1σ2a

1� ρ2ppσ2py1 �m1q � σ1ρpy2 �m2q

σ1σ2a

1� ρ2,y2 �m2

σ2q.

Finalement, en remarquant que�σ2py1 �m1q � σ1ρpy2 �m2q

σ1σ2a

1� ρ2

�2

��y2 �m2

σ2

2

� 1

1� ρ2

��y1 �m1

σ1

2

��y2 �m2

σ2

2

� 2ρ

�y1 �m1

σ1

�y2 �m2

σ2

on obtient

ppy1, y2q � pmpy1, y2q.Ce qui prouve la proposition. �

11

Exemple 10. Fixons t ¡ 0 et px, yq P R2. Considerons un vg2d pZ1, Z2q satisfaisant$'''''&'''''%

EZ1 � x� ty

EZ2 � y

EpZ1 � EZ1q2 � t3

3

EpZ2 � EZ2q2 � t

EpZ1 � EZ1qpZ2 � EZ2q � t2

2.

on peut montrer que la densite du couple s’ecrit de la facon suivante

ppz1, z2q �?

3

πt2exp

�� 6

t3pz1 � x� tyq2 � 6

t2pz1 � x� tyqpz2 � yq � 2

tpz2 � yq2

�.

6.1.1. Representation graphique de la densite d’un vg2d avec SAS. Voici un code SAS quipermet de representer graphiquement la densite de pZ1, Z2q avec t � 1, x � 1 et y � 1:

m1 :� 2 moyenne de Z1

m2 :� 1 moyenne de Z2

σ1 :� 1?3

ecart type de Z1

σ2 :� 1 ecart type de Z2

ρ :�?

3

2correlation entre Z1 et Z2

Definissons d’abord la donnee a representer:

data PDF(keep = z1 z2 p);

m1 = 2;

m2 = 1;

sigma1 = 1.0/sqrt(3);

sigma2 = 1;

rho = 0.5*sqrt(3);

min1 = m1 - 4.0*sigma1;

min2 = m2 - 4.0*sigma2;

max1 = m1 + 4.0*sigma1;

max2 = m2 + 4.0*sigma2;

do z1 = min1 to max1 by 0.1;

do z2 = min2 to max2 by 0.1;

u1 = (z1-m1)/sigma1;

u2 = (z2-m2)/sigma2;

p = exp(-0.5*(u1**2+u2**2-2*rho*u1*u2)/(1.0-rho**2))

/(2*3.14157*sigma1*sigma2*sqrt(1.0-rho**2));

output;

end;

end;

run;

et ensuite, on l’affiche:12

proc g3d;

plot z1*z2=p / grid rotate = 0 to 90 by 10;

title ’Densite couple de variables normales correlees’;

run;

6.2. Mise en oeuvre de la methode de simulation d’un vg2d avec SAS. On construitune serie de realisation d’un vg2d. On a besoin d’utiliser la procedure IML pour l’usage desmatrices.

proc iml;

N = 1000;

/*On se donne une moyenne*/

m = {2, 1};

/*On se donne une matrice de variance covariance*/

sigma = {2.4 3, 3 8.1};

/*On calcule la racine de sigma*/

rho = sigma[1,2]/sqrt(sigma[1,1]*sigma[2,2]); /*rho = 0.6804138*/

sqrt_sigma = {0 0,0 0};

sqrt_sigma[1,1] = sqrt((1-rho*rho)*sigma[1,1]);

sqrt_sigma[1,2] = rho*sqrt(sigma[1,1]);

sqrt_sigma[2,1] = 0;

sqrt_sigma[2,2] = sqrt(sigma[2,2]);

/*On cree N observations d’une loi centree reduite en 2D*/

x= rannor(J(2,N,0));

/*On applique la formule du cours*/

y = m + sqrt_sigma*x;

/*On transpose la matrice*/

y=y‘;

/*On cree une donnee "ydata" dont les observations sont donnees par y*/

create ydata from y [colname = {y1 y2}];

append from y;

quit;

Ensuite, on peut verifier les moyennes empiriques de y1 et y2 avec cette procedure:

proc means data = ydata;

var y1 y2;

On peut verifier la correlation empirique en y1 et y2 avec cette procedure:

proc corr data = ydata;

var y1 y2;

run;13

7. Generation d’un triplet de variables normales correlees

Le but de cette section est d’apprendre a simuler un certain type de triplet de variablesnormales correlees : les vecteurs gaussiens a trois dimensions. On rappelle que la densite deprobabilite jointe de trois variables normales centrees et reduites independantes pX1, X2, X3qest

ppx1, x2, x3q � 1?2π

3 exp

��1

2px21 � x22 � x23q

.

Definition 11. On dit que pY1, Y2, Y3q est un vecteur gaussien a trois dimensions (vg3d) s’iladmet la densite suivante

pmpy1, y2, y3q �expp�1

2qρpy1, y2, y3qq

σ1σ2σ3?

2π3a

1� ρ212a

1� ρ213a

1� ρ223ou

qρpy1, y2, y3q :���y1 �m1

y2 �m2

y3 �m3

� T ��σ2

1 σ12 σ13σ12 σ2

2 σ23σ13 σ23 σ2

3

� �1��y1 �m1

y2 �m2

y3 �m3

et

(3)

$''''''''''''''''''''''&''''''''''''''''''''''%

m1 :� EY1 moyenne de Y1m2 :� EY2 moyenne de Y2m3 :� EY2 moyenne de Y3σ1 :�a

EpY1 �m1q2 ecart type de Y1σ2 :�a

EpY2 �m2q2 ecart type de Y2σ3 :�a

EpY3 �m3q2 ecart type de Y3σ12 :� EpY1 �m1qpY2 �m2q covariance entre Y1 et Y2σ13 :� EpY1 �m1qpY3 �m3q covariance entre Y1 et Y3σ23 :� EpY2 �m2qpY3 �m3q covariance entre Y2 et Y3ρ12 :� σ12

σ1σ2correlation entre Y1 et Y2

ρ13 :� σ13σ1σ3

correlation entre Y1 et Y3

ρ23 :� σ23σ2σ3

correlation entre Y2 et Y3.

avec 0 ¤ ρ12   1, 0 ¤ ρ13   1 et 0 ¤ ρ23   1.

Remarque 12. Dans le cas d’un vg3d, pour tout pα, β, γq P R3 la variable αY1 � βY2 � γY3est une variable de loi normale. Par ailleurs, on remarque que si ρ12 � ρ13 � ρ22 � 0 alorsY1, Y2 et Y3 sont independantes.

7.1. Methode de correlation utilisant trois variables normales independantes. Leprobleme auquel on s’interesse est celui de la construction d’un vg3d (trois variables normalescorrelees) en utilisant un triplet de variables normales centrees reduites et independantes.L’idee reste simple car comme precedemment nous allons imposer une structure de ’melange’.Notons

M :���m1

m2

m3

� et Σ1{2 :�

��a

1� ρ212a

1� ρ213σ1 ρ12a

1� ρ213σ1 ρ13σ10

a1� ρ223σ2 ρ23σ2

0 0 σ3

� PM3�3.

14

Proposition 13. Le triplet de variables aleatoires definies par��Y1Y2Y3

� �M � Σ1{2

��X1

X2

X3

� .

est un vg3d satisfaisant (3).

Proof. Calculons la densite de pY1, Y2, Y3q. La methode est la suivante: nous consideronsune fonction (muette) fpy1, y2, y3q continue et bornee sur R3 et on va chercher la densiteppy1, y2, y3q de pY1, Y2, Y3q en ecrivant

EfpY1, Y2, Y3q �»R3

fpy1, y2, y3qppy1, y2, y3qdy1dy2dy3.

Par definition, on sait que$'''''''''''&'''''''''''%

Ef�Y1, Y2, Y3

� Efpm1 � σ1

�a1� ρ213

a1� ρ212X1 �

a1� ρ213ρ12X2 � ρ13X3

,

� Efpm2 � σ2

�a1� ρ223X2 � ρ23X3

,

� Efpm3 � σ3X3q� 1?

2π3

³8�8³8�8³8�8 fpm1 � σ1

�a1� ρ213

a1� ρ212x1 �

a1� ρ213ρ12x2 � ρ13x3

,

� 1?2π

3

³8�8³8�8³8�8 fpm2 � σ2

�a1� ρ223x2 � ρ23x3

,

� 1?2π

3

³8�8³8�8³8�8 fpm3 � σ3x3q expp�1

2px21 � x22 � x23qqdx1dx2dx3.

Dans la derniere ligne, on procede au changement de variable��y1y2y3

� � Σ1{2

��x1x2x3

� ô

��x1x2x3

� � Σ�1{2

��y1y2y3

Ainsi,

Ef�Y1, Y2, Y3

³8�8³8�8³8�8 fpy1, y2, y3q exp

���1

2

�������������1{2

��y1 �m1

y2 �m2

y3 �m3

� ������������2

2

� dy1dy2dy3

σ1σ2σ3?

2π3a

1� ρ212a

1� ρ213a

1� ρ223

Finalement, en remarquant que

qρpy1, y2, y3q :���y1 �m1

y2 �m2

y3 �m3

� T ��σ2

1 σ12 σ13σ12 σ2

2 σ23σ13 σ23 σ2

3

� �1��y1 �m1

y2 �m2

y3 �m3

� �

�������������1{2

��y1 �m1

y2 �m2

y3 �m3

� ������������2

2

on obtient

ppy1, y2, y3q � pmpy1, y2, y3q.Ce qui prouve la proposition. �

15

7.2. Mise en oeuvre de la methode de simulation d’un vg3d avec SAS. En exercice,on pourra ecrire un programme inspire du cas 2d.

proc iml;

N = 1000;

m = {...};

/*sigma = {...};*/

/*rho12 = ... ;*/

/*rho13 = ... ;*/

/*rho23 = ... ;*/

sqrt_sigma = {0 0 0,0 0 0, 0 0 0};

/*sqrt_sigma[1,1] = ...;

sqrt_sigma[1,2] = ...;

sqrt_sigma[1,3] = ...;

sqrt_sigma[2,2] = ...;

sqrt_sigma[2,3] = ...;*/

x= rannor(J(/*...*/,N,0));

y = m + sqrt_sigma*x;

y=y‘;

mean = y[:,];

z = y - mean;

cov = z‘*z/(N-1);

print mean, cov;

quit;

16

Abstract. Dans cette troisieme seance, on se consacrera essentiellement aux exercices surles notions vues dans les cours precedents.

8. exercices seance 1 : manipulations de donnees et quelques simulations

Exercice 14. Que fait l’instruction suivante?

libname malib ’C:\ADRESSE DE MON REPERTOIRE DE TRAVAIL’;

Exercice 15. Quelle est la difference entre les deux scripts suivants

data main;

a=1;

run;

et

data malib.main;

a=1;

run;

Exercice 16. Taper le script suivant dans l’editeur SAS et expliquer la sortie de SAS.

data malib.main1;

x=1; y=2; z=3;

run;

proc print data = malib.main1;

run;

Exercice 17. Taper le script suivant et expliquer la sortie de SAS. Quelle est la differenceavec le script precedent?

data malib.main2;

input x y z;

cards;

1 2 3

7 8 9

;

run;

proc print data = malib.main2;

run;

Exercice 18. Taper le script suivant a la suite et expliquer ce que fait l’instruction ”con-tents”.

proc contents data = malib.main1;

run;

proc contents data = malib.main2;

run;17

Exercice 19. Trouver le bug dans le code suivant:

(1) data main;

input x y z

cards;

1 2 3

7 8 9

;

run;

Exercice 20. Que fait le code suivant?

data table1;

input x y z;

cards;

1 2 3

4 5 6

7 8 9

;

data table2;

input xi eta zeta;

cards;

10 11 12

13 14 15

16 17 18

;

data table3;

set table1 table2;

run;

proc print;

run;

Exercice 21. (1) Creer une donnee mydata1 a partir du fichier ”mydata.txt” ou ladonnee se presente sous la forme d’un tableau contenant 5 variables et 12 observa-tions.

(2) Creer une donnee mydata2 en copiant la donnee mydata1 et en supprimant la4eme variable.

Exercice 22. Considerons pp1, ..., pNq P r0, 1sN verifiant°Nk�1 pk � 1 et une variable discrete

X de loi

PpX � kq � pk, 1 ¤ k ¤ N.

Avec le logiciel SAS, on peut simuler X a l’aide de la fonction

rantbl(SEED, p1, ..., pn)

Voici un exemple de code SAS qui produit 100 realisations d’une variable de loi uniformesur t1, ..., 5u.

18

data simu;

do i = 1 to 100

u= rantbl(123, 0.2, 0.2, 0.2, 0.2, 0.2);

output;

end;

run;

question: Ecrire un code SAS creant 100 realisations d’une variable de loi uniforme surt1, ..., 3u.Exercice 23. Ecrire un code SAS creant 100 realisations d’une variable a valeurs danst1, ..., 5u de loi

PpX � 1q � 0.11, PpX � 2q � 0.32, PpX � 3q � 0.13,PpX � 4q � 0.23, PpX � 5q � 0.21.

Exercice 24. Considerons une variable X de loi binomiale de parametre N et p. Avec lelogiciel SAS, on peut simuler X a l’aide de la fonction

ranbin(SEED, N,p)

question: Donner la definition de la loi binomiale et ecrire un code SAS creant 100realisations d’une variable de loi binomiale de parametres N � 15 et p � 0.45.

Exercice 25. Considerons une variable X de loi de Poisson de parametre l ¡ 0. Avec lelogiciel SAS, on peut simuler X a l’aide de la fonction

ranpoi(SEED, l)

question: Donner la definition de la loi de Poisson et ecrire un code SAS creant 100realisations d’une variable de loi de Poisson de parametres l � 2.0.

Exercice 26. Soient Xu une variable continue de loi uniforme sur r0, 1s et µ   λ P R.

Montrer que µ� pλ� µqXu suit une loi uniforme sur l’intervalle rµ, λs. Ecrire un code SAS creant 100 realisations d’une variable de loi uniforme sur l’intervaller3.5, 4.6s. On rappelle qu’on peut simuler Xu a l’aide de la fonction

ranuni(SEED)

Voici un exemple de code SAS qui produit 100 realisations de Xu.

data simu;

do i=1 to 100;

x=ranuni(123);

output;

end;

run;

Exercice 27. Soient Xg une variable aleatoire continue de loi normale centree et reduite,m P R et σ ¡ 0.

Montrer que m� σXg suit une loi normale de moyenne m et de variance σ2. Ecrire un code SAS creant 100 realisations d’une variable de loi normale de moyenne

0.9 et de variance 2. On rappelle qu’on peut simuler Xg a l’aide de la fonction

rannor(SEED)

Voici un exemple de code SAS qui produit 100 realisations de Xg.19

data simu;

do i=1 to 100;

x4=rannor(123);

output;

end;

run;

Exercice 28. Parmi les variables aleatoires suivantes, determiner lesquelles sont quantita-tives discretes, quantitatives continues ou qualititatives.

(1) le temps d’attente a la caisse du supermarche.(2) l’espece d’une fleur prise au hasard dans un champ.(3) la taille d’une personne prise au hasard dans le tramway.(4) le nombre de personnes devant moi lorsque j’arrive au restaurant universitaire.(5) le genre (feminin/masculin) d’une personne prise au hasard dans la rue.

Exercice 29. Que fait le code suivant?

data classe;

input nom $ taille poids genre $;

indice_masse_corporelle = 100*poids / (taille*taille);

cards;

Rene 181.4 76.0 M

Marguerite 167.4 59.0 F

Raymond 188.8 88.5 M

Lucien 170.5 68.5 M

Ginette 162.3 55.0 F

;

run;

proc print data = classe;

run;

proc sort data = classe;

by genre;

run;

proc print data = classe;

run;

Exercice 30. (1) Generer une population aleatoire composee de 5000 individus avec desmesures de leur taille et de leur poids. On suppose que – le poids des hommes adultes est distribuee selon une loi log-normale de

moyenne 76kg et d’ecart type 11.2kg,– la taille des hommes adultes est distribuee selon une loi normale de moyenne

178cm et d’ecart type 8.2cm, – le poids des femmes adultes est distribuee selon une loi log-normale de

moyenne 61kg et d’ecart type 7.24kg,20

– la taille des femmes adultes est distribuee selon une loi normale de moyenne161cm et d’ecart type 9.2cm,

enfin, le ratio du nombre de femmes sur le nombre total d’individus vaut r �52.34.

(2) Trier la population par genre.(3) Ecrire une procedure pour obtenir l’histogramme de l’indice de masse corporelle de la

population globale et ensuite par genre.

Exercice 31. Que fait le code suivant?

data selectiondefleurs;

input individu $ taille espece $;

cards;

fleur1 35.4 Jonquille-Jeannette

fleur2 18.6 Gentiane-champetre

fleur3 12.8 Gentiane-champetre

fleur4 15.2 Mirroir de Venus

fleur5 31.7 Jonquille-Jeannette

fleur6 14.1 Mirroir de Venus

;

proc print data = selectiondefleurs;

run;

proc sort data = selectiondefleurs;

by espece;

run;

proc print data = selectiondefleurs;

run;

Exercice 32. Generer une population aleatoire de fleurs composee de trois especes (Mirroirde Venus, Jonquille-Jeannette et Gentiane-champetre) de 10000 individus avec des mesuresde leur taille. On suppose que

la taille des Mirroir de Venus est distribuee selon une loi normale de moyenne 25cmet d’ecart type 7.2cm,

la taille des Jonquille-Jeannette est distribuee selon une loi normale de moyenne29cm et d’ecart type 5.8cm,

la taille des Gentiane-champetre est distribuee selon une loi normale de moyenne16cm et d’ecart type 13cm,

– le nombre de Mirroir de Venus sur le nombre total de fleurs vaut r1 � 12.34.– le nombre de Jonquille-Jeannette sur le nombre total de fleurs vaut r2 � 32.34.

9. seance 2 : methode de Boxmuller et vecteurs gaussiens 2D

Exercice 33. Ecrire un code SAS pour simuler une variable de loi normale de moyenne 0.3et de variance 3.5 avec la methode de Box Muller. Il faudra utiliser la fonction

ranuni(SEED).21

Exercice 34. Considerons pY1, Y2q un vecteur gaussien a deux dimensions de parametres:#EY1 � 1.2, EY2 � �0.8

EpY1 � 1.2q2 � 9, EpY2 � 0.8q2 � 4, EpY1 � 1.2qpY2 � 0.8q � 3.

(1) Donner la densite du couple pY1, Y2q, on la note ppy1, y2q.(2) Ecrire un code SAS pour representer graphiquement ppy1, y2q.(3) Creer une donnee SAS de 1000 observations de pY1, Y2q.(4) Creer un histogramme des observations de la premiere coordonnee Y1. On superposera

la densite theorique d’une loi normale dont on determinera la moyenne et la variance.Expliquer le resultat.

(5) Meme question pour la seconde coordonnee Y2.

Exercice 35. Lesquelles de ces fonctions sont une densite d’un vecteur gaussien a deuxdimensions? Il faudra donner les parametres de moyenne et de variance-covarince.

(1)

p1pz1, z2q �?

3

πexp

��6pz1 � 1.7q2 � 6pz1 � 1.7qpz2 � 1.7q � 2pz2 � 1.7q2� ,(2)

p2py1, y2q � 1

π?

3exp

��2

3py21 � y22 � y1y2q

,

(3)

p3py1, y2q � 1

2πexp

��1

2py1 � y2 � y21y2q

.

Exercice 36. (1) Donner la densite d’un vecteur gaussien a deux dimensions pY1, Y2qverifiant

EpY1q � 1,

EpY1q � 3,

E�pY1 �m1q2

� � 5,

E�pY2 �m2q2

� � 11,

E ppY1 �m1qpY2 �m2qqaE ppY1 �m1q2qE ppY2 �m2q2q

� 1

2.

(2) Ecrire un code SAS pour representer la densite de pY1, Y2q.(3) Donner la matrice Σ1{2 associee a pY1, Y2q.(4) Ecrire un code SAS pour simuler 1000 realisations de pY1, Y2q.

22

controle continu 1 3HAnnee 2014

Universite de Nice Sophia-Antipolis

10. manipulation de donnees et quelques simulations

Exercice 37 (2 points). (1) Creer un dossier SASL3 NOM PRENOM sur le bu-reau ou vous sauvegarderez vos donnees.

(2) Ecrire une ligne de code SAS permettant de creer des donnees permanentes dans unebibliotheque qu’on appelera malib. Il faudra utiliser le mot cle : libname.

Exercice 38 (1.5 points). Dans quelle bibliotheque est stockee la variable a du code suivant?

data main;

a=1;

run;

Exercice 39 (1.5 points). (1) Creer une donnee, qu’on appelera mydata1, composeede 4 variables appelees x y z u et w et des 5 observations suivantes:

x y z u w1ere obs. 1 2 3 4 52eme obs. 9 8 7 6 53eme obs. 6 9 2 4 14eme obs. 2 3 2 2 1

(2) Creer une donnee, qu’on appelera mydata2, par copie de mydata1 dans laquelleon aura retire la variable y.

Exercice 40 (1.5 points). Trouver le bug dans le code suivant:

(1) data main;

input x y z;

cards;

1 2 3

7 8 9

;

run;

proc print data = data main;

run;

Exercice 41 (1.5 points). On prendra N � 100. Creer N realisations de variables des loissuivantes

(1) loi uniforme discrete sur t1, ..., 6u.(2) loi uniforme continue sur l’intervalle r�4.6,�2.5s.(3) loi normale de moyenne 0.9 et d’ecart-type 5.(4) loi log-normale de moyenne 7.2 et de variance 9.

23

Exercice 42 (1.5 points). Parmi les variables aleatoires suivantes, determiner lesquellessont quantitatives discretes, quantitatives continues ou qualititatives.

(1) le temps d’attente a la caisse du supermarche.(2) l’espece d’une fleur prise au hasard dans un champ.(3) la taille d’une personne prise au hasard dans le tramway.(4) le nombre de personnes devant moi lorsque j’arrive au restaurant universitaire.(5) le genre (feminin/masculin) d’une personne prise au hasard dans la rue.

Exercice 43 (1.5 points). (1) Generer une population aleatoire composee de 1000 indi-vidus avec des mesures de leur taille et de leur poids. On suppose que – le poids des hommes adultes est distribuee selon une loi log-normale de

moyenne 72kg et d’ecart type 7.2kg,– la taille des hommes adultes est distribuee selon une loi normale de moyenne

181cm et d’ecart type 10.2cm, – le poids des femmes adultes est distribuee selon une loi log-normale de

moyenne 64kg et d’ecart type 9.72kg,– la taille des femmes adultes est distribuee selon une loi normale de moyenne

165cm et d’ecart type 4.2cm, enfin, le ratio du nombre de femmes sur le nombre total d’individus vaut r �

47.96.(2) Trier la population par genre.

Exercice 44 (1.5 points). Generer une population aleatoire de fleurs composee de troisespeces (Mirroir de Venus, Jonquille-Jeannette et Gentiane-champetre) de 5000 individusavec des mesures de leur taille. On suppose que

(1) la taille des Mirroir de Venus est distribuee selon une loi normale de moyenne22cm et d’ecart type 8.2cm,

la taille des Jonquille-Jeannette est distribuee selon une loi normale de moyenne26cm et d’ecart type 9.8cm,

la taille des Gentiane-Champetre est distribuee selon une loi normale de moyenne12cm et d’ecart type 7cm,

– le nombre de Mirroir de Venus sur le nombre total de fleurs vaut r1 �42.21.

– le nombre de Jonquille-Jeannette sur le nombre total de fleurs vaut r2 �12.87.

(2) Trier la population par espece.

Exercice 45 (1.5 points). Soit pX1, X2q un couple de variable aleatoire satisfaisant

σ21 � EpX1 � EX1q2 � 9 σ2

2 � EpX2 � EX2q2 � 4

σ12 � EpX1 � EX1qpX2 � EX2q � 3.

Notons

R :��

1 0.50.5 1

, Σ :�

�9 33 4

.

Ecrire un code pour convertir la matrice de correlation R en la matrice de covariance Σ. Ilfaudra utiliser proc iml.

24

11. methode de Boxmuller et vecteurs gaussiens 2D

Exercice 46 (1.5 points). Ecrire un code SAS pour simuler une variable de loi normale demoyenne 0.3 et de variance 3.5 avec la methode de Box Muller. Il faudra utiliser la fonction

ranuni(SEED).

Exercice 47 (1.5 points). Considerons pY1, Y2q un vecteur gaussien a deux dimensions deparametres:#

EY1 � 1.2, EY2 � �0.8

EpY1 � 1.2q2 � 9, EpY2 � 0.8q2 � 4, EpY1 � 1.2qpY2 � 0.8q � 3.

(1) Donner la densite du couple pY1, Y2q, on la note ppy1, y2q.(2) Ecrire un code SAS pour representer graphiquement ppy1, y2q.(3) Creer une donnee SAS de 1000 observations de pY1, Y2q.(4) Creer un histogramme des observations de la premiere coordonnee Y1. On superposera

la densite theorique d’une loi normale dont on determinera la moyenne et la variance.Expliquer le resultat.

(5) Meme question pour la seconde coordonnee Y2.

Exercice 48 (1.5 points). Lesquelles de ces fonctions sont une densite d’un vecteur gaussiena deux dimensions? Il faudra donner les parametres de moyenne et de variance-covariance.

(1)

p1pz1, z2q �?

3

πexp

��6pz1 � 1.7q2 � 6pz1 � 1.7qpz2 � 1.7q � 2pz2 � 1.7q2� ,(2)

p2py1, y2q � 1

π?

3exp

��2

3py21 � y22 � y1y2q

,

(3)

p3py1, y2q � 1

2πexp

��1

2py1 � y2 � y21y2q

.

Exercice 49 (1.5 points). (1) Donner la densite d’un vecteur gaussien a deux dimen-sions pY1, Y2q verifiant

EpY1q � �1, EpY2q � 5,

E�pY1 �m1q2

� � 7, E�pY2 �m2q2

� � 13,

E ppY1 �m1qpY2 �m2qqaE ppY1 �m1q2qE ppY2 �m2q2q

�?

3

2.

(2) Ecrire un code SAS pour representer la densite de pY1, Y2q.(3) Donner la matrice Σ1{2 associee a pY1, Y2q.(4) Ecrire un code SAS pour simuler 1000 realisations de pY1, Y2q.

25

12. vecteurs gaussiens 3D

Exercice 50 (Bonus 4 points). Considerons un vecteur gaussien a trois dimensions pY1, Y2, Y3qverifiant

EpY1q � �1, EpY2q � 5, EpY3q � 5,

E�pY1 �m1q2

� � 7, E�pY2 �m2q2

� � 13, E�pY2 �m2q2

� � 11,

E ppY1 �m1qpY2 �m2qqaE ppY1 �m1q2qE ppY2 �m2q2q

� 1

2,

E ppY1 �m1qpY3 �m3qqaE ppY1 �m1q2qE ppY3 �m3q2q

� 1?2,

E ppY2 �m2qpY3 �m3qqaE ppY2 �m2q2qE ppY3 �m3q2q

�?

3

2.

(1) Donner la matrice Σ1{2 associee a pY1, Y2, Y3q.(2) Ecrire un code SAS pour simuler 1000 realisations de pY1, Y2, Y3q. On pourra completer

le code suivant

proc iml;

N = 1000;

m = {...};

/*sigma = {...};*/

/*rho12 = ... ;*/

/*rho13 = ... ;*/

/*rho23 = ... ;*/

sqrt_sigma = {0 0 0,0 0 0, 0 0 0};

/*sqrt_sigma[1,1] = ...;

sqrt_sigma[1,2] = ...;

sqrt_sigma[1,3] = ...;

sqrt_sigma[2,2] = ...;

sqrt_sigma[2,3] = ...;*/

x= rannor(J(/*...*/,N,0));

y = m + sqrt_sigma*x;

y=y‘;

mean = y[:,];

z = y - mean;

cov = z‘*z/(N-1);

print mean, cov;

quit;

13. Correction evaluation 1

/*Exercice1*/

libname malib ’C:\Users\Etudiant\Desktop\SASL3_NOM_PRENOM’;

/*Exercice2*/

/*La variable a du code est socke dans une bibliothque ’Work’ dite temporaire*/26

/*Exercice3*/

data malib.mydata1;

input x y z u w;

cards;

1 2 3 4 5

9 8 7 6 5

6 9 2 4 1

2 3 2 2 1

;

run;

data malib.mydata2;

set malib.mydata1;

drop y;

run;

/*Exercice4*/

/* Le problme provient de la procdure ’print’.

En effet, on aurait du crire ’data=main’ et non ’data=data main’ */

/*Exercice5*/

/*1*/

data simu;

do i = 1 to 100;

u = rantbl(123, 1/6, 1/6, 1/6, 1/6, 1/6, 1/6);

output;

end;

run;

/*2*/

data simu2;

do i=1 to 100;

variable= -4.6 + 2.1*ranuni(123);

output;

end;

run;

/*3*/

data simu3;

do i=1 to 100;

variable2= 0.9 + 5*rannor(123);

output;

end;

run;

/*4*/

data simu4;

27

sigma=sqrt(log(1 + 3*3 / (7.2 * 7.2)));

mu= log(7.2) -0.5 * sigma*sigma;

do i=1 to 100;

lognorm = exp(mu + sigma * rannor(123));

output;

drop i;

end;

run;

/*Exercice7*/

data population;

sigmam = sqrt(log(1+(7.2*7.2/72*72)));

mum = log(72)-0.5*sigmam*sigmam;

sigmaf=sqrt(log(1+9.72*9.72/(64*64)));

muf=log(64)-0.5*sigmaf*sigmaf;

do i =1 to 1000;

if ranuni(123)>0.4796 then do;

genre = ’Homme’;

poids=exp(mum+sigmam*rannor(123));

taille=181+10.2*rannor(123);

end;

else do;

genre=’Femme’;

poids=exp(muf+sigmaf*rannor(123));

taille=165+4.2*rannor(123);

end;

output;

drop i;

end;

run;

proc sort data = malib.pop;

by genre;

run;

proc print data = malib.pop;

run;

/*Exercice8*/

28

data fleurs;

do i=1 to 5000;

drop i;

r=ranuni(123);

if r<0.4221 then do;

espece=’Mirroir-de-Venus’;

taille= 22 + 8.2*rannor(123);

end;

if r>0.6508 then do;

espece=’Gentiane-Champetre’;

taille= 12 + 7*rannor(123);

end;

else do;

espece=’Jonquille-Jeannette’;

taille= 26+9.8*rannor(123);

end;

output;

end;

run;

proc print data=fleurs;

run;

proc sort data=fleurs;

by espece;

run;

proc print data=fleurs;

run;

/*Exercice9*/

proc iml;

r={1 0.5, 0.5 1};

s={3 0, 0 2};

cov=s*r*s;

print cov;

run;

/*Exercice10*/

data boxmuller;

do i = 1 to 1000;

u1 = ranuni(123);

u2 = ranuni(123);

box = 0.3 + sqrt(3.5)*sqrt(-2*log(u1))*cos(2*3.14157*u2);

drop i;

output;

end;

run;

29

proc print data=boxmuller;

run;

/*Exercice11*/

/*1*/voir cours

/*2*/

data PDF ( keep = x1 x2 p);

m1=1.2;

m2=-0.8;

s1=3;

s2=2;

rho=0.5;

min1=m1-0.4*s1;

min2=m2-0.4*s2;

max1=m1+0.4*s1;

max2=m2+0.4*s2;

do x1=min1 to max1 by 0.1;

do x2=min2 to max2 by 0.1;

z1=(x1-m1)/s1;

z2=(x2-m2)/s2;

p=exp(-0.5*(z1**2+z2**2-2*rho*z1*z2)/(1.0-rho**2))/(2*3.14157*s1*s2*sqrt(1-rho**2));

output;

end;

end;

run;

proc g3d;

plot x1*x2=p;

run;

/*3*/

proc iml;

N=1000;

/*creation du vecteur de la moyenne*/

m = { 1.2, -0.8 };

/*creation de la matrice racine carr\’e de sigma*/

sigma = {9 3, 3 4};

sqrt_sigma={0 0,0 0};

rho=sigma[1,2]/sqrt(sigma[1,1]*sigma[2,2]);

sqrt_sigma[1,1]=sqrt((1-rho*rho)*sigma[1,1]);

sqrt_sigma[1,2]=rho*sqrt(sigma[1,1]);

sqrt_sigma[2,1]=0;

sqrt_sigma[2,2]=sqrt(sigma[2,2]);

/*generation une matrice 2 lignes et 1000 colonnes

contenant des realisations de loi normales independantes*/

x = rannor(J(2,1000,123));

30

/*creation de 1000 realisations du vg2d de l’exemple du cours*/

y = m + sqrt_sigma*x;

/*transposition de la matrice pour avoir les observations en colonnes*/

y=y‘;

create malib.ydata from y [colname = {y1 y2}];

append from y;

quit;

/*4*/

proc print data=malib.ydata;

run;

proc univariate data=malib.ydata;

var y1;

histogram/normal;

run;

/*5*/

proc univariate data=malib.ydata;

var y2;

histogram/normal;

run;

/*Exercice12*/

/*1:oui,2:oui,3:non voir cours pour explication*/

/*Exercice13*/

/*1:voir cours*/

/*2*/

data PDF(keep = y1 y2 p);

m1=-1;

m2=5;

sigma1= sqrt(7);

sigma2= sqrt(13);

rho=sqrt(3)/2

min1= m1-4.0*sigma1;

min2= m2-4.0*sigma2;

max1= m1+4.0*sigma1;

max2= m2+4.0*sigma2;

do y1=min1 to max1 by 0.1;

do y2=min2 to max2 by 0.1;

u1=(y1-m1)/sigma1;

u2= ( y2-m2)/sigma2;

p=exp[-0.5*(u1**2+u2**2-2*rho*u1*u2)/(1-rho**2)]/(2*3.14157*sigma1*sigma2*sqrt(1-rho**2));

output;

end;

end;

run;

31

proc g3d;

plot y1*y2=p;

title ’densit vg2d’;

run;

/*(4)*/

proc iml;

N=1000;

m = {-1 5}

sigma = {7 3, 13 4}

rho= sigma[1,2]/sqrt(sigma[1,1]*sigma[2,2]);

sqrt_sigma= {0 0 , 0 0}

sqrt_sigma[1,1] = sqrt((1-rho*rho)*sigma[1,1]);

sqrt_sigma[1,2] = rho*sqrt(sigma[1,1];

sqrt_sigma[2,1] = 0;

sqrt_sigma[2,2] = sqrt(sigma[2,2];

x=rannor(J(2,N,0));

y = m + sqrt_sigma*x;

y=y‘ ;

create y data from y [colname={y1,y2}];

append from y;

run;

/*Exercice14*/

proc iml;

N=1000;

m= (-1,5,5);

sqrt_sigma = {0 0 0, 0 0 0, 0 0 0};

sqrt_sigma[1,1] = 0.5*sqrt(3*7*0.5);

sqrt_sigma[1,2] = 0.5*sqrt(7*0.5);

sqrt_sigma[1,3] = 0.5*sqrt(7);

sqrt_sigma[2,2] = 0.5*sqrt(13);

sqrt_sigma[2,3] = 0.5*sqrt(3*13);

sqrt_sigma[3,3] = sqrt(11);

x = rannor (J(3,N,0));

y = m + sqrt_sigma*x;

y = y‘;

mean = y [:,];

z = y - mean;

cov = z‘*z/(N-1);

print mean, cov;

quit;

32

Abstract. Dans cette 5-eme seance, on s’interesse a la mise en oeuvre avec le logicielSAS de la regression lineaire. En cours-TD, on va revoir quelques notions de base et fairequelques exercices ”a la main” sur des petites donnees, puis en TP nous allons traiter desexemples sur ordinateur.

14. Rappel sur la regression

Typiquement, on cherche a expliquer une donnee y (on l’appelle variable expliquee) par unedonnee x (appelee variable explicative).

Quel est le lien entre les deux variables? Connaissant une certaine valeur de la variable explicative “x”, peut-on predire la

valeur expliquee “ypxq”? Quelle precision et quelle confiance accorde t’on a cette prediction?

14.1. Definition du modele de regression lineaire simple. On se donne n observationsd’une variable Y : #

py1, ..., ynq donnees de la variable expliquee

px1, ..., xnq donnees de la variable explicative.

On suppose que les donnees pour la variable expliquee py1, ..., ynq sont des tirages de variablesaleatoires Y1, ..., Yn definies de la facon suivante:

Yi � β0 � β1xi � εi

ou

(4)

#le couple pβ0, β1q est inconnu

et les εi (termes d’erreur) sont des variables aleatoires d’esperance nulle.

Remarque 51. La donnee explicative px1, ..., xnq n’est a priori pas issue du tirage de vari-ables aleatoires

14.1.1. Objectifs.

Estimation de β0 et β1. Faire des predictions.

14.1.2. Estimation par les moindres carres. Une approche naturelle consiste a chercher β0et β1 de sorte que

n

i�1

pyi � β0 � β1xiq2

soit le plus petit possible. Notons pβ0, β1q le couple de valeurs satisfaisant:

(5)n

i�1

pyi � β0 � β1xiq2 � minβ0,β1

#n

i�1

pyi � β0 � β1xiq2+.

33

Proposition 52. On a

(6) β1 �°ni�1 xiyi � nxy°ni�1 x

2i � nx2

, β0 � y � β1x

par ailleurs, β1 verifie egalement

(7) β1 �°ni�1pxi � xqpyi � yq°n

i�1pxi � xq2ou

x � 1

n

n

i�1

xi y � 1

n

n

i�1

yi.

Proof. En exercice. En ecrivant l’equation d’optimalite, on obtient un systeme lineaire 2� 2dont la solution est pβ0, β1q. �

Remarque 53. La methode des moindres carres ne necessite aucune hypothese sur les ter-mes d’erreur εi.

14.1.3. Coefficient de determination. Ensuite, pour quantifier la distance entre les points etla droite, on calcule le coefficient de determination, c’est a dire:

r2 :�°ni�1pyi � yq2°ni�1pyi � yq2

ou on utilise la notation

yi � β1xi � β0.

Proposition 54. On a

r �°ni�1pxi � xqpyi � yqa°n

i�1pxi � xq2°ni�1pyi � yq2

Proof. En exercice. Il suffit d’ecrire°ni�1pyi � yq2 en fonction de

°ni�1pxi � xq2 et d’utiliser

l’expression de β1. �

Plus r2 est proche de 1, plus les points pxi, yiq sont proches des points pxi, yiq.14.2. Definition du modele de regression lineaire multiple. La regression lineairemultiple est une generalisation a plusieurs variables explicatives de la regression lineairesimple. On se donne$'''&

'''%px1,1, ..., xn,1q

...

px1,p, ..., xn,pq

,/./- donnees de la variable explicative

py1, ..., ynq donnees de la variable expliquee.

Ici, on suppose que les donnees pour la variable expliquee py1, ..., ynq sont des tirages devariables aleatoires Y1, ..., Yn definies de la facon suivante:

Yi � β0 � β1x1,p � ...� βpxi,p � εi34

ou

(8)

#le pp� 1q-uplet pβ0, .., βpq est inconnu

et les εi (termes d’erreur) sont des variables aleatoires d’esperance nulle.

Remarque 55. Comme dans la section precedente, la donnee explicative n’est a priori pasissue du tirage de variables aleatoires.

En notation matricielle, on a��y1...yn

loomoonn�1

��� 1 x1,1 ... x1,p

...1 xn,1 ... xn,p

looooooooooooomooooooooooooonn�pp�1q

��β0...βp

loomoonpp�1q�1

���ε1...εn

� .

14.2.1. Objectifs.

Estimation de β0, ..., βp. Faire des predictions.

14.2.2. Estimation par les moindres carres. On cherche β0, ..., βp de sorte que

Jpβq :�n

i�1

pyi � β0 � β1xi,1 � ...� βpxi,pq2

soit le plus petit possible. Notons pβ0, ..., βpq le (p+1)-uplet de valeurs satisfaisant:

n

i�1

pyi � β0 � β1xi,1 � ...� βpxi,pq2 � minβ0,...,βp

#n

i�1

pyi � β0 � β1xi,1 � ...� βpxi,pq2+.

Proposition 56. On a

β � pXTXq�1XTy

ouX � txi,ju, β � tβiu, y � tyiu.

Proof. On peut chercher le vecteur β qui annule le gradient de J . �

Remarque 57. Comme dans le cas precedent, la methode des moindres carres ne necessiteaucune hypothese sur les termes d’erreur εi.

Exercice 58. Verifier que la proposition s’applique au cas de la regression lineaire simple.

15. Quelques exercices a la main

Exercice 59. On se donne un ensemble de donnees:

xi 1 2 3 4 5 6yi 3 7 5 11 14 14

(1) Representer le nuage de points associe a cette donnee.(2) Calculer lequation estimee de la regression et tracer la droite correspondante.(3) Calculer les residus.(4) Calculer le coefficient de determination r2 de deux facons.

35

Exercice 60. On se donne un ensemble de donnees:

xi 2 3 5 1 8yi 25 25 20 30 15

Memes questions que l’exercice precedent.

16. Mise en oeuvre de la regression avec SAS

Exemple 61. Considerons une donnees SAS

data data_xy;

input x y;

cards;

1 0

2 3

3 2

4 3

;

On peut representer la donnee data xy en ecrivant

proc gplot data = data_xy;

plot y*x;

title ’Graphique de y en fonction de x’;

run;

et on peut proceder a la regression de la facon suivante:

proc reg data = data_xy;

title ’regression de y en fonction de x’;

model y = x;

run;

Exercice 62. Essayer les options suivantes:

model y = x / noint;

model y = x / p;

et expliquer la sortie.

Exercice 63. Une etude sur le developpement et la croissance d’une espece de plante esten cours. Une equipe de bio-ingenieurs choisit au hasard des plants cultives dans un terreauidentique et mesure le poids des feuilles et des racines (en gramme). Les resultats sontresumes dans la donnee SAS ci-dessous:

data data_plante;

input poidsfeuilles poidsracines;

cards;

106.5 85.2

155.2 90.1

155.6 88.4

122.8 85.3

125.9 80.5

130.8 8136

136.2 87.8

145.7 86.3

117.7 78.8

135.4 88.7

141.5 89.5

112 75.2

139.5 86.6

114.8 82.4

120.4 87.1

;

(1) Representer le nuage de points associe a cette donnee.(2) On souhaite expliquer le poids des racines a l’aide du poids des feuilles en utilisant

une regression lineaire simple. Donner l’equation de regression.(3) Calculer le coefficient de determination et interpreter le resultat.(4) Que peut-on prevoir comme poids des racines pour une plante dont le poids des feuilles

est 95g?,110g?150g?

Exercice 64. Des artilleurs procedent a des tirs de canon. Pour un certain canon, la porteeest fonction de l’angle de tir. Les resultats sont resumes dans la donnee SAS ci-dessous:

data data_canon;

input angle portee;

cards;

5 177

10 349

15 510

20 655

25 781

30 883

35 958

40 1004

45 1019

50 1004

55 958

60 883

65 781

70 655

75 510

80 349

85 177

;

(1) Calculer le coefficient de correlation entre l’angle et la portee.(2) Representer le nuage de points associe a cette donnee.(3) Que peut-on conclure?

37

Exercice 65. On souhaite tester la procedure reg de SAS sur un echantillon simule de tailleN du modele lineaire gaussien suivant

yi � 0.87� 2.31 � i� εi, i � 1...N

ou les εi sont i.i.d. de loi normale centree reduite.

(1) Definir une donnee data simulation de la facon suivante:

data simulation;

do i=1 to N; Y=0.87+ 1.5*i + rannor(-1); output; end; run;

(2) Representer le nuage de points associe a cette donnee.(3) Pour N � 10, 100 ou 1000, donner les estimations des parametres a partir d’un jeu

de donnees simulees.

Exercice 66 (exemple issu du cours de Gilles Lamothe, Universite d’Ottawa (introSAS,example22)). Voici un programme pour creer un jeu de donnees pour une regression lineairemultiple.

data mat3775.dwayneP;

input x1 x2 y;

label y=’vente’

x1=’nombre de jeunes’

x2=’revenu disponible par capita’;

datalines;

68.5 16.7 174.4

45.2 16.8 164.4

91.3 18.2 244.2

47.8 16.3 154.6

46.9 17.3 181.6

66.1 18.2 207.5

49.5 15.9 152.8

52.0 17.2 163.2

48.9 16.6 145.4

38.4 16.0 137.2

87.9 18.3 241.9

72.8 17.1 191.1

88.4 17.4 232.0

42.9 15.8 145.3

52.5 17.8 161.1

85.7 18.4 209.7

41.3 16.5 146.4

51.7 16.3 144.0

89.6 18.1 232.6

82.7 19.1 224.1

52.3 16.0 166.5

65.4 17.6 .

53.1 17.7 .

;

run;38

Remarque 67. On remarque que les deux dernieres lignes ne font pas partie de l’echantillon.Que fait SAS avec ces valeurs?

Que fait le programme suivant?

symbol1 c=blue v=circle h=1 w=2;

proc reg data = mat3775.dwayneP;

model y = x1 x2;

title "Diagramme des residus";

plot r.*p.;

title "Diagramme des residus";

plot r.*x1;

title "Diagramme des residus";

plot r.*x2;

output out=dwayne_out

r=resid p=ajustement stdp=ETmoy L95=infP

U95=supP L95M=infM U95M=supM;

run;

Exercice 68. On souhaite tester la procedure reg de SAS sur un echantillon simule de tailleN � n2 du modele multilineaire gaussien suivant

yi � 0.87� 1.24 � j1 � 2.12 � j2 � εi, i � 1...N

ou pj1, j2q P t1, .., nu et les εi sont i.i.d. de loi normale centree reduite.

(1) Definir une donnee data simulation.(2) Representer le nuage de points associe a cette donnee (en 3D).(3) Pour n � 10, 100 ou 1000, donner les estimations des parametres a partir d’un jeu

de donnees simulees.

17. quelques references

Ce cours s’inspire des references suivantes:

cours de Dieter Mitsche, Universite de Nice,http://math.unice.fr/ dmitsche/Enseignement/13-14/cours.html

cours de Julien Barre, Universite de Nice,http://math.unice.fr/ jbarre/l2ecostat.html

cours de Gilles Lamothe, Universite d’Ottawa,http://aix1.uottawa.ca/ glamothe/mat3775/introSAS.html

39

Abstract. Dans cette 6-eme seance, on s’interesse a la mise en oeuvre avec le logiciel SASdu test du χ2. En cours-TD, on va revoir quelques notions de base et faire quelques exercices”a la main” sur des petites donnees. Ces rappels sont tres largement inspires du cours deJulien Barre (cite plus bas). En TP nous allons traiter des exemples sur ordinateur.

18. Introduction

Le test du χ2 permet de verifier statistiquement l’adequation d’une serie de donnees a unecertaine loi de probabilite ou de verifier l’independance entre deux jeux de donnees. Il reposesur la loi de probabilite du χ2pkq dont la densite a k ¥ 1 degres de liberte est donnee par lafonction suivante:

fkpxq � 1?2kΓpk{2q

xk2�1 expp�x

2q1p0,8qpxq.

Exercice 69. Pour differentes valeurs de k, donner une representation graphique de cettedensite sur votre feuille. Localiser proprement le maximum.

19. Rappel sur le test du χ2 d’adequation

Considerons un echantillon de n realisations d’une variable aleatoire discrete prenant unnombre fini de valeurs. Dans ce cadre, l’echantillon se retrouve divise en differentes classesselon la valeur de cette variable.

Exemple 70. On lance un de 120 fois et on obtient les resultats suivants:

1 2 3 4 5 615 16 19 20 24 26

Peut-on conclure que le de est desequilibre? Sachant que pour un de equilibre la frequencetheorique d’occurrence de chaque face est 1{6, le probleme peut se formuler comme un testd’hypothese :#

H0: les probabilites d’obtenir 1,2,3,4,5 ou 6 valent toutes 1/6.

Ha: les probabilites d’obtenir 1,2,3,4,5 ou 6 sont differentes.

Sous l’hypothese H0, pour un echantillon de taille n � 120, on doit s’attendre a observer unnombre d’occurrence de chaque face a environ n

6� 20.

19.1. Cadre general. Supposons qu’on dispose d’un echantillon de n realisations d’unecertaine variable aleatoire discrete qui prend k valeurs differentes :

a1, a2, ..., ak.

Cet echantillon contient n1 fois a1, n2 fois a2, ...., nk fois ak avec n1 � n2 � ...� nk � n. Onnotera les proportions empiriques:

p1 :� n1

n, p2 :� n2

n, ..., pk :� nk

n.

On aimerait savoir si oui ou non (du point de vue statistique), les proportions empiriquesdes ai correspondent a des proportions theoriques:

p1, p2, ..., pk.40

Formulons les hypotheses suivantes :#H0: les probabilites d’obtenir a1, a2, ..., ak valent p1, p2, ..., pk.

Ha: ces probabilites ne sont pas egales a p1, p2, ..., pk.

Si l’on suppose que H0 est vraie alors on s’attend a ce que

sous H0 : ni � npi.

Par exemple, le nombre d’occurrence des a1 doit etre grosso-modo pas trop loin de n fois p1.Definissons ces nombres attendus

e1 :� np1, e2 :� np2, ..., ek :� npk

et la statistique de test

χ � pe1 � n1q2e1

� ...� pek � nkq2ek

,

alors il existe un theoreme de statistique qui montre que sous H0, la loi de χ est connue.

Theorem 71. Si H0 est vraie alors alors la v.a. χ suit une loi de χ2 a k�1 degres de libertequand n est assez grand. Application du theoreme pour faire le test: on se donneun α ¡ 0 : si par exemple χ est peu probable par rapport a la distribution du χ2pk � 1q, ausens ou

Ppχ2pk � 1q ¡ χq ¤ α

alors on rejette H0 au seuil α ¡ 0.

Proof. Admis. �

Remarque 72. En pratique, on considere que n est assez grand pour appliquer le theoremelorsque tous les effectifs sont plus grands que 5.

Revenons a l’exemple 1,

Exemple 73. Si l’on pose comme statistique de test

χ � p20� 15q220

� p20� 16q220

� p20� 19q220

� p20� 20q220

� p20� 24q220

� p20� 26q220

alors la valeur numerique de χ (a savoir 4.7) peut etre vue comme la realisation d’une v.a.distribuee

selon la loi du χ2 a 5 degres de liberte.

Pour seuil α � 0.01, si χ est peu probable par rapport a la distribution du χ2p5q, au sens ou

Ppχ2p5q ¡ χq ¤ 0.01

alors on rejette H0 au seuil 0.01.41

20. Mise en oeuvre du test d’adequation a la main

Exercice 74. Trois societes A,B et C se partagent un marche. Les societes introduisent denouveaux produits et on souhaite savoir si les parts de marche ont change. Avant l’introductiondes nouveaux produits, les parts de marche etaient$'&

'%20% pour A

40% pour B

40% pour C

Apres l’introduction des nouveaux produits, une etude sur un echantillon de 250 consom-mateurs fournit les resultats suivants (chaque consommateur indique sa preference entre lesproduits des societes A, B et C). $'&

'%63 pour A

80 pour B

107 pour C

Effectuer un test du χ2 d’adequation pour savoir si on peut retenir l’hypothese nulle ou#H0: les parts de marche n’ont pas change

Ha: les parts de marche ont change

au seuil de signification 0.01.

Exercice 75. En 1999, les taux (en pourcentage) d’utilisation des differents moyens depaiement pour des achats en magasin etaient les suivants

carte de credit 22%carte de paiement 21%

cheque 18%liquide 39%

En 2003, sur un echantillon de 220 achats en magasin, 46 ont ete regles par carte de credit,67 par carte de paiement, 33 par cheque et 74 en liquide. Effectuer un test du χ2 d’adequationpour savoir si on peut retenir l’hypothese nulle ou#H0: les habitudes de paiement entre 1999 et 2003 n’ont pas changes

Ha: un changement est intervenu dans les habitudes de paiement entre 1999 et 2003.

au seuil de signification 0.01.

21. Rappel sur le test du χ2 d’independance

On considere une population et deux variables A et B definies pour chaque individu de cettepopulation. Formulons les hypotheses suivantes :#

H0: les variables A et B sont independantes.

Ha: les variables A et B ne sont pas independantes.

42

Exemple 76. Un region touristique souhaite faire une etude sur des visiteurs. Un visiteurpeut etre interesse par le tourisme vert, les activites sportives, les musees (variable A : butdu sejour) et peut etre francais ou etranger (variable B : origine). On aimerait savoir si lebut du sejour et l’origine sont independants. Considerons les donnees suivantes: on disposed’un echantillon de 200 touristes et on sait que la repartition est la suivante:

musees (a1) sport (a2) tourisme vert (a3)francais (b1) n11 :� 38 n12 :� 54 n13 :� 38 130etranger (b2) n21 :� 24 n22 :� 32 n23 :� 14 70

62 86 52 200

faisons le test suivant :#H0: le but du sejour et l’origine sont independants.

Ha: le but du sejour et l’origine ne sont pas independants.

Supposons que H0 est vraie, On voudrait calculer des effectifs attendus pour les differentescases du tableau et les comparer aux ”effectifs observes” dans l’echantillon. On va noter

pij � PpA � ai, B � bjqde sorte que le tableau des probabilites theoriques s’ecrive

musees (a1) sport (a2) tourisme vert (a3)francais (b1) p11 p12 p13

°p1j

etranger (b2) p21 p22 p23°p2j°

pi1°pi2

°pi3 1

Sous H0, ces probabilites s’expriment comme des produits

pij � piqj

oupi � PpA � aiq et qj � PpB � bjq.

De l’echantillon, on peut estimer les probabilites pi et qj en posant

pi � total de la colonne i

taille de l’echantillonet qj � total de la ligne j

taille de l’echantillonDans ce cadre, les effectifs attendus s’ecrivent

eij � total de la colonne i� total de la ligne j

taille de l’echantillonDans notre exemple, les effectifs attendus sont donnes dans le tableau suivant:

musees (a1) sport (a2) tourisme vert (a3)francais (b1) 40.3 55.9 33.8etranger (b2) 21.7 30.1 18.2

Maintenant, definissons la statistique de test

χ �¸i,j

peij � nijq2eij

alors il existe un theoreme de statistique qui montre que sous H0, la loi de χ est connue.43

Theorem 77. Si H0 est vraie alors alors la v.a. χ suit une loi de χ2 a pk � 1q � pl � 1qdegres de liberte quand n est assez grand. Dans l’exemple k � 3 est le nombre de valeurspossibles pour la variable A et l � 2 est le nombre de valeurs possibles pour la variable B.Application du theoreme pour faire le test: on se donne un α ¡ 0 : si par exempleχ est peu probable par rapport a la distribution du χ2pk � 1qpl � 1q, au sens ou

Ppχ2pk � 1qpl � 1q ¡ χq ¤ α

alors on rejette H0 au seuil α ¡ 0.

Proof. Admis. �

Remarque 78. En pratique, comme avant, on considere que n est assez grand pour appliquerle theoreme lorsque tous les effectifs sont plus grands que 5.

22. Mise en oeuvre du test d’independance a la main

Exercice 79. Pour sa fabrication, un industriel utilise des machines de trois constructeursdifferents, A, B et C. Apres 6 mois d’utilisation, il constate que$'&

'%sur 80 machines du constructeur A, 50 ne sont jamais tombees en panne

sur 60 machines du constructeur B, 40 ne sont jamais tombees en panne

sur 60 machines du constructeur C, 38 ne sont jamais tombees en panne

Tester l’hypothese nulle ”la frequence des pannes est independante du type de machine” auseuil de signification 0.05.

Exercice 80. Le tableau ci-dessous presente le temps moyen de sommeil d’un echantillond’individus, separe en deux classes d’age

age moins de 6h entre 6h et 7h entre 7h et 8h plus de 8h totalmoins de 50 ans 38 60 77 65 240plus de 50 ans 36 57 75 92 260

Tester l’hypothese nulle ”le temps moyen de sommeil est independant de l’age” au seuil designification 0.05.

23. Illustration avec SAS du test du χ2 d’adequation

Exercice 81. (1) Creer une donnee contenant la simulation de 120 lancers d’un dedesequilibre

tp1, p2, p3, p4, p5, p6u � t0.2, 0.3, 0.1, 0.1, 0.2, 0.1u.On appelera la variable face.

(2) On souhaite savoir si les proportions observees de l’echantillon different significative-ment des proportions theoriques d’un de equilibre. Les proportions theoriques sontplacees en parentheses apres l’instruction testp= option on the tables statement.

proc freq data = lancers;

tables face / chisq testp=(1/6 1/6 1/6 1/6 1/6 1/6);

run;

(3) Que montrent les resultats?44

Reprenons le probleme etudie lors de la premiere seance:

Probleme 82. Generer une population aleatoire composee de 5000 individus avec des mesuresde leur taille. On suppose que

la taille des hommes adultes est distribuee selon une loi normale de moyenne m1 �176cm et d’ecart type σ1 � 6.81cm,

la taille des femmes adultes est distribuee selon une loi normale de moyenne m2 �162cm et d’ecart type σ2 � 7.24cm,

enfin, le ratio du nombre de femmes sur le nombre total d’individus vaut r � 50.56.

Exercice 83. Faites un test avec SAS pour savoir si les proportions hommes femmes ob-servees de l’echantillon different significativement des proportions theoriques a savoir 0.5056pour les femmes et 0.4944 pour les hommes.

24. Quelques references

Ce cours s’inspire essentiellement des references suivantes:

cours de Julien Barre, Universite de Nice,http://math.unice.fr/ jbarre/l2ecostat.html

45

controle terminal 3Hbareme: 0.75 points par question + 3 points exercice 6

date : 2 AVRIL 2014Annee 2014

Universite de Nice Sophia-Antipolis

25. Base de donnees

(1) Creer une donnee data1 a partir du tableau suivant :

nom age genreMaurice 21 hommeJustine 26 femme

Honorine 23 femmeJean 24 homme

Paulette 22 femme

Ensuite, afficher la donnee.(2) Creer une donnee data2 ou les individus de data1 ont ete tries par genre. Ensuite,

afficher la donnee.(3) Creer une donnee par copie data3 ou l’on enlevera la variable genre de data1.

Ensuite, afficher la donnee.

26. Calcul matriciel et procedure iml

Soient X1, X2 deux variables aleatoires reelles. Notons

Σ :� tcovpXi, Xjq, 1 ¤ i, j ¤ 2u ,

R :�"

covpXi, XjqσpXjqσpXjq , 1 ¤ i, j ¤ 2

*,

et

S :��

1σpX1q 0

0 1σpX2q

ou

covpX, Y q :� E ppX � EXqpY � EY qq et σpXq :�a

covpX,Xq(1) Quelle relation doit etre satisfaite entre Σ, R et S? (a la main)(2) On se donne une matrice de covariance

Σ :��

7 33 7

.

Donner la matrice de correlation. (a la main)(3) Ecrire un code SAS qui transforme la matrice de covariance en la matrice de correlation.

46

27. Simulation de variables aleatoires : cas 1D

(1) Creer une donnee simu1 contenant 1000 realisations d’une variable de loi uniformesur r�1.5, 2.3s, puis realiser l’histogramme associe et superposer la densite theorique.

(2) Meme question pour une loi exponentielle de parametre 1.4. On appellera la donneesimu2.

(3) Meme question pour une loi normale de moyenne �0.35 et de variance 5. On appellerala donnee simu3.

(4) Meme question pour une loi log-normale de moyenne 28 et d’ecart type 12. Onappellera la donnee simu4.

(5) Simuler 1000 realisations d’une variable a valeurs dans t1, 2, 3, 4u ayant la loi suivante:

PpX � 1q � 0.5, PpX � 2q � 0.1, PpX � 3q � 0.1, PpX � 4q � 0.3.

On appellera la donnee simu5. Donner les frequences empiriques d’occurence desvaleurs de t1, 2, 3, 4u.

(6) Trouver le ou les bug(s) dans le code suivant:

data simubug;

do i=1 to 1000;

x=rantbl(1,0.23,0.45, 0.15)

output;

end;

run;

proc print data = data data simu.

ran;

(7) Que pouvez vous faire pour corriger le ou les bug(s)?(8) Creer une donnee population contenant une population aleatoire composee de 5000

individus avec des mesures de leur taille. On suppose que la population est composeede quatre groupes. pour une proportion de 22% (groupe1), la taille des individus est distribuee selon

une variable normale de moyenne m1 � 150cm et d’ecart type σ1 � 8.61cm, pour une proportion de 35% (groupe2), la taille des individus est distribuee selon

une variable normale de moyenne m1 � 175cm et d’ecart type σ1 � 5.47cm, pour une proportion de 38% (groupe3), la taille des individus est distribuee selon

une variable normale de moyenne m1 � 185cm et d’ecart type σ1 � 4.19cm, pour une proportion de 5% (groupe4), la taille des individus est distribuee selon

une variable normale de moyenne m1 � 192cm et d’ecart type σ1 � 3.83cm,(9) Expliquer ce que represente la donnee SAS suivante

data jeu;

do roll = 1 to 1000;

d1 = 1 + int(6*ranuni(123));

d2 = 1 + int(6*ranuni(123));

somme = d1+d2;

drop d1, d2;

end;47

28. Simulation de vecteurs gaussiens : cas 2D

(1) Donner la densite d’un vecteur gaussien a deux dimensions pY1, Y2q verifiant

EpY1q � 2, EpY1q � 5,

E�pY1 �m1q2

� � 3, E�pY2 �m2q2

� � 7,

E ppY1 �m1qpY2 �m2qqaE ppY1 �m1q2qE ppY2 �m2q2q

� 1

2.

(2) Ecrire un code SAS pour representer la densite de pY1, Y2q.(3) Donner la matrice Σ1{2 associee a pY1, Y2q.(4) Ecrire un code SAS pour simuler 1000 realisations de pY1, Y2q.

29. La regression lineaire

La donnee de l’exercice est issue de

http://www-irma.u-strasbg.fr/~fbertran/enseignement/Master1_FC_MCB/TD_Cours3.pdf

Une etude sur la relation entre la taille et la performance d’un ensemble d’athletes en saut enhauteur est en cours. Les mesures (en cm) de 15 athletes sont resumees dans la donnee SASci-dessous:

data data_sport;

input taille performance;

cards;

173 232

183 240

184 240

178 233

184 237

185 237

186 237

185 236

191 241

187 236

196 245

188 236

200 242

194 235

201 240

;

(1) Representer le nuage de points associe a cette donnee.(2) On souhaite expliquer la performance a l’aide de la taille en utilisant une regression lineaire

simple. Donner l’equation de regression.(3) Calculer le coefficient de determination et interpreter le resultat.(4) Que peut-on prevoir comme performance pour un athlete dont la taille est 165cm?,180cm?205cm?

30. Test du χ2 d’adequation

Faites un test du χ2 pour savoir si les proportions observees dans la donnees simu5 differentsignificativement des proportions theoriques t0.25, 0.25, 0.25, 0.25u.

48