Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > SAS > SAS STAT
SAS STAT Forum d'entraide sur les fonctionnalités liées à la statistique sur SAS : statistique descriptive, test, régression, classification
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/05/2011, 14h08   #1
Invité de passage
 
Homme
Étudiant
Inscription : mai 2011
Messages : 2
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : mai 2011
Messages : 2
Points : 0
Points : 0
Par défaut PROC MIXED : moyenne ajustée

Bonjour à tous.

Actuellement en stage de fin d’étude dans une CRO (je suis en licence professionnelle statistique et informatique pour la santé, ancien STID pour ceux qui connaissent )

Ma mission est le pooling et l’analyse de 4 bases de données sur un même médicament.
Les modèles utilisées sont les mêmes dans les 4 études c'est-à-dire :

(1) Le « changre from baseline » de la variable réponse après 24 semaines = moyenne générale + le traitement (2 modalités) + la valeur à la baseline (quantitative) + la prise d’un médicament avant le début de l’étude (2 modalités) + les erreurs.

Pour effectuer l’analyse de ma base « poolée », je vais donc reprendre ce modèle en y ajoutant 2 facteurs aléatoires : le facteur étude (4 modalité) et l’interaction étude*traitement.

Avant de faire ceci, j’ai voulu déjà refaire le modèle (1) pour chaque étude afin de voir si c’est bien le bon (j’ai les résultats des études individuelles).

Voilà mon problème, je n’arrive pas à obtenir la moyenne ajustée de la différence entre mon traitement et le placebo…

Mon code SAS est le suivant :

Code :
1
2
3
4
5
PROC MIXED DATA = analyse_data ;
class TRTP PADDC ; /*TRTP : variable traitement; PADDC : prise ou non d'un médicamment avant le début*/
model CHG = TRTP BASE PADDC/s ;/*base:valeur à la baseline*/
lsmeans TRTP/pdiff cl ;
RUN;
Merci d'avance pour votre aide.
jere-mimi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2011, 18h22   #2
Expert Confirmé
 
Avatar de olivier.decourt
 
Homme Olivier Decourt
Formateur en informatique
Inscription : avril 2008
Messages : 1 467
Détails du profil
Informations personnelles :
Nom : Homme Olivier Decourt
Âge : 34
Localisation : France

Informations professionnelles :
Activité : Formateur en informatique
Secteur : Conseil

Informations forums :
Inscription : avril 2008
Messages : 1 467
Points : 2 823
Points : 2 823
Salut.
A priori ton code décrit bien le modèle (1). Je suppose qu'il n'y avait pas d'effets aléatoires dans les études d'origine (je ne vois pas pourquoi il y en aurait eu).
Pistes possibles : 1) des interactions ou d'autres effets étaient inclus dans les modèles et tu ne le sais pas encore ; 2) dans les données que tu as récupérées figurent des individus qui ont été exclus de la modélisation. Quand on veut faire une méta-analyse (un pooling d'études) sur données individuelles, il est agréable de pouvoir partir de l'ensemble des patients, exclus ou non, pour pouvoir harmoniser les critères d'exclusions sur l'ensemble des données et éviter un biais. Peut-être que ce n'est donc que quelques WHERE à définir (enfin je te le souhaite) !
Bon courage.
Olivier
olivier.decourt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/05/2011, 12h17   #3
Membre Expert
 
Homme
Biostatisticien
Inscription : juin 2009
Messages : 1 143
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Irlande

Informations professionnelles :
Activité : Biostatisticien
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : juin 2009
Messages : 1 143
Points : 1 760
Points : 1 760
Bonjour,

En complément des indications d'Olivier:
  1. Ensemble de patients (populations): Evidemment, si les analyses ne sont pas faites sur les même patients, tu n'auras pas les mêmes résultats Il peut être utile de te référer aux plans d'analyses ou aux datasets dérives si envisageable.
  2. Ecriture du modèle: de nombreuses subtilités sont possibles. le plus simple est de comparer les écritures des études (si accessible), tu pourras voir si c'est bien la même chose qui est réalisée

Ah tiens, une vieux papier que j'ai sortie il y a quelques années qui peut t'être utile pour ta méta:
http://www.phuse.eu/download.aspx?type=cms&docID=565

Il a pris un peu d'age, et certains éléments sont à revoir, mais ca peut quand même être une bonne base de lancement.

Manoutz
Manoutz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2011, 11h01   #4
Invité de passage
 
Femme Zohra Lamiral
ingénieur hospitalier
Inscription : mai 2011
Messages : 5
Détails du profil
Informations personnelles :
Nom : Femme Zohra Lamiral
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : ingénieur hospitalier
Secteur : Santé

Informations forums :
Inscription : mai 2011
Messages : 5
Points : 4
Points : 4
Par défaut Enoncé OM

Bonjour,

J'ai eu le même souci que vous, vous devriez utiliser l'option OM dans l'enoncé Lsmeans, cela devrait donner les résultats corrects.

Cordialement,

Copie de l'aide SAS:

Citation:
OM<=OM-data-set>
OBSMARGINS<=OM-data-set>
specifies a potentially different weighting scheme for the computation of LS-means coefficients. The standard LS-means have equal coefficients across classification effects; however, the OM option changes these coefficients to be proportional to those found in OM-data-set. This adjustment is reasonable when you want your inferences to apply to a population that is not necessarily balanced but has the margins observed in OM-data-set.

By default, OM-data-set is the same as the analysis data set. You can optionally specify another data set that describes the population for which you want to make inferences. This data set must contain all model variables except for the dependent variable (which is ignored if it is present). In addition, the levels of all CLASS variables must be the same as those occurring in the analysis data set. Specifying an OM-data-set enables you to construct arbitrarily weighted LS-means.

In computing the observed margins, PROC MIXED uses all observations for which there are no missing or invalid independent variables, including those for which there are missing dependent variables. Also, if OM-data-set has a WEIGHT variable, PROC MIXED uses weighted margins to construct the LS-means coefficients. If OM-data-set is balanced, the LS-means are unchanged by the OM option.

The BYLEVEL option modifies the observed-margins LS-means. Instead of computing the margins across all of the OM-data-set, PROC MIXED computes separate margins for each level of the LSMEANS effect in question. In this case the resulting LS-means are actually equal to raw means for fixed-effects models and certain balanced random-effects models, but their estimated standard errors account for the covariance structure that you have specified. If the AT option is specified, the BYLEVEL option disables it.

You can use the E option in conjunction with either the OM or BYLEVEL option to check that the modified LS-means coefficients are the ones you want. It is possible that the modified LS-means are not estimable when the standard ones are, or vice versa. Nonestimable LS-means are noted as "Non-est" in the output.
oualina est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2011, 14h38   #5
Invité de passage
 
Homme
Étudiant
Inscription : mai 2011
Messages : 2
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : mai 2011
Messages : 2
Points : 0
Points : 0
Salut à tous et merci pour vos réponses

J'ai reussi à trouver, comme l'a dit Olivier, c'étais juste un problème de WHERE.
j'utilisais les OC (Observed Case) au lieu de LOCF (Last Observation Carried Forward) et j'ai donc réussi à trouver .

Merci encore de vos réponses.

Jérémy
jere-mimi est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h05.


 
 
 
 
Partenaires

Hébergement Web