Lorsque l'on souhaite effectuer une régression sur une variable qualitative, la régression linéaire classique (voir PROC REG) n'est plus adaptée. Il faut mettre en oeuvre d'autres méthodes. L'une d'elle est la régression logistique.
Considérons y une variable dichotomique, y vaut 0 ou 1, et x1 x2 x3 des régresseurs (variables quantitatives continues). Le modèle logistique correspondant à l'instruction suivante :
MODEL y = x1 x2 x3 ;Correspond au modèle suivant :
Par défaut, SAS modélise la probabilité de l'événement correspondant à la plus basse des modalités de y. La méthode utilisée est la maximisation de la vraisemblance de y sachant x.
Les tests réalisés relativement à la nullité des coefficients sont des tests de Wald. Concernant la validité globale du modèle, le test du score et le test du rapport des maxima de vraisemblance sont édités (on rappelle qu'ils sont équivalents asymptotiquement), en plus des critères d'Aikaike et de Schwartz. On rappelle que parmi une liste de modèles emboîtés, un modèle est d'autant meilleur que ces critères sont faibles.
Par défaut, la fonction de lien utilisée est une loi logistique
(fonction logit). On pourrait demander une loi normale centrée réduite (fonction de type probit)
ou une loi de Gompertz (fonction de type gompit), mais outre que la logit donne des résultats
proches de la probit, elle est plus facile à interpréter, notamment en termes d'odds ratios.
Les odds ratios sont des quantités calculées pour chacun
des paramètres. Pour une variable dichotomique et avec une fonction de lien de type probit,
un odd ratio égal à w pour la variable xi s'interprète comme suit :
"Lorsque
xi augmente d'une unité, les chances
sont multipliées par w"
Enfin notons que la procédure calcule le nombre de paires concordantes (dont la prévision concorde avec la vraie valeur) ainsi que quatre statistiques obtenues à partir du nombre de paires concordantes, discordantes et tied : D de Sommer, g, ta et c. Plus ces valeurs sont grandes, et meilleure est l'adéquation du modèle aux données.
Remarque : La PROC LOGISTIC permet aussi de faire de la régression sur variable
polytomique (comprenant plus de 2 modalités). La syntaxe est exactement la même que pour une
variable dichotomique, l'interprétation des coefficients est seulement un peu plus acrobatique...
Toutefois, la PROC LOGISTIC sur variable polytomique suppose l'égalité des pentes, à savoir que le
modèle régissant P(y=2)/P(y=1) est le même que celui qui régit P(y=1)/P(y=0), etc.
Cette hypothèse forte fait l'objet d'un
"test d'égalité des pentes"
édité en début de sortie. Si l'hypothèse nulle est
rejetée, cela signifie qu'on ne peut accepter raisonnablement l'hypothèse d'égalité des pentes,
et il faut alors utilisé une autre procédure, comme la PROC CATMOD.
Dans le cas où l'on accepte l'égalité des pentes, ou dans le cas dichotomiques, on préfèrera
la PROC LOGISTIC car elle édite les odds-ratios, ce que n'autorise pas la PROC CATMOD
Remarque 2 : Lorsqu'on ne dispose pas de données individuelles, mais uniquement de données de comptage (nombre de cas selon certains profils), on peut également utiliser la PROC LOGISTIC. Dans ce cas, on fait un modèle dit "events/trials" où la variable "events" est le nombre de cas recensés par classe, et la variable "trials" le nombre d'individus par classe. On ne détaille pas ce type de modèle ici.
Une instruction MODEL doit être spécifiée. Elle sera précédée d'une instruction CLASS si le modèle comporte des variables qualitatives.
Comme dans la PROC REG, l'instruction
TEST permet de faire des tests sur les paramètres estimés.
Par exemple, si l'on veut tester si b1 = b2 , on écrit :
TEST x1=x2 ;
L'instruction CONTRAST permet également d'effectuer des tests sur les paramètres estimés. Plus exactement, elle permet de tester (H0) : Lb = 0 où L est la matrice dont lij est l'élément à la ligne i, colonne j ; n est le nombre de variables du modèle et m le nombre d'équations du système testé.
L'instruction BY permet toujours de définir des sous-populations. Dans ce cas, la modélisation est réalisée pour chacune de ces sous-populations.
L'instruction FREQ permet de définir une variable entière dont les valeurs indique le nombre de fois que l'observation courante doit être comptée.
L'instruction WEIGHT permet toujours de pondérer les observations.
L'instruction OUTPUT permet de récupérer certaines des grandeurs
calculées dans une table qui est celle indiquée dans OUT= . Il suffit d'en donner la suite sous la
forme mot_clé = noms_variables.
Par exemple :
OUTPUT OUT=resultat P=yhat H=hatdiag1 hatdiag2 hatdiag3 ;
stocke dans la table resultat la valeur estimée de y (variable nommée yhat) ainsi que la valeur du levier pour chacun des régresseurs (variables nommée yres) - voir paragraphe sur les observations atypiques dans la description de la PROC REG.
L'option simple permet d'éditer des statistiques descriptives simples sur les variables du modèle.
L'option outest= permet de spécifier le nom d'une table dans laquelle on récupère les paramètres estimés.
L'option descending permet de considérer la probabilité de réalisation de la modalité la plus élevée (par défaut c'est la plus basse).
L'option order= permet de choisir l'ordre des modalités de y dans le traitement. order=data ordonne selon l'ordre dans lequel les modalités apparaissent dans la table. order=freq ordonne de la modalité la plus fréquente à la plus rare.
L'option link= permet de choisir la fonction de lien (probit, normit ou cloglog).
L'option waldcl calcule des intervalles de confiance pour les paramètres estimés avec la méthode de Wald.
Comme dans la PROC REG, l'option influence sert à repérer les observations influentes. On peut la coupler avec l'option iplots qui génère des graphiques.
Comme dans la PROC REG, on peut utiliser l'option selection= .
The LOGISTIC Procedure Model Information Data Set MALIB.EMPLOYE Response Variable prime Number of Response Levels 2 Number of Observations 115 Link Function Logit Optimization Technique Fisher's scoring Response Profile Ordered Total Value prime Frequency 1 O 24 2 N 91 Model Convergence Status Convergence criterion (GCONV=1E-8) satisfied. Model Fit Statistics Intercept Intercept and Criterion Only Covariates AIC 119.811 89.664 SC 122.556 97.898 -2 Log L 117.811 83.664 Testing Global Null Hypothesis: BETA=0 Test Chi-Square DF Pr > ChiSq Likelihood Ratio 34.1477 2 <.0001 Score 27.9854 2 <.0001 Wald 19.4717 2 <.0001 Analysis of Maximum Likelihood Estimates Standard Parameter DF Estimate Error Chi-Square Pr > ChiSq Intercept 1 -3.3874 0.6221 29.6486 <.0001 anciennete 1 0.1828 0.0613 8.8792 0.0029 subor 1 0.1444 0.0487 8.7776 0.0030 Odds Ratio Estimates Point 95% Wald Effect Estimate Confidence Limits anciennete 1.201 1.065 1.354 subor 1.155 1.050 1.271 Association of Predicted Probabilities and Observed Responses Percent Concordant 90.0 Somers' D 0.802 Percent Discordant 9.8 Gamma 0.804 Percent Tied 0.3 Tau-a 0.267 Pairs 2184 c 0.901
La sortie standard est composée de 7 tableaux :
Un exemple avec options :
Voici ce que contient la table param :
L'option de sélection a aboutit au modèle constitué des variables sexe, diplôme et ancienneté. On a récupéré les valeurs des paramètres estimés, ainsi que certains renseignements comme la fonction de lien, le nom de la variable, le résultat du test de convergence et le log de la vraisemblance. Par contre on n'a aucun résultat de tests de significativité des coefficients. Il faudrait les demander explicitement dans une instruction output ou alors renoncer à l'option noprint et regarder la sortie output.