web-dev-qa-db-fra.com

Les modèles multinomiaux peuvent-ils être estimés à l'aide du modèle linéaire généralisé?

Dans l'analyse des données catégorielles, nous utilisons souvent la régression logistique pour estimer les relations entre les résultats binomiaux et une ou plusieurs covariables.

Je comprends que c'est un type de modèle linéaire généralisé (GLM). Dans R, ceci est implémenté avec la fonction glm en utilisant l'argument family=binomial. D'un autre côté, dans l'analyse catégorielle des données, il existe des modèles multinomiaux. Ne sont-ce pas des GLM? Et ne peuvent-ils pas être estimés dans R à l'aide de la fonction glm?

(Dans ce publication pour la régression logistique multinomiale . L'auteur utilise un package externe mlogit, qui semble également obsolète)

Pourquoi la classe de GLM est-elle limitée aux résultats dichotomiques? Est-ce parce que la classification multi-classes peut être traitée comme plusieurs modèles de classification binaires?

16
hxd1011

Les GLM dans R sont estimés avec Fisher Scoring. Deux approches du logit multi-catégories viennent à l'esprit: les modèles de cotes proportionnelles et les modèles log-linéaires ou la régression multinomiale.

Le modèle de cotes proportionnelles est un type spécial de modèle de lien cumulatif et est implémenté dans le package MASS. Il n'est pas estimé avec le score de Fisher, donc la valeur par défaut glm.fit work-horse ne serait pas en mesure d'estimer un tel modèle. Fait intéressant, cependant, les modèles de liens cumulatifs sont des GLM et ont été discutés dans le texte éponyme par McCullogh et Nelder. Un problème similaire se retrouve avec les GLM binomiaux négatifs: ce sont des GLM au sens strict d'une fonction de lien, et un modèle de probabilité, mais nécessitent des routines d'estimation spécialisées. En ce qui concerne la fonction R glm, il ne faut pas la considérer comme un estimateur exhaustif pour chaque type de GLM.

nnet a une implémentation d'un estimateur de modèle log-linéaire. Il est conforme à leur estimateur de réseau neuronal plus sophistiqué utilisant l'entropie soft-max, qui est une formulation équivalente (la théorie est là pour le montrer). Il s'avère que vous pouvez estimer les modèles log-linéaires avec glm par défaut R si vous le souhaitez. La clé consiste à voir le lien entre la logistique et la régression du poisson. En reconnaissant les termes d'interaction d'un modèle de comptage (différence de taux relatifs logarithmiques) comme un terme de premier ordre dans un modèle logistique pour un résultat (rapport de cotes logarithmiques), vous pouvez estimer les mêmes paramètres et les mêmes SE en "conditionnant" sur les marges du tableau de contingence $ K\fois 2 $ pour un résultat multi-catégorie. ne question SE connexe sur ce fond est ici

Prenons comme exemple ce qui suit en utilisant les données sur le cancer du poumon VA du package MASS:

> summary(multinom(cell ~ factor(treat), data=VA))
# weights:  12 (6 variable)
initial  value 189.922327 
iter  10 value 182.240520
final  value 182.240516 
converged
Call:
multinom(formula = cell ~ factor(treat), data = VA)

Coefficients:
    (Intercept) factor(treat)2
2  6.931413e-01     -0.7985009
3 -5.108233e-01      0.4054654
4 -9.538147e-06     -0.5108138

Std. Errors:
  (Intercept) factor(treat)2
2   0.3162274      0.4533822
3   0.4216358      0.5322897
4   0.3651485      0.5163978

Residual Deviance: 364.481 
AIC: 376.481 

Par rapport à:

> VA.tab <- table(VA[, c('cell', 'treat')])
> summary(glm(Freq ~ cell * treat, data=VA.tab, family=poisson))

Call:
glm(formula = Freq ~ cell * treat, family = poisson, data = VA.tab)

Deviance Residuals: 
[1]  0  0  0  0  0  0  0  0

Coefficients:
               Estimate Std. Error z value Pr(>|z|)    
(Intercept)   2.708e+00  2.582e-01  10.488   <2e-16 ***
cell2         6.931e-01  3.162e-01   2.192   0.0284 *  
cell3        -5.108e-01  4.216e-01  -1.212   0.2257    
cell4        -1.571e-15  3.651e-01   0.000   1.0000    
treat2        2.877e-01  3.416e-01   0.842   0.3996    
cell2:treat2 -7.985e-01  4.534e-01  -1.761   0.0782 .  
cell3:treat2  4.055e-01  5.323e-01   0.762   0.4462    
cell4:treat2 -5.108e-01  5.164e-01  -0.989   0.3226    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for poisson family taken to be 1)

    Null deviance: 1.5371e+01  on 7  degrees of freedom
Residual deviance: 4.4409e-15  on 0  degrees of freedom
AIC: 53.066

Number of Fisher Scoring iterations: 3

Comparez les paramètres d'interaction et les principaux niveaux de traitement dans un modèle au second. Comparez également l'interception. Les AIC sont différents parce que le modèle log-linéaire est un modèle de probabilité même pour les marges du tableau qui sont conditionnées par d'autres paramètres du modèle, mais en termes de prédiction et d'inférence, ces deux approches donnent des résultats identiques.

Bref, question piège! glm gère la régression logistique multi-catégories, il suffit de mieux comprendre ce qui constitue de tels modèles.

22
AdamO