Bonjour tout le monde,

Encore un petit souci de compréhension d'un warning en utilisant la fonction glm pour faire une régression logistique.

Voici le message d'avis :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
Message d'avis :
glm.fit: des probabilités ont été ajustées numériquement à 0 ou 1
Voici le code rentré :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
modele.test<-glm(VarCible~., data = datafit[,-c(4)],family = binomial)
et lorsque je fais le résumé de la sortie du modèle :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
summary(modele.test)
 
Call:
glm(formula = VarCible ~ ., family = binomial, data = datafit[, 
    -c(4)])
 
Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.2726  -0.1211  -0.0531  -0.0247   4.1806  
 
Coefficients:
                       Estimate Std. Error z value Pr(>|z|)    
(Intercept)          -1.543e+01  1.394e+02  -0.111   0.9119    
X1-1A   9.706e+00  1.394e+02   0.070   0.9445    
X1+1A   7.614e+00  1.394e+02   0.055   0.9565    
X1-1J   1.316e+01  1.394e+02   0.094   0.9248    
X1-1M   1.213e+01  1.394e+02   0.087   0.9307    
X1-1S   1.295e+01  1.394e+02   0.093   0.9260    
X1-2M   1.197e+01  1.394e+02   0.086   0.9316    
X1-2S   1.273e+01  1.394e+02   0.091   0.9273    
X1-3J   1.293e+01  1.394e+02   0.093   0.9261    
X1-5J   1.265e+01  1.394e+02   0.091   0.9277    
X1-6M   1.099e+01  1.394e+02   0.079   0.9372    
X2          1.195e-03  2.766e-04   4.320 1.56e-05 ***
X3         2.728e-03  3.685e-04   7.404 1.33e-13 ***
X4   -1.655e-02  8.084e-03  -2.047   0.0407 *  
X5      -3.679e-01  8.473e-02  -4.342 1.41e-05 ***
X6+1an           7.515e-03  8.318e-02   0.090   0.9280    
X6-3mois         2.238e-01  1.051e-01   2.129   0.0332 *  
X6-6mois         1.580e-01  9.632e-02   1.640   0.1010    
X6-9mois         1.361e-01  9.796e-02   1.389   0.1647    
X7    4.710e-01  2.294e-02  20.537  < 2e-16 ***
X8      -4.080e-01  6.410e-02  -6.365 1.95e-10 ***
X9          -8.374e-04  1.185e-04  -7.069 1.56e-12 ***
X10        -2.845e-04  3.374e-04  -0.843   0.3991    
X11        1.491e-01  2.931e-02   5.085 3.67e-07 ***
X12    6.372e-02  1.331e-01   0.479   0.6322    
X13    2.915e-02  4.291e-02   0.679   0.4969    
X14  1.769e-03  7.032e-03   0.252   0.8014    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 
 
(Dispersion parameter for binomial family taken to be 1)
 
    Null deviance: 17510  on 190429  degrees of freedom
Residual deviance: 13471  on 190403  degrees of freedom
AIC: 13525
 
Number of Fisher Scoring iterations: 14
où forcément j'ai des probabilités très très proches de 1.

En faisant la régression logistique sur chacune des variables j'obtiens le même message d'avis quand je le fais par rapport aux variables X8, X9, X10 dont voici le résumé statistique :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
summary(datafit[,10:12])
 X8   X9       X10    
 Min.   : 0.250   Min.   :    0.40   Min.   :    0.40  
 1st Qu.: 1.000   1st Qu.:   30.02   1st Qu.:   27.51  
 Median : 1.000   Median :   62.71   Median :   49.90  
 Mean   : 1.423   Mean   :  250.71   Mean   :  117.78  
 3rd Qu.: 1.000   3rd Qu.:  156.26   3rd Qu.:   99.53  
 Max.   :59.000   Max.   :94365.00   Max.   :12305.50
Qui sont des variables très dispersées ... le problème peut il venir de là?

Sachant que je ne peux virer les valeurs extrêmes (car pas aberrantes) dois-je découper ces variables en classes? Standardiser?

Et voici la tête de ma variable cible (qui est bien binomiale):

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
levels(VarCible)
[1] "NON" "OUI"
Le max ... qui ne marche pas (logique c'est un facteur?)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
max(VarCible)
Erreur dans Summary.factor(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,  : 
  max ceci n'est pas pertinent pour des variables facteurs
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
summary(VarCible)
   NON    OUI 
188931   1499
Si quelqu'un a une idée ... car là (encore) je bloque niveau interprétation

Cordialement,

Hollow

-- EDIT :
Après découpage en classes (d'effectifs égaux) je n'ai plus le même problème ... une piste à priori?