|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Astrid Genet Inscription : novembre 2010 Messages : 43 ![]() |
Bonjour,
Je voudrais ajuster avec Proc Mixed 3 modèles en simultané en mettant des contraintes sur les paramètres du dernier (SUR). Voici les 3 modèles: Y1 = a1 + b1 X1 + c1 X2 Y2 = a2 + b2 X1 + d2 X3 Y3 = a3 + b3 X1 + c3 X2 + d3 X3 Les contraintes sont: a1 + a2 - a3 = 0 b1 + b2 - b3 = 0 c1 - c3 = 0 d2 - d3 = 0 J'ai créé des dummies pour les contraintes: dum_a1 dum_a2 dum_a3 dum_b1 dum_b2 dum_b3 dum_c1 dum_c2 dum_c3 dum_d2 dum_d3. les dummies en "3" sont égales à -1 les autres à 1. Les valeurs sont triées par classY et les variables sont mises à 0 lorsque ce n'est pas leur classe. Voici le modèle, sachant qu'il y a des mesures répétées dans le temps (âge) et que la matrice de cov. suite une structure autorégresive (AR(1)). J'ai donc utilisé un produit direct UN@AR(1) : Code :
Est-ce que quelqu'un est familier de la question ou bien aurait une idée? Merci! Astrid |
||
|
|
00
|
|
|
#2 |
![]() ![]() Stéphane Consultant et formateur SAS et Cognos Inscription : avril 2009 Messages : 1 791 ![]() |
quand je fais des modèles sous contraintes, j'utilise les proc LP ou NLP. les contraintes s'y écrivent simplement à la suite du modèle avec lincon
Pour les GLM ou Mixed il me semble que cela ne s'écrit pas mais se déduit : si CLASS contient 'toto' avec trois modalités alors la troisième est mise à zéro.
__________________
N'oubliez pas de cliquer sur lorsque votre problème est réglé !Moteur de recherche dans les papiers SAS |
|
00
|
|
|
#3 |
|
Invité régulier
![]() Astrid Genet Inscription : novembre 2010 Messages : 43 ![]() |
Bonjour Datametric,
Le problème de LP ou NLP c'est qu'on ne peut pas y inclure les effets aléatoires. Je devrai donc inclure mes contraintes au niveau "class"? Mais comment formuler ça? Je ne trouve aucune information sur la question, ni dans la littérature, ni en ligne. Astrid |
|
|
00
|
|
|
#4 | |
|
Membre Expert
![]() Biostatisticien Inscription : juin 2009 Messages : 1 143 ![]() |
Citation:
@Astrid: La gestion des contraintes est assez limitée sous mixed. De souvenir, cette gestion est plus souple sous NLMIXED. Par ailleurs, est ce que ton modèle converge? son écriture me parait suspecte... Y-a-t-il une relation entre les trois Y? |
|
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Astrid Genet Inscription : novembre 2010 Messages : 43 ![]() |
Bonjour Manoutz,
Oui, le modèle converge très bien sans les contraintes (je l'ai simplifié pour l'exemple). Les trois Y sont liés, Y3 est la somme pondérée de Y1 et Y2. D'où les contraintes. Je pourrai effectivement passer par NLMIXED. Le problème c'est qu'on ne peut pas faire d'estimation REML avec NLMIXED. Cependant j'ai l'impression qu'il existe une possibilité sous mixed en passant par type= lin() qui permet de mettre des contraintes linéaires sur la structure de la matrice de covariance. Je creuse... Astrid |
|
|
00
|
|
|
#6 | ||||
|
Invité régulier
![]() Astrid Genet Inscription : novembre 2010 Messages : 43 ![]() |
On peut effectivement imposer des contraintes en définissant la structure de la matrice de covariance en utilisant le type= Lin(param) et la matrice ldata= matrice (qu'on définit soi-même) du statement repeated de Proc Mixed, avec param le nombre de paramètres de covariance du modèle:
Code :
Code :
Dans mon cas où je veux définir moi-même la structure de la matrice de covariance, l'instruction LIN(param)@AR(1) n'existe pas. Manoutz a raison, la gestion des contriantes est limitées sous proc mixed. Astrid |
||||
|
|
00
|
|
|
#7 | |||
|
Membre Expert
![]() Biostatisticien Inscription : juin 2009 Messages : 1 143 ![]() |
Je n'ai sans doute pas intégré toutes les problématiques de ta situation, mais je me demandais si une écriture utilisant les catégories de ta réponse pouvait se défendre:
Code :
Citation:
|
|||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com