0% ont trouvé ce document utile (0 vote)
320 vues3 pages

Sas Macro Calmar

Ce document présente l'application d'une macro SAS pour réaliser le calage sur marges de données issues d'une enquête. Les données comportent des variables sur l'établissement, le service, la catégorie, le sexe et le salaire des personnes interrogées, ainsi que leur réponse à une question. Le document fournit les données observées, les marges de calage et applique trois méthodes de calage pour estimer le paramètre d'intérêt.

Transféré par

Anonymous PKVCsG
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
320 vues3 pages

Sas Macro Calmar

Ce document présente l'application d'une macro SAS pour réaliser le calage sur marges de données issues d'une enquête. Les données comportent des variables sur l'établissement, le service, la catégorie, le sexe et le salaire des personnes interrogées, ainsi que leur réponse à une question. Le document fournit les données observées, les marges de calage et applique trois méthodes de calage pour estimer le paramètre d'intérêt.

Transféré par

Anonymous PKVCsG
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

APPLICATION SUR UN PETIT EXEMPLE DU CALAGE DU MARGES AVEC LA MACRO CALMAR

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/*
/* MODE D'EMPLOI :
/* 1. Télécharger la macro Calmar
/* depuis
[Link]
[Link]
/* 2. Renseigner sur la 1ère ligne du code l'adresse où le fichier
téléchargé a été enregistré
/* 3. Soumettre
/*
/* REMARQUES :
/* - La macro CALMAR utilise les modules SAS/STAT et SAS/IML du logiciel
SAS (version 8 ou 9)
/* - Sa documentation est téléchargeable depuis le lien ci-dessus
/*
/* DESCRIPTION DES DONNÉES :
/* L'enquête a pour but de déterminer le taux de salariés satisfaits de
leurs conditions de travail.
/* Les personnes interrogées sont caractérisées par :
/* - l'établissement où ils travaillent (variable "étab" valant A ou
B)
/* - leur service (variable "service" valant 1, 2 ou 3 pour
production, commercial, R&D)
/* - la catégorie de personnel dont ils relèvent (variable "categ"
valant 1 ou 2)
/* - le sexe (variable "sexe" valant 1 pour les hommes et 2 pour les
femmes)
/* - leur salaire (variable "salaire")
/* - leur réponse à la question posée par l'enquête (notée "y" et
codée 1 pour oui, 0 pour non)
/*
/* Le programme qui suit :
/* - fournit les données observées sur l'échantillon
/* - donne les marges de calage (disponibles sur les 5 1ères
variables ci-dessus)
/* - réalise le calage selon différentes options
/* - estime le paramètre d'intérêt avec chaque méthode
/**************************************************************************
*************************/
LIBNAME COMPIL "Chemin où trouver la macro CALMAR";
OPTIONS SASMSTORE = COMPIL MSTORED NODATE;

/* LES DONNÉES COLLECTÉES SUR L'ÉCHANTILLON */


DATA donnee;
INPUT id $ service $ categ $ sexe $ salaire y;
CARDS;
A01 1 1 1 150 1
A02 1 1 1 360 1
A03 1 2 1 250 0
A04 2 2 2 300 0
A05 2 3 1 320 1
A06 2 3 2 350 1
A07 2 1 1 160 0
B01 1 3 2 220 0
B02 1 2 1 210 1
B03 1 1 2 160 1
B04 2 3 1 270 0
B05 2 3 2 250 0
B06 2 2 1 210 1
B07 2 1 1 180 0
B08 2 2 1 160 1
;
run;
data donnee;
set donnee;
length etab $1.;
if substr(id,1,1) = 'A' then do; etab = '1' ; pond = 10; end;
else do; etab = '2' ; pond = 20; end;
run;

/* LES MARGES DE CALAGE */


DATA marges;
INPUT var $ n mar1 mar2 mar3;
CARDS;
etab 2 70 160 .
service 2 100 130 .
categ 3 80 90 60
sexe 2 140 90 .
salaire 0 47000 . .
;
run;

/* APPLICATIONS DU CALAGE SUR MARGES */


title "calage sur marges- méthode linéaire ";
%CALMAR(DATA=donnee,POIDS=pond,IDENT=id,
DATAMAR=marges,M=1,EDITPOI=oui,OBSELI=oui,
DATAPOI=sortie1,POIDSFIN=wcale1,LABELPOI=methode lineaire);

title "calage sur marges- méthode raking ratio ";


%CALMAR(DATA=donnee,POIDS=pond,IDENT=id,
DATAMAR=marges,M=2,EDITPOI=oui,OBSELI=oui,
DATAPOI=sortie2,POIDSFIN=wcale2,LABELPOI=methode raking ratio);

title "calage sur marges- méthode logit ";


%CALMAR(DATA=donnee,POIDS=pond,IDENT=id,
DATAMAR=marges,M=3,Lo = 0.3, up = 1.8, EDITPOI=oui,OBSELI=oui,
DATAPOI=sortie3,POIDSFIN=wcale3,LABELPOI=methode logit);
/* ESTIMATION DU PARAMÈTRE D'INTÉRÊT */
proc sort data =donnee; by id;
proc sort data =sortie1; by id;
proc sort data =sortie2; by id;
proc sort data =sortie3; by id;
data donnee_calee;
merge donnee sortie1 sortie2 sortie3;
by id;
run;

proc means data = donnee_calee mean;


var y ;
weight pond;
title "Estimation HT - proportion intérêt ";
run;
proc means data = donnee_calee mean;
var y ;
weight wcale1;
title "Estimation - calage linéaire - proportion intérêt ";
run;
proc means data = donnee_calee mean;
var y ;
weight wcale2;
title "Estimation - calage raking ratio - proportion intérêt ";
run;
proc means data = donnee_calee mean;
var y ;
weight wcale3;
title "Estimation - calage logit - proportion intérêt ";
run;

Vous aimerez peut-être aussi