Impacto da mudança no cálculo das médias na quantidade de reprovações na graduação na Ufersa

Kássio Camelo - Estatístico - Proplan Ufersa

21 de Novembro de 2019

1 Introdução

Para ampliar o dashboard clique aqui.

Temos como objetivo avaliar o impacto da mudança no cálculo das médias sobre a quantidade de reprovações na graduação. Os dados consistem em uma lista com as disciplinas ofertadas em 2018.1, 2018.2 e 2019.1, semestre em que o novo cálculo de médias foi introduzido. Apresentamos abaixo as seis primeiras linhas dos dados.

As variáveis apresentadas são Período, Campus, Departamento, Turno, Disciplina, Código da Turma, Docente, Número de Matriculados, Aprovados, Reprovados por Média, Reprovados por Faltas, Reprovados por média e por faltas e trancados.

Criamos uma nova variável chamada “Taxa de Aprovação”, \(T_a\), dada por \[T_a = \frac{Matriculados}{(Matriculados - Trancados - Reprovados\, por\, faltas)}\]

Computamos \(T_a\) e separamos os períodos considerados. No código abaixo, chamamos de “sistema_antigo” os dados de 2018.1-2018.2 e de “sistema_novo” os dados de 2019.1.

Agora comparamos algumas medidas para os dois períodos. Notamos que a taxa média e mediana de aprovação entre os dois períodos é praticamente a mesma, o que evidencia que o novo método não representou uma mudança significativa.

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0000  0.5238  0.7931  0.7100  1.0000  1.0000
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0000  0.5333  0.8095  0.7160  1.0000  1.0000

Além disso, o desvio padrão da taxa de aprovação dos dois períodos é semelhante:

## [1] 0.2950945
## [1] 0.300029

Tiramos uma amostra aleatória simples de tamanho 200 para cada um dos períodos. Ao final, uma amostra de tamanho 400 com duas variáveis, a quantidade de reprovações (contagem) e a indicação do sistema de cálculo das médias (“antigo” e “novo”). Temos, portanto, uma variável numérica e outra categórica.

2 Dados com excesso de zeros

Ao tratar da variável “Número de Reprovados”, nos deparamos com uma situação comum em dados de contagem, a saber, o número excessivo de zeros. Existem modelos capazes de lidar com esta particularidade dos dados. Estes modelos são chamados de zero-inflated models.

Estes métodos conseguem modelar, simultaneamente, a massa de dados iguais a zero e a contagem. Estes modelos de mistura consideram que os zeros podem ter duas origens: podem ser gerados de acordo com o modelo de contagem (Poisson ou Binomial negativa, por exemplo) ou de um processo binomial.

Primeiramente, vamos verificar a proporção de zeros nos nosso dados. A proporção de zeros na amostra, para o método antigo de cálculo das médias é:

## [1] 0.445

Proporção de zeros na amostra com o novo método de cálculo das médias:

## [1] 0.43

Graficamente, podemos observar que os dados contém um claro excesso de zeros, sendo aplicáveis os métodos para este tipo de dado.

As medidas-resumo para a variável “Número de reprovados” indicam que, para o método antigo, a média de alunos reprovados era de 3.435, enquanto para o método novo este valor é de 3.71. No entanto, devemos identificar se esta mudança é estatisticamente significativa.

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   0.000   0.000   1.000   3.435   4.000  41.000
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    0.00    0.00    1.00    3.71    4.00   38.00

Finalmente, o conjunto de dados que será utilizado para ajustar os modelos tem a seguinte forma (dez primeiras observações):

em que x é o método de cálculo da nota e y é o número de reprovados.

3 Metodologia

Estamos interessados em comparar a quantidade de reprovações em duas situações, isto é, quando são aplicados diferentes tipos de cálculos para a média final dos estudantes nas disciplinas.

Geralmente, as comparações entre dois grupos podem ser feitas por meio de testes de hipóteses. Podem ser comparadas, por exemplo, as médias dos dois grupos por meio do teste t-Student. Os testes de hipóteses podem ser divididos em dois grupos: paramétricos e não-paramétricos, que os primeiros partem da premissa de que os dados seguem uma distribuição de probabilidade cujos parâmetros podem ser estimados, enquanto no caso dos testes não-paramétricos não levam em consideração este pressuposto.

Os pesquisadores, ao comparar dois grupos, utilizam o teste t, cujos pressupostos são a normalidade dos grupos e a homocedasticidade. Caso os dados não apresentem estas propriedades, é comum a utilização de um teste não-paramétrico, como Mann-Whitney. Neste caso, a hipótese nula não será a igualdade de médias, mas é relacionada com o rank médio das amostras.

No entanto, para dados com distribuição discreta e assimétrica, como é o caso dos dados de contagem com excessos de zeros, a aplicação do teste de Mann-Whitney, apesar de não ser incorreta, pode levar a interpretações incorretas dos resultados.

Uma abordagem ao uso de testes de hipóteses para o caso em que os grupos a serem comparados apresentam distribuição assimétrica, discreta e com excesso de zeros, consiste em ajustar modelos de regressão em que a variável dependente é a contagem e a variável independente é uma dummy representando os grupos [@mcelduff2010t]. As vantagens deste procedimentos são

  1. os parâmetros dos modelos ajustados possuem melhor interpretabilidade;
  2. Podemos obter medidas como Akaike Information Criteria (AIC) ou Bayesian Information Criteria (BIC), que nos permitem comparar os modelos;
  3. Podemos testar hipóteses sobre os parâmetros dos modelos.

Assim, ajustamos os modelos e observamos se o parâmetro relativo aos grupos “antigo” e “novo” é significativo. Caso não seja, poderemos afirmar que não há diferença no impacto do método de cálculo da média na quantidade de estudantes reprovados.

4 Modelagem

4.1 Regressão Poisson

A regressão poisson é um modelo linear generalizado utilizado para modelar dados de contagem. Assume-se que a variável resposta \(Y\) segue uma distribuição poisson.

## 
## Call:
## glm(formula = y ~ x, family = poisson, data = amostra_final)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -2.7240  -2.6211  -1.6727   0.1487  11.3223  
## 
## Coefficients:
##             Estimate Std. Error z value Pr(>|z|)    
## (Intercept)  1.23402    0.03815  32.344   <2e-16 ***
## xnovo        0.07701    0.05295   1.455    0.146    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for poisson family taken to be 1)
## 
##     Null deviance: 3228.1  on 399  degrees of freedom
## Residual deviance: 3226.0  on 398  degrees of freedom
## AIC: 3944.7
## 
## Number of Fisher Scoring iterations: 6
## 
## z test of coefficients:
## 
##             Estimate Std. Error z value Pr(>|z|)    
## (Intercept) 1.234017   0.127489  9.6794   <2e-16 ***
## xnovo       0.077015   0.185738  0.4146   0.6784    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## [1] 3952.704
## (Intercept)       xnovo 
##    3.435000    1.080058

Interpretação: a nota média no método antigo é 3.43. O novo método multiplica a nota média por 1.08, esta odds não é estatisticamente significativa, o que nos leva a afirmar que o método novo não possui impacto significativo na quantidade de reprovações.

4.2 Quasi-Poisson

O modelo poisson apresenta uma limitação conhecida como overdispersion. Na distribuição poisson, a média e a variância são iguais. No entanto, os dados podem apresentar maior variabilidade do que o esperado, tornando o modelo não apropriado (as estimativas de parâmetros serão adequadas, mas a inferência sobre elas não).

Neste caso, há duas alternativas: ajustar um modelo quasi-poisson ou assumir que os dados de contagem seguem uma distribuição binomial negativa. No ajuste do modelo quasi-poisson, as estimativas de parâmetros são as mesmas, mas a inferência sobre estes parâmetros é modificada. O modelo quasi-poisson para os dados de reprovação é ajustado abaixo:

## 
## Call:
## glm(formula = y ~ x, family = quasipoisson, data = amostra_final)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -2.7240  -2.6211  -1.6727   0.1487  11.3223  
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  1.23402    0.13443   9.180   <2e-16 ***
## xnovo        0.07701    0.18655   0.413     0.68    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for quasipoisson family taken to be 12.41418)
## 
##     Null deviance: 3228.1  on 399  degrees of freedom
## Residual deviance: 3226.0  on 398  degrees of freedom
## AIC: NA
## 
## Number of Fisher Scoring iterations: 6

Para os dados de reprovação, a interpretação dos parâmetros é a mesma do modelo poisson. Ainda, o método de cálculo das médias novo não apresentou impacto estatisticamente significativo sobre a quantidade de reprovações.

4.3 Binomial Negativa

Uma segunda alternativa para tratar o problema de overdispersion é assumir que os dados de contagem seguem uma distribuição binomial negativa.

Uma parametrização da distribuição binomial negativa é [@zeileis2008regression]:

\[f(y;\mu,\theta) = \frac{\Gamma(y+\theta)}{\Gamma(\theta).y!}.\frac{\mu^y\theta^\theta}{(\mu+\theta)^{y+\theta}}\] com média \(\mu\) e parâmetro de forma \(\theta\). Abaixo o modelo de regressão binomial negativa ajustado para os dados de reprovação:

## 
## Call:
## glm.nb(formula = y ~ x, data = amostra_final, init.theta = 0.3255295702, 
##     link = log)
## 
## Deviance Residuals: 
##      Min        1Q    Median        3Q       Max  
## -1.28024  -1.26216  -0.57396   0.04174   2.28374  
## 
## Coefficients:
##             Estimate Std. Error z value Pr(>|z|)    
## (Intercept)  1.23402    0.12967   9.516   <2e-16 ***
## xnovo        0.07701    0.18309   0.421    0.674    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for Negative Binomial(0.3255) family taken to be 1)
## 
##     Null deviance: 389.60  on 399  degrees of freedom
## Residual deviance: 389.42  on 398  degrees of freedom
## AIC: 1762.8
## 
## Number of Fisher Scoring iterations: 1
## 
## 
##               Theta:  0.3255 
##           Std. Err.:  0.0296 
## 
##  2 x log-likelihood:  -1756.8390
## [1] 1774.814
## (Intercept)       xnovo 
##    3.435000    1.080058

Interpretação: as estimativas de parâmetros obtidas foram as mesmas que no modelo poisson. Novamente, não há impacto da alteração do método de cálculo das médias sobre o número de reprovações.

4.4 Regressão Hurdle

Este modelo é adequado para dados que apresentam excesso de zeros. Ele possui dois componentes: um modelo truncado para contagens, podendo ser Poisson, Binomial Negativa ou geométrico, aplicado para as contagens positivas; e um componente que modela a distribuição dos zeros vs. contagens positivas.

\[\begin{equation} f_{hurdle}(y;x;z;\beta,\gamma) = \begin{cases} f_{zero}(0;z,\gamma) & \text{se $y=0$}\\ (1-f_{zero}(0;z;\gamma)).f_{count}(y;b,\beta)/(1-f_{count}(0;x,\beta)) & \text{se $y \geq 0$}\\ \end{cases} \end{equation}\]

Abaixo é apresentado ajuste deste modelo no R para os dados de reprovação, em que o componente para as contagens é Poisson:

## 
## Call:
## hurdle(formula = y ~ x, data = amostra_final, dist = "poisson")
## 
## Pearson residuals:
##      Min       1Q   Median       3Q      Max 
## -0.98952 -0.95819 -0.72281  0.07735 10.47869 
## 
## Count model coefficients (truncated poisson with log link):
##             Estimate Std. Error z value Pr(>|z|)    
## (Intercept)  1.82072    0.03840  47.415   <2e-16 ***
## xnovo        0.05092    0.05325   0.956    0.339    
## Zero hurdle model coefficients (binomial with logit link):
##             Estimate Std. Error z value Pr(>|z|)
## (Intercept)  0.22089    0.14228   1.552    0.121
## xnovo        0.06096    0.20161   0.302    0.762
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 
## 
## Number of iterations in BFGS optimization: 10 
## Log-likelihood: -1422 on 4 Df
##               Estimate Std. Error   z value  Pr(>|z|)
## (Intercept) 0.22089383  0.1422837 1.5524883 0.1205454
## xnovo       0.06095732  0.2016029 0.3023633 0.7623751
##             Count_model Zero_hurdle_model
## (Intercept)    6.176328          1.247191
## xnovo          1.052240          1.062854

Interpretação: A odds de que haja uma contagem positiva (ou seja, uma ou mais reprovações) é 1.247. Esta chance é aumentada em 1.06 vezes quando aplicado o novo método de cálculo das médias na graduação. No entanto, este efeito não é significativo. Dado que a contagem é positiva, a média de reprovações será de 6.17; a presença do novo método de cálculo da média multiplica este valor por 1.052, mas este resultado não é estatisticamente significativo, ou seja, novamente no novo método não tem impacto no número de reprovações.

4.5 Regressão Zero-Inflated

Outra forma de lidar com o excesso de zeros nos dados é utilizar um modelo zero-inflated. Neste modelo, os zeros podem ter duas fontes: a “massa de dados” acumulada no ponto zero ou o modelo (componente) de contagem. Neste caso, utilizaremos como contagem o modelo Poisson.

## 
## Call:
## zeroinfl(formula = y ~ x, data = amostra_final, dist = "poisson")
## 
## Pearson residuals:
##      Min       1Q   Median       3Q      Max 
## -0.98952 -0.95819 -0.72281  0.07735 10.47869 
## 
## Count model coefficients (poisson with log link):
##             Estimate Std. Error z value Pr(>|z|)    
## (Intercept)  1.82072    0.03840  47.415   <2e-16 ***
## xnovo        0.05092    0.05325   0.956    0.339    
## 
## Zero-inflation model coefficients (binomial with logit link):
##             Estimate Std. Error z value Pr(>|z|)
## (Intercept) -0.22557    0.14266  -1.581    0.114
## xnovo       -0.05978    0.20207  -0.296    0.767
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 
## 
## Number of iterations in BFGS optimization: 15 
## Log-likelihood: -1422 on 4 Df
##             Count_model Zero_inflation_model
## (Intercept)    6.176328            0.7980576
## xnovo          1.052240            0.9419692

A odds baseline das disciplinas em que não há reprovações é 0.798. Esta odds é aumentada em 0. vezes quando aplicado o novo método de cálculo das notas. Este efeito, no entanto, não é significativo. Para o modelo de contagens, o número de reprovados baseline é 6.17 entre as disciplinas que possuem chance de reprovação. A presença do novo método de cálculo das notas aumenta este valor 0.941 vezes. Novamente, o impacto do novo sistema de cálculo das notas não é estatisticamente significativo.

5 Conclusão

Neste relatório, estudamos o impacto da mudança no cálculo das médias no número de reprovações dos alunos de graduação da UFERSA. Os dados consistem numa lista com todas as disciplinas ofertadas entre 2018.1 e 2019.1, em que o novo sistema foi adotado.

Em boa parte das disciplinas não há reprovações, o que gerou um conjunto de dados com excesso de zeros ( zero inflated data ). Para este tipo de dados, os testes de hipóteses t-Student e Mann-Whitney não são adequados. A alternativa encontrada foi utilizar modelos de regressão para dados com excesso de zeros. Nestes modelos, a variável independente é binária, dada pelo sistema de cálculo de médias (antigo ou novo), enquanto a variável dependente é a contagem dos reprovados em cada disciplina. Desta forma, podemos avaliar o impacto do método de cálculo da nota por meio da significância estatística da estimativa ajustada nestes modelos de regressão.

Os resultados mostraram que o método de cálculo da nota não possui impacto sobre a quantidade de reprovados em nenhum dos modelos ajustados.

## R version 3.5.3 (2019-03-11)
## Platform: x86_64-w64-mingw32/x64 (64-bit)
## Running under: Windows 7 x64 (build 7601) Service Pack 1
## 
## Matrix products: default
## 
## locale:
## [1] LC_COLLATE=Portuguese_Brazil.1252  LC_CTYPE=Portuguese_Brazil.1252   
## [3] LC_MONETARY=Portuguese_Brazil.1252 LC_NUMERIC=C                      
## [5] LC_TIME=Portuguese_Brazil.1252    
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
## [1] xtable_1.8-3   pscl_1.5.2     sandwich_2.5-1 lmtest_0.9-36 
## [5] zoo_1.8-5      MASS_7.3-51.1  dplyr_0.8.0.1  readr_1.3.1   
## 
## loaded via a namespace (and not attached):
##  [1] Rcpp_1.0.1       knitr_1.22       magrittr_1.5     hms_0.4.2       
##  [5] tidyselect_0.2.5 lattice_0.20-38  R6_2.4.0         rlang_0.4.0     
##  [9] stringr_1.4.0    tools_3.5.3      grid_3.5.3       xfun_0.5        
## [13] htmltools_0.3.6  yaml_2.2.0       digest_0.6.18    assertthat_0.2.1
## [17] tibble_2.1.3     crayon_1.3.4     purrr_0.3.2      prettydoc_0.3.0 
## [21] glue_1.3.1       evaluate_0.13    rmarkdown_1.12   stringi_1.4.3   
## [25] compiler_3.5.3   pillar_1.3.1     pkgconfig_2.0.2
 

Desenvolvido por Kássio Camelo

kassio.silva@ufersa.edu.br