Régression non linéaire avec SAS : Optimisez vos modèles avec PROC NLIN

Ce code est également disponible en : Deutsch English Español
Niveau de difficulté
Confirmé
Publié le :
Stéphanie

Le Conseil de l'Expert

Stéphanie
Spécialiste Machine Learning et IA.

Ce script illustre un concept fondamental mais souvent ignoré en modélisation : l'influence de la paramétrisation sur la convergence et la validité de l'inférence. Bien que les trois modèles ajustés par la PROC NLIN soient mathématiquement équivalents (ils décrivent la même courbe sigmoïde), leurs propriétés statistiques diffèrent radicalement.

En régression non linéaire, ne vous contentez pas d'une convergence réussie. Si le biais de Hougaard d'un paramètre dépasse 0.25, l'intervalle de confiance est suspect. Dans ce cas, changer la paramétrisation (comme passer de gamma à LD50) est souvent plus efficace que d'ajouter des données, car cela redresse la géométrie de la fonction de perte.

Le programme commence par créer un jeu de données 'logistic' simulant une relation dose-réponse. Il utilise ensuite la procédure NLIN pour ajuster un modèle log-logistique selon trois paramétrisations différentes. L'objectif est de montrer comment le choix des paramètres influence les mesures de non-linéarité (comme le biais de Hougaard) et la fiabilité des intervalles de confiance.
Analyse des données

Type : CREATION_INTERNE


Les données sont générées directement dans le code via une étape DATA et des instructions DATALINES.

1 Bloc de code
DATA STEP Data
Explication :
Création du jeu de données 'logistic' contenant les variables 'dose' et 'y', ainsi qu'une transformation logarithmique de la dose.
Copié !
1DATA logistic;
2 INPUT dose y;
3 logdose = log(dose);
4 DATALINES;
50.009 106.56
60.035 94.12
70.07 89.76
80.15 60.21
90.20 39.95
100.28 21.88
110.50 7.46
12;
2 Bloc de code
PROC SGPLOT
Explication :
Visualisation graphique des données sous forme de nuage de points (scatter plot) avec une échelle logarithmique sur l'axe des abscisses.
Copié !
1PROC SGPLOT DATA=logistic;
2 scatter y=y x=dose;
3 xaxis type=log logstyle=linear;
4RUN;
3 Bloc de code
PROC NLIN
Explication :
Premier ajustement du modèle non linéaire avec les paramètres alpha, beta et gamma. Les options 'bias', 'hougaard' et 'nlinmeasures' demandent des diagnostics sur la non-linéarité et le biais des paramètres.
Copié !
1PROC NLIN DATA=logistic bias hougaard nlinmeasures;
2 parameters alpha=100 beta=3 gamma=300;
3 delta = 0;
4 Switch = 1/(1+gamma*exp(beta*log(dose)));
5 model y = delta + (alpha - delta)*Switch;
6RUN;
4 Bloc de code
PROC NLIN Data
Explication :
Deuxième ajustement avec une reparamétrisation remplaçant gamma par LD50 (dose létale 50%). Cette formulation est souvent plus interprétable. Les résultats prédits sont sauvegardés dans la table 'nlinout'.
Copié !
1PROC NLIN DATA=logistic bias hougaard;
2 parameters alpha=100 beta=3 LD50=0.15;
3 delta = 0;
4 Switch = 1/(1+exp(beta*log(dose/LD50)));
5 model y = delta + (alpha - delta)*Switch;
6 OUTPUT out=nlinout pred=p lcl=lcl ucl=ucl;
7RUN;
5 Bloc de code
PROC NLIN Data
Explication :
Troisième ajustement avec une autre reparamétrisation utilisant 'mustar' (valeur prédite à une dose fixe xstar). Cette approche vise à réduire encore la non-linéarité des paramètres.
Copié !
1PROC NLIN DATA=logistic bias hougaard nlinmeasures;
2 parameters alpha=100 mustar=20 LD50=0.15;
3 delta = 0;
4 xstar = 0.3;
5 beta = log((alpha - mustar)/(mustar - delta)) / log(xstar/LD50);
6 Switch = 1/(1+exp(beta*log(dose/LD50)));
7 model y = delta + (alpha - delta)*Switch;
8 OUTPUT out=nlinout pred=p lcl=lcl ucl=ucl;
9RUN;
L'Astuce Pro
Pour ameliorer la convergence et la validite des inferences dans une PROC NLIN, privilégiez la parametrisation centrée sur la LD50 (comme dans vos deux derniers blocs) plutot que sur le parametre gamma. L usage des options BIAS et HOUGAARD permet de quantifier numeriquement cette amelioration : un biais de Hougaard inferieur a 0.1 indique que la distribution des estimateurs est proche de la normalite, garantissant ainsi que vos intervalles de confiance LCL et UCL sont statistiquement fiables et non deformes par la courbure intrinseque du modele log-logistique.
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 : SAS SAMPLE LIBRARY