A regressão logística multinomial é usada para modelar variáveis categóricas nominais (com mais de duas categorias) considerando-se que os logs das chances são modelados como uma combinação linear das variáveis preditoras.
Podemos listar alguns exemplos onde a regressão logística multinomial é adequada para representar os dados:
As escolhas ocupacionais das pessoas podem ser influenciadas pelas ocupações de seus pais e seu próprio nível de educação. Podemos estudar a relação da escolha de uma ocupação com o nível de educação e a ocupação do pai. As escolhas ocupacionais serão a variável resposta que consiste em categorias de ocupações.
Um biólogo pode estar interessado nas escolhas alimentares que os crocodilos fazem. Os crocodilos adultos podem ter preferências diferentes dos mais jovens. A variável resposta aqui pode ser caracterizada pelos tipos de alimentos e as variáveis explicativas podem ser o tamanho dos crocodilos e outras variáveis ambientais.
Os alunos que ingressam no ensino médio fazem escolhas de
programa entre programa geral, profissional ou programa acadêmico. Suas
escolhas podem ser feitas a partir da pontuação na prova escrita e sua
condição socioeconômica.
Considere uma variável aleatória \(Y\) com \(K\) categorias, onde \(\pi_1, \pi_2,\ldots, \pi_K\) são as respectivas probabilidades e \(\pi_1 + \pi_2 + \ldots + \pi_K= 1\).
Suponha que haja \(n\) variáveis e que cada variável resulte em uma das \(K\) categorias. Sendo assim, \(Y_1\) é o total de observações que escolheram a categoria 1, \(Y_2\) o total da categoria 2 e, assim por diante, então \[ \textbf{Y}=\begin{bmatrix} Y_1\\ Y_2\\ \vdots\\ Y_K \end{bmatrix}, \ \ \ \mbox{com } \sum_{k=1}^K Y_k = n \] A distribuição Multinomial é \[ p(\textbf{Y} = \textbf{y}|n) = \dfrac{n!}{y_1!y_2! \ldots y_K!} \pi_1^{y_1}\pi_2^{y_2}\ldots \pi_K^{y_K}. \] Para a distribuição Multinomial, sabemos que \[ E(Y_k)=n\pi_k, \ \ \ \ \ \ V(Y_k)=n\pi_k(1-\pi_k) \ \ \ \ \ \ \mbox{e } \ \ \ \ \ Cov(Y_j,Y_k)=-n\pi_j\pi_k. \]
Quando \(K=2\), note que \(\pi_2=1-\pi_1\), \(y_2=n-y_1\) e então temos a distribuição Binomial como um caso particular.
Quando \(K=2\) e \(n=1\), então \(\pi_2=1-\pi_1\), \(y_2=1-y_1\) e chegamos na distribuição Bernoulli.
Note que a distribuição multinomial pode ser reescrita como \[\begin{eqnarray} p(\textbf{Y} = \textbf{y}|n) &=& \dfrac{n!}{y_1!y_2! \ldots (n-y_1-\ldots-y_{K-1})!} \pi_1^{y_1}\pi_2^{y_2}\ldots \pi_{K-1}^{y_{k-1}}(1-\pi_1-\ldots-\pi_{K-1})^{n-y_1-\ldots-y_{K-1}}\\ &=& \exp\left\{\ln\left(\dfrac{n!}{y_1!y_2! \ldots (n-y_1-\ldots-y_{K-1})!}\right) + y_1\ln(\pi_1) + \ldots + (n-y_1-\ldots-y_{K-1})\ln(1-\pi_1-\ldots-\pi_{K-1})\right\}\\ &=& \exp\left\{d(\boldsymbol{y}) + y_1\ln\left(\frac{\pi_1}{1-\pi_1-\ldots-\pi_{K-1}}\right) + \ldots + y_{K-1}\ln\left(\frac{\pi_{K-1}}{1-\pi_1-\ldots-\pi_{K-1}}\right) + n\ln(1-\pi_1-\ldots-\pi_{K-1})\right\} \end{eqnarray}\]
Relação da distribuição multinomial com a Poisson:
Considere \(K\) variáveis aleatórias \(Y_1,\ldots,Y_K\) e que cada uma dessas variáveis tem distribuição Poisson, ou seja, \(Y_k \stackrel{indep.}{\sim} \textrm{Poisson}(\lambda_k)\), \(k=1, \ldots, K\). Seja \(n=Y_1 + \ldots +Y_K\), então temos os seguintes resultados: \[\begin{eqnarray} p(\textbf{y}|\boldsymbol{\lambda}) &=& \prod_{k=1}^K{\frac{\lambda_k^{y_k} e^{-\lambda_k}}{y_k!}}\\ n|\boldsymbol{\lambda} &\sim& \textrm{Poisson}(\lambda_1+\ldots+\lambda_K) \Rightarrow p(n=y_1+\ldots+y_K|\boldsymbol{\lambda}) = \frac{(\lambda_1+\ldots+\lambda_K)^{y_1+\ldots+y_K} e^{-(\lambda_1+\ldots+\lambda_K)}}{(y_1+\ldots+y_K)!}\\ p(\textbf{y}|n,\boldsymbol{\lambda}) &=& \frac{p(\textbf{y}|\boldsymbol{\lambda})}{p(n|\boldsymbol{\lambda})} = \left( \dfrac{\lambda_1}{\sum_{k=1}^K \lambda_k} \right)^{y_1} \left( \dfrac{\lambda_2}{\sum_{k=1}^K \lambda_k} \right)^{y_2} \ldots \left( \dfrac{\lambda_K}{\sum_{k=1}^K \lambda_k} \right)^{y_K} \dfrac{n!}{y_1!y_2! \ldots y_K!}. \end{eqnarray}\] Logo, a distribuição de \(\textbf{Y}\) condicional a \(n\) e \(\boldsymbol{\lambda}\) é uma distribuição Multinomial com \(\pi_k = \frac{\lambda_k}{\sum_{k=1}^K \lambda_k}\), para \(k=1,\ldots,K\). Portanto, a distribuição Multinomial pode ser considerada uma distribuição conjunta de variáveis aleatórias Poisson, condicional à sua soma \(n\).
A Regressão Logística Nominal é utilizada quando a ordem das categorias da variável resposta não é relevante. Neste caso, uma das categorias é escolhida arbitrariamente para ser a categoria de referência.
Suponha que a primeira categoria tenha sido escolhida como categoria de referência. Então, os logitos para as outras categorias são definidos por \[ \textrm{logito}(\pi_k)=\log \left(\dfrac{\pi_k}{\pi_1}\right) = \textbf{x}^{T}\boldsymbol{\beta}_k, \ \ \ \ \ k=2,\ldots,K. \] Agora, temos \(K-1\) equações logísticas utilizadas simultaneamente para estimar os parâmetros \(\boldsymbol{\beta}_k\).
Uma vez que temos as estimativas dos parâmetros \(\boldsymbol{\beta}_k\), o preditor linear
de cada equação pode ser estimado a partir de \[
\widehat{\pi}_k=\widehat{\pi}_1\exp(\textbf{x}^{T}\widehat{\boldsymbol{\beta}}_k)
\] Entretanto, sabemos que \(\widehat{\pi}_1+\widehat{\pi}_2 + \ldots +
\widehat{\pi}_K = 1\), então \[
\widehat{\pi}_1=\dfrac{1}{1+\sum_{k=2}^{K}\exp(\textbf{x}^{T}\widehat{\boldsymbol{\beta}}_k)}
\] e \[
\widehat{\pi}_k=\dfrac{\exp(\textbf{x}^{T}\widehat{\boldsymbol{\beta}}_k)}{1+\sum_{k=2}^{K}\exp(\textbf{x}^{T}\widehat{\boldsymbol{\beta}}_k)},
\ \ \ \ \ k=2,\ldots,K.
\] Os valores ajustados ou as frequências esperadas para cada
nível da covariável podem ser calculados multiplicando as probabilidades
estimadas \(\widehat{\pi}_k\) pela
frequência total do nível da covariável.
Usualmente é mais fácil interpretar os efeitos das variáveis explicativas em termos das razões de chances do que olhar para os parâmetros \(\boldsymbol{\beta}\).
Para melhor entendimento e simplicidade, considere uma variável resposta com \(K\) categorias e um única variável explicativa binária \(x\), onde \(x=1\) denota que o fator está presente e \(x=0\) denota que o fator está ausente.
As razões de chances para a resposta \(k\), \(k= 2,\ldots, K\), relativo à categoria de referência, \(k=1\), é \[ RC_k= \frac{\pi_{kp}}{\pi_{ka}}\bigg/\frac{\pi_{1p}}{\pi_{1a}} \] onde \(\pi_{kp}\) e \(\pi_{ka}\) representam as probabilidade da categorias de resposta \(k\) de acordo com a presença e ausência do fator, respectivamente.
Para o modelo \[ \log \left(\dfrac{\pi_k}{\pi_1} \right)= \beta_{0k} + \beta_{1k}x, \ \ \ \ \ \ k=2,\ldots,K \] as chances são \[ \dfrac{\pi_{ka}}{\pi_{1a}}=\exp(\beta_{0k}), \ \ \mbox{ para } x=0, \ \mbox{indicando ausência do fator} \] \[ \dfrac{\pi_{kp}}{\pi_{1p}}=\exp(\beta_{0k}+\beta_{1k}), \ \ \mbox{ para } x=1, \ \mbox{indicando presença do fator} \] Portanto, a razão de chances pode ser escrita como \[ RC_k = \dfrac{\exp(\beta_{0k}+\beta_{1k})}{\exp(\beta_{0k})} = \exp(\beta_{1k}) \] que é estimada como \(\exp(\widehat{\beta}_{1k})\).
Note que se \(\beta_{1k} = 0\), então \(RC_k = 1\), o que corresponde um não efeito da presença do fator.
Também podemos construir intervalos de confiança para \(RC_k\). Para o exemplo acima, um intervalo de \(95\%\) de confiança é calculado através de \[ \exp\left[\widehat{\beta}_{1k} \pm 1,96 \ \mbox{s.e}(\widehat{\beta}_{1k}) \right] \] onde \(\mbox{s.e}(\widehat{\beta}_{1k})\) é o erro padrão de \(\widehat{\beta}_{1k}\). Intervalos de confiança que não incluem o valor unitário correspondem a valores de \(\beta\) significativamente diferentes de zero.
Para regressão logística nominal, as variáveis explicativas podem ser categóricas ou nominais. A escolha da categoria de referência para a variável resposta afetará as estimativas dos parâmetros \(\boldsymbol{\beta}\), mas não afetará as estimativas \(\widehat{\boldsymbol{\pi}}\) ou os valores ajustados.
O conjunto de dados contém informação de 200 estudantes, como notas em diferentes disciplinas e suas opções educacionais (geral, acadêmico ou profissional). Existem outras variáveis que indicam sua condição socioeconômica e seu gênero.
Neste exemplo, consideraremos a variável resposta sendo o tipo de programa, prog. As variáveis preditoras são: condição socioeconômica, ses, uma variável categórica de três níveis (que mede se a condição é baixa, média ou alta) e pontuação na redação, write.
A tabela abaixo apresenta a quantidade de alunos segundo a escolha do programa e sua situação socioeconômica. Observe que dos alunos que têm alta codição econômica, mais de \(70\%\) optaram pelo programa acadêmico. Os alunos que tem situação socioeconômica baixa se dividiram quase que igualmente entre os três programas. Dos alunos com situação econômica média, \(46\%\) optaram pelo programa acadêmico, \(33\%\) pelo profissional e \(21\%\) escolheram o programa geral.| general | academic | vocation | |
|---|---|---|---|
| low | 16 | 19 | 12 |
| middle | 20 | 44 | 31 |
| high | 9 | 42 | 7 |
| M | SD | |
|---|---|---|
| general | 51.3 | 9.4 |
| academic | 56.3 | 7.9 |
| vocation | 46.8 | 9.3 |
Para ajustar o Modelo Logístico Multinomial podemos utilizar a função
multinom do pacote nnet. Vale ressaltar que há
outras funções em outros pacotes do \(\texttt{R}\) capazes de fazer esse
ajuste.
Definimos a categoria academico como sendo a categoria de referência da variável resposta. A covariável que mede a situação socioeconômica utilizou a categoria baixa como categoria base. O ajuste do modelo é apresentado a seguir.
## Call:
## multinom(formula = prog ~ ses + write, data = base)
##
## Coefficients:
## (Intercept) sesmiddle seshigh write
## general 2.852198 -0.5332810 -1.1628226 -0.0579287
## vocation 5.218260 0.2913859 -0.9826649 -0.1136037
##
## Std. Errors:
## (Intercept) sesmiddle seshigh write
## general 1.166441 0.4437323 0.5142196 0.02141097
## vocation 1.163552 0.4763739 0.5955665 0.02221996
##
## Residual Deviance: 359.9635
## AIC: 375.9635
Observe que a saída de resumo do modelo possui um bloco de coeficientes estimados e um bloco de erros-padrão. Cada um desses blocos possui uma linha de valores correspondente a uma equação do modelo.
Avaliando o bloco dos coeficientes estimados, podemos olhar para a primeira linha como a comparação de prog = “geral” com a categoria de base prog = “academico”, e a segunda linha como a comparação de prog = “profissional” com a categoria de referência prog = “academico”. Portanto, podemos escrever nossas equações do modelo como \[ \log \left(\dfrac{\pi_{\textrm{geral}}}{\pi_{\textrm{academico}}}\right) = 2.852198 -0.5332810 \ I_{media} -1.1628226 \ I_{alta} - 0.0579287 \ write \] \[ \log \left(\dfrac{\pi_{\textrm{profissional}}}{\pi_{\textrm{academico}}}\right) = 5.218260 + 0.2913859 \ I_{media} -0.9826649 \ I_{alta} - 0.1136037 \ write \] Podemos avaliar os resultados do modelo estimado da seguinte forma:
o aumento de uma unidade na pontuação da redação está associado à diminuição de \(5.6\%\) \((\exp(-0.0579287) = 0.9437172)\) na chance de escolher o programa geral em comparação ao programa acadêmico.
o aumento de uma unidade na pontuação da redação está associado à diminuição de \(10.7\%\) \((\exp(-0.1136037) = 0.8926116)\) a chance de escolher o programa profissional em comparação ao programa acadêmico.
o fato do aluno ser da classe alta reduz a chance de participar do programa geral, em relação ao programa acadêmico, em \(68.7\%\) \((\exp(-1.1628226)=0.3126026)\) quando comparado ao aluno da classe baixa.
o fato do aluno ser da classe média reduz a chance de participar do programa geral, em relação ao programa acadêmico, em \(41.3\%\) \((\exp(-0.5332810)=0.5866769)\) quando comparado ao aluno da classe baixa.
Podemos avaliar as probabilidades estimadas utilizando a opção
fitted.values do objeto em que salvou o ajuste do modelo.
Abaixo há apenas um recorte das probabilidades estimadas para cada
categoria da variável resposta.
## academic general vocation
## 1 0.1482764 0.3382454 0.5134781
## 2 0.1202017 0.1806283 0.6991700
## 3 0.4186747 0.2368082 0.3445171
## 4 0.1726885 0.3508384 0.4764731
## 5 0.1001231 0.1689374 0.7309395
## 6 0.3533566 0.2377976 0.4088458