Le script analyse les données de 15 patients pour prédire un indice de pronostic de récupération (prog) en fonction du nombre de jours d'hospitalisation (days). D'abord, il utilise une étape DATA pour créer la table 'patient' à partir de données intégrées (cards). Ensuite, il ajuste un modèle de régression non linéaire exponentiel `prog = a0*exp(a1*days)` avec PROC NLIN. Il génère des prédictions, des résidus et des intervalles de confiance. Des graphiques (PROC GPLOT) sont créés pour visualiser les données brutes et l'ajustement du modèle. En parallèle, un second modèle de régression linéaire est testé sur le logarithme de la variable de réponse (`ln(prog)`) avec PROC REG pour comparer les approches.
Analyse des données
Type : CREATION_INTERNE
Les données sont créées directement dans le script via une étape DATA et l'instruction 'cards', formant la table 'patient' avec 15 observations et 3 variables (prog, days, lnprog).
1 Bloc de code
DATA STEP Data
Explication : Ce bloc crée la table 'patient' en mémoire. Il lit deux variables, 'prog' (indice de pronostic) et 'days' (jours d'hospitalisation), à partir des données fournies via l'instruction 'cards'. Il calcule également 'lnprog', le logarithme népérien de 'prog'.
Explication : Cette procédure ajuste un modèle de régression non linéaire. Le modèle est de forme exponentielle : `prog = a0*exp(a1*days)`. Des valeurs initiales pour les paramètres `a0` et `a1` sont fournies. La procédure calcule les estimations des paramètres et génère une table de sortie 'a' contenant les valeurs prédites, les résidus et les intervalles de confiance et de prédiction à 90% (alpha=0.1).
Explication : Imprime le contenu de la table 'a' générée par PROC NLIN, qui contient les résultats de la modélisation (valeurs observées, prédites, résidus, etc.).
Copié !
proc print data=a;
run;
1
PROC PRINTDATA=a;
2
RUN;
4 Bloc de code
PROC PLOT
Explication : La procédure PROC PLOT est utilisée pour créer un graphique des résidus en fonction des valeurs prédites, afin d'évaluer graphiquement la pertinence du modèle non linéaire.
Copié !
proc plot;
plot resid*p;
run;
1
PROC PLOT;
2
plot resid*p;
3
RUN;
5 Bloc de code
PROC GPLOT
Explication : Ce bloc configure les options graphiques (goptions, title, symbol, axis) pour générer des graphiques. Le premier PROC GPLOT crée un nuage de points des données originales. Le second superpose la courbe du modèle ajusté sur le nuage de points pour visualiser l'ajustement.
Copié !
goptions reset=global gunit=pct border cback=white
colors=(black blue green red)
ftitle=swissb ftext=swiss htitle=4 htext=4;
title1 'Prognostic index versus Days';
symbol1 color=red
interpol=none
value=dot
height=3;
symbol2 color=red
interpol=join;
axis1 label=('Days')
order=(0 to 70 by 10)
width=3;
axis2 label=('Pyrene')
order=(0 to 60 by 10)
width=3;
proc gplot data=a;
plot prog*days/ haxis=axis1 vaxis=axis2;
run;
proc gplot data=a;
plot prog*days p*days/ overlay haxis=axis1 vaxis=axis2;
run;
quit;
Explication : À des fins de comparaison, cette procédure effectue une régression linéaire simple sur la variable 'lnprog' (logarithme de l'indice de pronostic) en fonction de 'days'. Les résultats, incluant les valeurs prédites et les résidus, sont stockés dans la table 'b'.
Copié !
proc reg;
model lnprog=days;
output out=b p=pln r=residln;
run;
1
PROC REG;
2
model lnprog=days;
3
OUTPUT out=b p=pln r=residln;
4
RUN;
7 Bloc de code
PROC PLOT
Explication : Ce bloc utilise PROC PLOT pour afficher le graphique des résidus du modèle linéaire en fonction des valeurs prédites. Cela permet de vérifier l'hypothèse d'homoscédasticité (variance constante des résidus) pour le modèle log-linéaire.
Copié !
proc plot;
plot residln*pln;
run;
1
PROC PLOT;
2
plot residln*pln;
3
RUN;
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 : Source des données : Textbook 'Applied Linear Statistical Model', Kutner et al. (5th), p.515. Nom du fichier d'origine : ch13-patient-nonlinear.sas
« Une attention particulière doit être portée au choix des paramètres initiaux (parameters a0=10 a1=-1). En régression non linéaire, un mauvais point de départ peut mener à une non-convergence ou à un minimum local. L'utilisation des résultats de la PROC REG (le logarithme de l'intercept et la pente) est d'ailleurs une excellente astuce pour fournir des valeurs initiales plus précises à la PROC NLIN. »
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.