43 Régression logistique multinomiale
La régression logistique multinomiale est une extension de la régression logistique binaire (cf. Chapitre 22) aux variables qualitatives à trois modalités ou plus. Dans ce cas de figure, chaque modalité de la variable d’intérêt sera comparée à une modalité de référence. Les odds ratio seront donc exprimés par rapport à cette dernière.
43.1 Données d’illustration
Pour illustrer la régression logistique multinomiale, nous allons reprendre le jeu de données hdv2003
du package questionr et portant sur l’enquête histoires de vie 2003 de l’Insee.
Nous allons considérer comme variable d’intérêt la variable trav.satisf, à savoir la satisfaction ou l’insatisfaction au travail.
# A tibble: 4 × 4
trav.satisf n N prop
<fct> <int> <int> <dbl>
1 Satisfaction 480 2000 24
2 Insatisfaction 117 2000 5.85
3 Equilibre 451 2000 22.6
4 <NA> 952 2000 47.6
Nous allons choisir comme modalité de référence la position intermédiaire, à savoir l’« équilibre », que nous allons donc définir comme la première modalité du facteur.
Nous allons aussi en profiter pour raccourcir les étiquettes de la variable trav.imp :
Enfin, procédons à quelques recodages additionnels :
d <- d |>
mutate(
sexe = sexe |> fct_relevel("Femme"),
groupe_ages = age |>
cut(
c(18, 25, 45, 99),
right = FALSE,
include.lowest = TRUE,
labels = c("18-24 ans", "25-44 ans",
"45 et plus")
),
etudes = nivetud |>
fct_recode(
"Primaire" = "N'a jamais fait d'etudes",
"Primaire" = "A arrete ses etudes, avant la derniere annee d'etudes primaires",
"Primaire" = "Derniere annee d'etudes primaires",
"Secondaire" = "1er cycle",
"Secondaire" = "2eme cycle",
"Technique / Professionnel" = "Enseignement technique ou professionnel court",
"Technique / Professionnel" = "Enseignement technique ou professionnel long",
"Supérieur" = "Enseignement superieur y compris technique superieur"
) |>
fct_na_value_to_level("Non documenté")
) |>
set_variable_labels(
trav.satisf = "Satisfaction dans le travail",
sexe = "Sexe",
groupe_ages = "Groupe d'âges",
etudes = "Niveau d'études",
trav.imp = "Importance accordée au travail"
)
43.2 Calcul du modèle multinomial
Pour calculer un modèle logistique multinomial, nous allons utiliser la fonction nnet::multinom()
de l’extension nnet1. La syntaxe de nnet::multinom()
est similaire à celle de glm()
, le paramètre family
en moins.
1 Il existe plusieurs alternatives possibles : la fonction VGAM::vglm()
avec family = VGAM::multinomial
ou encore mlogit::mlogit()
. Ces deux fonctions sont un peu plus complexes à mettre en œuvre. On se référera à la documentation de chaque package. Le support des modèles mlogit()
et vglm()
est aussi plus limité dans d’autres packages tels que broom.helpers, gtsummary, ggstats ou encore marginaleffects.
# weights: 36 (22 variable)
initial value 1151.345679
iter 10 value 977.985279
iter 20 value 971.187398
final value 971.113280
converged
Comme pour la régression logistique binaire, il est possible de réaliser une sélection pas à pas descendante (cf. Chapitre 23) :
trying - sexe
trying - etudes
trying - groupe_ages
trying - trav.imp
trying - sexe
trying - etudes
trying - trav.imp
trying - etudes
trying - trav.imp
43.3 Affichage des résultats du modèle
Une des particularités de la régression logistique multinomiale est qu’elle produit une série de coefficients pour chaque modalité de la variable d’intérêt (sauf la modalité de référence). Ici, nous aurons donc une série de coefficients pour celles et ceux qui sont satisfaits au travail (comparés à la modalité Équilibre
) et une série de coefficients pour celles et ceux qui sont insatisfaits (comparés aux aussi à la modalité Équilibre
).
La fonction gtsummary::tbl_regression()
peut gérer ce type de modèles, et va afficher les deux séries de coefficients l’une au-dessus de l’autre. Nous allons indiquer exponentiate = TRUE
car, comme pour la régression logistique binaire, l’exponentielle des coefficients peut s’interpréter comme des odds ratios.
ℹ Multinomial models have a different underlying structure than the models
gtsummary was designed for.
• Functions designed to work with `tbl_regression()` objects may yield
unexpected results.
Caractéristique | OR1 | 95% IC1 | p-valeur |
---|---|---|---|
Satisfaction | |||
Niveau d'études | |||
Primaire | — | — | |
Secondaire | 1,05 | 0,63 – 1,76 | 0,9 |
Technique / Professionnel | 1,08 | 0,67 – 1,73 | 0,7 |
Supérieur | 2,01 | 1,24 – 3,27 | 0,005 |
Non documenté | 0,58 | 0,18 – 1,86 | 0,4 |
Importance accordée au travail | |||
Le plus | — | — | |
Aussi | 1,29 | 0,56 – 2,98 | 0,5 |
Moins | 0,84 | 0,37 – 1,88 | 0,7 |
Peu | 0,55 | 0,18 – 1,64 | 0,3 |
Insatisfaction | |||
Niveau d'études | |||
Primaire | — | — | |
Secondaire | 0,91 | 0,41 – 1,99 | 0,8 |
Technique / Professionnel | 1,09 | 0,54 – 2,19 | 0,8 |
Supérieur | 1,08 | 0,51 – 2,29 | 0,8 |
Non documenté | 0,96 | 0,18 – 4,97 | >0,9 |
Importance accordée au travail | |||
Le plus | — | — | |
Aussi | 0,80 | 0,24 – 2,69 | 0,7 |
Moins | 0,59 | 0,18 – 1,88 | 0,4 |
Peu | 3,82 | 1,05 – 13,9 | 0,042 |
1 OR = rapport de cotes, IC = intervalle de confiance |
L’odds ratio du niveau d’étude supérieur pour la modalité satisfaction est de 2,01, indiquant que les personnes ayant un niveau d’étude supérieur ont plus de chances d’être satisfait au travail que d’être à l’équilibre que les personnes de niveau primaire. Par contre, l’OR est de seulement 1,08 (et non significatif) pour la modalité Insatisfait indiquant que ces personnes n’ont ni plus ni moins de chance d’être insatisfaite que d’être à l’équilibre.
On notera au passage un message d’avertissement de gtsummary sur le fait que les modèles multinomiaux n’ont pas la même structure que d’autres modèles.
La fonction gtsummary::tbl_regression()
affiche le tableau des coefficients dans un format long. Or, il est souvent plus lisible de présenter les coefficients dans un format large, avec les coefficients pour chaque modalité côte à côte.
Cela n’est pas possible nativement avec gtsummary mais on pourra éventuellement utiliser la fonction multinom_pivot_wider()
proposée sur GitHub Gist. Voici son code à recopier dans son script.
multinom_pivot_wider <- function(x) {
# check inputs match expectatations
if (!inherits(x, "tbl_regression") || !inherits(x$inputs$x, "multinom")) {
stop("`x=` must be class 'tbl_regression' summary of a `nnet::multinom()` model.")
}
# create tibble of results
df <- tibble::tibble(outcome_level = unique(x$table_body$groupname_col))
df$tbl <-
purrr::map(
df$outcome_level,
function(lvl) {
gtsummary::modify_table_body(
x,
~ dplyr::filter(.x, .data$groupname_col %in% lvl) |>
dplyr::ungroup() |>
dplyr::select(-dplyr::any_of("groupname_col"))
)
}
)
tbl_merge(df$tbl, tab_spanner = paste0("**", df$outcome_level, "**"))
}
Il ne reste plus qu’à l’appliquer au tableau généré avec gtsummary::tbl_regression()
. Attention : cette fonction n’est compatible qu’avec les modèles nnet::multinom()
.
Caractéristique |
Satisfaction
|
Insatisfaction
|
||||
---|---|---|---|---|---|---|
OR1 | 95% IC1 | p-valeur | OR1 | 95% IC1 | p-valeur | |
Niveau d'études | ||||||
Primaire | — | — | — | — | ||
Secondaire | 1,05 | 0,63 – 1,76 | 0,9 | 0,91 | 0,41 – 1,99 | 0,8 |
Technique / Professionnel | 1,08 | 0,67 – 1,73 | 0,7 | 1,09 | 0,54 – 2,19 | 0,8 |
Supérieur | 2,01 | 1,24 – 3,27 | 0,005 | 1,08 | 0,51 – 2,29 | 0,8 |
Non documenté | 0,58 | 0,18 – 1,86 | 0,4 | 0,96 | 0,18 – 4,97 | >0,9 |
Importance accordée au travail | ||||||
Le plus | — | — | — | — | ||
Aussi | 1,29 | 0,56 – 2,98 | 0,5 | 0,80 | 0,24 – 2,69 | 0,7 |
Moins | 0,84 | 0,37 – 1,88 | 0,7 | 0,59 | 0,18 – 1,88 | 0,4 |
Peu | 0,55 | 0,18 – 1,64 | 0,3 | 3,82 | 1,05 – 13,9 | 0,042 |
1 OR = rapport de cotes, IC = intervalle de confiance |
Pour tester l’effet globale d’une variable dans le modèle, on aura directement recours à car::Anova()
.
Analysis of Deviance Table (Type II tests)
Response: trav.satisf
LR Chisq Df Pr(>Chisq)
etudes 24.211 8 0.002112 **
trav.imp 48.934 6 7.687e-09 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Si l’on applique gtsummary::add_global_p()
au résultat de gtsummary::tbl_regression()
, les p-valeurs seront recopiées pour chaque série de coefficients.
Caractéristique |
Satisfaction
|
Insatisfaction
|
||||
---|---|---|---|---|---|---|
OR1 | 95% IC1 | p-valeur | OR1 | 95% IC1 | p-valeur | |
Niveau d'études | 0,002 | 0,002 | ||||
Primaire | — | — | — | — | ||
Secondaire | 1,05 | 0,63 – 1,76 | 0,91 | 0,41 – 1,99 | ||
Technique / Professionnel | 1,08 | 0,67 – 1,73 | 1,09 | 0,54 – 2,19 | ||
Supérieur | 2,01 | 1,24 – 3,27 | 1,08 | 0,51 – 2,29 | ||
Non documenté | 0,58 | 0,18 – 1,86 | 0,96 | 0,18 – 4,97 | ||
Importance accordée au travail | <0,001 | <0,001 | ||||
Le plus | — | — | — | — | ||
Aussi | 1,29 | 0,56 – 2,98 | 0,80 | 0,24 – 2,69 | ||
Moins | 0,84 | 0,37 – 1,88 | 0,59 | 0,18 – 1,88 | ||
Peu | 0,55 | 0,18 – 1,64 | 3,82 | 1,05 – 13,9 | ||
1 OR = rapport de cotes, IC = intervalle de confiance |
Une astuce consiste à cacher toutes ces colonnes de p-valeurs, n’afficher que la dernière et changer son titre de colonne.
tbl |>
add_global_p() |>
multinom_pivot_wider() |>
modify_column_hide(starts_with("p.value")) |>
modify_column_unhide(p.value_2) |>
modify_spanning_header(p.value_2 ~ "**Likelihood-ratio test**")
Caractéristique |
Satisfaction
|
Insatisfaction
|
Likelihood-ratio test
|
||
---|---|---|---|---|---|
OR1 | 95% IC1 | OR1 | 95% IC1 | p-valeur | |
Niveau d'études | 0,002 | ||||
Primaire | — | — | — | — | |
Secondaire | 1,05 | 0,63 – 1,76 | 0,91 | 0,41 – 1,99 | |
Technique / Professionnel | 1,08 | 0,67 – 1,73 | 1,09 | 0,54 – 2,19 | |
Supérieur | 2,01 | 1,24 – 3,27 | 1,08 | 0,51 – 2,29 | |
Non documenté | 0,58 | 0,18 – 1,86 | 0,96 | 0,18 – 4,97 | |
Importance accordée au travail | <0,001 | ||||
Le plus | — | — | — | — | |
Aussi | 1,29 | 0,56 – 2,98 | 0,80 | 0,24 – 2,69 | |
Moins | 0,84 | 0,37 – 1,88 | 0,59 | 0,18 – 1,88 | |
Peu | 0,55 | 0,18 – 1,64 | 3,82 | 1,05 – 13,9 | |
1 OR = rapport de cotes, IC = intervalle de confiance |
Pour un graphique des coefficients, on ne peut appeler directement ggstats::gcoef_model()
en raison de la structure différente du modèle. Heureusement, ggstats propose une fonction spécifique ggstats::ggcoef_multinom()
avec trois types de visualisation.
Pour faciliter l’interprétation, on pourra représenter les prédictions marginales du modèle (cf. Chapitre 24) avec broom.helpers::plot_marginal_predictions()
.
Dans certaines situations, il peut être plus simple de réaliser plusieurs modèles logistiques binaires séparés plutôt qu’une régression multinomiale. Si la variable à expliquer a trois niveaux (A, B et C), on pourra réaliser un modèle binaire B vs A, et un modèle binaire C vs A. Cette approche est appelée approximation de Begg et Gray
. On trouvera, en anglais, plus d’explications et des références bibliographiques sur StackOverflow.
43.4 Données pondérées
L’extension survey (cf. Chapitre 28) ne fournit pas de fonction adaptée aux régressions multinomiales. Cependant, il est possible d’en réaliser une en ayant recours à des poids de réplication, comme suggéré par Thomas Lumley dans son ouvrage Complex Surveys: A Guide to Analysis Using R. Thomas Lumley est par ailleurs l’auteur de l’extension survey.
43.4.1 avec svrepmisc::svymultinom()
L’extension svrepmisc disponible sur GitHub fournit quelques fonctions facilitant l’utilisation des poids de réplication avec survey. Pour l’installer, on utilisera le code ci-dessous :
En premier lieu, il faut définir le design de notre tableau de données puis calculer des poids de réplication.
Il faut prévoir un nombre de replicates
suffisant pour calculer ultérieurement les intervalles de confiance des coefficients. Plus ce nombre est élevé, plus précise sera l’estimation de la variance et donc des valeurs p et des intervalles de confiance. Cependant, plus ce nombre est élevé, plus le temps de calcul sera important. Pour gagner en temps de calcul, nous avons ici pris une valeur de 25, mais l’usage est de considérer au moins 1000 réplications.
svrepmisc fournit une fonction svrepmisc::svymultinom()
pour le calcul d’une régression multinomiale avec des poids de réplication.
svrepmisc fournit également des méthodes svrepmisc::confint()
et svrepmisc::tidy()
. Nous pouvons donc calculer et afficher les odds ratio et leur intervalle de confiance.
Coefficient SE t value
Satisfaction.(Intercept) -0.116149 0.559160 -0.2077
Insatisfaction.(Intercept) -1.547056 2.575385 -0.6007
Satisfaction.sexeHomme -0.041405 0.148993 -0.2779
Insatisfaction.sexeHomme 0.221849 0.327379 0.6777
Satisfaction.etudesSecondaire 0.115722 0.344714 0.3357
Insatisfaction.etudesSecondaire 0.418476 0.396504 1.0554
Satisfaction.etudesTechnique / Professionnel 0.220702 0.301615 0.7317
Insatisfaction.etudesTechnique / Professionnel 0.529317 0.397038 1.3332
Satisfaction.etudesSupérieur 0.905852 0.212878 4.2553
Insatisfaction.etudesSupérieur 0.584499 0.307786 1.8990
Satisfaction.etudesNon documenté -0.323293 0.813251 -0.3975
Insatisfaction.etudesNon documenté 0.646168 5.239808 0.1233
Satisfaction.trav.impAussi -0.027506 0.516919 -0.0532
Insatisfaction.trav.impAussi -0.375642 2.640181 -0.1423
Satisfaction.trav.impMoins -0.220703 0.472042 -0.4676
Insatisfaction.trav.impMoins -0.694337 2.690223 -0.2581
Satisfaction.trav.impPeu -0.069034 0.746228 -0.0925
Insatisfaction.trav.impPeu 1.584747 2.581798 0.6138
Pr(>|t|)
Satisfaction.(Intercept) 0.841361
Insatisfaction.(Intercept) 0.566967
Satisfaction.sexeHomme 0.789117
Insatisfaction.sexeHomme 0.519755
Satisfaction.etudesSecondaire 0.746931
Insatisfaction.etudesSecondaire 0.326295
Satisfaction.etudesTechnique / Professionnel 0.488098
Insatisfaction.etudesTechnique / Professionnel 0.224228
Satisfaction.etudesSupérieur 0.003769 **
Insatisfaction.etudesSupérieur 0.099345 .
Satisfaction.etudesNon documenté 0.702819
Insatisfaction.etudesNon documenté 0.905321
Satisfaction.trav.impAussi 0.959050
Insatisfaction.trav.impAussi 0.890868
Satisfaction.trav.impMoins 0.654312
Insatisfaction.trav.impMoins 0.803756
Satisfaction.trav.impPeu 0.928884
Insatisfaction.trav.impPeu 0.558749
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
2.5 % 97.5 %
Satisfaction.(Intercept) -1.4383535 1.2060550
Insatisfaction.(Intercept) -7.6368745 4.5427616
Satisfaction.sexeHomme -0.3937179 0.3109070
Insatisfaction.sexeHomme -0.5522794 0.9959772
Satisfaction.etudesSecondaire -0.6993976 0.9308424
Insatisfaction.etudesSecondaire -0.5191070 1.3560598
Satisfaction.etudesTechnique / Professionnel -0.4925048 0.9339097
Insatisfaction.etudesTechnique / Professionnel -0.4095291 1.4681640
Satisfaction.etudesSupérieur 0.4024765 1.4092276
Insatisfaction.etudesSupérieur -0.1432978 1.3122965
Satisfaction.etudesNon documenté -2.2463265 1.5997397
Insatisfaction.etudesNon documenté -11.7440104 13.0363459
Satisfaction.trav.impAussi -1.2498255 1.1948132
Insatisfaction.trav.impAussi -6.6186788 5.8673952
Satisfaction.trav.impMoins -1.3369064 0.8954995
Insatisfaction.trav.impMoins -7.0557039 5.6670300
Satisfaction.trav.impPeu -1.8335841 1.6955154
Insatisfaction.trav.impPeu -4.5202350 7.6897294
term estimate std.error
1 Insatisfaction.(Intercept) 0.2128737 2.5753851
2 Insatisfaction.etudesNon documenté 1.9082140 5.2398084
3 Insatisfaction.etudesSecondaire 1.5196444 0.3965042
4 Insatisfaction.etudesSupérieur 1.7940926 0.3077855
5 Insatisfaction.etudesTechnique / Professionnel 1.6977731 0.3970384
6 Insatisfaction.sexeHomme 1.2483828 0.3273790
7 Insatisfaction.trav.impAussi 0.6868483 2.6401814
8 Insatisfaction.trav.impMoins 0.4994055 2.6902232
9 Insatisfaction.trav.impPeu 4.8780580 2.5817980
10 Satisfaction.(Intercept) 0.8903423 0.5591604
11 Satisfaction.etudesNon documenté 0.7237615 0.8132510
12 Satisfaction.etudesSecondaire 1.1226842 0.3447144
13 Satisfaction.etudesSupérieur 2.4740390 0.2128776
14 Satisfaction.etudesTechnique / Professionnel 1.2469523 0.3016155
15 Satisfaction.sexeHomme 0.9594401 0.1489930
16 Satisfaction.trav.impAussi 0.9728687 0.5169191
17 Satisfaction.trav.impMoins 0.8019545 0.4720424
18 Satisfaction.trav.impPeu 0.9332946 0.7462284
statistic p.value conf.low conf.high
1 -0.60070877 0.566967054 4.823337e-04 9.394990e+01
2 0.12331896 0.905320663 7.936721e-06 4.587891e+05
3 1.05541476 0.326294697 5.950517e-01 3.880872e+00
4 1.89904762 0.099345053 8.664960e-01 3.714695e+00
5 1.33316448 0.224228014 6.639628e-01 4.341257e+00
6 0.67765169 0.519754569 5.756362e-01 2.707369e+00
7 -0.14227879 0.890868358 1.335194e-03 3.533274e+02
8 -0.25809641 0.803756216 8.624754e-04 2.891744e+02
9 0.61381533 0.558748775 1.088647e-02 2.185783e+03
10 -0.20772079 0.841360998 2.373182e-01 3.340281e+00
11 -0.39753212 0.702818604 1.057871e-01 4.951743e+00
12 0.33570520 0.746930509 4.968846e-01 2.536645e+00
13 4.25527153 0.003768518 1.495524e+00 4.092793e+00
14 0.73173445 0.488098471 6.110938e-01 2.544438e+00
15 -0.27790178 0.789116814 6.745443e-01 1.364662e+00
16 -0.05321167 0.959050009 2.865548e-01 3.302941e+00
17 -0.46755000 0.654312499 2.626570e-01 2.448559e+00
18 -0.09251103 0.928883995 1.598397e-01 5.449454e+00
Par contre, le support de gtsummary::tbl_regression()
et ggstats::ggcoef_model()
est plus limité. Vous pourrez afficher un tableau basique des résultats et un graphiques des coefficients, mais sans les enrichissements usuels (identification des variables, étiquettes propres, identification des niveaux, etc.).
43.4.2 avec svyVGAM::svy_glm()
Une alternative possible pour le calcul de la régression logistique multinomiale avec des données pondérées est svyVGAM::svy_vglm()
avec family = VGAM::multinomial
.
Nous allons commencer par définir le plan d’échantillonnage.
Puis, on appelle svyVGAM::svy_vglm()
en précisant family = VGAM::multinomial
. Par défaut, VGAM::multinomial()
utilise la dernière modalité de la variable d’intérêt comme modalité de référence. Cela est modifiable avec refLevel
.
regm2 <- svyVGAM::svy_vglm(
trav.satisf ~ sexe + etudes + trav.imp,
family = VGAM::multinomial(refLevel = "Equilibre"),
design = dw
)
regm2 |> summary()
svy_vglm.survey.design(trav.satisf ~ sexe + etudes + trav.imp,
family = VGAM::multinomial(refLevel = "Equilibre"), design = dw)
Independent Sampling design (with replacement)
Called via srvyr
Sampling variables:
- ids: `1`
- weights: poids
Data variables:
- id (int), age (int), sexe (fct), nivetud (fct), poids (dbl), occup (fct),
qualif (fct), freres.soeurs (int), clso (fct), relig (fct), trav.imp (fct),
trav.satisf (fct), hard.rock (fct), lecture.bd (fct), peche.chasse (fct),
cuisine (fct), bricol (fct), cinema (fct), sport (fct), heures.tv (dbl),
groupe_ages (fct), etudes (fct)
Coef SE z p
(Intercept):1 -0.116117 0.553242 -0.2099 0.833757
(Intercept):2 -1.547693 0.876195 -1.7664 0.077332
sexeHomme:1 -0.041412 0.171351 -0.2417 0.809029
sexeHomme:2 0.221930 0.272669 0.8139 0.415693
etudesSecondaire:1 0.115688 0.341830 0.3384 0.735034
etudesSecondaire:2 0.418102 0.563205 0.7424 0.457868
etudesTechnique / Professionnel:1 0.220662 0.310123 0.7115 0.476754
etudesTechnique / Professionnel:2 0.529020 0.501080 1.0558 0.291079
etudesSupérieur:1 0.905798 0.314513 2.8800 0.003977
etudesSupérieur:2 0.584320 0.525633 1.1116 0.266289
etudesNon documenté:1 -0.323271 0.662511 -0.4879 0.625587
etudesNon documenté:2 0.646195 0.939745 0.6876 0.491687
trav.impAussi:1 -0.027517 0.511636 -0.0538 0.957109
trav.impAussi:2 -0.374881 0.825214 -0.4543 0.649625
trav.impMoins:1 -0.220706 0.494951 -0.4459 0.655659
trav.impMoins:2 -0.693571 0.792031 -0.8757 0.381200
trav.impPeu:1 -0.069004 0.706959 -0.0976 0.922244
trav.impPeu:2 1.585521 0.866529 1.8297 0.067289
Là encore, le support de gtsummary::tbl_regression()
et ggstats::ggcoef_model()
sera limité (seulement des résultats bruts). Pour calculer les odds ratios avec leurs intervalles de confiance, on pourra avoir recours à broom.helpers::tidy_parameters()
.
term estimate std.error conf.level conf.low
1 (Intercept):1 0.8903708 0.4925908 0.95 0.30105802
2 (Intercept):2 0.2127382 0.1864002 0.95 0.03819678
3 sexeHomme:1 0.9594340 0.1643997 0.95 0.68574259
4 sexeHomme:2 1.2484837 0.3404228 0.95 0.73162172
5 etudesSecondaire:1 1.1226456 0.3837540 0.95 0.57448201
6 etudesSecondaire:2 1.5190753 0.8555505 0.95 0.50370762
7 etudesTechnique / Professionnel:1 1.2469025 0.3866926 0.95 0.67897791
8 etudesTechnique / Professionnel:2 1.6972676 0.8504673 0.95 0.63566751
9 etudesSupérieur:1 2.4739057 0.7780767 0.95 1.33557655
10 etudesSupérieur:2 1.7937708 0.9428657 0.95 0.64024629
11 etudesNon documenté:1 0.7237778 0.4795111 0.95 0.19754885
12 etudesNon documenté:2 1.9082659 1.7932841 0.95 0.30250055
13 trav.impAussi:1 0.9728582 0.4977496 0.95 0.35689786
14 trav.impAussi:2 0.6873710 0.5672279 0.95 0.13638549
15 trav.impMoins:1 0.8019528 0.3969271 0.95 0.30398071
16 trav.impMoins:2 0.4997879 0.3958473 0.95 0.10582985
17 trav.impPeu:1 0.9333229 0.6598208 0.95 0.23348961
18 trav.impPeu:2 4.8818349 4.2302506 0.95 0.89328990
conf.high statistic df.error p.value
1 2.633247 -0.20988509 Inf 0.833757356
2 1.184853 -1.76637893 Inf 0.077332298
3 1.342360 -0.24167835 Inf 0.809029407
4 2.130488 0.81391637 Inf 0.415692863
5 2.193860 0.33843739 Inf 0.735033605
6 4.581209 0.74236198 Inf 0.457868051
7 2.289862 0.71153296 Inf 0.476754032
8 4.531799 1.05575832 Inf 0.291078645
9 4.582448 2.87999791 Inf 0.003976778
10 5.025587 1.11164951 Inf 0.266288875
11 2.651771 -0.48794745 Inf 0.625587062
12 12.037925 0.68762767 Inf 0.491687277
13 2.651888 -0.05378223 Inf 0.957108667
14 3.464290 -0.45428375 Inf 0.649624613
15 2.115688 -0.44591425 Inf 0.655659186
16 2.360279 -0.87568771 Inf 0.381199829
17 3.730751 -0.09760692 Inf 0.922244427
18 26.679258 1.82973852 Inf 0.067289048
43.5 webin-R
La régression logistique multinomiale est abordée dans le webin-R #20 (trajectoires de soins : un exemple de données longitudinales (4)) sur YouTube.