
Le modèle obtenu est confronté à des données
provenant d'une autre étude. Il s'agit de vérifier si le modèle
prédit de façon adéquate les concentrations des patients
de a deuxième étude.
Plusieurs calculs sont possibles pour mesurer le biais et la précision.
Il faut d'abord calculer pour chaque concentration observée de la nouvelle
base de données, la concentrations prédites par le modèle
et la différence (PE).
PE = concentration observée - concentration prédite
Mesure du biais, calcul du MDPE (median des PE).
Mesure de la précision,
calcul du MDAPE (mediane des valeurs absolues des PE).
Plusieurs techniques sont disponibles dont aucune ne saurait prétendre
à répondre à toutes les exigences d'une validation.
- bootstrap
- visual predictive check (vpc)
- normalized predictive distribution error (npde)
- data spliting
- goodness of fit plots
Comment faire un bootstrap:
Le plus simple est de disposer d'un script permettant de lancer des runs en boucle (ex. 1000). Ce type de script est gratuitement téléchargeable sur le site de wings (http://wfn.sourceforge.net/).
Principe du bootstrap:
Le script va réaliser
4 choses différentes:
1- si la base de données contient n patients, il va créer X base
de données contenant chacune n patients. Pour obtenir ces bases de données,
le script procède par tirage au sort dans une urne virtuelle contenant
les n patients. Il va donc prendre aléatoirement n patients mais avec
remise, c'est-à-dire que le tirage permet de retrouver plusieurs fois
le même patient dans la base de données.
ex: avec une base de données A de 10 patients numérotés
de 1 à 10, le script va par exemple créer entre autres les 2 bases
de données suivantes:
B(1,3,3,4,5,8,8,8,9,9), C(2,2,2,3,4,4,5,5,8,10)
2- analyser
chacune de ces bases de données avec le modèle final (temps d'analyse
peut être assez long)
3- récupérer les estimations de chaque paramètre pour chacune
des 1000 analyses,
4- créer un tableau résumant l'information obtenue, qu'il faut
confronter aux résultats.
Si les paramètres sont prédits avec précision, leur valeur
est contenue dans l'intervalle choisi (95 de 0.025 à 0.975) et ne comprend
pas la valeur 0.
Exemple:
| Résultats | |||||||
| CL | 12.1 | ||||||
| Vc | 38.7 | ||||||
| D1 | 0.539 | ||||||
| eta_CL | 0.360 | ||||||
| eta_VC | 0.361 | ||||||
| err_P | 0.328 | ||||||
| Booststrap | |||||||
| Quantiles | 0.01 | 0.025 | 0.25 | 0.5 | 0.75 | 0.975 | 0.99 |
| CL | 10.2 | 10.5 | 11.4 | 11.9 | 12.4 | 13.6 | 13.9 |
| Vc | 31.7 | 32.4 | 35.9 | 37.8 | 39.8 | 45.1 | 46.5 |
| D1 | 0.01 | 0.01 | 0.507 | 0.536 | 0.565 | 0.623 | 0.646 |
| eta_CL | 0.247 | 0.275 | 0.324 | 0.351 | 0.382 | 0.436 | 0.443 |
| eta_VC | 0.168 | 0.195 | 0.300 | 0.349 | 0.397 | 0.512 | 0.532 |
| err_P | 0.245 | 0.259 | 0.301 | 0.327 | 0.348 | 0.403 | 0.418 |
- visual predictive check (vpc)
Comment les obtenir:
Très simplement, en utilisant votre base de données le control stream final auquel vous aurez fait les modifications suivantes:
- remplacer les valeurs
initiales des THETAs $OMEGA et $SIGMA, par les valeurs finales obtenues,
- remplacer le $ESTIM par un $SIMULATION
ex: $SIM (21264) ONLYSIM SUB=1000
- supprimer
le $COV
- garder une seule création de tabeau pour ne pas surcharger inutilement
$TABLE ID TIME DV MDV GR ONEHEADER NOPRINT FILE=final_sim.fit
Dans cet exemple, GR est une covariable qui permet de diviser les graphiques
en fonction du groupe dans lequel se trouve les patients
Le fichier obtenu
contiendra donc 1000 simulations de vos patients avec les mêmes schéma
de posologie. Si le modèle prédit correctement vos données,
alors les concentrations simulées devront être équivalentes
à celles observées.
Un moyen efficace de le voir est de créer un graphique comprenant les
concentrations observées et les bornes sup et inf de l'intervalle à
90-95% des concentrations simulées.
Si le modèle n'est pas biaisé, 90% ( ou 95%) des concentrations
observées seront dans l'intervalle et seulement 10% (5%) des points seront
en dehors des limites.