Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* -----------------------------------------------------------------------------------------------------------------------------
- Etape 0 : S?lectionner les variables que l'on va ?tudier gr?ce aux mod?les de r?gression log-lin?aire (chapitre 2).
- On repart du dernier dataset cr?? lors de la s?ance n?1 : "datalabel" stock? dans la librairie "out"
- - Commencez par assigner les librairies
- - OUT : chemin vers sous-dossier DATA
- - LIBRARY : chemin vers sous-dossier FORMATS
- - Cr?er un nouveau dataset appel? "loglin" stock? dans la librairie out ? partir du dataset "datalabel"
- - Conservez uniquement les variables suivantes :
- - EVALDEMO2 EVALDEMO4(la variable d'int?r?t peut ?tre aussi bien binaire que polytomiale dans le mod?le log-lin?aire)
- - polintr2 et blgetmg (variables explicatives ? 2 niveaux)
- - reg3 (variable explicative ? 3 niveaux)
- ----------------------------------------------------------------------------------------------------------------------------- */
- LIBNAME LIBRARY 'D:\Users\AdelinouxX\Desktop\Travail_SAS\FORMAT';
- LIBNAME OUT 'D:\Users\AdelinouxX\Desktop\Travail_SAS\DATA';
- data out.loglin;
- set out.datalabel;
- keep happy3 health3 sclact2 lknemny3 sblwcoa3 hincfel2 sclmeet2 ;
- run;
- *V?rifiez que le dataset a bien ?t? cr?? via le log :
- NOTE : The data set OUT.LOGLIN has 1869 observations and 5 variables;
- /* --------------------------------------------------------------------------------------------------------------------------------
- Mod?le 1 : TABLE 2x2
- - Variables : X = EVALDEMO2, Y = blgetmg
- - R?aliser un rapport (loglin_2x2 ? stocker dans le sous-dossier RESULTS) en format pdf ayant pour titre g?n?ral :
- 'Mod?le log-lin?aire : Table 2x2 : Y = EVALDEMO2, X = blgetmg'
- - Ce rapport doit ?tre compos? de trois parties :
- - La premi?re aura pour titre "Table de contingence"
- Vous y pr?senterez la table des fr?quences de la variable evaldemo2 crois?e avec blgetmg.
- Utilisez l'option "out = " afin de stocker le r?sultat de la proc freq dans un dataset temporaire "ex1" qui
- vous servira ? construire le mod?le log-lin?aire.
- A partir de cette table, calculez les fr?quences attendues en cas d'ind?pendance (avec une calculatrice).
- Sont-elles fortement ?loign?es des fr?quences observ?es?
- - La deuxi?me partie aura pour titre : "Mod?le d'ind?pendance"
- - La troisi?me aura pour titre : "Mod?le satur?"
- Pr?sentez-y les sorties de la proc genmod (adaptez les param?tres au type de mod?le construit)
- NB : Cat?gories de r?f?rence pour evaldemo2 : "High" pour blgetmg : "No"
- - Interpr?tez les sorties et r?pondez aux questions suivantes :
- 1. L'hypoth?se d'ind?pendance est-elle plausible? Si oui, quelles sont les valeurs plausibles pour les 3 param?tres du mod?le?
- 2. Si non, quelles sont les valeurs plausibles pour le rapport de cotes d'int?r?t (qui quantifie le lien entre X et Y)?
- 3. Pourquoi les valeurs de la statistique de Khi-2 sont-elles diff?rentes entre les sorties de type 1 et de type 3?
- - Exercice : utilisez les estimations du mod?le d'ind?pendance pour retrouver les fr?quences attendues que vous avez calcul?es
- supra ? partir de la table de contingence. Utilisez celles du mod?le satur? pour retrouver les fr?quences observ?es.
- /* --------------------------------------------------------------------------------------------------------------------------------*/
- ods pdf file = 'D:\Users\AdelinouxX\Desktop\Travail_SAS\RESULTS\loglin_2x2.pdf';
- option nodate;
- title1 'Mod?le log-lin?aire : Table 2x2 : Y = happy3, X = sclact2';
- title2 "Table de contingence";
- proc freq data = out.loglin;
- tables sclact2*happy3/ nocol norow
- out = ex1;
- run;
- title2 "Mod?le d'ind?pendance";
- proc genmod data = ex1;
- class happy3 sclact2 /param = ref ref = first;
- model count = happy3 sclact2/dist=poisson link = log;
- run;
- title2 "Mod?le satur?";
- proc genmod data = ex1;
- class happy3 sclact2 /param = ref ref = first;
- model count = happy3 sclact2 happy3*sclact2/dist=poisson link = log type1 type3;
- run;
- title;
- title1 'Mod?le log-lin?aire : Table 2x2 : Y = happy3, X = hincfel2';
- title2 "Table de contingence";
- proc freq data = out.loglin;
- tables hincfel2*happy3/ nocol norow
- out = ex1;
- run;
- title2 "Mod?le d'ind?pendance";
- proc genmod data = ex1;
- class happy3 hincfel2 /param = ref ref = first;
- model count = happy3 hincfel2/dist=poisson link = log;
- run;
- title2 "Mod?le satur?";
- proc genmod data = ex1;
- class happy3 hincfel2 /param = ref ref = first;
- model count = happy3 hincfel2 happy3*hincfel2/dist=poisson link = log type1 type3;
- run;
- title1 'Mod?le log-lin?aire : Table 2x2 : Y = happy3, X = sclmeet2';
- title2 "Table de contingence";
- proc freq data = out.loglin;
- tables sclmeet2*happy3/ nocol norow
- out = ex1;
- run;
- title2 "Mod?le d'ind?pendance";
- proc genmod data = ex1;
- class happy3 sclmeet2 /param = ref ref = first;
- model count = happy3 sclmeet2/dist=poisson link = log;
- run;
- title2 "Mod?le satur?";
- proc genmod data = ex1;
- class happy3 sclmeet2 /param = ref ref = first;
- model count = happy3 sclmeet2 happy3*sclmeet2/dist=poisson link = log type1 type3;
- run;
- title;
- ods pdf close;
- /* Loglin 2x3 */
- ods pdf file = 'D:\Users\AdelinouxX\Desktop\Travail_SAS\RESULTS\loglin_2x3.pdf';
- title1 'Mod?le log-lin?aire : Table 2x3 : Y = happy3, X = health3';
- title2 "Table de contingence";
- proc freq data = out.loglin;
- tables health3*happy3/nocol norow
- out = ex2;
- run;
- title2 "Mod?le d'ind?pendance";
- proc genmod data = ex2 descending;
- class happy3 health3 (ref = "C) Mauvaise santé")/param = ref ref = first;
- model count = happy3 health3/dist=poisson link = log;
- run;
- title2 "Mod?le satur? - santé r?f?rence = neutre";
- proc genmod data = ex2;
- class happy3 health3 (ref = "B) Neutre") /param = ref ref = first;
- model count = happy3 health3 happy3*health3/dist=poisson link = log type1 type3;
- run;
- title2 "Mod?le satur? - santé r?f?rence = Bonne santé";
- proc genmod data = ex2;
- class happy3 health3 (ref = "A) Bonne santé") /param = ref ref = first;
- model count = happy3 health3 happy3*health3/dist=poisson link = log type1 type3;
- run;
- /*sblwcoa3*/
- title2 "Table de contingence sblwcoa3";
- proc freq data = out.loglin;
- tables sblwcoa3*happy3/nocol norow
- out = ex2;
- run;
- title2 "Mod?le d'ind?pendance sblwcoa3";
- proc genmod data = ex2 descending;
- class happy3 sblwcoa3 (ref = "B) Neutre")/param = ref ref = first;
- model count = happy3 sblwcoa3/dist=poisson link = log;
- run;
- title2 "Mod?le satur? - sblwcoa3 r?f?rence = oui";
- proc genmod data = ex2;
- class happy3 sblwcoa3 (ref = "A) Oui") /param = ref ref = first;
- model count = happy3 sblwcoa3 happy3*sblwcoa3/dist=poisson link = log type1 type3;
- run;
- title2 "Mod?le satur? - sblwcoa3 r?f?rence = non";
- proc genmod data = ex2;
- class happy3 sblwcoa3 (ref = "C) Non") /param = ref ref = first;
- model count = happy3 sblwcoa3 happy3*sblwcoa3/dist=poisson link = log type1 type3;
- run;
- title;
- ods pdf close;
- /* 2x2x3
- health3*sblwcoa3 4 16.66 0.0023
- hincfel2*sblwcoa3 2 8.90 0.0117
- health3*lknemny3 4 10.78 0.0292 */
- ods pdf file = 'D:\Users\AdelinouxX\Desktop\Travail_SAS\RESULTS\loglin_2x2x3b.pdf';
- title1 'Mod?le log-lin?aire : Table 3x3x3 : X = happy3, Y = health3, Z = sblwcoa3';
- title2 "Table de contingence";
- proc freq data = out.loglin;
- tables health3*sblwcoa3*happy3/nocol norow
- out = ex3b;
- run;
- title2 "Mod?le satur?";
- proc genmod data = ex3b;
- class happy3 sblwcoa3 health3 (ref='A) Bonne santé')/param = ref ref = first;
- model count = happy3 sblwcoa3|health3
- happy3*sblwcoa3 happy3*health3
- happy3*sblwcoa3*health3 /dist=poisson link = log type1 type3;
- run;
- *- Sur base des sorties de type 1 et de type 3, on peut d?j? conclure que le retrait de XYZ est une hypoth?se plausible.
- - Sur base de la sortie de type 1, on peut aussi conclure que l'ind?pendance entre evaldemo2 et reg3 conditionnellement ? polintr2
- n'est pas une hypoth?se plausible
- --> Il faut maintenant tester si l'ind?pendance entre evaldemo2 et polintr2 conditionnellement ? reg3 est une hypoth?se plausible
- Pour ce faire, on inverse l'ordre de X*Y et X*Z dans l'?quation du mod?le;
- title2 "Mod?le sans l'interaction du 3?me ordre";
- title3 "health3 r?f?rence : Bonne santé";
- proc genmod data = ex3b;
- class happy3 sblwcoa3 health3 (ref='A) Bonne santé')/param = ref ref = first;
- model count = happy3 sblwcoa3|health3
- happy3*health3 happy3*sblwcoa3 /dist=poisson link = log type1 type3;
- run;
- *Sur base des sorties de type 1 et de type 3, on conclut que le retrait de XY|Z n'est pas une hypoth?se plausible.
- L'interaction entre l'int?r?t pour la politique et l'?valuation de la d?mocratie demeure significative quand on contr?le la r?gion;
- title3 "health3 de r?f?rence : Neutre";
- proc genmod data = ex3b;
- class happy3 sblwcoa3 health3 (ref='B) Neutre')/param = ref ref = first;
- model count = happy3 sblwcoa3|health3
- happy3*health3 happy3*sblwcoa3 /dist=poisson link = log type1 type3;
- run;
- /* Table 2 */
- title2 "Table de contingence2";
- proc freq data = out.loglin;
- tables hincfel2*sblwcoa3*happy3/nocol norow
- out = ex3b;
- run;
- title2 "Mod?le satur?";
- proc genmod data = ex3b;
- class happy3 sblwcoa3 hincfel2 (ref='A) Confortable')/param = ref ref = first;
- model count = happy3 sblwcoa3|hincfel2
- happy3*sblwcoa3 happy3*hincfel2
- happy3*sblwcoa3*hincfel2 /dist=poisson link = log type1 type3;
- run;
- *- Sur base des sorties de type 1 et de type 3, on peut d?j? conclure que le retrait de XYZ est une hypoth?se plausible.
- - Sur base de la sortie de type 1, on peut aussi conclure que l'ind?pendance entre evaldemo2 et reg3 conditionnellement ? polintr2
- n'est pas une hypoth?se plausible
- --> Il faut maintenant tester si l'ind?pendance entre evaldemo2 et polintr2 conditionnellement ? reg3 est une hypoth?se plausible
- Pour ce faire, on inverse l'ordre de X*Y et X*Z dans l'?quation du mod?le;
- title2 "Mod?le sans l'interaction du 3?me ordre";
- title3 "health3 r?f?rence : Bonne santé";
- proc genmod data = ex3b;
- class happy3 sblwcoa3 hincfel2 (ref='A) Confortable')/param = ref ref = first;
- model count = happy3 sblwcoa3|hincfel2
- happy3*hincfel2 happy3*sblwcoa3 /dist=poisson link = log type1 type3;
- run;
- *Sur base des sorties de type 1 et de type 3, on conclut que le retrait de XY|Z n'est pas une hypoth?se plausible.
- L'interaction entre l'int?r?t pour la politique et l'?valuation de la d?mocratie demeure significative quand on contr?le la r?gion;
- title3 "health3 de r?f?rence : Neutre";
- proc genmod data = ex3b;
- class happy3 sblwcoa3 hincfel2 (ref='B) Difficile')/param = ref ref = first;
- model count = happy3 sblwcoa3|hincfel2
- happy3*hincfel2 happy3*sblwcoa3 /dist=poisson link = log type1 type3;
- run;
- /* table 3 */
- title2 "Table de contingence3";
- proc freq data = out.loglin;
- tables health3*lknemny3*happy3/nocol norow
- out = ex3b;
- run;
- title2 "Mod?le satur?";
- proc genmod data = ex3b;
- class happy3 health3 lknemny3 (ref='B) Plutôt pas')/param = ref ref = first;
- model count = happy3 health3|lknemny3
- happy3*health3 happy3*lknemny3
- happy3*health3*lknemny3 /dist=poisson link = log type1 type3;
- run;
- *- Sur base des sorties de type 1 et de type 3, on peut d?j? conclure que le retrait de XYZ est une hypoth?se plausible.
- - Sur base de la sortie de type 1, on peut aussi conclure que l'ind?pendance entre evaldemo2 et reg3 conditionnellement ? polintr2
- n'est pas une hypoth?se plausible
- --> Il faut maintenant tester si l'ind?pendance entre evaldemo2 et polintr2 conditionnellement ? reg3 est une hypoth?se plausible
- Pour ce faire, on inverse l'ordre de X*Y et X*Z dans l'?quation du mod?le;
- title2 "Mod?le sans l'interaction du 3?me ordre";
- title3 "health3 r?f?rence : Bonne santé";
- proc genmod data = ex3b;
- class happy3 health3 lknemny3 (ref='B) Plutôt pas')/param = ref ref = first;
- model count = happy3 health3|lknemny3
- happy3*lknemny3 happy3*health3 /dist=poisson link = log type1 type3;
- run;
- *Sur base des sorties de type 1 et de type 3, on conclut que le retrait de XY|Z n'est pas une hypoth?se plausible.
- L'interaction entre l'int?r?t pour la politique et l'?valuation de la d?mocratie demeure significative quand on contr?le la r?gion;
- title3 "health3 de r?f?rence : Neutre";
- proc genmod data = ex3b;
- class happy3 health3 lknemny3 (ref='C) Assez')/param = ref ref = first;
- model count = happy3 lknemny3|health3
- happy3*health3 happy3*lknemny3 /dist=poisson link = log type1 type3;
- run;
- title;
- ods pdf close;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement