Block ESTIMATION
METHOD
La méthode d’analyse est spécifiée ici par la commande METHOD:
METHOD = 0 (ou FO)
(méthode par défaut si rien n’est précisé)
Ce qui correspond à la méthode First Order.
Cette méthode est souvent la plus rapide mais au prix d’erreur notamment dans la sélection de covariables. La méthode suivante est recommandée.
METHOD = 1 (ou FOCE)
Cela correspond à la méthode First Order Conditional Estimates.
Dans ce cas, deux autres possibilités sont offertes, INTERACTION et LAPLACIEN
– INTERACTION est à utiliser quand on veut prendre en compte une interaction entre les variabilités intra (EPS) et inter-individuelles (ETA).
Dans le cas : Y = F + EPS(1)
VAR(Y) = VAR(EPS(1))
ne dépend pas de F ni donc d’ETA,
il n’y a pas d’interaction entre ETA et EPS ce qui veut dire:
FOCE est équivalent à FOCE INTERACTION
Dans le cas : Y = F * ( 1 + EPS(1))
la VAR(Y) = (F**2)*VAR(EPS(1))
dépend de F et donc d’ETA,
il y a une interaction entre ETA et EPS qu’il faut prendre en compte:
FOCE INTERACTION est plus juste que FOCE.
NB: Var(aX+b) = a² Var(X)
– LAPLACIEN est plus rarement utilisée.
MAXEVAL=x
donne le nombre maximum d’itération.
Si MAXEVAL=0, nonmem va utiliser tous les paramètres initiaux pour calculer les PREDictions sans estimer les paramètres THETA, ETA et SIGMA.
Si les valeurs passées en THETA, ETA et SIGMA sont les valeurs finales et que MAXEVAL=0, les IPRED seront des valeurs bayésiennes.
Dans le cas où MAXEVAL=0, il faut enlever le $COV.
SIGL=x (Significant digits of the log-likelihood)
Précision avec laquelle la fonction objectif individuelle est évaluée. Il pilote également la taille du pas de différences finies utilisé pour calculer les gradients numériques. La précision d’un calcul est limitée par la précision de ses entrées. La résolution des ODE est contrôlée par TOL. Si TOL=4, cela signifie que les concentrations prédites par intégration des ODE seront exactes à une précision relative de 10⁻⁴, soit environ 4 chiffres significatifs. On ne peut pas obtenir une OFV à 8 chiffres significatifs si les concentrations qui servent à le calculer n’en ont que 4. Donc cela implique que: SIGL < ou = à TOL.
NSIG=x (critère de convergence)
Critère d’arrêt de l’optimisation : NONMEM s’arrête lorsqu’aucun paramètre (THETA, OMEGA, SIGMA) ne varie de plus de NSIG chiffres significatifs entre deux itérations. La valeur par défaut est NSIG=3.
NSIG < ou = SIGL/3
Si NSIG > SIGL/3, NONMEM tente de converger à une précision (NSIG) supérieure à celle que les gradients peuvent fournir.
FILE=
permet de donner un nom de fichier qui contiendra les résultats du run. Surtout utile quand il y a plusieurs METHOD dans une même analyse. Seule la dernière est sauvegardée avec un nom générique du type: nom_du_run.ext. En spécifiant un fichier à chaque METHOD, on peut sauvegarder les résultats de toutes les METHOD.
METHOD = ITS ; (pour iterative two stage)
E-step avec approximation FOCE
M-step une itération de maximization
Plus rapide que FOCE si MU_referencing.
Utile pour obtenir des valeurs initiales acceptables passées ensuite a SAEM par exemple.
Exemple:
$EST METHOD=ITS INTERACTION FILE=temp.txt NITER=30 PRINT=5 SIGL=6 NOABORT
METHOD = IMP ; (pour importance sampling)
ex.: $EST METHOD=IMP INTERACTION NITER=10 ISAMPLE=1000 EONLY=1
NITER (50): nombre max d’iteration
ISAMPLE (300): nombre d’échantillon randomisé par sujet utilisé par E-step, 1000-3000 pour sparse data
IACCEPT(0.4): expand proposal density 0.1 to 0.3 pour sparse data et données catégorielles
DF (0): degrés de liberté
0 is normal density
entre 4 et 10 pour des données sparse
EONLY (0): seulement Expectation step (non 0 / oui 1)
1 evaluation de l’Objective Function par E-step seulement (=> NITER = 5 or 10)
0 les paramètres de population parameters sont aussi updatés
SEED: défaut 11456
METHOD = Monte Carlo Importance sampling EM assisted by Mode a Posteriori estimation (IMPMAP)
ex.: $EST METHOD=IMPMAP INTERACTION
METHOD = Stochastic Approximation Expectation Maximization (SAEM)
ex.: $EST METHOD=SAEM NBURN=2000 NITER=1000
$EST METHOD=ITS INTERACTION FILE=temp.txt NITER=30 PRINT=5 SIGL=6 NOABORT
$EST METHOD=SAEM INTERACTION NBURN=2000 NITER=1000 PRINT=100 ISAMPLE=2
$EST METHOD=IMP INTERACTION ISAMPLE=1000 NITER=5 EONLY=1 PRINT=1
NBURN (1000): nombre max d’iteration pour réaliser la phase stochastique
FILE: pendant le mode « burn », le resultat peut être suivi dans un fichier.
SAEMOBJ: l’avance de la Fc Obj. peut être suivie.
Pas validé pour tester une hypothese (un test de termination de la phase stationnaire est disponible)
NITER (1000): nombre max number d’iteration pour réaliser la phase non-stochastique
ISAMPLE (2): n est le nombre de chaines utilisé par l’algorythme de Metropolis-Hastings pour les estimations des paramètres individuels. La valeur de défaut est 2 pour SAEM et 1 pour BAYES.
Après l’analyse, une Fonction Objective pour tester une hypothèse et les standard errors peuvent être obtenus par IMP.
METHOD = BAYES (pour Full Markov Chain Monte Carlo Bayesian analysis)
$EST METHOD=BAYES INTERACTION
NBURN (4000)[/b]: nombre max d’iteration pour réaliser la phase « burn-in »
FILE: pendant la phase « burn-in », les résultats peuvent être suivis dans un fichier. ex. FILE=base.txt
MCMCOBJ: L’avancée de la Fc. Obj.peut être suivie.
Pas validé pour tester une hypothèse (un test de terminaison pour la phase stationnaire est disponible).
NITER (10,000): nombre max d’itération pour réaliser la phase stationnaire.
ISAMPLE, PSAMPLE, OSAMPLE: paramètrage pour l’algorythme MCMC Metropolis-Hastings. Habituellement ne nécessite pas d’être changé.
METHOD = CHAIN
1ère utilisation de CHAIN, NSAMPLE=0:
$EST METHOD=CHAIN FILE=run_previous.ext NSAMPLE=0 ISAMPLE=-1000000000
aucune estimation n’est faite, NONMEM va lire dans « run_previous.ext » la ligne correspondant à l’itération -1000000000 (les estimées finales du run précédent), et remplace les valeurs initiales de $THETA, $OMEGA, $SIGMA du control stream courant par ces valeurs.
La METHOD qui suit fera l’estimation, en partant de ces nouvelles valeurs initiales.
Par exemple:
; Dans un run précédent :
$EST METHOD=COND INTERACTION MAXEVAL=9999 FILE=run1.ext
; Puis le run :
$EST METHOD=CHAIN FILE=run1.ext NSAMPLE=0 ISAMPLE=-1000000000
$EST METHOD=COND INTERACTION MAXEVAL=9999 FILE=run2.ext
2ème utilisation de CHAIN, NSAMPLE >=1:
$EST METHOD=CHAIN FILE=run1.chn NSAMPLE=5 ISAMPLE=1 ISAMPEND=5 DF=20
$EST METHOD=COND INTERACTION MAXEVAL=9999 FILE=run1.ext
Dans ce cas, comme NSAMPLE=5, NONMEM va créer le fichier run1.chn qui contient 5 jeux de valeurs initiales pour les THETA, OMEGA et SIGMA. Ces valeurs sont choisies de façon aléatoire dans les bornes des $THETA, $OMEGA et $SIGMA. C’est une manière de faire chercher par NONMEM de bonnes valeurs initiales. NONMEM va chercher le jeu de paramètres qui donne la plus petite OF value et la passera à la METHOD suivante, ici METHOD=COND.
NB: avec CHAIN, les OF value sont calculées directement sans estimation ni optimisation.
L’information ISAMPLEND=5 est la directive qui dit à NONMEM de garder la meilleure OFV des 5 jeux de paramètres. Si on ne donne pas cette info, il créé 5 jeux de données mais passera la première.
3ème utilisation de chain, NSAMPLE >=1 sans ISAMPLEND:
$EST METHOD=CHAIN FILE=run1.chn NSAMPLE=5 ISAMPLE=0 DF=20
; Enfant 1 :
$EST METHOD=CHAIN FILE=run1.chn NSAMPLE=0 ISAMPLE=1
$EST METHOD=COND INTERACTION MAXEVAL=9999 FILE=run_child1.ext
; Enfant 2 :
$EST METHOD=CHAIN FILE=run1.chn NSAMPLE=0 ISAMPLE=2
$EST METHOD=COND INTERACTION MAXEVAL=9999 FILE=run_child2.ext
NONMEM créé 5 jeux de paramètres,
lit le 1er jeu, l’analyse et sauvegarde les résultats dans le fichier run_child1.ext,
lit le 2eme jeu, l’analyse et sauvegarde les résultats dans le fichier run_child2.ext
DF=20 définit les degrés de liberté de la distribution Wishart utilisée pour générer aléatoirement les valeurs d’OMEGA lors de la création des NSAMPLE jeux de paramètres. Plus DF est grand, plus la distribution Wishart est concentrée autour des valeurs initiales d’OMEGA définies dans $OMEGA -> la dispersion des candidats générés est faible. Plus DF est petit, plus la dispersion est grande et les candidats s’éloignent des valeurs initiales.
