Le script commence par créer un jeu de données 'SchoolSample'. Il simule des données structurées hiérarchiquement avec 300 écoles, chacune ayant 25 quartiers, et pour chaque quartier, 2 observations sur 4 points temporels différents. Les variables 'SchoolID', 'Neighborhood', 'bInt', 'bTime', 'bTime2' sont générées. La variable dépendante 'Math' est calculée avec une composante aléatoire. Ensuite, PROC HPLMIXED est utilisée pour ajuster un modèle linéaire mixte aux données. Les variables 'Neighborhood' et 'SchoolID' sont déclarées comme variables de classification. Le modèle fixe inclut 'Time' et 'Time*Time'. Les effets aléatoires incluent l'ordonnée à l'origine ('int'), 'Time' et 'Time*Time' imbriqués dans 'Neighborhood(SchoolID)', avec une structure de covariance non structurée (TYPE=UN).
Analyse des données
Type : CREATION_INTERNE
Le jeu de données 'SchoolSample' est entièrement créé de manière interne au script SAS via une étape DATA (DATA STEP). Il n'utilise pas de données externes ni de bibliothèques SAS par défaut comme SASHELP.
1 Bloc de code
DATA STEP Data
Explication : Ce bloc DATA STEP génère le jeu de données 'SchoolSample'. Il utilise des boucles imbriquées pour créer 300 écoles, chacune avec 25 quartiers, et pour chaque quartier, 2 observations sur 4 points temporels ('Time'). Les variables 'bInt', 'bTime', 'bTime2' sont générées aléatoirement pour simuler des effets fixes. La variable dépendante 'Math' est ensuite calculée comme une fonction quadratique du temps avec l'ajout d'un bruit aléatoire ('rannor'). La déclaration 'output;' écrit chaque observation dans le jeu de données.
Copié !
data SchoolSample;
do SchoolID = 1 to 300;
do nID = 1 to 25;
Neighborhood = (SchoolID-1)*5 + nId;
bInt = 5*ranuni(1);
bTime = 5*ranuni(1);
bTime2 = ranuni(1);
do sID = 1 to 2;
do Time = 1 to 4;
Math = bInt + bTime*Time + bTime2*Time*Time + rannor(2);
output;
end;
end;
end;
end;
run;
1
DATA SchoolSample;
2
DO SchoolID = 1 to 300;
3
DO nID = 1 to 25;
4
Neighborhood = (SchoolID-1)*5 + nId;
5
bInt = 5*ranuni(1);
6
bTime = 5*ranuni(1);
7
bTime2 = ranuni(1);
8
DO sID = 1 to 2;
9
DO Time = 1 to 4;
10
Math = bInt + bTime*Time + bTime2*Time*Time + rannor(2);
11
OUTPUT;
12
END;
13
END;
14
END;
15
END;
16
RUN;
2 Bloc de code
PROC HPLMIXED
Explication : Ce bloc utilise PROC HPLMIXED pour ajuster un modèle linéaire mixte. L'option 'data=SchoolSample' spécifie le jeu de données d'entrée. La déclaration 'class' identifie 'Neighborhood' et 'SchoolID' comme variables catégorielles. La déclaration 'model' définit la structure des effets fixes, avec 'Math' comme variable dépendante et 'Time' et 'Time*Time' comme prédicteurs. L'option '/solution' demande l'affichage des estimations des paramètres des effets fixes. La déclaration 'random' spécifie les effets aléatoires : une ordonnée à l'origine ('int'), 'Time' et 'Time*Time', qui sont imbriqués dans l'unité 'Neighborhood(SchoolID)'. L'option 'type=un' indique une matrice de covariance non structurée pour les effets aléatoires.
Copié !
proc hplmixed data=SchoolSample;
class Neighborhood SchoolID;
model Math = Time Time*Time / solution;
random int Time Time*Time / sub=Neighborhood(SchoolID) type=un;
run;
1
PROC HPLMIXEDDATA=SchoolSample;
2
class Neighborhood SchoolID;
3
model Math = Time Time*Time / solution;
4
random int Time Time*Time / sub=Neighborhood(SchoolID) type=un;
5
RUN;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
Informations de Copyright : S A S S A M P L E L I B R A R Y
NAME: HPLMXGS
TITLE: Getting Started Example for PROC HPLMIXED
PRODUCT: STAT
SYSTEM: ALL
KEYS: Mixed Models, Analysis of Covariance
PROCS: HPLMIXED
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.